Python ecdsa通信比特币库
Alice有她的私钥,公钥,还有Bob的公钥和Bob发来的消息 但是坏人也有鲍勃的公钥和鲍勃的信息 神奇发生在哪里,他们如何从这里确保通信安全 这也不起作用:Python ecdsa通信比特币库,python,cryptography,bitcoin,ecdsa,Python,Cryptography,Bitcoin,Ecdsa,Alice有她的私钥,公钥,还有Bob的公钥和Bob发来的消息 但是坏人也有鲍勃的公钥和鲍勃的信息 神奇发生在哪里,他们如何从这里确保通信安全 这也不起作用: from bitcoin import * Alice_private = 1 Alice_public = privtopub(Alice_private) Bob_private = 2 Bob_public = privtopub(Bob_private) #they exchange publics Alice_mess
from bitcoin import *
Alice_private = 1
Alice_public = privtopub(Alice_private)
Bob_private = 2
Bob_public = privtopub(Bob_private)
#they exchange publics
Alice_message=ecdsa_raw_sign(sha256('Hello'), Alice_private)
Bob_message = ecdsa_raw_sign(sha256('Hello back'), Bob_private)
看起来您正在使用 我想你要做的是,这与ECDSA不同 在第二个示例中,您似乎有正确的想法,但不像您正在做的那样简单 您正在使用的库确实有一个
乘法(pubkey,privkey)
函数,它可以满足您的需要:
from bitcoin import *
a = 10
b = 20
a1,a2 = privkey_to_pubkey(a)
b1,b2 = privkey_to_pubkey(b)
a3,a4 = b1*a, b2*a
b3,b4 = a1*b, a2*b
if a3 == b3:
print(True)
共享秘密是曲线上的一个点,即(x,y)坐标对(此库中的元组)。您通常会获取X坐标并对其进行散列,以导出对称加密的密钥。看起来您正在使用 我想你要做的是,这与ECDSA不同 在第二个示例中,您似乎有正确的想法,但不像您正在做的那样简单 您正在使用的库确实有一个
乘法(pubkey,privkey)
函数,它可以满足您的需要:
from bitcoin import *
a = 10
b = 20
a1,a2 = privkey_to_pubkey(a)
b1,b2 = privkey_to_pubkey(b)
a3,a4 = b1*a, b2*a
b3,b4 = a1*b, a2*b
if a3 == b3:
print(True)
共享秘密是曲线上的一个点,即(x,y)坐标对(此库中的元组)。您通常会获取X坐标并对其进行散列,以导出对称加密的密钥。Matt,您完全正确:)非常感谢。我真的很感激。马特,你完全正确:)非常感谢。我真的很感激。