一、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