现代密码学第五讲:流密码(三)

合集下载

流密码详解ppt课件

流密码详解ppt课件
2.1 流密码一般模型
自同步流密码(SSSC)
密钥流生成器是一种有记忆变换器 密钥流与明文符号有关:
i 时刻的密文不仅取决于i 时刻的明文,而且与i 时刻 之前的l个明文符号有关 具有有限的差错传播 具有自同步能力 把明文每个字符扩散在密文多个字符中,强化了抗统 计分析的能力
问:SSSC是如何自同步的?请email回应。
i F ( i1, k ), zi f ( i, k ), ci E (zi,m i). i:密 钥 流 生 成 器 的 内 部 状 态 0 :密 钥 流 生 成 器 的 初 始 状 态 k : 种 子 (初 始 )密 钥 F :状 态 转 移 函 数 f :密 钥 流 生 成 函 数
k
密钥流生成器
11
病原体侵入机体,消弱机体防御机能 ,破坏 机体内 环境的 相对稳 定性, 且在一 定部位 生长繁 殖,引 起不同 程度的 病理生 理过程
2.1 流密码一般模型
二元加法序列密码
明文序列: m= m1 m2 m3 …; 密钥序列: z= z1 z2 z3 …; 密文序列: c= c1 c2 c3 …; 加密变换: ci=zimi (i=1,2,3,…); 解密变换: mi=zici (i=1,2,3,…).
病原体侵入机体,消弱机体防御机能 ,破坏 机体内 环境的 相对稳 定性, 且在一 定部位 生长繁 殖,引 起不同 程度的 病理生 理过程
2.2 线性反馈移位寄存器序列
伪随机序列 考虑二元序列: a={ai}=a0a1a2a3 ….
周期序列
定义2.1 设a= (a0, a1,…,ai,…)是一个二元序列,若 存在正整数N和非负整数m,使得ai+N=ai对于任意i m成立,则称二元序列a是终归周期序列。如果 m=0,则称序列a是严格周期序列,简称周期序列。

现代密码学PPT课件

现代密码学PPT课件
因此要了解信息安全,首先应该知道信息安全面临 哪些威胁。
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。

现代密码学_清华大学_杨波着+习题答案

现代密码学_清华大学_杨波着+习题答案

一、古典密码(1,2,4)解:设解密变换为m=D(c)≡a*c+b (mod 26)由题目可知密文ed 解密后为if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26) 由上述两式,可求得a=3,b=22。

因此,解密变换为m=D(c)≡3c+22 (mod 26)密文用数字表示为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]= ifyoucanreadthisthankateahcer4. 设多表代换密码C i≡ AM i + B (mod 26) 中,A是2×2 矩阵,B是0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。

解:dont = (3,14,13,19) => elni = (4,11,13,8)二、流密码 (1,3,4)1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c 3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a 1,a 2,a 3)=(1,0,1),求各线性反馈函数的输出序列及周期。

解:设反馈函数为 f(a 1,a 2,a 3) = a 1⊕c 2a 2⊕c 1a 3当 c1=0,c2=0 时,f(a 1,a 2,a 3) = a 1,输出序列为 101101…,周期为 3。

当 c1=0,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2,输出序列如下 10111001011100…,周期为 7。

当 c1=1,c2=0 时,f(a 1,a 2,a 3) = a 1⊕a 3,输出序列为 10100111010011…,周期为 7。

现代密码学_清华大学_杨波著_部分习题答案[1]

现代密码学_清华大学_杨波著_部分习题答案[1]
密文 C= E11,23(M)≡11*M+23 (mod 26) =[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1]
= YWPKXYHVKXONPTJCHYBXLPKTB ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第 4 章的“4.1.6 欧几里得算法”,或者直接穷举 1~25) ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密:
密文用数字表示为:
c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为 m=3*c+22 (mod 26)
=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]

Ri'
=
L' i −1

F
(
R' i −1
,
Ki' )
( ) ( ) ⇔
Li−1 ⊕ F (Ri−1, Ki )
'=
Li−1

F
(
R' i −1
,
Ki'
)
'
根据(i)(ii) 根据(iii)

F (Ri−1, Ki )
=
F
(
R' i −1
,
Ki' )

P(S
( E ( Ri −1 )

现代密码学第五讲(一):流密码

现代密码学第五讲(一):流密码

现代密码学第五讲(一):流密码《现代密码学》第五讲流密码(一)上讲内容回顾分组密码定义(分组填充)分组密码的发展历史(Shannon DES AES。

)保密系统的安全性分析及分组密码的攻击(主动/被动唯密文/已知明(密)文/选择明(密)文/自适应选择明(密)文)数据加密标准(DES)算法介绍高级加密标准(AES)算法介绍中国无限局域网标准(SMS4)算法介绍?分组密码算法的运行模式本章主要内容流密码(序列密码)的思想起源?流密码技术的发展及分类基于移位寄存器的流密码算法?其它流密码算法Estream推荐流密码算法软件算法硬件算法密钥流生成器种子密钥明文m1k1c1m2k2c2加密过程密钥流生成器种子密钥密文c1k1m1c2k2m2解密过程设明文为m=m1m2… m i∈GF(2), i>0?设密钥为k=k1k2… ki∈GF(2), i>0?设密文为c=c1c2… c i∈GF(2), i>0?则加密变换为c i=m i+ k i(mod 2) i>0?则解密变换为m i=c i+ k i(mod 2) i>0思想起源:20世纪20年代的Vernam 体制,即“一次一密”密码体制。

香农利用信息论证明“一次一密”密码体制在理论上不可破译?由有限的种子密钥生成无限长的随机密钥序列?流密码研究内容——设计安全高效的伪随机序列发生器密钥流生成、存储和分发困难随机序列计算机无法实现评测标准:线性复杂度高;周期大Golomb伪随机性测试周期为r的0-1序列的随机性公设如下:r是奇数,则0-1序列{si}的一个周期内0的个数比1的个数多一个或少一个;若r是偶数,则0的个数与1的个数相等.在长度为r的周期内,长为1的游程的个数为游程总数的1/2,长为2的游程的个数占游程总数的1/22,…, 长为c的游程的个数占总游程的1/2c.而且对于任意长度,0的游程个数和1的游程个数相等.例:0110111101中,4个游程长度为1,1个游程长度为2,1个游程长度为4异相自相关函数是一个常数.设一个周期为r的序列a1, a2,…, a r, a r+1, a r+2,…,将序列平移T位得到另外一个序列a T, a T+1,… a r+T, a r+T+1,…,若a i= a i+T, 则称对应第i位相等。

现代密码学 清华大学 杨波著 部分习题答案

现代密码学 清华大学 杨波著 部分习题答案

( 声 明:非 标 准 答 案,仅 供 参 考 )一、古典密码(1,2,4)字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 数字0 1 2 3 4 5 6 7 8 9 10 111213141516171819 20 21 22 2324251. 设仿射变换的加密是E11,23(m)≡11m+23 (mod 26),对明文“THE NATIONAL SECURITYAGENCY”加密,并使用解密变换D11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。

解:明文用数字表示:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] 密文 C= E11,23(M)≡11*M+23 (mod 26)=[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1]=YWPKXYHVKXONPTJCHYBXLPKTB∵ 11*19 ≡1 mod 26 (说明:求模逆可采用第4章的“4.1.6 欧几里得算法”,或者直接穷举1~25)∴解密变换为D(c)≡19*(c-23)≡19c+5 (mod 26)对密文C进行解密:M’=D(C)≡19C+5 (mod 26)=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24]= THE NATIONAL SECURITY AGENCY2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字符是“if”。

对该密文解密。

解:设解密变换为 m=D(c)≡a*c+b (mod 26)由题目可知密文 ed 解密后为 if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26)由上述两式,可求得 a=3,b=22。

现代密码学(第五章)

2019/4/1 27
2019/4/1 6
一、杂凑函数
杂凑函数的性质(3)强于性质(2),即由无碰撞性 能够得到单向性。例如,设函数 y=H(x),x的长度固 定为N,y的长度为L。 设每个y有2N-L个x使y=H(x)。(均衡函数) 随机地取m个x值。则 P(有个x值满足H(x)=y’)=1-(1-2-L)m; P(有两个x值具有相同的H(x)值) =1-(2L)(2L-1)(2L-2)…(2L-m+1)2-Lm =1-(1-0×2-L)(1-1×2-L) (1-2×2-L)…(1-(m-1)×2-L)。
2019/4/1 24
二、数字签名的基本概念
不可否认性(公开可验证性)
被Alice签名的消息,在未来不能被Alice否认。 (这个性质的本质是:)Bob在收到一个被Alice签名 的消息时,他有办法向第三方证明该签名是真的被 Alice签名的消息。 如果一个数字签名具有不可伪造性,则Bob能够自行 验证签名消息的真伪;而如果一个数字签名具有公 开可验证性,则Bob能够向他人证明签名消息的真 伪。
2019/4/1 26
二、数字签名的基本概念
公钥密码的签名方案(一)
Alice欲发消息m给Bob。 (1) Alice用自己的私钥k对消息m“解密”s=D(m, k), s就是对消息m的签名值,(m,s)就是一个签名消 息。 (2) Alice将(m,s)发送给Bob。 (3) Bob收到(m,s)后,用Alice的公钥z,将消息m 与签名s做如下的检验:是否m=E(s, z)。若是则(m, s)是Alice发送的签名消息。
2019/4/1 17
一、杂凑函数
(1) Alice向Bob发送信息“我是Alice”。 (2) Bob收到信息后,向Alice发送一个随机的比特串x1。 (3) Alice 收到x1后,与自己的身份密号x2联立,得到x=(x1, x2 ) 。 (4) Alice计算y=H(x),并向Bob发送y。 (5) Bob收到y后,取出Alice的身份密号x2,并与x1联立得 到x=(x1,x2),然后验证是否 y=H(x), 若是则认为“Alice”是真正的Alice; 若否则认为“Alice”是假冒的Alice 。

现代密码学(密钥)概述


1)流密码
流密码(Stream Cipher)也称序列密码,是对称密码算 法的一种。流密码具有实现简单、便于硬件实施、加解密处 理速度快、没有或只有有限的错误传播等特点,因此在实际 应用中,特别是专用或机密机构中保持着优势,典型的应用 领域包括无线通信、外交通信。
密钥k
密钥流 产生器
异或运算
明文m
弱密钥
弱密钥:由密钥 k 确定的加密函数与解密函数相同 ,即 。
DES的弱密钥: 密函数相同。
如果各轮产生的子密钥一样,则加密函数与解
DES
k
(•)
DES
1 k
(•)
DES至少有4个弱密钥 :
➢ 0101010101010101
➢ 1f1f1f1f0e0e0e0e
➢ e0e0e0e0f1f1f1f1
( 56 位) 置换选(择48 2
k1
位)
循环左移
循环左移
C i( 28 位)
D i( 28 位)
( 56 位)
置换选择
2
ki
( 48 位)
置换选择1(PC-1)和置换选择2(PC-2)
总结-DES示意图
DES的安全性分析
DES的安全性完全依赖于密钥,与算法本身没有 关系。 主要研究内容:
➢ 密钥的互补性; ➢ 弱密钥与半弱密钥; ➢ 密文-明文相关性; ➢ 密文-密钥相关性; ➢ S-盒的设计; ➢ 密钥搜索。
2
15 11 8
3
10 6
12 5
9
0
7
14 2
13 1
10 6
12 11 9
5
3
8
13 6
2
11 15 12 9

杨波,_《现代密码学(第2版)》第五章 5.4-5.5节


5.4.1 随机数的使用
很多密码算法都需使用随机数,例如: 很多密码算法都需使用随机数,例如: • 相互认证。在密钥分配中需使用一次性随机数来 相互认证。 防止重放攻击。 防止重放攻击。 • 会话密钥的产生。 会话密钥的产生。 • 公钥密码算法中密钥的产生,用随机数作为公钥 公钥密码算法中密钥的产生, 密码算法中的密钥, 密码算法中的密钥,或以随机数来产生公钥密码算 法中的密钥。 法中的密钥。 在随机数的上述应用中, 在随机数的上述应用中,都要求随机数序列满 随机性和不可预测性。 足随机性和不可预测性。
一种方法是将高质量的随机数作为随机数库编 一种方法是将高质量的随机数作为随机数库编 辑成书,供用户使用。 辑成书,供用户使用。然而与网络安全对随机数巨 大的需求相比,这种方式提供的随机数数目非常有 大的需求相比,这种方式提供的随机数数目非常有 再者, 限。再者,虽然这时的随机数的确可被证明具有随 机性,但由于敌手也能得到这个随机数源, 机性,但由于敌手也能得到这个随机数源,而难以 保证随机数的不可预测性。 保证随机数的不可预测性。 网络安全中所需的随机数都借助于安全的密码 网络安全中所需的随机数都借助于安全的密码 算法来产生。但由于算法是确定性的, 算法来产生。但由于算法是确定性的,因此产生的 数列不是随机的。然而如果算法设计得好, 数列不是随机的。然而如果算法设计得好,产生的 数列就能通过各种随机性检验,这种数就是伪随机 数列就能通过各种随机性检验,这种数就是伪随机 数。
如果取a=7,其他值不变,则产生的数列为 5, 25, ,其他值不变,则产生的数列为{1, 如果取 29, 17, 21, 9, 13, 1,…},周期增加到 。 ,周期增加到8。 周期尽可能大, 应尽可能大 应尽可能大。 为使随机数数列的周期尽可能大 为使随机数数列的周期尽可能大,m应尽可能大。 普遍原则是选 接近等于计算机能表示的最大整数 接近等于计算机能表示的最大整数, 普遍原则是选m接近等于计算机能表示的最大整数, 如接近或等于2 如接近或等于231。

流密码 ppt课件


同步流密码
根据加密器中记忆元件的存储状态 i 是否依赖于输入的明文字 符,序列密码可进一步分成同步和自同步两种。
✓ i 独立于明文字符的叫做同步序列密码,否则叫做自同步序列 密码。
由于自同步流密码的密钥流的产生与明文有关,因而较难从理论 上进行分析。目前大多数研究成果都是关于同步流密码的。
在同步流密码中,由于密钥流 zi f (k,i ) 与明文字符无关,因
– 输出:输出为一个64比特的伪随机数Ri和一个64比特的新种 子Vi +1,其中:
EDE表示两个密钥的三重DES。
ANSI X9.17的伪随机数生成器
ANSI X9.17伪随机数产生器的框图如下:
ANSI X9.17的伪随机数生成器
本方案具有非常高的密码强度,因为: – 采用了112比特长的密钥和9个DES加密; – 算法由两个伪随机数输入驱动,一个是当前的日 期和时间,另一个是算法上次产生的新种子。 – 即使某次产生的随机数Ri泄露了,但由于Ri又经 过一次EDE加密才产生新种子Vi +1,所以别人即 使得到Ri也得不到Vi +1 ,从而得不到新随机数Ri +1。
DES的OFB模式能用来产生密钥并能用于流加密,加密算法的每一步输 出都为64比特,其中最左边的j个比特被反馈回加密算法,因此加密算法 的一个个64比特输出就构成了一个具有很好统计特性的伪随机数序列, 同样,如此产生的会话密钥可通过对主密钥的保护而得以保护。
ANSI X9.17的伪随机数生成器
ANSI X9.17伪随机数产生器是密码强度最高的伪随 机数产生器之一,已在包括PGP等许多应用过程中被 采用。 它有3个组成部分:
BBS生成器举例
BBS生成器
BBS的安全性基于大整数分解的困难性,它是密码上 安全的伪随机比特产生器。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ci = pi ⊕ zi pi = ci ⊕ zi
ci和pi分别表示第i比特的密文和明文。
MICKEYMICKEY-128
宣称的安全性
MICKEY-128 2.0 is intended to resist any attack faster than exhaustive key search. The designers have not deliberately inserted any hidden weaknesses in the algorithm.
GrainGrain-128
Grain-128使用了一个线性反馈移位寄存器 (LFSR)来确保很好的统计特性和密钥流周期 的下限值。为了引入非线性特性,它使用了 一个非线性反馈移位寄存器(NFSR)和非线性 滤波器(输出函数)。
GrainGrain-128 LFSR的寄存器内容记为si,si+1,……,si+127 LFSR的反馈多项式表示为f(x),是度数为128 的本原多项式。它定义为:
初始化过程
密钥的比特位定义为ki,0≤i≤127,输入自变 量的比特位定义为IVi,0≤i≤95。 NFSR的寄存器初始化:bi=ki,0≤i≤127; LFSR的寄存器初始化:前96个元素使用IV 比特位载入,si=IVi,0≤i≤95,后面的32比 特由1来填充,si=1,96≤i≤127。 在载入密钥和IV后,钟控256次不输出密钥流 ,密钥初始化过程如下:
bi+128 = si + bi + bi+26 + bi+56 + bi+91 + bi+96 + bi+3bi+67 + bi+11bi+13 + bi+17bi+18 + bi+27bi+59 + bi+40bi+48 + bi+61bi+65 + bi+68bi+84
GrainGrain-128
j∈A
A = {2, 15, 36, 45, 64, 73, 89}.
Grain
加解密方法 加密/解密是将输出比特流与明文/密文进行 异或运算:
ci = pi ⊕ zi pi = ci ⊕ zi
ci和pi分别表示第i比特的密文和明文。
GrainGrain-128
A.线性逼近 对于每个方程a(x)都可以找到一个有偏差的线性逼近方程Aa(x),这意味 着Grain总会产生有偏差的密钥流样本,重要的是选择函数g(x)和 h(x)以确保偏差足够小,没有比穷举攻击更好的攻击手段。 B.代数攻击: 在Grain-128中,NFSR使用h(.)函数引入了非线性特性,使用初始状态 比特流表示输出的函数度一般比较大,而且随时变化,因此它能抵 抗任何代数攻击。 C.时间-存储-数据 权衡攻击: 一般的对于流密码的时间-存储-数据攻击复杂度为O(2n/2),n指的是 流密码状态的个数。在Grain-128中,两个128位的移位寄存器加起 来状态变量为256,因此时间-存储-数据权衡攻击的复杂度不低于O (2128) D.错误攻击: 对于流密码来说,错误攻击是威胁较大的攻击之一,它们被引入攻击 了很多著名的流密码体制,但是在NFSR中引入缺陷要比在LFSR中 困难。
NFSR 的寄存器内容记为bi,bi+1,…,bi+127 NFSR的非线性反馈多项式g(x)是一个 线性函数和一个非线性函数的和: 32 37 72 102 128 44 60 61 125 g(x) =1+x +x +x +x +x +x x +x x
+x63x67 +x69x101+x80x88 +x110x111+x115x117 为消除歧义,NFSR的修正函数定义为:
CLOCK_R(R, INPUT_BIT_R, CONTROL_BIT_R): 标记r0,r1,…,r159是钟控前寄存器R的状态,r’0 ,r’1 ,…, r’159 是钟控后寄存器R的状态
FEEDBACK_BIT = r159 ⊕ INPUT_BIT_R 对于1 ≤ i ≤ 159, ri′ = ri -1 ; r0′ = 0 对于0 ≤ i ≤ 159, 若 i ∈ RTAPS , ri′ = ri′⊕ FEEDBACK_BIT 如果CONTROL _ BIT _ R =1 ri′ = ri ⊕ ri′ , 0 ≤ i ≤ 159. :
3. 前钟控 对0≤i≤159:
CLOCK_KG( R, S , MIXING = TRUE , INPUT _ BIT = 0)
MICKEYMICKEY-128 生成密钥流
0≤i≤L-1:
密钥流生成
z i = r0 ⊕ s 0
CLOCK_KG( R, S , MIXING = FALSE , INPUT _ BIT = 0)
zi =

j∈ A
b i + j + h(x) + s i + 93 ,
A = { 2 , 15 , 36 , 45 , 64 , 73 , 89 }.
GrainGrain-128
密钥流生成
加密流程
GrainGrain-128
输出比特zi 为:
zi = ∑ bi + j + h(x) + si +93 ,
GrainGrain-128 算法 MICKEYMICKEY-128 Trivium
3
软件算法
Grain-128
GrainGrain-128
Grain-128的设计者:Martin Hell (Sweden), Thomas Johansson (Sweden) 和 Willi Meier (Switzerland)
GrainGrain-128
g(x) NFSR LFSR f(x)
h(x)
密钥初始化
GrainGrain-128
布尔函数h(x) 定义如下: h( x) = x0 x1 + x2 x3 + x4 x5 + x6 x7 + x0 x4 x8 其中 x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 分别对应于两个 寄存器b和s 的抽头: bi +12 , si +8 , si +13 , si + 20 , bi +95 , si + 42 , si + 60 , si + 79 , s i +95 反馈比特zi定义为:
软件算法
Trivium
Trivium
Trivium由Belgium密码学家C. De Cannière 和 B. Preneel设计 Trivium从一个80-bit的密钥和一个80-bit的 起始变量中生成多达264比特的密钥流.
Trivium
初始化过程
密钥长度: 80比特, 记为K1 , . . . , K80 IV 大小: 80比特,记为IV1 , . . . , IV80 中间状态大小: 288比特,记为s1,. . . , s93, s94 , . . . , s177, s178 ,. . . , s288。
MICKEYMICKEY-128 寄存器S钟控 寄存器 钟控
四个序列 COMP P 0158 , P1158 ,
FB 0 0...FB 0159 , FB10...FB1159
r
r159⊕
MICKEYMICKEY-128
加解密方法 加密/解密是将输出比特流与明文/密文进行 异或运算:
1. 将80-bit 的密钥和 的密钥和80-bit 的起始变量分别 赋值给内部状态比特s1~s80和s94 ~s173。 赋值给内部状态比特 同时将s 置为1, 同时将 286 , s287和 s288置为 ,剩余所有位 置零。 置零。
MICKEYMICKEY-128
CLOCK_S(S, INPUT_BIT_S, CONTROL_BIT_S): 标记s0,s1,…,s159是钟控前寄存器R的状态,s’0, s’1, …, s’159是钟控后寄存器R的状态. 采用ŝ0, ŝ1,…, ŝ159 作为中间变量。
寄存器S钟控 寄存器 钟控
FEEDBACK _ BIT = s159 ⊕ INPUT _ BIT _ S ) si = si-1 ⊕ (( si ⊕ COMP0i ) ⋅ ( si+1 ⊕ COMP1i )), 1 ≤ i ≤ 158; ) ) s0 = 0; s159 = s158 .
如果CONTROL _ BIT _ S = 0: ) ′ = si ⊕ (FB0i ⋅ FEEDBAC_BIT ), 0 ≤ i ≤ 159 ; si 如果CONTROL _ BIT _ S = 1: ) ′ = si ⊕ (FB1i ⋅ FEEDBACK_BIT ), ≤ i ≤ 159. si 0
MICKEYMICKEY-128
初始化过程
寄存器R和S初始为全0, 1. 载入IV. 对0≤i≤IVENGTH-1:
CLOCK_KG( R, S , MIXING = TRUE , INPUT _ BIT = ivi )
2. 载入K. 对0≤i≤127:
CLOCK_KG(R, S , MIXING = TRUE , INPUT _ BIT = ki )
f ( x ) = 1 + x 32 + x 47 + x 58 + x 90 + x 121 + x 128
为了消除可能的歧义,定义LFSR对应的修 正(更新)函数:
si +128 = si + si +7 + si +38 + si +70 + si +81 + si +96
相关文档
最新文档