1

我是 ECC 加密编程的初学者。有没有人向我解释使用 ECDH 进行共享密钥交换和使用 ECIES 通过用接收者的公钥加密共享密钥的区别?我觉得只要私钥保密,ECIES 也可以为我提供安全的密钥交换。谢谢你。

4

1 回答 1

4

ECDH 是一种共享秘密派生协议。两方使用他们自己的“私钥”和他们合作伙伴的“公钥”的知识来生成共享秘密。通常,私钥是用于密钥协商的随机数,然后被丢弃。

ECIES 使用与 ECDH 相同的方案来生成“共享密钥”,其中“私钥”之一是随机数,其对应的公钥包含在消息本身中。这意味着共享秘密只能由拥有另一个私钥的人推导出来。然后使用共享密钥作为密钥,使用 AES 等其他方案对消息本身进行加密。

如果您正在进行密钥协商,ECDH 是您的最佳选择。(强制性说明:当然,您不应该为生产系统推出自己的加密,只需使用 TLS。)

于 2015-08-31T19:54:14.357 回答