您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 【安全课件】第21讲--eigamal体制与
EIGamal体制与公钥密码体制小结量子密码研究室王滨2005.4.14数学基础本原元:设p为素数,若存在一个整数a,使得a,a2,a3,……,ap-1,,关于模p互不同余,则称模p的本原元。离散对数问题:Y=logaXX计算Y是容易的,至多需要2×log2p次运算就可以。但是根据Y计算X就是困难的,利用目前最好的算法,对于小心选择的p将至少需要p1/2次以上的运算,只要p足够的大,求解离散对数就是相当困难的。EIGamal公钥密码体制设计过程:Step1选取大素数p,再选取的一个本原元a,并将p和a公开.Step2随机选取整数,并计算出并将作为公开的加密密钥,将d作为保密的脱密密钥.21:pdd*pZpdmod加脱密变换加密变换:,秘密选择一个整数,则密文为其中脱密变换:对任意密文明文为*pZm21:pkk**21),(ppZZcccpmcpckkmodmod21**21),(ppZZcccpccmdmod)(112实例P=2597,取a=2,秘密密钥为765,可以计算出公开密钥为y=2765mod2597=949。取明文M=1299,随机数k=853,则C1=2853mod2597=435,C2=1299×949853mod2597=2396所以密文为:(C1,C2)=(435,2396)解密时计算:M=2396×(435765)-1mod2597=1299特点(1)密文长度扩展1倍;(2)只利用了有限域的乘法群的性质,即只使用了乘法运算和求乘法逆的运算为何密文需要扩展1倍?这涉及其设计思想问题.安全性分析因为该算法是基于离散对数问题的,所以p的选取必须足够的大,为150位以上的十进制数,且p-1有大素因子为了加密和签名的安全k必须是一次性的设计思想(1)利用Diffie-Hellman密钥交换协议生成双方加密用的密钥.此时不同之处在于已将作为公开密钥公布,不需每次发送.(2)采取了一次一密的加密思想.将作为双方交换的密钥,利用它对明文进行加脱密.pppdkkdkmodmod)(modpdmodpkmod问题为什么要求?答案:因为的周期为p-1,即备注:(1)参数可以全网公用,也可一人一套;(2)加密不同的明文分组时选用独立的随机数,但秘密的脱密密钥需和其版本号一起长期不变.21:pdd1mod1pp实现方法(1)大素数的选择与构造将大素数p选为安全素数,即使p=2q+1且q为素数.实验表明,平均100个随机数中可选出1个素数,平均100素数中可选出1个安全素数.(2)安全素数条件下本原元的判断方法由Fermat定理知,即因而如果则有w整除p-1=2q,因而由q是素数知,w只能是2或q.此时是本原元等价于且1mod1pp1mod2pq}1mod:0min{ptwt1mod2p1modpq安全素数条件下本原元的构造方法在(p=2q+1)中随机选择一个,若且,则判定是安全素数;否则再随机选择另一个进行检验.*pZ1mod2p1modpq问题:容易找到本原元吗?答案:容易,至少在安全素数条件下容易.习题在用户a对用户b利用RSA公钥密码体制进行消息的加密+签名时,若二者使用的模数nanb,为了使脱密正常进行,应该先加密还是先签名?
本文标题:【安全课件】第21讲--eigamal体制与
链接地址:https://www.777doc.com/doc-1251425 .html