2026《ZUC-256算法理论基础综述》2400字.docxVIP

2026《ZUC-256算法理论基础综述》2400字.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

ZUC-256算法理论基础综述

目录

TOC\o1-3\h\u28623ZUC-256算法理论基础综述 1

166541.1ZUC-256算法流程框架 1

207131.2LFSR线性反馈移位寄存器层 3

263091.3BR比特流重组层 4

93051.4F非线性函数层 5

163411.5初始化阶段 8

152781.6工作阶段 8

ZUC-256是基于256bit初始密钥的流密码,其设计目的是维护5G通信环境下的比特安全性。ZUC-256算法的输入由256bit初始密钥(initialkey)与184bit初始向量(initialvector)作为输入,产生每周期32bit的密钥流数据作为与数据信息相加解密所使用的序列密钥。下文将对ZUC-256算法理论进行介绍。

1.1ZUC-256算法流程框架

ZUC-256算法生成密钥流的过程可分为初始化阶段与工作阶段两个阶段。在初始化阶段中,ZUC-256算法不产生密钥流,当进入到工作阶段时,系统开始生成密钥流,ZUC-256算法的流程框图如图2-3所示。

图2-3ZUC-256算法的流程框架图

Figure2-3flowframeworkofzuc-256algorithm

本小节按照自上而下的方式描述ZUC-256算法的理论部分,在进行描述前首先定义如下符号:

-记整数模232加法为QUOTE,对于有限域内x和y,xy代表mod232的加法实现过程。

-记有限域内整数的模加法为,其中,且。

-记比特级的异或操作为。

-记初始密钥的拼接操作为。

-记比特级的逻辑或运算为。

-作为算法中的256bit初始输入密钥,其中的位宽为8位。

-令作为算法中的184bit初始输入向量,与密钥原理相同。其中位宽为8位,位宽为6位,占据8位宽中的低6位。

-代表着将64位比特操作数进行左循环移位操作,如表示,其中和分别为符号左侧数据进行逻辑左移和逻辑右移。

除符号外在密钥填充中有15个常数,如表达式(2-1)所示。

(2-1)

在进入LFSR层前要进行密钥装载过程,即将初始向量、初始密钥以及表达式(2-1)中的15个7bit常数拼接为16个31bit的寄存单元,拼接过程如表达式(2-2)所示。

(2-2)

表达式(2-2)中的代表8bit位宽的高四位,即[7:4];同理用来代表8bit位宽的低四位,即[3:0]。

1.2LFSR线性反馈移位寄存器层

在LFSR层中,担任存储任务的是共16个寄存器,其位宽均为31bit,其存储的数据均为位于素域中的m序列,其对于抵抗密码攻击有较强的能力,而且素域内的乘法运算易于实现,无论是进行ZUC-256算法的软件实现还是进行硬件实现均提供了便利。

LFSR有初始化阶段和工作阶段两种,在初始化过程时寄存器的16个值被不断更替,其具体流程如下所示:

在工作阶段中与初始化阶段略有不同,工作阶段的具体流程如下所示:

通过观察上述两个模式的差异,发现LFSR层在初始化模式下采用了反馈结构,在初始化阶段的输入中存在一个31bit的u,它是由非线性函数层的32bit输出W经过运算得到的。而工作模式下,LFSR层不会再接收非线性函数层的反馈,仅依靠自身数据进行运行。

1.3BR比特流重组层

线性反馈移位寄存器的下一层是比特流重组BR层,比特流重组采用的是对寄存器中的数值进行取半合并的技术,将线性反馈移位寄存器中8个比特寄存器单元的数据高位和低位抽取出来,然后重新拼接并输出4个32bit字。其目的是重组打破原有的寄存器数据排列,改变算法内部的线性结构,一定程度上提高自己的抗攻击性,比特流重组的具体过程如表达式(2-3)所示。

(2-3)

1.4F非线性函数层

非线性函数层,也被称为有限状态机层。其主要功能为通过输入比特重组后数据经过一系列迭代,产生输出W用以参与初始化模式与工作模式中的运算,具体运行模式如表达式(2-4)所示。

(2-4)

表达式中的R1和R2是两个32bit的记忆单元,用以寄存经过非线性变换后的S盒的读出数据。L1和L2是非线性函数层中的变换,按规律抽取非线性函数层变换中的中间变量(W1,W2)的高十六位与低十六位,按照表达式(2-5)进行运算。

(2-5)

非线性函数F中借鉴了分组密码中的S盒,S盒在分组密码中用来进行数据的压缩替代操作,其高非线性度、低差分均匀性,易于硬件实现等指标好坏直接决定了密码的好坏[58]。ZUC-256算法中一共包含四个置换S盒,其中,。非线性函数层数据发生变化时将两个32bit中间变量L1与L2分别分解为4个8bit输入送入4

您可能关注的文档

文档评论(0)

02127123006 + 关注
实名认证
文档贡献者

关注原创力文档

1亿VIP精品文档

相关文档