一、定义
椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,基于椭圆曲线数学理论实现的一种建立公开密钥加密的算法。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
注:椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程 y2+a1xy+a3y=x3+a2x2+a4x+a6 所确定的平面曲线。若F是一个域,ai ∈F,i=1,2,…,6。满足式1的数偶(x,y)称为F域上的椭圆曲线E的点。F域可以是有理数域,还可以是有限域GF(Pr)。椭圆曲线通常用E表示。除了曲线E的所有点外,尚需加上一个叫做无穷远点的特殊点O。
二、优缺点
相比于RSA加密算法,可以以更短的密钥,提供相当或更高等级的安全,还能定义群之间的双线性映射,目前已在密码学中广泛应用。
而相对应的确定就是加密和解密操作会需要花费更长时间。
三、应用
在区块链技术中,我们都知道加密是特别重要的一个环节,比特币中便是使用了椭圆曲线密码技术,以太坊中也是使用的椭圆曲线DSA, 更为一般的HTTPS中使用的TLS也是基于椭圆曲线实现的密码交换。
更多详解,欢迎查看:Elliptic Curve Cryptography: a gentle introduction