一、简介
1)椭圆曲线密码学的初级读本
http://8btc.com/thread-1240-1-1.html
2)ECC加密算法入门介绍
http://www.pediy.com/kssd/pediy06/pediy6014.htm
3)ECC算法原理的认识
http://blog.csdn.net/sszgg2006/article/details/41945163
4)ECC算法介绍
http://lxxavr.blog.163.com/blog/static/14029914720122299440884/
二、算法原理
椭圆曲线离散对数问题。
三、算法应用
ECC算法不仅可以用于加解密、签名验签,还可以与DH结合使用,用于密钥磋商,这个密钥交换算法称为ECDH。交换双方可以在不共享任何秘密的情况下协商出一个密钥。
小提示: 目前Openssl提供的ECC算法的套件支持是ECDSA/ECDH。在国密的SSL套件中,可以使用ECDSA/ECC(密钥加密传输),ECDSA/ECDH(密钥磋商)两种套件。
ECDH密钥磋商过程:
假设密钥交换双方为Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G): 1) Alice生成随机整数a,计算A=a*G。Bob生成随机整数b,计算B=b*G。 2) Alice将A传递给Bob。A的传递可以公开,即攻击者可以获取A。由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过A、G计算出a。Bob将B传递给Alice。同理,B的传递可以公开。 3) Bob收到Alice传递的A,计算Q=b*A 4) Alice收到Bob传递的B,计算Q‘=a*B Alice、Bob双方即得Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q‘ (交换律和结合律),即双方得到一致的密钥Q。
时间: 2024-12-05 22:36:45