首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenSSL创建ECDH

使用OpenSSL创建ECDH
EN

Cryptography用户
提问于 2016-05-20 16:47:26
回答 2查看 11.1K关注 0票数 4

出于学术原因,我在玩OpennSSL 1.0.2g。我测试了RSA加密/解密。我和DHKE建立了密钥交换。但我很难找到一种方法,只使用OpenSSL创建ECDH。是否可以仅使用OpenSSL创建这样的密钥交换?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2016-05-20 16:53:42

ECDH包括在密室,所以唯一的答案是:是的,这应该是可能的。

对于您的进一步研究,可能有助于了解Crypto.SE的许多与“OpenSSL ECDH”相关的Q&A特性。

还请参阅OpenSSL wiki中的相关文档中的实用代码示例,演示如何在OpenSSL中使用ECDH,如何使用低级API来实现ECDH,以及有关如何处理ECDH和命名曲线的信息。

票数 1
EN

Cryptography用户

发布于 2017-01-03 16:08:12

您没有提到您的学术项目是C代码还是命令行工具就足够了?正如OpenSSL所提供的,最简单的启动方式是使用OpenSSL命令行工具。OpenSSL wiki很有用:

https://wiki.openssl.org/index.php/Command_线路_椭圆型_曲线_运营

简而言之,使用OpenSSL命令行工具生成:

  • EC名称曲线参数文件
  • EC密钥对(使用EC命名曲线参数文件作为输入)
  • 从密钥对中提取公钥。这是你需要与对方分享的关键。
  • 从同侪的公钥和您生成的密钥对派生共享秘密。派生值可能是二进制的,因此在Linux / mac机器上可以使用xxd工具以十六进制打印它。

请记住,ECDH是在一个不安全的通道上作为密钥协议协议设计的。因此,您不应该使用派生的共享秘密作为实际密钥。这就是您需要添加一个真实性步骤的地方。我在导出的共享秘密上使用了HMAC-SHA-256。这意味着双方都需要一个预先商定的HMAC密钥来完成这个过程,否则你可能不知道你在和谁交换信息。

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

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

复制
相关文章

相似问题

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