文档介绍:精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
ZUC算法原理及实现过程
算法精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
ZUC算法原理及实现过程
算法设计背景
ZUC算法,即祖冲之算法,是3GPP机密性算法EEA3和完整性算法EIA3的核心,为中国自主设计的流密码算法。2009年5月ZUC算法获得3GPP安全算法组SA立项,正式申请参加3GPPLTE第三套机密性和完整性算法标准的竞选工作。历时两年多的时间,ZUC算法经过评估,于2011年9月正式被3GPPSA全会通过,成为3GPPLTE第三套加密标准核心算法。ZUC算法是中国第一个成为国际密码标准的密码算法。
算法原理
ZUC是一个面向字的流密码。它采用128位的初始密钥作为输入和一个128位的初始向量(IV),并输出关于字的密钥流(从而每32位被称为一个密钥字)。密钥流可用于对信息进行加密/解密。
ZUC的执行分为两个阶段:初始化阶段和工作阶段。在第一阶段,密钥和初始向量进行初始化,即不产生输出。第二个阶段是工作阶段,在这个阶段,每一个时钟脉冲产生一个32比特的密钥输出。
(1)运算符说明
整数模
整数比特异或
字符串和b的连接
二进制表示的最左16位值
二进制表示的最右16位值
向左比特的循环移位
向右1比特的移位
值分配到对应的值
(2)算法结构
ZUC有三个逻辑层,见下图。顶层为一个线性反馈移位寄存器()的16个赛段,中间层是比特重组(),最下层为一个非线性函数。
图1 ZUC的整体结构图
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
(3) 线性移位反馈寄存器()
具有16个31比特的单元,每个单元取值均在下面的集合中:
有两种模式的操作,即初始化模式和工作模式。在初始化模式中,接收一个31比特的输入,是删除非线性函数的32位输出最右边的位得到的。也就是说,可将初始化模式工作原理表示为:
LFSRWithInitialisationMode()
{
1、;
2、;
3、如果,则设;
4、
}
在工作模式中,不接收任何输入,它的工作原理表示为:
LFSRWithWorkMode()
{
1、;
2、如果,则设;
3、;
}
(4) 比特重组
ZUC算法的中间层是比特重组,从的单元中提取128比特的输出并形成4个32比特的字,前三个字将用于最底层的非线性函数中,而最后一个字会在密钥流的产生中用到。
令是中的8个单元,则形成4个32比特字的比特重组过程如下:
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上