一、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椭圆曲线密码学 - 在线工具。