现代密码学第五讲(一):流密码
现代密码学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. 对称密码对称密码也被称为私钥密码,是最常见的密码类型之一。
在对称密码中,加密和解密使用相同的密钥。
这意味着发送方和接收方需要共享同一个密钥,才能进行加密和解密操作。
对称密码的优势在于加密解密速度快,但其密钥管理与分发会带来一定的安全风险。
常见的对称密码算法有DES、AES和3DES等。
2. 公钥密码公钥密码也被称为非对称密码,是另一种常见的密码类型。
在公钥密码系统中,加密和解密使用不同的密钥。
发送方使用接收方的公钥进行加密,而接收方使用自己的私钥进行解密。
公钥密码的优势在于密钥管理方便,不需要事先共享密钥。
常见的公钥密码算法有RSA、ElGamal和ECC等。
3. 哈希算法哈希算法是一种将任意长度的数据转换为固定长度摘要的密码技术。
它常被用于验证数据的完整性和一致性。
哈希算法的特点是不可逆,即无法通过摘要反推原始数据。
常见的哈希算法有MD5、SHA-1和SHA-256等。
4. 消息认证码(MAC)消息认证码是一种基于密钥的密码操作,用于验证消息的完整性和来源。
它通过对消息进行加密和生成消息验证码来实现身份验证和防篡改功能。
常见的消息认证码算法有HMAC和CMAC等。
5. 数字签名数字签名是一种通过非对称密码算法,为文档或数据附加一个唯一的标记来验证发送方身份和消息完整性的技术。
数字签名可以防止篡改和抵赖,并且不需要发送方和接收方共享密钥。
常见的数字签名算法有RSA和DSA等。
6. 流加密和分组加密流加密和分组加密是对称密码算法的两种不同方式。
在流加密中,数据按位或按字节加密。
流加密的特点在于加密和解密速度快,适用于实时数据传输。
而分组加密将数据分成固定长度的块进行加密处理。
常见的分组加密算法有DES和AES 等。
7. 转身密码置换密码是一种基于置换的加密技术,通过改变数据中的位置或次序来加密数据。
现代密码学第五讲(一):流密码
现代密码学第五讲(一):流密码《现代密码学》第五讲流密码(一)上讲内容回顾分组密码定义(分组填充)分组密码的发展历史(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.1
第2章流密码基本概念设(,,,,)是一个密码体制,其中:明文消息空间,:密文消息空间,:密钥空间,:加密规则集合,解密规则集合。
将明文消息m按一定的规则进行编码后可表示为明文串:m=m0m1m2…,mi∈流密码加解密明文消息x方式是首先利用密钥产生一个密钥流序列:k=k0k1k2…然后对明文串m=m0m1m2…施以加密变换进行加密,得到密文序列:c=E k0(m0)E k1(m1)E k2(m2)…=c0c1c2…,Ez i ∈,ci∈,m i∈,k i∈解密时,对密文序列c0c1c2…施以解密变换获得明文序列m=D k0(c0)D k1(c1)D k2(c2)…=m0m1m2…,Dz i ∈,ci∈,m i∈,k i∈密钥流序列由密钥流发生器f产生:ki =f(k,σi),这里σi是记忆元件(存储器)在时刻i的状态(见教材有限状态自动机说明)。
同步密码流密码分为同步与自同步两种,在同步密码中ki =f(k,σi)与明文无关,因此,密文c i=E Zi(m i)不依赖明文,同步流密码模型如教材p13图2-2所示。
例考察密码体制(,,,,),其中明文消息空间,密文消息空间和密钥空间都是由26个英文字母组成,加解密算法使用模26整数环26上的加法,假设对明文:I am glad to see you有一密钥流序列(视为由密钥生成)是sgdwkqbmdzhfpqx。
现对上述明文将加密变换进行加密(不考虑空格)。
加密变换/算法:c i=Eki (mi)=(mi+k i)mod26y=E s(I)E g(a)E d(m)…E m(t)E d(o)E Z(s)…E q(o)E x(s)Es(I)(=8+18)=26mod26=0→AEg(a)(=0+6)=6mod26=6→GEd(m)(=12+3)=15mod26=15→P…Em(t)(=19+12)=31mod26=5→FEd(o)(=14+3)=17mod26=17→REZ(s)(=18+25)=43mod26=17→R…Eq(o)(=14+16)=30mod26=4→EEx(s)(=20+23)=43mod26=17→R因此,加密的密文序列为:AGPB…FRR…ER。
现代密码学(密钥)概述
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
现代密码
5.1.4 序列密码
1.随机数的判定 • 序列的随机性测试的16种手段:频率检验(Frequency Test)、块内频数
检验(Frequency Test within a Block)、游程检验(Runs Test)、块内最长 游程检验(Test for the Longest Run of Ones in a Block)、二元矩阵秩检验 (Binary Matrix Rank Test)、离散傅里叶变换检验(Discrete Fourier Transform (Spectral) Test) 、非重叠模块匹配检验(Non-overlapping Template Matching Test)、重叠模块匹配检验(Overlapping Template Matching Test)、Maurer 的通用统计检验(Maurer‘s“Universal Statistical”Test)、Lempel-Ziv压缩检验(Lempel-Ziv Compression Test)、 线性复杂度检验(Linear Complexity Test)、序列检验(Serial Test)、近 似熵检验(Approximate Entropy Test)、累加和检验(Cumulative Sums ( Cusum) Test)、随机游动检验(Random Excursions Test)、随机游动状 态频数检验(Random Excursions Variant Test)等。
3.序列密码算法 • 序列密码涉及到大量的理论知识,提出了众多的设计原理,也得到了广
泛的分析,但许多研究成果并没有完全公开,这也许是因为序列密码目 前主要应用于军事和外交等机密部门的缘故。目前,国外公开的比较常 用的序列密码算法主要有A5、RC4、SEAL等,我国学者自主设计的算法有 祖冲之序列密码算法(ZUC)等。
密码学课件3(流密码)
1 0 1 1 1 0
即输出序列为101110111011…,周期为4。 如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的 线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。此时f可写为 f(a1,a2,…,an)=cna1 cn-1a2 … c1an 其中常数ci=0或1 2加法。ci=0或1可用开关的断开 和闭合来实现,如图2.10所示。
流密码与分组密码的比较:
流密码的特点: 优点:处理速度快,实时性能好,错误传播小 缺点:明文扩散性差,密钥须同步 分组密码的特点:
优点:明文扩散性好,不需密钥同步
缺点:加密速度慢,错误易扩散和传播
图2.1 分组密码和流密码的比较
图2.1 分组密码和流密码的比较
2.1.1 同步流密码
根据加密器中记忆元件的存储状态σi是否依赖于输入的明文 字符,流密码可进一步分成同步和自同步两种。σi独立于明文 字符的叫做同步流密码,否则叫做自同步流密码。由于自同 步流密码的密钥流的产生与明文有关,因而较难从理论上进 行分析。目前大多数研究成果都是关于同步流密码的。在同 步流密码中,由于zi=f(k,σi)与明文字符无关,因而此时密文字 符yi=Ezi(xi)也不依赖于此前的明文字符。因此,可将同步流密 码的加密器分成密钥流产生器和加密变换器两个部分。如果 与上述加密变换对应的解密变换为xi=Dzi(yi),则可给出同步 流密码体制的模型如图2.2所示。
1
从而得到
0 1 c5 c4 c3 c2 c1 0 1 0 0 0 0 0 1
1 0 0 1 0 0 1 0 0 0 0 1 1 0 11 0 11 0
现代密码学杨波课后习题讲解
1
1
1
1
1
0
0
1
1
1
1
1
….
….
习题
6.已知流密码的密文串1010110110和相应的明文串 0100010001,而且还已知密钥流是使用3级线性反馈移位 寄存器产生的,试破译该密码系统。
解:由已知可得相应的密钥流序列为 1010110110⊕0100010001 =1110100111,又因为是3级线 性反馈移位寄存器,可得以下方程:
Li Ri1 Ri Li1 f (Ri1, Ki )
习题
习题
3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后 仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。 例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结 果。 (1) P2 后的分组是否受到影响? (2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在 多少个密文分组中传播? 对接收者产生什么影响?
c3c2c1 0101
0
1
101
1 1 0
由此可得密钥流的递推关系为:
ai3 c3ai c1ai2 ai ai2
第三章 分组密码体 制
习题
2. 证明 DES 的解密变换是加密变换的逆。 明文分组、密钥
加密阶段:初始置换、16轮变换、逆初始置换
每轮迭代的结构和Feistel结构一样:
定义2.2 设p(x)是GF(2)上的多项式,使p(x)|(xp-1) 的最小p称为p(x)的周期或阶。 定理2.3 若序列{ai}的特征多项式p(x)定义在GF(2) 上,p是p(x)的周期,则{ai}的周期r | p。
习题
古典密码和流密码的原理及应用
古典密码和流密码的原理及应用1. 引言1.1 古典密码和流密码的原理及应用古典密码和流密码是密码学领域中两种基本的密码体制。
古典密码是一种基于替换或移位的加密方法,其原理是通过替换明文中的字母或移动字母的位置来生成密文。
流密码则是一种基于流的加密方法,其原理是通过不断产生伪随机密钥流并与明文进行异或运算来生成密文。
古典密码的应用可以追溯到古代,如凯撒密码和维吉尼亚密码等。
这些密码体制在军事情报传递和个人通信中起到了重要作用。
而流密码则在现代密码学中得到了广泛应用,例如在无线通信、网络安全和数据加密领域。
古典密码和流密码在现代密码学中都扮演着重要的角色。
古典密码虽然在安全性上存在较大的局限性,但对于理解密码学的基本原理和历史发展仍具有重要意义。
而流密码则由于其高效性和安全性,被广泛应用于现代通信系统和加密协议中。
古典密码和流密码都是密码学中不可或缺的一部分,它们各自的原理和应用为我们提供了深入了解密码学的基础,并在现代密码学中扮演着重要的角色。
在不断发展和完善的密码学领域中,古典密码和流密码仍然具有不可替代的地位。
2. 正文2.1 古典密码的原理古典密码是指使用固定密钥对明文进行加密的一种密码方法,其原理主要包括替换密码和移位密码两种基本形式。
替换密码是通过将明文中的每个字母替换为密钥字母表中对应的字母来加密信息,而移位密码则是通过将明文中的每个字母向后或向前移动固定的位置来实现加密。
这些方法都可以通过简单的数学运算来实现,但由于其固定密钥的特性,容易受到破解攻击。
古典密码的应用主要体现在历史上的军事通信领域,比如凯撒密码就是一种简单的移位密码,被用于古罗马军队的通信中。
古典密码的安全性很差,容易被破解,因此在现代密码学中已经被淘汰。
古典密码的原理虽然简单,但在密码学发展的历程中扮演了重要的角色,为后来更加复杂的密码算法奠定了基础。
通过研究古典密码的原理,人们也更深入地理解了密码学的发展轨迹和演变过程,对于现代密码学的发展具有积极的意义。
现代密码学第五讲:流密码(三)
GrainGrain-128
Grain Version 1支持80比特长的密钥. 对于穷举搜索攻击,目前计算机的能力不可破解 。但是,有可能利用“时间-存储-数据”攻击,以 O(2k/2)的复杂度实施攻击,其中k为密钥长度。即 攻击者需要搜集约2k/2个并用不同的密钥加密的明 文,以找出其中的一个密钥。显然80比特的密钥 太短。 Grain-128在Grain Version 1的基础上,弥补了密 钥短的缺点,它支持128比特的密钥,输入变量为 96比特。
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中 困难。
现代密码学第五讲:流密码2(必修)
1流密码(二)《现代密码学》第五讲上讲内容回顾流密码(序列密码)的思想起源 流密码技术的发展及分类基于移位寄存器的流密码算法 其它流密码算法3本章主要内容Estream推荐软件算法HC-256/128 算法Rabbit算法Salsa20算法SOSEMANUK软件算法HC-256/128HC-256HC-256流密码由Hongjun Wu(大陆旅居新加坡学者)提出。
HC-256的特点是使用两张密表P和Q,每一张都包含1024个32比特元素,因此,算法的硬件速度较慢。
密钥流生成的每一步,都用非线性反馈函数更新表中一个元素,经过2048步两张表所有的元素都将被更新。
每次迭代输出32比特密钥流。
符号定义:+: x + y 表示x + y mod 232, 其中0 ≤x < 232 , 0 ≤y < 232;-: x -y 表示x −y mod 1024;⊕: 逐位异或OR;||: 串联;>> : 右移操作. x >> n 表示x右移n位.<< : 左移操作. x >> n 表示x左移n位.>>>: 右循环移位操作. x >>> n 等于((x >> n) ⊕(x << (32 −n)),其中0 ≤n < 32, 0 ≤x < 232.符号定义:P :含有1024个32-bit元素的表. 表中元素标记为P [i],0 ≤i ≤1023.Q : 含有1024个32-bit元素的表. 表中元素标记为Q [i],0 ≤i ≤1023.K: HC-256的256-bit密钥.I V: HC-256的256-bit初始化向量.s: HC-256正在生成的密钥流.在第i步生成的32-bit输出被标记为s i. 而s = s0||s1||s2|| ···s i|| s i+1||···将256比特密钥和256比特初始变量扩展并装载到P和Q 中, 然后混淆P和Q的内容1. 设K = K0||K1|| ···||K7,IV = IV0||IV1|| ···||IV7 , 其中K i和IV i标记一个32位数. K和IV扩展为矩阵W,W i为其第i个字(0 ≤i ≤2559) :W i= K i0 ≤i ≤7W i= IV i−88 ≤i ≤15W i= f2(W i−2) + W i−7+ f1(W i−15) + W i−16+ i16 ≤i ≤2559HC-2562. 用W更新表P和QP [i] = W i+5120 ≤i ≤1023Q[i] = W i+15360 ≤i ≤1023 3. 运行4096步密钥流生成操作(不输出)i = 0; //不断重复直到足够的密钥流生成{j = i mod 1024;if (i mod 2048) < 1024 //将输出字符的序号以2048个为一组{ //在组内序号小于1024时P [j] = P [j] + P [j -10] + g1 ( P [j -3], P [j -1023] );si= h1( P [j -12] ) ⊕P [j]; }else{ //在组内序号大于1024时Q[j] = Q[j] + Q[j-10] + g2( Q[j-3], Q[j-1023] );si= h2 ( Q[j-12] ) ⊕Q[j];}end-ifi = i + 1;}end-repeatHC-256密钥流生成六个函数:f 1(x ) = (x >>> 7) ⊕(x >>> 18) ⊕(x >> 3)f 2(x ) = (x >>> 17) ⊕(x >>> 19) ⊕(x >> 10)g 1(x, y ) = ((x >>>10) ⊕(y >>>23)) + Q [(x ⊕y ) mod 1024]g 2(x, y ) = ((x >>>10) ⊕(y >>>23)) + P [(x ⊕y ) mod 1024]h 1 (x ) = Q [x 0] + Q [256 + x 1] + Q [512 + x 2] + Q [768 + x 3]h 2 (x ) = P [x 0] + P [256 + x 1] + P [512 + x 2] + P [768 + x 3]其中x = x 3||x 2||x 1||x 0, x 为32-bit , x 0, x 1, x 2和x 3为4个字节. x 3 和x 0分别标记x 中最高字节和最低字节。
现代密码学PPT课件
1.3 密码学基本概念
1.3.1 保密通信系统
通信双方采用保密通信系统可以隐蔽和保护需要发 送的消息,使未授权者不能提取信息。发送方将要 发送的消息称为明文,明文被变换成看似无意义的 随机消息,称为密文,这种变换过程称为加密;其 逆过程,即由密文恢复出原明文的过程称为解密。 对明文进行加密操作的人员称为加密员或密码员。 密码员对明文进行加密时所采用的一组规则称为加 密算法。
② 系统的保密性不依赖于对加密体制或算法的保密, 而依赖于密钥。这是著名的Kerckhoff原则。
③ 加密和解密算法适用于所有密钥空间中的元素。
④ 系统便于实现和使用。
1.3.2 密码体制分类
密码体制从原理上可分为两大类,即单钥体制和双 钥体制。
1.1.3 安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务
保护数据以防被动攻击。保护方式可根据保护范围 的大小分为若干级,其中最高级保护可在一定时间 范围内保护两个用户之间传输的所有数据,低级保 护包括对单个消息的保护或对一个消息中某个特定 域的保护。保密业务还包括对业务流实施的保密, 防止敌手进行业务流分析以获得通信的信源、信宿、 次数、消息长度和其他信息。
20世纪90年代,因特网爆炸性的发展把人类带进了 一个新的生存空间。因特网具有高度分布、边界模 糊、层次欠清、动态演化,而用户又在其中扮演主 角的特点,如何处理好这一复杂而又巨大的系统的 安全,成为信息安全的主要问题。由于因特网的全 球性、开放性、无缝连通性、共享性、动态性发展, 使得任何人都可以自由地接入,其中有善者,也有 恶者。恶者会采用各种攻击手段进行破坏活动。信 息安全面临的攻击可能会来自独立的犯罪者、有组 织的犯罪集团和国家情报机构。对信息的攻击具有 以下新特点: 无边界性、突发性、蔓延性和隐蔽性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《现代密码学》第五讲流密码(一)上讲内容回顾⏹分组密码定义(分组填充)⏹分组密码的发展历史(Shannon DES AES。
)⏹保密系统的安全性分析及分组密码的攻击(主动/被动唯密文/已知明(密)文/选择明(密)文/自适应选择明(密)文)⏹数据加密标准(DES)算法介绍⏹高级加密标准(AES)算法介绍⏹中国无限局域网标准(SMS4)算法介绍⏹分组密码算法的运行模式本章主要内容⏹流密码(序列密码)的思想起源⏹流密码技术的发展及分类⏹基于移位寄存器的流密码算法⏹其它流密码算法⏹Estream推荐流密码算法⏹软件算法⏹硬件算法密钥流生成器种子密钥明文m1k1c1m2k2c2加密过程密钥流生成器种子密钥密文c1k1m1c2k2m2解密过程⏹设明文为m=m1m2… m i∈GF(2), i>0⏹设密钥为k=k1k2… k i∈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位相等。
设两个序列相同位的个数为n,不同位的个数为d,则R(T)=(n-d)/r为自相关函数流密码技术的发展及分类⏹序列密码是世界各国的军事和外交等领域中使用的主要密码体制之一⏹2000年1月欧洲启动的NESSIE 工程中,流密码算法的设计与分析也列上了公开征集评测的日程;6个流密码算法(Leviathan 、UIi 一128、BMGL 、SOBER —t32、SOBER —tl 、SNOW )进入了第二阶段评估,但是因为他们都不符合NESSIE 的征集准则而最终全部落选⏹2003年3月,日本政府的密码研究与评估委员会(CRYPTREC )推荐了三个流密码算法:MUGI 、MULTI-S01和RC4-128.⏹ECRYPT 是欧洲FP6下的IST 基金支持的一个为期四年的项目,该项目启动于2004年2月,STVL (Symmetric techniques virtual lab )正在进行流密码算法的公开征集评估活动.征集活动到2005 年4月29 日结束,征集到了34个流密码算法.2007年4月开始进入第三轮评估,16个算法进入第三轮评估./stream/phase3list.html2008年4月8个算法成为推荐算法.2008年8月更新为7个推荐算法.Profile 1 (SW)Profile 2 (HW)CryptMT (CryptMT Version 3)DECIM (DECIM v2 and DECIM-128)Dragon Edon80HC (HC-128 and HC-256)F-FCSR (F-FCSR-H v2 and F-FCSR-16)LEX (LEX-128, LEX-192 and LEX-256)Grain (Grain v1 and Grain-128)NLS (NLSv2, encryption-only)MICKEY (MICKEY 2.0 and MICKEY-128 2.0)Rabbit Moustique Salsa20Pomaranch (Pomaranch Version 3)SOSEMANUK Trivium⏹在同步流密码中,密(明)文符号是独立的,一个错误传输只会影响一个符号,不影响后面的符号。
⏹缺点:一旦接收端和发送端的种子密钥和内部状态不同步,解密就会失败,两者必须立即借助外界手段重新建立同步。
k c ik 密钥流生成器密钥流生成器信道c iz i m iz im iE (z i ,m i )E (z i ,m i )自同步流密码的优点是即使接收端和发送端不同步,只要接收端能连续地正确地接受到n 个密文符号,就能重新建立同步。
因此自同步流密码具有有限的差错传播,且分析较同步流密码的分析困难得多k c ik 密钥流生成器密钥流生成器信道c iz im iz im iE (z i ,m i )E (z i ,m i )流密码技术的发展及分类思考:假设j=n/4,n为分组长度对于DES,n=64, j=16;对AES,n=128,j=32 CFB模式为()流密码?OFB模式为()流密码?CTR模式为()流密码?自同步、同步、同步⏹挪威政府的首席密码学家Ernst Selmer 于1965年提出了移位寄存器理论,它是序列密码中研究随机密钥流的主要数学工具.⏹移位寄存器是指有n 个寄存器(称为n-级移位寄存器)r 1,r 2,…,r n 从右到左排列,每个寄存器中能存放1位二进制数,所有寄存器中的数可以统一向右(或向左)移动1位,称为进动1拍. 即r 1的值(b 1)右移1位后输出,然后r 2的值(b 2)送r 1, r 3的值(b 3)送r 2,……最后,r n 的值(b n )送r n-1.b nr n b n-1r n-1……b 2r 2b 1r 1⏹反馈移位寄存器(feedback shift register,FSR)是由n 位的寄存器和反馈函数(feedback function)组成,如下图所示,n 位的寄存器中的初始值称为移位寄存器的初态.⏹工作原理:移位寄存器中所有位的值右移1位,最右边的一个寄存器移出的值是输出位,最左边一个寄存器的值由反馈函数的输出值填充,此过程称为进动1拍. 反馈函数f 是n 个变元(b 1,b 2,…,b n )的布尔函数.移位寄存器根据需要不断地进动m 拍,便有m 位的输出,形成输出序列a 1,a 2,…,a m .b n r n b n-1r n-1……b 2r 2b 1r 1输出位o i反馈函数f⏹线性反馈移位寄存器LFSR(linear feedback shift register)的反馈函数为线性函数⏹作为密钥流的序列{a i}的周期一定要大否则密钥流的空间太小,利用穷举搜索可以得到密钥流{a i}⏹n级LFSR输出的序列的周期r不依赖于寄存器的初始值,而依赖于特征多项式p(x)定义设n 级LFSR 的输出序列{a i }满足递推关系这种递推关系可用一个一元高次多项式表示,称这个多项式为LFSR 的特征多项式。
n n 11n 21(1).k n k n k k a c a c a c a k ++--+-=⊕⊕⊕≥ 111()1n n n n f x c x c xc x --=++++定义设是上的多项式,使的最小的n 称为的周期或者阶。
例:为上多项式,以它为特征多项式的LFSR 的输出序列周期。
()f x ()f x (2)GF ()|(1)n f x x -432()1f x x x x x =++++(2)GF 5432(1)(1)(1)()(1)x x x x x x f x x -=++++-=-所以f(x)的周期为5()|1,5nf x x n -<解:对应的n 级LFSR 的反馈函数为10001100…f(b 1,b 2,b 3,b 4状态 输出位000111000011000011000011100011100001100b 4b 3b 2b 1)输出序列的周期为5⏹n级LFSR输出的序列的最大周期是2n-1为什么?⏹LFSR的寄存器状态遍历2n-1个非零状态⏹初始状态为全零,则输出序列为0的循环定义当LFSR的寄存器状态遍历2n-1个非零状态时,序列的周期达到最大2n-1,这种序列被称为m序列。
定义若n次不可约多项式f(x)的阶为2n-1,则称f(x)为n次本原多项式。
定理{a i}是周期为2n 1的m-序列的充要条件是其特征多项式f(x)为n阶本原多项式一个3-级的反馈移位寄存器,反馈函数f(x)= b 3⊕b 1,初态为100,输出序列?3()1f x x x =++742342(1)(1)(1)(1)()x x x x x x x x x f x -=+++++=+++ ()|1,7n f x x n -<所以f(x)的周期为7生成多项式为初态为100放入寄存器,输出序列情况如下b3b 2b 100111010011101…f(b 1,b 2,b 3)=b 1⊕b 3状态 输出位10001100111101111011010000111000输出序列的周期为7流密码的攻击攻击目的:确定整个密钥流{k i}攻击手段:惟密文已知明文选择明/密文自适应选择明/密文1 若LFSR 的反馈函数已知,破译者已知连续n 位明密文对和则可以推导出n 比特密钥流,继而由反馈函数得到整个密钥流{k i }2 已知明文攻击下,假设破译者已知了2n 位明密文对,,则可确定一段2n 位长的密钥序列,由此可以完全确定n 级反馈多项式的系数。
},,,{221n m m m M =},,,{21n m m m },,,{21n c c c },,,{221n c c c C =i i i c m k ⊕=},,,{21n k k k },,,{221n k k k K =n 个线性方程包含n 个未知数:b 1,b 2,...,b n ,所以可惟一解出b i (i=0,1,…,n )从而可确定该线性反馈移位寄存器接下来的状态,也就能够得到余下的密钥序列。
11211223111211211n n n n n n n n n n n n n n k k b k b k b k k b k b k b k k b k b k b +-+-++--=+++⎧⎪=+++⎪⎨⎪⎪=+++⎩例:5级线性反馈移位寄存器产生的密钥序列加密得到的明文串为011001111111001,对应的密文串为101101011110011。