祖冲之序列密码算法c语言实现,祖冲之序列密码算法.PDF

编程入门 行业动态 更新时间:2024-10-26 22:24:54

祖冲之<a href=https://www.elefans.com/category/jswz/34/1769864.html style=序列密码算法c语言实现,祖冲之序列密码算法.PDF"/>

祖冲之序列密码算法c语言实现,祖冲之序列密码算法.PDF

祖冲之序列密码算法

祖冲之序列密码算法

ZUCstreamcipheralgorithm

目    次

目    次II

祖冲之序列密码算法3

1 术语和定义3

2 符号和缩略语3

2.1 运算符3

2.2 符号4

2.3 缩略语4

3 算法描述4

3.1 算法整体结构4

3.2 线性反馈移位寄存器LFSR5

3.3 比特重组BR6

3.4 非线性函数F6

3.5 密钥装入6

3.6 算法运行7

附 录 A S盒8

31 31

附 录 B 模2 -1乘法和模2 -1加法的实现10

附 录 C 算法计算实例11

参考文献15

II

祖冲之序列密码算法

1 术语和定义

下列术语和定义适用于本文件。

1.1

比特 bit

二进制字符0或1称之为比特。

1.2

字节 byt

由8个比特组成的比特串称之为字节。

1.3

字 word

由2个以上(包含2个)比特组成的比特串称之为字。

本文主要使用31比特字和32比特字。

1.4

字表示 word representation

本文字默认采用十进制表示。当字采用其它进制表示时,总是在字的表示之前或之后添加指示符。

例如,前缀0x指示该字采用十六进制表示,后缀下角标2指示该字采用二进制表示。

1.5

高低位顺序 bit ordering

本文规定字的最高位总是位于字表示中的最左边,最低位总是位于字表示中的最右边。

2 符号和缩略语

2.1 运算符

+ 算术加法运算

ab 整数a和b的乘积

= 赋值操作符

mod 整数模运算

⨁ 按比特位逐位异或运算

32

⊞ 模2 加法运算

‖ 字符串或字节串连接符

∙H 取字的最高16比特

∙L 取字的最低16比特

<<

3

>>k 32比特字右移k位

ab 向量a赋值给向量b,即按分量逐分量赋值

2.2 符号

下列符号适用于本文:

s,s,s,…,s 线性反馈移位寄存器的16个31 比特寄存器单元变量

0 1 2 15

X,X,X,X 比特重组输出的4个32 比特字

0 1 2 3

R, R 非线性函数F 的2个32 比特记忆单元变量

1 2

W 非线性函数F输出的32 比特字

32

W1 R 与X 进行模2 加法运算输出的32 比特字1 1

W2 R 与X 按比特位逐位异或运算输出的32 比特字2 2

Z 算法每拍输出的32 比特密钥字

k 初始种子密钥

iv 初始向量

di 15比特的字符串常量,i=0,1,2,…15

F 非线性函数

L 输出密钥字长度

2.3 缩略语

下列缩略语适用于本文:

ZUC 祖冲之序列密码算法或者祖冲之算法

LFSR 线性反馈移位寄存器

BR 比特重组

3 算法描述

3.1 算法整体结构

祖冲之算法逻辑上分为上中下层,见图1。上层是16级线性反馈移位寄存器(LFSR);中层是比特

重组(BR);下层是非线性函数F。

4

图 1 祖冲之算法结构图

3.2 线性反馈移位寄存器LFSR

3.2.1 概述

LFSR包括 16个31 比特寄存器单元变量s, s,

更多推荐

祖冲之序列密码算法c语言实现,祖冲之序列密码算法.PDF

本文发布于:2024-02-12 22:52:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689711.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:序列   算法   密码   祖冲之   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!