ECC椭圆曲线密码学

ECC椭圆曲线密码学在线工具,生成ECC密钥对、ECC数字签名和ECC验证。

场景一:根据ECC椭圆曲线算法生成ECC密钥对。
1.1、请输入ECC私钥的证书密码。
证书密码
1.2、请选择ECC椭圆曲线算法。
曲线算法
场景二:使用ECC私钥生成数字签名。
2.1、请上传或输入ECC私钥。
2.2、请设置生成参数。
证书密码
场景三:使用ECC公钥验证数字签名。
3.1、请上传或输入ECC公钥。
3.2、请设置验证参数。
  操作文档

一、ECC椭圆曲线密码学在线教程

1.1、椭圆曲线密码学介绍

椭圆曲线密码学是一种可逆的非对称密码学算法,其英语全称:Elliptic Curve Cryptography,缩写为:ECC。


1.2、椭圆曲线密码学使用场景

ECC被广泛认为在相同的密钥长度下,最强大的非对称算法,因此在对带宽要求特别紧张的连接中会十分有用。ECC其主要使用场景并非加密解密,而是数字签名和密钥交换,因为公钥算法在加密解密文本时(尤其是大文本数据)非常耗费计算资源,如果需要加密解密应该首选对称加密算法如AES等。


1.3、椭圆曲线密码学安全

受RSA算法后门以及棱镜门等事件影响,ECC椭圆曲线密码学算法开始被高度重视并快速流行起来,其占用更少的存储空间、更低的CPU开销和更少的带宽,但是可以提供更好的安全性、更强性能和较好的投资回报率,实现相对复杂是其主要的缺点。


二、ECC椭圆曲线密码学常用标准

2.1、Curve25519椭圆曲线标准

Curve25519是由Bernstein在2006年发明的。Curve25519特点就是快!但是性能的提升是有代价的,就是它安全性降低了,更容易受到侧信道攻击。当前Curve25519的硬件加速一般没有做防侧信道攻击的保护。如果要防侧信道攻击,需要软件做一些措施。但软件措施会:

  • 增加算法的复杂度,引入漏洞;
  • 软件措施会降低算法性能,可能最终使性能和其它算法差别不大;
  • 软件措施的有效性比较难以验证。


2.2、其它椭圆曲线标准

  • NIST曲线:NIST是美国的国家标准技术研究所(National Institute of Standards and Technology),因此,NIST的标准也是美国标准。NIST曲线可以抵御侧信道攻击。但是密码行业对NIST曲线有疑虑,怀疑它有不为人知道的后门。具体实现算法如nistb233等;
  • Brainpool曲线:欧洲担心NIST曲线有漏洞,所以推出了Brainpool曲线。Brainpool可以抵御侧信道攻击,其参数选择也合理,目前密码行业没有怀疑它有后门。具体实现算法如brainpoolP160r1等;
  • SECG曲线:SEC是Standards for Efficient Cryptography 的简称,是SECG发布的一种密码学协议标准。具体实现算法如比特币使用的是secp256k1等;
  • ANSI曲线:ANSI:美国国家标准学会(英文全称:AMERICAN NATIONAL STANDARDS INSTITUTE: ANSI)。ANSI也定义了若干个曲线,具体实现算法如prime192v1等。


三、ECC椭圆曲线密码学在线工具使用方式

各场景均已设置推荐的默认值,您也可以根据实际需求进行调整,其中证书密码专指ECC私钥密码,一般为空、无须设置。小提示:当前在线工具的数字签名使用Base64编码的字符串。

  • 场景一:生成ECC密钥对,输入证书密码并选择曲线算法即可,支持下载到本地;
  • 场景二:使用ECC私钥生成数字签名:输入证书私钥和原始文本进行数字签名;
  • 场景三:使用ECC公钥验证数字签名:输入原始文本、ECC公钥和数字签名,进行信息验证。如果原始文本和数字签名匹配则返回true,否则返回false。