GnuPG 生成ECC密钥
GnuPG简介
GNU Privacy Guard(GnuPG或GPG)是一种加密软件,它是PGP加密软件的满足GPL的替代物。 GnuPG依照由IETF订定的OpenPGP技术标准设计。GnuPG用于加密、数字签名及产生非对称钥匙对的软件。 具体简介可以看:https://baike.baidu.com/item/GnuPG
如果你想尝试其中的一些功能,可以试试我开发的网页版的完全兼容GnuPG的加密程序OpenPGP-Web:https://Longhao-Chen.github.io/pgpweb/
ECC简介
ECC是椭圆曲线密码学的缩写,一种建立公开密钥加密的演算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。 ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。 具体简介可以看:https://baike.baidu.com/item/%E6%A4%AD%E5%9C%86%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/10305582
算法原理可以看:https://zhuanlan.zhihu.com/p/36326221
GnuPG生成ECC密钥
因为ECC是一种比较新的算法,在gpg默认的密钥生成菜单中并不包含ECC密钥,如果需要生成ECC密钥, 则需要启用专家模式。
执行命令:gpg –full-gen-key –expert
会返回:
1 | gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. |
9,10,11即为生成ECC密钥。我们选择 (9) ECC 和 ECC
然后就会进入曲线选择菜单
1 | 请选择您想要使用的椭圆曲线: |
这里我推荐使用 (1) Curve 25519
Note:
关于Curve 25519可以参见:https://www.zhihu.com/question/290541183/answer/529676502
接下来就和创建普通RSA密钥差不多,按照说明去填即可。