现代密码学杨波课后习题讲解
- 格式:pptx
- 大小:1.19 MB
- 文档页数:53
信息的载体有媒介和信道.对信息载体的两种攻击为主动攻击和被动攻击.密码学的两个分支为密码编码学和密码分析学.密码体制有单钥密码体制和双钥密码体制.现代流密码的设计思想来源于古典密码中的维吉尼亚密码.现代分组密码的设计思想来源于古典密码中的多字母代换密码.在信息保密系统中,攻击者EVE拥有的基本资源是密文C,加密算法E和解密算法D;EVE可能拥有的更多资源为:可能知道密文C对应的明文M;可能拥有强大的计算能力;可能缴获了一台加密机.EVE不可能拥有的资源是:加密密钥Z和解密密钥K.已知明文攻击:EVE截获了密文C,并且知道了密文C对应的明文M,于是:在解密方程中EVE知道M,C 仅仅不知道K在加密方程中EVE知道M,C 仅仅不知道Z如果EVE从方程中解出K和Z,以后就可以像BOB一样对任何密文进行解密,像ALICE一样对任何明文进行加密.还可以给出更宽松的条件,EVE如果获得以往废弃的N组明文/密文对,就可以得到关于K的方程组.以上就是已知明文攻击.无条件安全性:对密码体制的任何攻击,都不优于对明文完全盲目的猜测,这样的密码体制就称为无条件安全的(完善保密的).一次一密的加密方式容易实现无条件安全.计算安全性:1.对密码体制的任何攻击,虽然可能优于完全盲目的猜测,但超出了攻击者的计算能力,这是最高级别的计算安全;2.对密码体制的任何攻击,虽然可能没有超过攻击者的计算能力,但所付出的代价远大于破译成功所得到的利益,这是第二级别的计算安全; 3.对密码体制的任何攻击,虽然可能没有超出攻击者的计算能力,但破译成功所需要的时间远远大于明文本身的有效期限,这也是第二级别的计算安全.Golomb随机性假设:1.N充分大时,比特流中的01个数各占约一半;2.N充分大时,在比特流中,长度为L的0游程个数约有N/2L个;N充分大时,在比特流中,长度为L的1游程个数约有N/2L个;3.若K>0,当N充分大时,以下的值(异自相关函数值)约为O:(1/N)*[(-1的KL+K(L+K)次方)L从1到N求和].一个周期的布尔序列一定是一个线性反馈移位寄存器序列.设比特流K周期为N,则L>N后,KL=KL-N.因此比特流K为N阶线性反馈移位寄存器序列,抽头系数为{C1,C2,}={0,0,......1}极小多项式为F(X)=1'+'XN次方.初始状态为K1K2......KN.N阶线性反馈移位寄存器序列的最小周期的上确界是2N次方-1,最小周期达到此上确界时称K为N阶M序列.完全满足GOLOMB随机性假设.不能直接作为密钥流的原因为:EVE如果得到任何一段连续2N个比特,就获得了一个关于抽头系数的方程组,由于加法和乘法都是在域GF(2)上进行(MOD2运算),容易计算出抽头系数,从而被攻破.使用的算法为B-M算法和GAMES-CHAN算法.非线性前馈序列做密钥流时,初始状态,极小多项式和非线性布尔函数可以作为通信伙伴的原始密钥.分组密码与流密码相比,优点:加解密算法简洁快速,占用的计算资源小,易于软件和硬件的实现;加解密算法参数固定,比流密码容易实现标准化;由于明文流被分段加密,因此容易实现同步,而且传输错误不会向后扩散;缺点:不容易使用硬件实现,安全性很难被证明,至多证明局部安全性.五个设计准则:安全性,简洁性,有效性,透明性和灵活性,加解密的相似性.Feistel网络的算法步骤:1.将明文M分为等长的两部分M=(L(0),R(0));2.使用由密钥K控制的高度非线性函数F,(1)计算(L',R')=(L(0)'+'F(R(0),K) , R(0));(2)计算密文C=(L(1),R(1))=(R',L').杂凑函数应满足的三条性质:1.等长性,2.单向性.3.无碰撞性.数字签名应满足的三条性质:1.完整性,2.身份唯一性(不可伪造性),3.不可否认性(公开可验证性).互联网五种基本服务:电子邮件,信息浏览,文件传输,远程登录,电子公告牌.IPSec属于网络层,两个协议是认证报头协议AH和封装安全负载协议ESP,两个数据库是安全策略数据库SPD和安全关联数据库SAD.S/MIME处理非文本课文时,采用MIME增加非文本的对象到邮件主体中去,按照S/MIME,发送者将普通的MIME格式的消息封装成为S/MIME安全对象,并将其按照普通消息的发送方式发送出去,接收者把S/MIME安全对象解封装为普通的MIME格式消息.PGP利用电子邮件兼容性服务将被加密或被签名的邮件每三个字节为一组,扩充为四个字节,扩充后的每个字节都是一个ASCII字符.这种转换称为基数64变换,为消息扩展了33%.消息认证码不同于对称加密函数,对称加密函数的逆函数就是解密函数,而消息认证码函数是不存在逆函数的,这就是说,消息认证码函数具有单向性,只能"加密",不能"解密".即使知道密钥Z,也只能由消息M的值计算消息认证码C的值,而不能由C的值计算M的值.消息认证码不同于杂凑函数,杂凑函数没有密钥的作用,因而是完全公开的,而消息认证码有密钥Z的参与.比没有密钥的杂凑函数具有更强的安全性,使敌方更难篡改和伪造.在相同的安全性要求下,消息认证码更容易设计.但是消息认证码需要收发双方协调一次密钥.SET协议的双重签名的功能.使得消费者的支付信息和订单信息分别被阅读,即商家只能看到消费者的订单信息,看不到消费者的支付信息,金融机构只能阅读支付和帐户信息而看不到消费者的交易内容.SET协议的双重签名的具体步骤.略零知识证明协议.P使用一种证明方法,使V相信他知道该秘密,而又能保证不泄露该秘密.。
现代密码学_清华⼤学_杨波着+习题答案设 A = ' ∞ ,= =≤ ? ≤ ∞ ' ? ≤ ? ≤ ∞ ' ? 可求得 A = '⼀、古典密码(1,2,4)11,23AGENCY ”加密,并使⽤解密变换 D 11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。
解:明⽂⽤数字表⽰:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24]密⽂ C= E 11,23(M)≡11*M+23 (mod 26)=[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1] = YWPKXYHVKXONPTJCHYBXLPKTB∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采⽤第4章的“4.1.6欧⼏⾥得算法”,或者直接穷举1~25)∴解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26)对密⽂ C 进⾏解密:M ’=D(C)≡19C+5 (mod 26)=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] = THE NATIONAL SECURITY AGENCY2. 设由仿射变换对⼀个明⽂加密得到的密⽂为 edsgickxhuklzveqzvkxwkzukvcuh ,⼜已知明⽂的前两个字符是“if ”。
对该密⽂解密。
解:设解密变换为 m=D(c)≡a*c+b (mod 26)由题⽬可知密⽂ ed 解密后为 if ,即有:D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26)由上述两式,可求得 a=3,b=22。
因此,解密变换为 m=D(c)≡3c+22 (mod 26)密⽂⽤数字表⽰为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7]则明⽂为 m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17] = ifyoucanreadthisthankateahcer4. 设多表代换密码 C i ≡ AM i + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,⼜知明⽂“dont ” 被加密为“elni ”,求矩阵 A 。