加密货币公司 nChain 最近公布了一项专利,内容是可在网络中安全地生成肯定的密码,用于加密信息。我将简单地解释一下这项专利的具体内容。算法
在网络中传输信息,为了保证安全,须要将信息进行加密。经常使用的RSA不对称加密,须要服务器将公钥发送给客户端,这个过程当中可能会被中间人拦截并替换公钥,也就是所谓的中间人攻击。安全
nChain 的这项专利,能够让加密所用的肯定密钥不通过网络传输,也就杜绝了中间人攻击的可能。服务器
步骤以下:网络
Alice 和 Bob 分别在本地使用椭圆曲线算法
P = V X G
生成本身的密钥对,而后经过网络传递各自的公钥。
Alice 和 Bob 经过网络传递信息M,而后经过SHA-256哈希算法获得M的哈希,做为决定性密钥DK。
再各自使用本身的私钥和DK作纯量加法,获得新的私钥V2a, V2b.
Alice 和 Bob 经过椭圆曲线算法分别获得对应的公钥P2a,P2b,并经过网络传递公钥。
Alice 和 Bob 各自在本地经过椭圆曲线点乘法获得共同密钥S。S从未通过网络传输,所以是安全的。
只须要证实 V2a X P2b = V2b X P2a加密
V2a X P2b => V2a X (V2b X G) => (V2a X V2b) X G V2b X P2a => V2b X (V2a X G) => (V2b X V2a) X G