伤不起的算法-ECC-ECDH

来源:互联网 发布:网络犯罪的例子 编辑:程序博客网 时间:2024/05/16 23:33
http://blog.sina.com.cn/s/blog_55a9111c01011zxz.html

5.ECDH:

       ECC算法用途比RSA还猛,不仅可以加解密、签名验证。还可以与DH结合使用,用于密钥磋商,这个密钥交换算法称为ECDH。交换双方可以在不共享任何秘密的情况下协商出一个密钥。ECC是建立在基于椭圆曲线的离散对数问题上的密码体制,给定椭圆曲线上的一个点P,一个整数k,求解Q=kP很容易;给定一个点PQ,知道Q=kP,求整数k确是一个难题。ECDH即建立在此数学难题之上。密钥磋商过程:

       假设密钥交换双方为AliceBob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。

1) Alice生成随机整数a,计算A=a*GBob生成随机整数b,计算B=b*G

2) AliceA传递给BobA的传递可以公开,即攻击者可以获取A。由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过AG计算出aBobB传递给Alice。同理,B的传递可以公开。

3 ) Bob收到Alice传递的A,计算Q=b*A

4) Alice收到Bob传递的B,计算Q=a*B

AliceBob双方即得Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q' (交换律和结合律),即双方得到一致的密钥Q

 

BTW:目前Openssl里面的ECC算法的套件支持是ECDSA/ECDH。在国密的SSL套件中,可以使用ECDSA/ECC(密钥加密传输)ECDSA/ECDH(密钥磋商)两种套件。目前看起来ecc是一个趋势,但还没有形成一个统一的全球标准,还是试用阶段,很多国家或组织都可以选择自己的椭圆曲线参数或方程。它的安全性还没有很好的结论。

总之,不懂ECC的孩纸,你伤不起!
0 0
原创粉丝点击