如图1ZUC有三个逻辑层。顶层是一個16段的线性反馈移位寄存器(LFSR)中间层是比特重组(BR),底层是一个非线性函数F
初始化模式时,LFSR接收一个31位的输入字uu是通过去掉非線性函数F输出的32位字W的最右边的位获得的。也就是u=W>>1。更具体地说初始化模式工作如下:
工作模式时,LFSR不再接收任何输入其工作如下:
并且,在函数LFSRWithWorkMode里的步骤1中也需要同样的实现方式
注意事项:对于有限域GF(231-1)上的两个元素a和b,v=a+b mod (231-1)的计算可以这样来实现:(1)计算v=a+b (2)如果进位是1,那么使v=v+1或者可以(如果可以抵抗可能的时序攻击,这种实现会更好的)(1)计算w=a+b,这里w是32位数值(2)使v=(w的最低有效31位)+(w的最高有效位)。
该算法的中间层是比特重组该层从LFSR单元抽取128位,形成4个32位的字这里的前3个字会在底层的非线性函数F中使用。最後一个字将涉及产生密钥流
例8 假设X=0x是S盒的32位输入,Y是S盒的32位输出于是我们有
随着LFSR的初始化,密钥加载过程将会把初始的密钥和初始矢量扩展到16个31位的整数假设128位的初始密钥k和128位的初始向量iv如下:
1、假设D是一个由16个15位子字符串组成的240位的长常字符串:
在初始化阶段,算法调用密钥加载过程把128位的密钥k和128位的初始向量iv加载到LFSR里(见章节3.5),并且把32位记忆单元 R1 和 R2全部清零然后密码按如下方式操作32次:
在初始化阶段之后,算法进入到工作阶段在工作阶段,算法执行一次下面的操作并丢弃函数F的输出W。
接着算法进入产生密钥流阶段也僦是说,对于每一次迭代执行一次下列操作,并输出一个32位的字Z:
加载中请稍候......
A.网络对用户的寻呼会在TAList中的所有TA進行
B.合理的TAList分配方式和设计方法可有效的减少TAU发生的概率提高资源利用率
D.对于UE所注册的跟踪区,看处于同一个TAList则由同一个MME为其提供服務,以减少更新信令