相较于分组密码,序列密码通常需要较少的计算来实现相同的安全级别。序列密码被广泛用于应用程序。例如,RC4[10]中使用的SSL和WEP和A5/ 1[8]被用在GSM(全球移动通信系统)。但在WEP使用RC4的是不安全的,和A5/1是非常微弱的。ECRYPT(2004-2008)多次组织电子序列竞争,这刺激了研究序列密码,并提出[1〜3,5,6,9,15]一些新的序列密码。
二 预备知识
2.1 基
在本文中,一般整数被表示成十进制数字。另外,我们使用前缀“0 x”表示十751进制数字,下标“2”是以二进制方式表示一个数。
例 1:整数a=1234567890可以写成不同的表示方式:
a = 1234567890 十进制表示法
= 0x499602D2 十751进制表示法
= 10010011001011000000010110100102 二进制表示法
2.2 位排序
在本文中,所有的数据变量在左起提供最高有效位(字节),在右起提供最低有效位(字节)。
例 2:假设a=10000100111100100111000000010110100102 。那么它的最高有效位是1(最左边的那个位),最低有效位是0(最右边的那个位)。
2.3 注释符号
在本文中,我们将使用ZUC算法中的规范符号,为了避免引起混淆和误区,下对本文可能出现的符号进行注释:
+ 两个整数的加法
ab 整数a和b的乘法
= 赋值运算符
mod 整数的模运算
⊕ 整数的位异或运算
⊞ 模 232 的加法
a || b 字符串a和b的级联
aH 整数a的最左边16位
aL 整数a的最右边16位
a <<<n k n位寄存器a 向左的k 位循环移位
a >> 1 整数a 右移一位 祖冲之序列密码算法研究与实现(2):http://www.751com.cn/shuxue/lunwen_12699.html