查询openssl当前版本支持的椭圆曲线类型(该列表虽并不包括x25519,实际上是支持的)

$ openssl ecparam -list_curvessecp256k1 : SECG curve over a 256 bit prime fieldsecp384r1 : NIST/SECG curve over a 384 bit prime fieldsecp521r1 : NIST/SECG curve over a 521 bit prime fieldprime256v1: X9.62/SECG curve over a 256 bit prime field

生成Curve25519椭圆曲线密钥(该密钥专门用于ECDH密钥协商)

For X25519 and X448, it's treated as a distinct algorithm but not as one of the curves listed with ecparam -list_curves option. You can use the following command to generate an X25519 key:

openssl genpkey -algorithm X25519 -out xkey.pem

生成Ed25519椭圆曲线签名密钥(专用于数字签名)

备注:The ability to generate X25519 keys was added in OpenSSL 1.1.0. The ability to generate X448, ED25519 and ED448 keys was added in OpenSSL 1.1.1.

openssl genpkey -algorithm ED25519 -out xkey.pem

SM2椭圆数字签名/加解密密钥

The SM2 algorithm supports sign, verify, encrypt and decrypt operations. For the sign and verify operations, SM2 requires an ID string to be passed in.
Sign some data using an SM2(7) private key and a specific ID:

openssl pkeyutl -sign -in file -inkey sm2.key -out sig -rawin -digest sm3 -pkeyopt sm2_id:someid

Verify some data using an SM2(7) certificate and a specific ID:

openssl pkeyutl -verify -certin -in file -inkey sm2.cert -sigfile sig -rawin -digest sm3 -pkeyopt sm2_id:someid

参考资料:

  • https://github.com/openssl/openssl/blob/master/doc/HOWTO/keys.txt
  • https://www.openssl.org/docs/manmaster/man1/genpkey.html
  • https://www.openssl.org/docs/manmaster/man1/ecparam.html
  • https://www.openssl.org/docs/manmaster/man1/pkeyutl.html

X25519(Curve25519)椭圆曲线密钥生成相关推荐

  1. 深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(2)_配对密钥生成(LTK | STK)

    深入NXP蓝牙SDK开发(x)--深挖BLE配对过程 0.开篇: 1.传统配对(Legacy Pairing): 2.安全连接配对(Secure Connections Pairing): 2.1.认 ...

  2. Eos离线密钥生成的PHP代码

    虽然EOS的密钥算法类似于比特币,但做了一些调整,定义了自己的格式.开发包EosTool包含了EOS离线密钥生成模块,可以不连接任何节点实现离线生成EOS密钥.本文将给出EOS离线密钥生成的PHP代码 ...

  3. 更加安全的密钥生成方法Diffie-Hellman

    更加安全的密钥生成方法Diffie-Hellman 之前我们谈到了密钥配送的问题,这个世界是如此的危险, 一不小心通信线路就会被监听,那么我们怎么在这种不安全的线路中传递密钥呢? 这里我们介绍一下Di ...

  4. ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...

    ubuntu生成密钥和证书 想象以下情况: 您需要从访问您的网站的用户那里获取一个密钥(在非对称情况下为用户的公共密钥 ),并希望浏览器记住私有部分,而不会因冗长的导入过程而困扰用户. 老实说,实际上 ...

  5. aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

    本发明涉及一种用于分组加解密算法的子密钥的生成方法. 背景技术: 随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学.密码学在信息安全技术中扮演着基础的角色,是 ...

  6. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第16篇]描述DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。

    这是一系列博客文章中最新的一篇,文章的主题是"做密码学每个博士生都应该知道的52件事".这一系列问题是为了让博士生们在第一年结束时了解他们应该知道的事情.本周我们将介绍DSA.Sc ...

  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第15篇]RSA-OAEP和ECIES的密钥生成,加密和解密

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇总是为了让博士生们在第一年结束时知道些什么.通过描述RSA-OAEP和ECI ...

  8. 密码学专题 密钥生成|分组加密的模式 ECB|CBC|CFB|OFB

    密钥生成 如何安全地生成密钥.即如何生成可信任的密钥,保证用户得到的密钥是安全的, 生成密钥的机器或程序是可信的. 如何生成安全的密钥.安全的密钥没有统一准确的定义,但一般来说是指密钥抗 猜测和抗穷举 ...

  9. 关于注册校验和密钥生成软件问题

    项目背景: 1.项目需要一个注册校验,和密钥生成软件: 采取方案: 1.首先系统获取本地mac值,用md5算法,生成一个密钥. (网上有获取,mac值,以及生成算法,集成到项目里,调接口就行. 注意的 ...

最新文章

  1. 数学——函数极限知识以及sympy库的limit
  2. 【文化传承】念念不忘 必有回响
  3. DCMTK:以HTML格式呈现DICOM结构化报告文件的内容
  4. ant design vue table 高度自适应_2年Vue项目实战经验汇总!
  5. oracle π,plsql 计算π
  6. 一步一步学Entity Framework 4(2)
  7. C4D插件X-Particles粒子特效(二)
  8. 鸡兔同笼——算法详解
  9. 群晖docker签到京豆_在群晖Docker上的部署qBittorrent
  10. 华钜同创:亚马逊中常见的广告类型及其专业名词解释
  11. 利用CASS使用三种方法计算两期土方
  12. 阿里云服务器是国内的还是国外的?
  13. 智慧物联网下的工控安全解决方案
  14. CSS略详细的基础 助你一臂之力
  15. FL Studio 20.9.2官方中文版全新发布更新功能介绍
  16. LTE架构和协议栈概述
  17. STM8使用SPI通信需要注意的几个问题
  18. 【metrics】将dropwizard metrics收集到 prometheus
  19. 5个大陆高校学科进入全球前10名;霍尼韦尔将发布全球最强大量子计算机 | 美通企业日报...
  20. java工作流 表设计_Java工作流系统jflow从表功能介绍一

热门文章

  1. 无人车前轮转向参数校准分析
  2. python读取word element_Python:通过解析word将文本从docx提取到txt/文档.xm
  3. python如何用c语言表示_python如何调用c语言
  4. 不同修饰符的访问权限(private,缺省(默认即default),protected,public)
  5. AWT_面板 Panel(Java)
  6. Vue项目中使用ant-design时设置DatePicker日期控件中文显示
  7. ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够的解决办法
  8. 搜狗输入法电脑版_年终福利 | 安卓可用的输入法皮肤 搜狗篇 / 近期日程 | iOS智能深色版。...
  9. PCL中的采集器之一OpenNI
  10. 【李宏毅2020 ML/DL】补充:Ensemble: Bagging, Boosting, Adaboost, Gradient Boosting, Stacking