椭圆曲线ECC加密算法可以用于给文件加密,签名等,也可以给用户生成软件序列号,微软的软件序列号就是用的椭圆曲线ECC加密算法。同RSA加密算法一样,ECC也属于公开密钥算法。如果您了解RSA加密算法,对公开密钥算法也有一定了解的话。那么您今天要掌握椭圆曲线ECC加密算法就比较的容易了。

椭圆曲线ECC加密算法

椭圆曲线指的是由韦尔斯特拉斯(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。

在椭圆曲线加密(ECC)中,利用了某种特殊形式的椭圆曲线,即定义在有限域上的椭圆曲线。其方程如下:

y2=x3+ax+b(mod p)

这里p是素数,a和b为两个小于p的非负整数,它们满足:

4a3+27b2(mod p)≠0 其中,x,y,a,b ∈Fp,则满足式(2)的点(x,y)和一个无穷点O就组成了椭圆曲线E。

椭圆曲线离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对 Q=kP,在已知P,Q的情况下求出小于p的正整数k。可以证明,已知k和P计算Q比较容易,而由Q和P计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线ECC加密算法原理之所在。

椭圆曲线ECC加密算法与RSA加密算法的比较

椭圆曲线公钥系统是代替RSA的强有力的竞争者。椭圆曲线加密方法与RSA方法相比,有以下的优点:

(1)安全性能更高 如160位ECC与1024位RSA、DSA有相同的安全强度。
(2)计算量小,处理速度快 在私钥的处理速度上(解密和签名),ECC远 比RSA、DSA快得多。
(3)存储空间占用小 ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多, 所以占用的存储空间小得多。
(4)带宽要求低使得ECC具有广泛得应用前景。

ECC加密算法的这些特点使它必将取代RSA加密算法,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。

小知识之公钥加密:

公钥加密又叫双钥加密或非对称加密最早在1976年被提出,但是真正能加密的算法RSA算法实在1978年才被提出。