商用密码应用与安全性评估要点笔记(密码算法ZUC)

ZUC算法是一种对称密码算法,用于4G和5G移动通信的机密性和完整性保护。它由LFSR、BR和F三部分组成,提供128-EEA3和128-EIA3两种算法。初始化和工作阶段确保密钥的安全生成和使用,其高效性和安全性使其成为国际标准。
摘要由CSDN通过智能技术生成

1、ZUC算法简介

        ZUC算法属于对称密码算法,具体来说是一种序列密码算法或流密码算法。ZUC算法以中国古代数学家祖冲之首字母命令。

        ZUC算法标准包括三个部分:

        GMT 0001.1-2012 祖冲之序列密码算法:第1部分:算法描述

        GMT 0001.2-2012 祖冲之序列密码算法:第2部分:基于祖冲之算法的机密性算法

        GMT 0001.3-2012 祖冲之序列密码算法:第3部分:基于祖冲之算法的完整性算法

        可以看出ZUC可以提供机密性和完整性保护功能,其中机密算法称为128-EEA3,完整性保密算法称为128-EIA3。2011年9月,这两个算法与AES、Snow 3G共同成为4G移动通信密码算法国际标准。

        ZUC包括两个版本,具体比较如下。ZUC 256bit版本面向5G通信安全标准,保障在后量子时代具备较长时间内移动通信的机密性和完整性。

版本 密钥长度 IV密钥流位宽认证标签长度MAC
128比特版本128b128b32b32b
256比特版本256b184b32b

32/64/128b

2、ZUC算法结构

        ZUC算法逻辑有3个部分构成,从上到下依次是LFSR(线性反馈移位寄存器)、BR(比特重组)和F(非线性函数)。

        

LFSR包括16个31bit寄存器单元变量,运行模式有2种:初始化模式LFSRWithInitialisationMode(u)和工作模式LFSRWithWorkMode。

BR从LFSR的寄存器单元中抽取128b组成4个32比特字,计算过程为BitReconstruction。

F包含2个32bit记忆单元变量R1和R2,输入为3个32比特字,输出为1个32比特字。其中包含S为32比特的S盒交换。

3、ZUC算法运算过程(128版本为例)

3.1 密钥装入

将128bit的密钥k和128bit的初始向量iv扩展为16个31比特字作为LFSR寄存器变量的初始状态。具体过程如下:

3.2 初始化阶段

在3.1中已经完成LFSR的初态填入,这里再将F中32比特记忆单元变量R1和R2置为全0,然后重复执行32次(BitReconstruction—W-F(X0,X1,X2)—LFSRWithInitialisationMode(W>>1))操作。

3.3工作阶段(32bit密钥字输出)

首先执行一次BR、F和LFSRwithWorkMode,得到的输出W不用丢弃。

然后再来一次BR、F和L异或X3、FSRWithWorkMode,从而输出一个32比特的密钥字Z。

4、ZUC优点

引入素数域运算LFSR、比特重组BR、最优扩散的线性变换(非线性函数F采用 S 盒和高扩散特性的线性变换 L)。通过对LFSR、BR和F三层结构的综合运用,ZUC算法具有很高的理论安全性,能够有效抵抗目前已知的攻击方法,具备较高的安全冗余、并且算法速度快、软/硬件实现性能都较好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游鲦亭长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值