椭圆曲线加密算法简介:椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开金钥加密的算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥,比如RSA加密算法,能提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。
1.生成ECC算法私钥文件
openssl ecparam -genkey -name prime256v1 -out domain.key
2.生成ECC证书申请CSR文件
openssl req -new -key domain.key -out domain.csr
注意事项:
ECC算法加密强度有3个选项:prime256v1 /secp384r1/secp521r1,prime256v1 目前已经足够安全。如无特殊需要请保持ECC算法 prime256v1 默认即可,同样证书 SHA256 目前已经足够安全,如无特殊需要请保持默认。
OpenSSL官方ECC算法文档:https://www.openssl.org/docs/man1.0.2/apps/ecparam.html
了解更多关于椭圆曲线加密算法参考:Elliptic Curve Cryptography Subject Public Key Information - IETF