信息安全工程师教程学习笔记之ElGamal密码

信息安全工程师 责任编辑:长颈鹿 2016-07-08

添加老师微信

备考咨询

加我微信

摘要:全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。官方教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之ElGamal密码,供大家参考学习。

    >>>>>信息安全工程师在线辅导 

   

      >>>>>信息安全工程师培训视频

      全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之ElGamal密码,供大家参考学习。

      ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。

      ElGamal算法定义

      ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K,在密码中主要应用离散对数问题的几个性质:求解离散对数(可能)是困难的,而其逆运算指数运算可以应用平方-乘的方法有效地计算。也就是说,在适当的群G中,指数函数是单向函数。

      密钥产生方法

      密钥对产生办法。首先选择一个素数p,获取一个素数p的一个原根g(若g模p的阶等于φ(p),则称g为模p的一个原根。(其中φ(p)表示p的欧拉函数,即所有<=p的正整数中和p互质的整数的个数))和一个随机数x,且g和x均小于p,计算y=g^x(mod p),则其公钥为y,g和p。私钥是x。g和p可由一组用户共享。

      ElGamal用于数字签名。被签信息为M,首先选择一个随机数k,k与p-1互质,计算

      a=g^k(mod p)

      再用扩展Euclidean算法对下面方程求解b:

      M=xa+kb(mod p-1)

      签名就是(a,b)。随机数k须丢弃。

      验证时要验证下式:

      y^a*a^b(mod p)=g^M(mod p)

      同时一定要检验是否满足1<=a<p。否则签名容易伪造。

      ElGamal用于加密。被加密信息为M,首先选择一个随机数k,k与p-1互质,计算

      a=g^k(mod p)

      b=y^k M(mod p)

      (a,b)为密文,是明文的两倍长。解密时计算

      M=b/a^x(mod p)

      ElGamal签名的安全性依赖于乘法群(IFp)*上的离散对数计算。素数p必须足够大,且p-1至少包含一个大素数

      因子以抵抗Pohlig&Hellman算法的攻击。M一般都应采用信息的HASH值(如SHA算法)。ElGamal的安全性主要依赖于p和g,若选取不当则签名容易伪造,应保证g对于p-1的大素数因子不可约。

      一般的ElGamal数字签名方案

      在系统中有两个用户A和B,A要发送消息到B,并对发送的消息进行签名。B收到A发送的消息和签名后进行验证。

      1系统初始化

      选取一个大的素数p,g是GF(p)的本原元。h:GF(p)→GF(p),是一个单向Hash函数。系统将参数p、g和h存放于公用的文件中,在系统中的每一个用户都可以从公开的文件中获得上述参数。

      2对发送的消息进行数字签名的过程

      假定用户A要向B发送消息m[1,p-1],并对消息m签字。第一步:用户A选取一个x[1,p-1]作为秘密密钥,计算y=(mod p)作为公钥。将公钥y存放于公用的文件中。第二步:随机选取k[1,p-1]且gcd(k,(p-1))=1,计算r=(mod p)。对一般的ElGamal型数字签名方案有签名方程(Signature Equation):ax=bk+c(mod(p-1))。

      其中(a,b,c)是(h(m),r,s)数学组合的一个置换。由签名方程可以解出s。那么(m,(r,s))就是A对消息m的数字签名。第三步:A将(m,(r,s))发送到B

      3数字签名的验证过程

      当B接收到A发送的消息(m,(r,s)),再从系统公开文件和A的公开文件中获得系统公用参数p,g,h和A的公钥y。由(m,(r,s))计算出(a,b,c)验证等式:=(mod p)是否成立。

      D.Bleichenbache“GeneratingElGamal Signatures Without Knowing the Secret Key”中提到了一些攻击方法和对策。ElGamal的一个不足之处是它的密文成倍扩张。美国的DSS(Digital Signature Standard)的DSA(Digital Signature Algorithm)算法是经ElGamal算法演变而来。


    返回总目录:信息安全工程师教程学习笔记之密码学汇总(一)

    返回总目录:信息安全工程师教程学习笔记之密码学汇总(二)


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!