进行xor运算,得到密文,解密过程也完全相同。
f(5)简述A5算法的实现过程。A5算法由三个线性反馈移位寄存器(LFSR)R1、R2、R3组成,寄存器的长度分别是
119
222和
323。所有的反馈多项式系数都比较少。三个LSFR的异或值作为输出。A5用不同的时钟控制。每一个寄存器由基于它自己中间位的时钟控制,并且三个寄存器的中间位的反向门限函数相异或。通常,在每一轮中时钟驱动两个LFSR。有一种直接攻击需要2次加密:先猜测前两个LFSR的内容,然后试着通过密钥序列决定第三个LFSR。(这种攻击实际上是是否可行尚待讨论,但是目前一个硬件密钥搜索机正在设计中,并且将解决这个问题。)总之,有一点可以明确,那就是A5的基本思路是好的,它的效率非常高。它能通过所有已知的统计测试,它已知的仅有的弱点是寄存器太短而不能抗穷举攻击。带较长寄存器和稠密反馈多项式的A5的变型是安全的。
40
(6)简述SEAL算法的实现过程。给定一个160位密钥k和一个32位的
值,SEAL算法会根据密钥k将
扩展到一个L位的串k(
),L可以被赋值为小于64KB的任何值。密钥k首先进入制表阶段,然后S盒T的部分字节连同密钥表R预先输入整数值以及32位比特字
进入算法初始化过程。SEAL算法通过64次迭代,来
f改变内部寄存器ABCD的值,每个迭代包含8轮。
(7)简述WAKE算法的实现过程。详见176页。它每次产生一个32位密钥字与明文字进行异或形成密文。WAKE工作在CFB模式下,即用前一个密文字产生下一个密钥字。它也使用了一个包含256个32位数据的S盒。首先,从密钥中产生S盒的一项Si,然后用密钥初始化4个寄存器,产生一个32位密钥序列字,密文字Ci是明文字Pi与Ki异或的结果。(8)简述PKZIP算法的实现过程。PKZIP处理的是一种压缩文件,按字节加密,可变密钥长度的算法。PKZIP算法最重要的部分称为密钥更新,在进行加密计算时,首先选定12B的头信息,将明文信息附在头信息之后作为输入字节流,随后将每一个输入字节与当前计算出的K3进行异或,同时根据输入的字节执行密钥更新的过程,计算出新的K3用于下一字节的加密。
(9)简述FCSR算法的实现过程。带进位的反馈移位寄存器,称作FCSR,有一个移位寄存器和一个反馈函数,FCSR有一个进位寄存器。它不是把抽头序列中所有的位异或,而是把所有的位相加,并与进位寄存器
f的值相加,将结果模2可得到b
的新值,将结果除2就得到进位寄存器新的值。
fr