[密码学——基础理论与应用][李子臣][电子课件] 第6讲---祖冲之序列密码算法

合集下载

[课件]第2讲 密码学的基本概念和理论基础PPT

[课件]第2讲 密码学的基本概念和理论基础PPT

20
(3)公元前50年,著名的恺撒大帝发明了一种密码叫做恺 撒密码。在恺撒密码中,每个字母都与其后第三位的字母 对应,然后进行替换。如果到了字母表的末尾,就回到开 始,如此形成一个循环。当时罗马的军队就用恺撒密码进 行通信。 恺撒密码明文字母表:A B C D E F G … X Y Z 恺撒密码密文字母表:D E F G H I J …A BC 26个字符代表字母表的26个字母,从一般意义上说,也可 以使用其它字符表,一一对应的数字也不一定要是3,可 以选其它数字。
3. 密码系统

一个好的密码系统应满足: 系统理论上安全,或计算上安全(从截获的密文或已知 的明文-密文对,要确定密钥或任意明文在计算上不可行 ); 系统的保密性是依赖于密钥的,而不是依赖于对加密体 制或算法的保密; 加密和解密算法适用于密钥空间中的所有元素; 系统既易于实现又便于使用。
第2阶段:常规现代密码学,从1949年到1975年。
标志:1949年Shannon发表的《保密系统的信

息理论》一文。信息论为对称密码系统建立了理 论基础,从此密码学成为一门科学。
以及《破译者》的出版和美国数据加密标准DES
的实施,标志着密码学的理论与技术的划时代的 革命性变革,宣布了近代密码学的开始。
明文X 加密机 密文Y
原来的明文X
解密机
单钥密码的加密、解密过程
8

双密钥系统又称为非对称密码系统或公开密钥系统。双密钥 系统有两个密钥,一个是公开的,用K1表示,谁都可以使 用;另一个是私人密钥,用K2表示。
K1 明文X 加密算法 密文Y K2 解密算法
原来的明文X
双钥密码的加密、解密过程
双密钥系统的主要特点是将加密和解密密钥分开。即用公 开的密钥K1加密消息,发送给持有相应私人密钥K2的人, 只有持私人密钥K2的人才能解密;而用私人密钥K2加密的 消息,任何人都可以用公开的密钥K1解密,此时说明消息 来自持有私人密钥的人。前者可以实现公共网络的保密通 信,后者则可以实现对消息进行数字签名。

《密码学基础》课件第4章

《密码学基础》课件第4章

Hash函数的目的是为文件、报文或者其他的分组数据提供 完整性检验。要实现这个目的,设计的Hash函数H必须具备以下 性质:
(1) H能够用于任何大小的数据分组; (2) H产生定长的输出; (3) 对任意给定的x,H(x)要易于计算,便于软件和硬件实现; (4) 对任意给定的消息摘要y,寻找x使得y=H(x)在计算上是 不可行的; (5) 对任意给定的消息x,寻找x′,x′≠x,使得H(x)=H(x′)在计 算上是不可行的; (6) 寻找任意的(x,x′),使得H(x)=H(x′)在计算上是不可行的。
定义4.1.2 第二原像问题(Second Preimage Problem) 设H: X→Y是一个Hash函数,x∈X。是否能够找到x′∈X,使得x′≠x, 并且H(x′)=H(x)。
如果第二原像问题能够解决,则(x′,H(x))是有效的二元组。 不能有效解决第二原像问题的Hash函数称为第二原像稳固的。
定义4.1.5 令FX,Y是所有从X到Y的函数集合。假定|X|=N,
|Y|=M,则|FX,Y|=MN。任何Hash函数族F FX,Y被称为一
个(N,M)—Hash族。 对于随机预言模型,以下结论是成立的。
定理4.1 随机选择H∈FX,Y并取子集合X0 X。假设当 且的仅x∈当在X以x\∈上XX0结和0时论y,∈中HY,,(x)概P的(H率值(xP由)(=H查y()x=询)=预yM)1实言际器上确。是定对,任那意么的对x于∈所X,有
以上6个条件中,前3个条件是Hash函数能够用于消息认证 的基本要求;第4个条件是指Hash函数具有单向性;第5个条件 用于消息摘要被加密时防止攻击者的伪造;第6个条件用于防 止生日攻击。
生日攻击的思想来源于概率论中一个著名的问题——生日 问题。该问题是问一个班级中至少要有多少个学生才能够使得 有两个学生生日相同的概率大于1/2。该问题的答案是23。即 只要班级中学生的人数大于23人,则班上有两个人生日相同的 概率就将大于1/2。基于生日问题的生日攻击意味着要保证消 息摘要对碰撞问题是安全的,则安全消息摘要的长度就有一个 下界。例如,长度为40比特的消息摘要是非常不安全的,因为 仅仅在220(大约为一百万)个随机Hash函数值中就有50%的概率 发现一个碰撞。所以对于安全的消息摘要,现在通常建议可接 受的最小长度为128比特(此时生日攻击需要超过264个Hash函数 值)。而实际使用的消息摘要一般为160比特甚至更长。

祖冲之序列密码

祖冲之序列密码

a=0x1234
于是有
b=0x5678
c=a‖b=0x12345678
2021/8/17
商用密码算法原理与C语言实现
10
(2)最高16位和最低16位的划分 假设
a= 10010011001011000000010110100102 于是有
aH=10010011001011002 aL=00000010110100102 这里值得注意的是aH和aL都是16位。 (3)比特字移位 假设 a= 110010011001011000000010110100102 于是有 a>>1=11001001100101100000001011010012
2004年3GPP(The 3rd Generation Partner Project)启动LET(Long Term Evolution)计划, 2010年底,LET被指定为第四代移动通信标准,简称 4G通信标准,其中安全是LET的关键技术,并预留密 码算法的接口。
2021/8/17
商用密码算法原理与C语言实现
函数F。
2021/8/17
商用密码算法原理与C语言实现
5
2021/8/17
商用密码算法原理与C语言实现
6
2.1.1 ZUC算法参数
ZUC算法中所需的符号和惯例如下所示: 比特:二进制字符0和1称之为比特; 字节:由8个比特组成的比特串称之为字节; 字:由2个以上(包含2个)字节组成的比特串
=0x499602D2
十六进制表示法
=10010011001011000000010110100102
二进制表示法
高低位顺序:字的最高位总是位于字表示中的最左边,最低位总
是位于字表示中的最右边。

密码学的理论基础

密码学的理论基础

RSA算法介绍:
设p、q为两个大素数,n=pq
令φ(n)=(p-1)(q-1) 寻找一对e,d,使ed≡1 mod φ(n) 加密:E(X)=xemod n, x∈Zn 解密:E(y)=ydmod n, X∈Zn
• 非对称密码体(Asymmetric Encryption)
– 非对称密码体制也叫公开密钥密码体制、双密钥密码体制。其原 理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密 钥加密的结果,可以用另一个密钥来解密 。 – 目前普遍使用的对称加密算法主要有RSA、Elgamal(离散对数) 、ECC(椭圆曲线)等。
明文(64bits)
DES
IP置换(64bits)
算 法
L0(32bits)
R0(32bits)
+
f
ki


L1=R0
R1=L0 + f(R0,k1) 16轮同样运算…
L16
R16=L15 + f(R15,ki)
IP-1置换(64bits)
DES:IP置换
IP置换表
58 60
50 52
42 44
• 密码学的理论基础
– 密码学的理论基础之一是1949年Claude Shannon发表 的“保密系统的通信理论”(The Communication Theory of Secrecy Systems),这篇文章发表了30年 后才显示出它的价值。1976年W.Diffie和M.Hellman发 表了“密码学的新方向”(New Directions in Cryptography)一文,提出了适应网络上保密通信的公 钥密码思想,开辟了公开密钥密码学的新领域,掀起 了公钥密码研究的序幕。受他们的思想启迪,各种公 钥密码体制被提出,特别是1978年RSA公钥密码体制 的出现,成为公钥密码的杰出代表,并成为事实标准 ,在密码学史上是一个里程碑。

密码学基础ppt课件

密码学基础ppt课件
于对密钥的保密。
2019
29
对称密码算法 vs.非对称密码算法
对称密码算法(Symmetric cipher):加密密钥和解 密密钥相同,或实质上等同,即从一个易于推出另一 个。又称传统密码算法(Conventional cipher)、秘密密 钥算法或单密钥算法。
DES、3DES、IDEA、AES
16
密码学
密码学(Cryptology)
• 研究信息系统安全保密的科学。由两个 相互对立、相互斗争,而且又相辅相成 、相互促进的分支科学所组成的,分别 称为密码编码学(Cryptography)和密码 分析学(Cryptanalysis)。
2019
17
密码编码学 Vs. 密码分析学
密码编码学(Cryptography) • 主要研究对信息进行编码,实现对信息的隐 蔽。 密码分析学( Cryptanalysis ) • 主要研究加密消息的破译或消息的伪造。
加密和解密算法的操作通常都是在一组密钥的控制下进 行的,分别称为加密密钥(Encryption Key) 和解密密钥 (Decryption Key)。
2019 23
密码算法
密码算法(Cryptography Algorithm):用于加密 和解密操作的数学函数。 加密算法(Encryption Algorithm):发送者对明 文进行加密操作时所采用的一组规则。 解密算法(Decryption Algorithm):接收者对密 文进行解密操作时所采用的一组规则。
90年代,逐步出现椭圆曲线等其他公钥算法。
公钥密码使得发送端和接收端无密钥传输的保密通 信成为可能!
2019 14
什么是密码学
密码学基本概念 密码体制分类 密钥管理

密码学概论PPT课件

密码学概论PPT课件
8 10/3/2020
密码学的发展历史(3)
❖ 两次世界大战大大促进了密码学的发展。
二战中美国陆军和海军使用的条形密 码设备M-138-T4。根据1914年Parker Hitt的提议而设计。25个可选取的纸条 按照预先编排的顺序编号和使用,主 要用于低级的军事通信。
10/3/2020
Kryha密码机大约在1926年由
密码分析在外交、军事、公安、商业等方面都 具有重要作用,也是研究历史、考古、古语言 学和古乐理论的重要手段之一。
26 10/3/2020
密码分析
密码设计和密码分析是共生的、又是互逆的,两 者密切有关但追求的目标相反。两者解决问题的 途径有很大差别
密码设计是利用数学来构造密码 密码分析除了依靠数学、工程背景、语言学等知识外, 还要靠经验、统计、测试、眼力、直觉判断能力……,有 时还靠点运气。
Alexander vo Kryha发明。这是
一个多表加密设备,密钥长度为
442,周期固定。一个由数量不
等的齿的轮子引导密文轮不规则
运动。
9
密码学的发展历史(4)
❖ 两次世界大战大大促进了密码学的发展。
转轮密码机ENIGMA,由Arthur Scherbius于1919年发明,面板 前有灯泡和插接板;4轮 ENIGMA在1942年装备德国海军, 英国从1942年2月到12月都没能 解读德国潜艇的信号。
❖ 密码由军事走向生活
电子邮件 自动提款机 电话卡
4 10/3/2020
美国电报电话公司的弗纳姆发明了弗纳姆密码
11010 + 11101
00111
00111 + 11101
11010
5 10/3/2020

祖冲之序列密码算法

祖冲之序列密码算法祖冲之序列密码算法第1部分:算法描述1范围本部分描述了祖冲之序列密码算法,可⽤于指导祖冲之算法相关产品的研制、检测与使⽤。

2术语与约定以下术语与约定适⽤于本部分。

⽐特bit⼆进制字符0与1称之为⽐特。

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

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

本部分主要使⽤31⽐特字与32⽐特字。

字表⽰word representation本部分字默认采⽤⼗进制表⽰。

当字采⽤其它进制表⽰时,总就是在字的表⽰之前或之后添加指⽰符。

例如,前缀0x指⽰该字采⽤⼗六进制表⽰,后缀下⾓标2指⽰该字采⽤⼆进制表⽰。

⾼低位顺序bit ordering本部分规定字的最⾼位总就是位于字表⽰中的最左边,最低位总就是位于字表⽰中的最右边。

3符号与缩略语3.1运算符+ 算术加法运算mod 整数取余运算按⽐特位逐位异或运算模232加法运算‖字符串连接符H取字的最⾼16⽐特L取字的最低16⽐特<<>>k 32⽐特字右移k位a b向量a赋值给向量b,即按分量逐分量赋值3.2符号下列符号适⽤于本部分:s0,s1,s2,…,s15 线性反馈移位寄存器的16个31⽐特寄存器单元变量X0,X1,X2,X3⽐特重组输出的4个32⽐特字R1, R2⾮线性函数F的2个32⽐特记忆单元变量W⾮线性函数F输出的32⽐特字Z 算法每拍输出的32⽐特密钥字k初始种⼦密钥iv 初始向量D ⽤于算法初始化的字符串常量3.3缩略语下列缩略语适⽤于本部分:ZUC 祖冲之序列密码算法或祖冲之算法LFSR 线性反馈移位寄存器BR ⽐特重组F ⾮线性函数4算法描述4.1算法整体结构祖冲之算法逻辑上分为上中下三层,见图1。

上层就是16级线性反馈移位寄存器(LFSR);中层就是⽐特重组(BR);下层就是⾮线性函数F。

图 1 祖冲之算法结构图4.2线性反馈移位寄存器LFSR4、2、1 概述LFSR包括16个31⽐特寄存器单元变量s0, s1, …, s15。

《密码学基础》课件第1章

棋盘密码是公元前2世纪前后由希腊人提出来的,在当时 得到了广泛的应用。棋盘密码通过将26个英文字母设法变成十 位数来达到加密的目的。棋盘密码的密钥是一个5×5的棋盘, 将26个英文字母放置在里面,其中字母i和j被放在同一个方格 中,如下表所示:
1
2
3
4
5
1
qwe来自rt2
y
u
i/j
o
p
3
a
s
d
f
g
4
h
dkey(y)= k11 (y-k2) mod 26 其中,k11 表示k1在Z26中的乘法逆,gcd(k1,26)=1表示k1与26
保密是密码学的核心。密码学的基本目的是面对攻击者 Oscar,在被称为Alice和Bob的通信双方之间应用不安全的信道 进行通信时,设法保证通信安全。密码学研究对通信双方要传 输的信息进行何种保密变换以防止未被授权的第三方对信息的 窃取。此外,密码技术还可以用来进行信息鉴别、数据完整性 检验、数字签名等。
图1-1给出了保密通信的一般机制。根据加密和解密过程 所采用密钥的特点可以将加密算法分为两类:对称加密算法和 公开密钥加密算法。
图1-1 保密通信的一般机制
对称加密算法也称为传统加密算法,是指解密密钥与加密 密钥相同或者能够从加密密钥中直接推算出解密密钥的加密算 法。通常在大多数对称加密算法中解密密钥与加密密钥是相同 的,所以这类加密算法要求Alice和Bob在进行保密通信前,通 过安全的方式商定一个密钥。 对称加密算法的安全性依赖于密 钥的选择。
公开密钥加密算法也称为公钥加密算法,是指用来解密的 密钥不同于进行加密的密钥,也不能够通过加密密钥直接推算 出解密密钥的加密算法。一般情况下,加密密钥是可以公开的, 任何人都可以应用加密密钥来对信息进行加密,但只有拥有解 密密钥的人才可以解密出被加密的信息。在以上过程中,加密 密钥称为公钥,解密密钥称为私钥。

密码学基础通用课件

密码学基础通用课件
目录 CONTENT
• 密码学概述 • 加密技术基础 • 对称加密技术 • 非对称加密技术 • 哈希函数与数字签名 • 密码学在现实生活中的应用
01
密码学概述
密码学的定义与目的
密码学的定义
密码学是研究如何隐藏信息,使其变 得难以理解和未经授权的情况下不可 访问的科学。
密码学的目的
对称加密技术的评估标准
安全性
评估对称加密技术的安全性主要 考虑密钥的长度、加密算法的复 杂性和破解的难度等因素。
效率
评估对称加密技术的效率主要考 虑加密和解密的速度以及所需的 计算资源等因素。
适应性
评估对称加密技术的适应性主要 考虑其能否适应不同的应用场景 和需求,例如数据的大小、传输 速度和存储空间等因素。
灵活性
灵活性是指加密技术对不同需求的适应能力。如果一个加 密算法只能用于某些特定的应用场景,则它可能不适用于 其他场景。
03
对称加密技术
对称加密技术的原理
对称加密技术是一种基于密钥的加密 方法,其中加密和解密使用相同的密 钥。这种方法的安全性基于密钥的保 密性。
对称加密技术可以用于保护数据的机 密性,也可以用于数字签名等其他应 用。
数字签名的原理与类别
数字签名的原理
数字签名是一种用于验证数字文件真实性和完整性的技术。它利用公钥密码体系中的签名密钥对文件 进行签名,通过验证签名密钥的匹配性和文件内容的完整性,来判断文件的真实性和可信度。
数字签名的类别
根据使用的公钥密码体系和签名算法的不同,数字签名可以分为多种类别。常见的类别包括RSA、 DSA、ECDSA等。这些数字签名方案在安全性、性能和实现难度等方面存在差异,应根据具体需求选 择合适的数字签名方案。

密码学应用ppt课件


➢要考虑防止签名的复制、重用。
22
第五章 密码学的应用
四、数字签名
数字签名(Digital Signature)
信息发送者使用公开密钥算法技术,产生别人 无法伪造的一段数字串。
发送者用自己的私有密钥加密数据传给接收者, 接收者用发送者的公钥解开数据后,就可确定 消息来自于谁,同时也是对发送者发送的信息 的真实性的一个证明。发送者对所发信息不能 抵赖。
17
第五章 密码学的应用
二、数字指纹
哈希函数的安全因素:
一致性:相同的输入产生相同的输出。
随机性:消息摘要外观是随机的,以防被猜出 源消息。
唯一性:几乎不可能找到两个消息产生相同的 消息摘要。
单向性:即如果给出输出,则很难确定出输入 消息。
18
第五章 密码学的应用
二、数字指纹
基本过程是:
1.发送者写一消息,并作为单向哈希函数的 输入。
消息摘要4(MD4)算法
消息摘要5(MD5)算法
安全哈希函数(SHA)
20
第五章 密码学的应用
三、MD5算法
MD5报文摘要算法RFC1321由Rivest于1992年提出。 可对任意长的报文进行运算,得出128位的MD代码。
MD5算法是对杂凑压缩信息块按512位进行处理的, 首先它对杂凑信息进行填充,使信息的长度等于512 的倍数。从八十年代末到九十年代,Rivest开发了好几 种 RSA 公 司 专 有 的 报 文 摘 要 算 法 , 包 括 MD、MD2、 MD5等。据称,可以花费一千万美元去制造一台专 门的机器,针均用24天才能找到一个碰 撞。,MD5被认为仍是一个安全的。
用于鉴别
由于网上的通信双方互不见面,必须在相互通 信时(交换敏感信息时)确认对方的真实身份。即消 息的接收者应该能够确认消息的来源;入侵者不可能 伪装成他人。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020\3\17 Tuesday
密码学---基础理论与应用
13
密钥和初始向量会扩展成16个长度为31位的整数, 加载到每个记忆单元si中。 在LFSR里,si=ki‖di‖IVi(0≤i≤15),其中ki和IVi长度 为8位一个字节,di长度为15位。
128位的密钥K和初始向量IV表示成16个字串级联的 形式k=k0‖k1‖K2‖…‖k15,IV=IV0‖IV1‖IV2‖…‖Iv15 ,16 个di已知字符串级联成一个240位的长字符串 D=d0‖d1‖d2‖L‖d15。
d8 1001101011110002, d9 0101111000100112, d10 1101011110001002, d11 0011010111100012, d12 1011110001001102, d13 0111100010011012, d14 1111000100110102, d15 1000111101011002.
第六章 祖冲之序列密码 (ZUC)
2020\3\17 Tuesday
密码学---基础理论与应用
1
目录
6.1 ZUC算法的概念与原理 6.2 ZUC机密性算法和完整性算法 6.3 ZUC算法的安全性分析 6.4 ZUC算法案例
2020\3\17 Tuesday
密码学---基础理论与应用
2
祖冲之序列密码算法(简称ZUC算法)是由我国自 主设计的密码算法,包括祖冲之算法、加密算法 128-EEA3和完整性算法128-EIA3。
11
接着算法进入产生密钥流阶段,也就是说,将下 面的操作运行一次就会输出一个32位的字Z:
KeystreamGeneration()
(1)Bitreorganization();
(2)Z= F(X0,X1,X2)⊕X3; (3)LFSRWithWorkMode( )。
输出的32位密钥序列Z可以用来对信息加解密和 完整性认证。
①W=(X0⊕R1) ⊞ R2;
②W1=R1 ⊞ X1;
③W2=R2⊕X2;
④R1=S(L1(W1L‖W2L));
⑤R2=S(L2(W2L‖W1H))。
}
2020\3\17 Tuesday
密码学---基础理论与应用
30
2020\3\17 Tuesday
①W=(X0⊕R1) ⊞ R2; ②W1=R1 ⊞ X1; ③W2=R2⊕X2; ④R1=S(L1(W1L‖W2H)); ⑤R2=S(L2(W2L‖W1H))。
密码学---基础理论与应用
23
2.线性变换L1和L2
L1和L2都是32位到32位的线性变换,其定义为
L1(X ) X (X 32 2) (X 32 10) (X 18) (X 32 24)
L2(X ) X (X 32 8) (X 32 14) (X 32 22) (X 32 30)
2004年3GPP(The 3rd Generation Partner Project )启动LTE(Long Term Evolution)计划,2010年 底LTE被指定为第四代移动通信标准,简称4G通信 标准。其中安全是LTE的关键技术,并预留密码算 法的接口。
2020\3\17 Tuesday
2020\3\17 Tuesday
密码学---基础理论与应用
22
例6.2 假设X=0x12345678是S盒的32位输入,Y是S 盒的32位输出。于是有
Y=S(X)=S0(0x12)||S1(0x34)||S2(0x56)||S3(0x78) =0xF9C05A4E
2020\3\17 Tuesday
2020\3\17 Tuesday
密码学---基础理论与应用
28
假设s0,s2,s5,s7,s9,s11,s14,s15 是LFSR里的特定8个 单元,比特重组模块按如下方式形成4个32位的字
X0,X1,X2,X3,详细步骤如下:
Bitreorganization()
{
①X0=s15H‖s14L; ②X1=s11L‖s9H; ③X2=s7L‖s5H; ④X3=s2L‖s0H。 }
2020\3\17 Tuesday
密码学---基础理论与应用
8
1.初始化阶段
ZUC算法的初始化阶段共有32+1=33轮,首先要把128 位的密钥和初始向量IV加载到LFSR中,两个32位R1和 R2全部清零,然后执行32轮下列操作。具体如下:
(1)将密钥、初始向量及常数装载到LFSR各单元; (2)初始化记忆单位为R1=R2=0; (3)for i=0 to 31 do
2020\3\17 Tuesday
密码学---基础理论与F9和S1(0x34)=0xC0。 假设S盒的32位输入X和32位输出Y为
X=x0||x1||x2||x3 Y=y0||y1||y2||y3 其中,和都是字节,i=0,1,2,3。于是有
yi=Si(xi),i=0,1,2,3
密码学---基础理论与应用
18
2020\3\17 Tuesday
密码学---基础理论与应用
19
2020\3\17 Tuesday
密码学---基础理论与应用
20
假设x是S0(或S1)的一个8位输入, 把x以x=h‖l的形式写成两个十六进制数,那么输 入/输出参数表如表6.3所示(或表6.4),第h行 和第l列相交的条目是S0(或S1)的输出, 以下举两个例子进行介绍。
- Bitreorganization();
- Z= F(X0,X1,X2); - LFSRWithInitialisationMode(Z>>1)。
2020\3\17 Tuesday
密码学---基础理论与应用
9
祖冲之序列密码初始阶段结构图
2020\3\17 Tuesday
密码学---基础理论与应用
}
2020\3\17 Tuesday
密码学---基础理论与应用
26
(2)工作模式
在此模式下,LFSR不再接收任何输入,其工作如下。 LFSRWithWorkMode( ) { ① v=215s15+217s13+221s10+220s4+(1+28)s0mod(231-1); ② If s16=0,then set s16=231-1; ③ (s1,s2,…,s15,s16)→(s0,s1,…,s14,s15) 。 }
25
(1)初始化模式 LFSRWithInitialisationMode( )
在初始化模式下,LFSR接收一个31位的输入字u,而u是通过 去掉非线性函数F输出的32位字w的最右边的位获得的。也就 是u=w>>1,即循环右移1位。初始化模式详细步骤如下。
LFSRWithInitialisationMode(u)
2020\3\17 Tuesday
密码学---基础理论与应用
15
在本节中,符号a ||b表示字符串a和b的级联,如 a=0x1234,b=0x5678,则有
c=a‖b=0x12345678
2020\3\17 Tuesday
密码学---基础理论与应用
16
S盒和线性变换L
在ZUC算法中还需要用到S盒和线性变换L这两种固定
该算法的执行分为两个阶段:初始化阶段和工作阶段 在第一阶段中,首先将密钥和初始向量进行初始化, 算法运行但不产生任何输出。
2020\3\17 Tuesday
密码学---基础理论与应用
5
第二阶段是工作阶段,在每个时钟脉冲的控制下, 产生一个32位字的输出。
ZUC算法的总体结 构如图所示,由一 个顶层的16段的 LFSR、中间层比特 重组(简称BR)和 底层非线性函数F组 成。
2020\3\17 Tuesday
密码学---基础理论与应用
29
3.非线性函数F
W=F(X0,X1,X2)为非线性函数,非线性函数F包括两 个32位的记忆单元R1和R2。 F的输入为X0,X1和X2,来自比特重组的输出,然后 F输出一个32位的字W,函数F的具体过程如下。
F(X0,X1,X2) {
10
2.工作阶段
在初始化阶段之后,算法进入工作阶段。算法执 行一次下面的操作,并丢弃函数F的输出W。
(1)Bitreorganization();
(2)F(X0,X1,X2);
//本次执行,函数F丢弃输出
(3)LFSRWithWorkMode()。
2020\3\17 Tuesday
密码学---基础理论与应用
{ ① v=215s15+217s13+221s10+220s4+(1+28)s0mod(231-1); ② If v=0,then set v=231-1;
③ s16=(v+u)mod(231-1);//其中u为w>>1,w为非线性函数F的输出; ④ If s16=0,then set s16=231-1; ⑤ (s1,s2,…,s15,s16)→(s0,s1,…,s14,s15)。
2020\3\17 Tuesday
密码学---基础理论与应用
27
2.比特重组模块 Bitreorganization
Bitreorganization表示为BR层,该层从LFSR特定的8 个单元中抽取128位,形成4个32位的字,这里的前3 个字会在底层的非线性函数F中使用,最后一个字将 涉及产生密钥流,以供下层非线性函数F和密钥输出 使用。
2020\3\17 Tuesday
密码学---基础理论与应用
24
6.1.4 算法描述
ZUC算法结构分为上中下三层,包括LFSR、BR、非 线性函数F。 1.LFSR模块 LFSR包括16个31bit寄存器单元变量s0,s1,…,s15,有 初始化模式和工作模式。
相关文档
最新文档