文档详情

椭圆曲线公钥密码体制ECC

痛***
实名认证
店铺
PPT
438KB
约62页
文档ID:154018107
椭圆曲线公钥密码体制ECC_第1页
1/62

椭圆曲线公钥密码体制椭圆曲线公钥密码体制(ECC)主讲人:赵永哲主讲人:赵永哲e_mail:yongzhe ::13180888761关于椭圆曲线关于椭圆曲线椭圆曲线问题的研究有椭圆曲线问题的研究有150多年的历史多年的历史 1985年年 Washington 大学的大学的Neal Koblitz IBM 的的Victor Miller 把椭圆曲线应用于密码领域把椭圆曲线应用于密码领域目前,椭圆曲线和目前,椭圆曲线和RSA算法是使用最广泛的公钥加算法是使用最广泛的公钥加密算法密算法实数域上的椭圆曲线实数域上的椭圆曲线 椭圆曲线并非椭圆,之所以称为椭圆曲线是因为椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似一般它的曲线方程与计算椭圆周长的方程类似一般来讲,椭圆曲线的曲线方程是以下形式的三次方来讲,椭圆曲线的曲线方程是以下形式的三次方程:程:y2+axy+by=x3+cx2+dx+e 其中其中a,b,c,d,e是满足某些简单条件的实数是满足某些简单条件的实数典型椭圆曲线典型椭圆曲线E:Y2=X3 5X+8-4-特点特点:可以应用几何学使椭圆曲线上的点形成一个群.椭圆曲线的加法椭圆曲线的加法依据:依据:如果在椭圆曲线上有三个点存在于一条直线上,则如果在椭圆曲线上有三个点存在于一条直线上,则它们的和为无穷远点它们的和为无穷远点。

其中无穷远点记为其中无穷远点记为 点点P和点和点-P相加相加垂直直线没有第三个交点垂直直线没有第三个交点Q在无限远处增加点在无限远处增加点 O点点 O位于位于每个垂线上位于位于每个垂线上OPQ=P点点P和点和点-P相加的和为无穷远点相加的和为无穷远点点点P和点和点Q相加相加PQP+QR设连接点设连接点P和和Q的直线,交椭圆曲线于点的直线,交椭圆曲线于点R,则点则点P和和Q的和为点的和为点-R求点求点P的二倍的二倍P2*PR过过P点作切线点作切线通过点通过点P作曲线的切线,交曲线于另一点作曲线的切线,交曲线于另一点R,则则2P=-R求点求点P的二倍的特例的二倍的特例P若点若点P的切线的斜率是的切线的斜率是0,则,则2P=O,3P=P,4P=O,5P=P有限域上的椭圆曲线有限域上的椭圆曲线 定义:定义:对于曲线对于曲线 y2=x3+ax+b(mod p),a,ba,b为小于为小于p p的整数的整数当当4a3+27b2(mod p)不为零时构成有限域不为零时构成有限域Fp上上的椭圆曲线群记为的椭圆曲线群记为Ep(a,b)有限域上的椭圆曲线的点的构造有限域上的椭圆曲线的点的构造 1.1.对于每一个对于每一个x(0=x 3q=p 3y y2 2+xy =x+xy =x3 3 +ax +ax2 2+b +b 对于对于 q=2q=2m m 1 1基点基点 G=(xG=(xG G,y,yG G)G G的阶的阶n n h=#E/n.h=#E/n.(#E#E 为椭圆曲线的阶)为椭圆曲线的阶)椭圆曲线的密钥的生成椭圆曲线的密钥的生成已知参数已知参数T:(q,a,b,G,n,h),椭圆曲线的公钥椭圆曲线的公钥 Q=(xQ,yQ)是这样生成的是这样生成的:1.在区间在区间 1,n-1选择一个随机数或伪随机数选择一个随机数或伪随机数d.2.计算计算 Q=dG.3.Q为公钥为公钥;d为私钥为私钥.椭圆曲线密钥对的验证椭圆曲线密钥对的验证 已知公钥已知公钥Q=(xQ,yQ)和参数和参数T:(q,a,b,G,n,h)按照如下步骤检查公钥的有效性按照如下步骤检查公钥的有效性1.检查检查 Q O 2.检查检查xQ 和和 yQ 是否属于是否属于GF(q).3.检查检查Q 是否位于椭圆曲线上是否位于椭圆曲线上 4.检查检查 nQ=O.密钥长度比较密钥长度比较安全级别安全级别对称密码对称密码ECC(n)DSA/RSA(模)模)56561125128080160102411211222420481281282563072192192384768025625651215360具有具有128位安全强度的实例:位安全强度的实例:secp256k1T=(p;a;b;G;n;h):p=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F =2256-232-29-28-27-26-24-1a=00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000b=00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007G=04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8n=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141h=01具有具有128位安全强度的实例:位安全强度的实例:sect283k1T=(m;f(x);a;b;G;n;h):m=283 f(x)=x283+x12+x7+x5+1a=00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000b=00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001G=04 0503213F 78CA4488 3F1A3B81 62F188E5 53CD265F 23C1567A 16876913 B0C2AC24 58492836 01CCDA38 0F1C9E31 8D90F95D 07E5426F E87E45C0 E8184698 E4596236 4E341161 77DD2259n=01FFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFE9AE 2ED07577 265DFF7F 94451E06 1E163C61h=04公钥密码系统中公钥密码系统中ECC与与RSA的对比的对比 RSA算法的特点之一是数学原理简单、在工程应用算法的特点之一是数学原理简单、在工程应用中比较易于实现,但它的单位安全强度相对较低。

中比较易于实现,但它的单位安全强度相对较低一般数域筛一般数域筛(NFS)方法去破译和攻击方法去破译和攻击RSA算法,它算法,它的破译或求解难度是亚指数级的的破译或求解难度是亚指数级的ECC算法的数学理论非常深奥和复杂,在工程应用算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高中比较难于实现,但它的单位安全强度相对较高Pollard rho方法去破译和攻击方法去破译和攻击ECC算法,它的破译算法,它的破译或求解难度基本上是指数级的或求解难度基本上是指数级的公钥密码现状公钥密码现状大素数的因式分解大素数的因式分解离散对数离散对数椭圆曲线椭圆曲线 公钥密码方案的实际应用公钥密码方案的实际应用实现速度实现速度 通常用于交换对称算法的加密密钥通常用于交换对称算法的加密密钥数字签名算法数字签名算法下次课内容下次课内容流密码和分组密码加密模式流密码和分组密码加密模式下次课再见!下次课再见!。

下载提示
相关文档
正为您匹配相似的精品文档