加密貨幣公司 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