出于学术原因,我在玩OpennSSL 1.0.2g。我测试了RSA加密/解密。我和DHKE建立了密钥交换。但我很难找到一种方法,只使用OpenSSL创建ECDH。是否可以仅使用OpenSSL创建这样的密钥交换?
发布于 2016-05-20 16:53:42
ECDH包括在密室,所以唯一的答案是:是的,这应该是可能的。
对于您的进一步研究,可能有助于了解Crypto.SE的许多与“OpenSSL ECDH”相关的Q&A特性。
还请参阅OpenSSL wiki中的相关文档中的实用代码示例,演示如何在OpenSSL中使用ECDH,如何使用低级API来实现ECDH,以及有关如何处理ECDH和命名曲线的信息。
发布于 2017-01-03 16:08:12
您没有提到您的学术项目是C代码还是命令行工具就足够了?正如OpenSSL所提供的,最简单的启动方式是使用OpenSSL命令行工具。OpenSSL wiki很有用:
https://wiki.openssl.org/index.php/Command_线路_椭圆型_曲线_运营
简而言之,使用OpenSSL命令行工具生成:
xxd工具以十六进制打印它。请记住,ECDH是在一个不安全的通道上作为密钥协议协议设计的。因此,您不应该使用派生的共享秘密作为实际密钥。这就是您需要添加一个真实性步骤的地方。我在导出的共享秘密上使用了HMAC-SHA-256。这意味着双方都需要一个预先商定的HMAC密钥来完成这个过程,否则你可能不知道你在和谁交换信息。
https://crypto.stackexchange.com/questions/35465
复制相似问题