首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于加密ECDH密钥交换的ECIES

用于加密ECDH密钥交换的ECIES
EN

Cryptography用户
提问于 2020-08-27 16:03:23
回答 1查看 1.1K关注 0票数 1

我开始研究椭圆曲线密码学,我不知道我是否理解ECDH和ECIES之间的区别(即使是在stackexchange上的其他文章中)。

我想知道ECIES是否可以用来加密ECDH密钥交换,以保证它不存在中间人。我正在考虑类似的TLS,在交换对称密钥之前存在非对称加密。

简言之,如下所示:

使用ECIES建立安全的客户机-服务器会话,使用ECDH生成共享密钥,以便在服务器和客户端之间安全地在已建立的安全会话上交换信息。在非对称加密算法中,发送方需要公钥对消息进行加密,接收方需要私钥来解密消息,而在对称加密算法中,发送方和接收方都需要单个对称会话密钥来加密和解密数据。这有道理吗?如果没有,请帮助我理解ECIES和ECDH之间的区别,以及ECDH是否有一些身份验证。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-08-27 16:33:21

椭圆曲线集成加密方案( 综合加密方案(IES) )是一种使用椭圆曲线Diffie (ECDH)密钥协议建立短时数据密钥(而不是会话密钥)的一种加密方案,然后使用对称加密方案对数据进行加密。在创建密文期间,它使用一个短暂的密钥,公钥与密文一起存储。通常,接收/解密实体有一个静态密钥对,其中公钥需要由发送方/加密实体信任。

当然,ECIES可以用于对接收方进行身份验证:您可以使用数据密钥加密一个临时密钥,并将其发送出去,如果另一方能够解密,则您已经对接收方进行了身份验证。当然,接收方仍然必须显示它现在拥有身份验证密钥,例如在双方都知道的消息上创建MAC。在TLS的情况下,您将基本上用执行椭圆曲线加密的RSA_加密套件替换执行RSA加密的ECIES_密码套件。

这听起来不错,但请稍等:双方现在必须首先建立一个短暂的数据密钥,以加密一个短暂的身份验证密钥。简单地使用数据密钥进行身份验证要容易得多。如果你这么做,你就会回到迪夫-赫尔曼的关键协议。因此,基本上,只有当正常的DH密钥协议--由于某种原因或其他原因--不能直接集成到协议中时,才会有用。

这是一个例子的解释,它不同于先前给出的、更简洁的这里解释。重点是会话密钥派生,这一项更多地是关于可能的实体身份验证。

DH密钥协议有几个版本,允许身份验证。大多数可能的方案载于NIST SP 800-56A修订版3:“关于采用离散对数密码体制的配对密钥建立方案的建议”,第6章。

基本上,您需要一个静态DH密钥来执行身份验证,然后可以通过验证使用派生密钥创建的MAC来执行该验证。因此,"1S“方案(静态的S)能够对一个实体进行身份验证,而2S方案能够对两个实体进行身份验证(目前,我将跳过多实体密钥协议,将其保持在一个对上)。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/83587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档