【发布时间】:2015-06-05 13:20:02
【问题描述】:
我是 ECC 加密编程的初学者。 有没有人向我解释使用 ECDH 进行共享密钥交换和通过使用接收者的公钥加密共享密钥来使用 ECIES 的区别? 我觉得只要私钥保密,ECIES 也可以为我提供安全的密钥交换。 谢谢。
【问题讨论】:
-
我投票结束这个问题,因为它与编程没有直接关系。这个问题更适合Cryptography。
标签: cryptography ecdsa
我是 ECC 加密编程的初学者。 有没有人向我解释使用 ECDH 进行共享密钥交换和通过使用接收者的公钥加密共享密钥来使用 ECIES 的区别? 我觉得只要私钥保密,ECIES 也可以为我提供安全的密钥交换。 谢谢。
【问题讨论】:
标签: cryptography ecdsa
ECDH 是一种共享秘密派生协议。两方使用他们自己的“私钥”和他们合作伙伴的“公钥”的知识来生成共享秘密。通常私钥是用于密钥协商的随机数,然后丢弃。
ECIES 使用与 ECDH 相同的方案来生成“共享密钥”,其中“私钥”之一是随机数,其对应的公钥包含在消息本身中。这意味着共享秘密只能由拥有另一个私钥的人推导出来。然后使用共享密钥作为密钥,使用 AES 等其他方案对消息本身进行加密。
如果您要进行密钥协商,ECDH 是您的最佳选择。 (强制说明:当然,您不应该为生产系统推出自己的加密,只需使用 TLS。)
【讨论】: