密码学课件第2章

合集下载

密码学基础PPT课件

密码学基础PPT课件
虽然仅有26个字母,但有26×26=676种字母对, 因此,识别字母对要比单个字母要困难得多
一个明文字母有多种可能的代换密文字母,使 得频率分析困难的多(hs成为BP, hq成为YP)。
由于这些原因,Playfair密码过去长期被认 为是不可破的。
最简单的多表代换密码---Vigenère
注意
Internet的广泛应用,可以把全世界的计算机资源 连成一体,形成巨大的计算能力,从而拥有巨大的 密码破译能力,使原来认为安全的密码被破译。
1994年,40多个国家的600多位科学家通过Internet, 历时9个月破译了RSA-129密码,1999年又破译了RSA - 140密码,2005年,RSA-200也被成功破译。
经典密码运用的两种基本技术:
代换法:将明文字母替换成其他字母、数字 或符号
置换法:明文的字母保持相同,但顺序被打 乱
代换技术
代换法,是将明文字母替换成其他字母、数 字或符号的方法。
Caesar密码(已知的最早的代换密码)
例如:明晨五点发动反攻 明文:MING CHEN WU DIAN FA DONG FAN GONG 密文:PLQJ FKHQ ZX GLDQ ID GRQJ IDQ JRQJ
密码系统的分类(3)
根据加密算法是否变化分类
设E为加密算法,K0, K1,…,Kn,为密钥, M0,M1,…,Mn为明文,C为密文
固定算法密码体制
C0=E(M0,K0), C1=E(M1,K1),..., Cn=E(Mn,Kn)
变化算法密码体制
C0=E1 (M0,K0), C1=E2 (M1,K1),..., Cn=En (Mn,Kn)
密码学的发展历史(5)

第2章密码学概论

第2章密码学概论

2 5
8 2 2 1 1 9
2 2
1 3 6 1 2 6 9 7 5
6 2 9 2 2 2 2 7 2 1 2 3 1 2 6 1 5 8 6 4 2
3 1 7 2
z
i c v t
w q n g r z g v t
w a v z h c q y g l m

维吉尼亚密码示例 明文为polyalphabetic cipher,(多字母替换密码) 密钥K=RADIO, 用维吉尼亚密码加密。 方法:将明文串转化为对应的数字(a-0,…,z-25),每5个 一组,进行模26运算。

法国密码分析人员断定这种密码是不可破译的。他们甚至根 本就懒得根据搞到的情报去复制一台ENIGMA。
在十年前法国和波兰签订过一个军事合作协议。波兰方面一 直坚持要取得所有关于ENIGMA的情报。既然看来自己拿着 也没什么用,法国人就把从施密特那里买来的情报交给了波 兰人。和法国人不同,破译ENIGMA对波兰来说至关重要, 就算死马也要当作活马医。后来英国应情报部门在波兰人的 帮助下于1940年破译了德国直至1944年还自认安全可靠的 ENIGMA的密码系统。
v
e
y
o u r
s
e
2 4 0 1 4 3 8 1 2 1 2 4 1 4 2 1 0 2 4 2 1 2 1 1 4 2 7 8 4 1 7 8 1 4 4 0 7 8
d
e c
e p t
i
v
e
d e
c
e
p t
i
v
e
d e
c
e
p
t
i
3
4 2 4 1 1 8 2 4 3 4 2 4 1 1 8 2 4 3 4 2 4 1 1 8 5 9 1 5 9 1 5 9

第2章 密码学基础 流密码.

第2章 密码学基础 流密码.

证明: 在等式 an+1=c1an c2an-1 … cna1 an+2=c1an+1 c2an … cna2 … 两边分别乘以xn,xn+1,…,再求和,可得 A(x)-(a1+a2x+…+anxn-1) =c1x[A(x)-(a1+a2x+…+an-1xn-2)] +c2x2[A(x)-(a1+a2x+…+an-2xn-3)]+…+cnxnA(x)
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所示。
k
安全信道
k

滚动密钥生成器 zi xi
Ez xi
i

滚动密钥生成器
zi
yi
yi
D z yi
i
xi
图2.2 同步流密码体制模型
二元加法流密码是目前最为常用的流密码体制,其 加密变换可表示为yi=zi xi。
图2.3 加法流密码体制模型
一次一密密码是加法流密码的原型。事 实上,如果(即密钥用作滚动密钥流),则 加法流密码就退化成一次一密密码。 实际使用中,密码设计者的最大愿望是 设计出一个滚动密钥生成器,使得密钥经其 扩展成的密钥流序列具有如下性质:极大的 周期、良好的统计特性、抗线性分析、抗统 计分析。

[课件]第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解密,此时说明消息 来自持有私人密钥的人。前者可以实现公共网络的保密通 信,后者则可以实现对消息进行数字签名。

现代密码学精讲PPT课件

现代密码学精讲PPT课件
3
2.1.1 什么是密码学(续)
发送者 Alice
明文m 加密器 Ek
密文c 公 共 信道
密钥k
密钥源
安全 信道
图 2.1 Shannon保密系统
分析者 Eve
解密器 明文m Dk
密钥k
接收者 Bob
4
2.1.1 什么是密码学(续)
通信中的参与者 (1) 发送者(Alice): 在双方交互中合法的信息发 送实体。 (2) 接收者(Bob):在双方交互中合法的信息接收 实体。 (3) 分析者(Eve):破坏通信接收和发送双方正常 安全通信的其他实体。可以采取被动攻击和主动 攻击的手段。 信道 (1) 信道:从一个实体向另一个实体传递信息的 通路。 (2) 安全信道:分析者没有能力对其上的信息进 行阅读、删除、修改、添加的信道。 (3) 公共信道:分析者可以任意对其上的信息进 行阅读、删除、修改、添加的信道。
定义2 一个加密方案可以被破译是指,第三方在 没有事先得到密钥对(e, d)的情况下,可以在适当 的时间里系统地从密文恢复出相对应的明文。 # 适当的时间由被保护数据生命周期来确定。
12
2.1.4 现代密码学主要技术(续)
私钥加密 定义3 一个由加密函数集{Ee: eK}和解密函数集{Dd: dK}组成加密方案,每一个相关联的密钥对(e, d) , 如果知道了e在计算上很容易确定d,知道了d在计算 上很容易确定e,那么,就是私钥加密方案。 # 私钥加密需要一条安全信道来建立密钥对。
2.1.4 现代密码学主要技术(续)
公钥加密实例
A1
Ee(m1)=c1
e
c1
e
A2
Ee(m2)=c2
c2
Dd(c1)=m1 Dd(c2)=m2

第02章 密码学

第02章 密码学

4 hill密码(一种多表代换密码)
原理:矩阵中线性变换原理。优点完全隐藏了单字母频 率特性,采用矩阵形式,还隐藏了双字母的频率特性。 a,b,…z -0,1,…25。m个一组连续明文字母看成 是m维向量,跟一个m*m密钥矩阵相乘,结果模26. 密钥必须可逆。 c1 k11 k12 k13 k14 p1 m=4 c2 k 21 k 22 k 23 k 24 p 2 例题 p25 c3 k 31 k 32 k 33 k 34 p3 c 4 k 41 k 42 k 43 k 44 p 4
M
加密算法 K
密钥源


安全通道
明文M 加密算法 密钥 密文 解密算法
密文C: 完全随机杂乱的数据,意义不可理解。 密钥 K:密钥独立于明文。私密,保密。密钥越长,强度越高 解密算法是加密算法逆运算,需要足够强度。实际中加解密算 法是公开的。
2.3.1 对称密码体制概念

为保证通信安全,对称密码体制要满足:(2) 加密算法有足够强度,即破解难度足够高。 算法强度除了依赖本身外,主要密钥长度。 密钥越长强度越高。 发送者和接收者必须能够通过安全方法获得 密钥,并且密钥是安全的。一般加密算法和 解密算法都是公开的。只有密钥是私密的。


2.1.2 –密码系统安全性

无条件安全(理论) 计算上安全(实际应用):理论上可破译,但 是需要付出十分巨大的计算,不能在希望的时 间或可行的经济条件下求出准确的答案。满足 以下标准: 破译密码的代价超出密文信息价值 破译密码的时间超出密文信息的有效生命期
2.1.2 –密码攻击两种方法

密码分析(密码攻击):

李发根现代密码学2

李发根现代密码学2

ant cnat cn1at1 c1ant1, t 1,2,
线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论, 成为构造密钥流生成器的最重要的部件之一。
例 下图是一个5级线性反馈移位寄存器,其初始状 态为(a1,a2,a3,a4,a5)=(1,0,0,1,1)
表2.2 一个3级反馈移位 寄存器的状态和输出
状态 (a3,a2,a1)
输出
101
1
图3 一个3级反馈移位寄存器
110 111
0 1
即输出序列为101110111011…,
011 101
1 1
周期为4。
110
0
线性反馈移位寄存器LFSR(linear feedback shift register)
可求出输出序列为 1001101001000010101110110001111100110…
周期为31。
总是假定c1,c2,…,cn中至少一个0,否则 f(a1,a2,…,an)≡0。
总是假定cn=1。
LFSR输出序列的性质:完全由其反馈函数决定。 n级LFSR状态数:最多有2n个。 n级LFSR的状态周期: 2n-1。 输出序列的周期=状态周期, 2n-1。
RC4是一种基于非线性数据表变化的流密码,它 以一个足够大的数据表S为基础,对表进行非线性 变换,产生非线性的密钥流序列。
RC4数据表的大小随着参数n的变化而变化,通 常取n=8,此时总共可以生成28个元素的数据表, 主密钥的长度至少为40比特。
RC4密钥流的每个输出都是数据表S中的一个ቤተ መጻሕፍቲ ባይዱ 机元素。
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器 2.3 流密码RC4

第2章-对称密码

第2章-对称密码

18
古典实例(3)

网格加密法:中国
例:密文:
王先生:
来信收悉,你的盛情难以报答。我已在昨天抵 达广州。秋雨连绵,每天需备伞一把。大约本月
中旬即可返回,再谈。
弟:李明 2001年11月7日
明文:情报在雨伞把中。
19
Vigenère密码(维吉尼亚方阵)
Vigenère密码是一种基于移位字母表的周期代换 密码,它的密钥 K 由一个字母序列来指定: k = k1…kd。 其中: ki ( i = 1 , … , d )给出了第 i 个字母表的 移动位数 例如:明文 INTELLIGENT 用密钥 PLAY 加密为: M=INTE LLIG ENT K=PLAY PLAY PLA Ek(M)=XYTC AMIE TYT 使用Vigenère表可以方便地进行加密和解密。
15
图形置换法

置换法:只改变明文字母位置。按照一定的方法来重新 排列字符,通常是借助于某种几何图表来实现。 加密过程分为两个步骤:
将明文按照一定的路径写入图表中; 以某种路径从图表中取出字符构成密文。

图例: 明文
写入
图表
取出
密文
典型例子:密码纸卷筒
16
古典实例(1)

凯撒密码(Julius Caesar):公元前50年
流密码分组密码密钥生成加密方式明文的处理加密性能安全性能流密码分组密码密钥生成密钥随机生成一次一密依据时间不同生成的密钥不同用户需要记录的初始密钥是唯一的每轮加密对密钥进行变换加密方式密钥和明文直接按位计算有多长的明文就要生成多长的密钥将明文分组密钥长度固定明文和密钥按位计算明文的处理不对明文做任何处理对明文进行复杂的换位计算打乱明文顺序加密性能加密机制简单速度较快适用于硬件化加密机制相对复杂明文和密钥都有一套变化和处理机制速度相对较慢安全性能密码的安全性依赖于密钥的随机性和周期不重复性密钥产生机制和加密方式都需要适当保密加密算法公开安全性完全依赖于密钥安全性能较高65三重des算法des的缺点就是密钥长度相对比较短所以人们并没有放弃使用des而是想出了一个解决其长度问题的方法即采用三重des112位密钥长度

第02章密码学概论

第02章密码学概论
13
传统密码学
四、传统密码学
3、凯撒(Caesar)密码 令 26 个字母分别对应于 0 ~ 25 , a=1,b=2……y=25,z=0。 凯撒加密变换实际上是c≡ (m + k) mod 26 其中m是明文对应的数据,c是与明文对应的密文数据,k是 加密用的参数,叫密钥。比如明文:data security 对应数据 序列:4,1,20,1,19,5,3,21,18,9,20,25 k=5时,得密文序列
9,6,25,6,24,10,8,0,23,14,25,4
密文:ifyxjhzwnyd 缺点:容易破解密码。
14
传统密码学
四、传统密码学
移位密码:如凯撒(Caesar)密码 。 仿射密码:如果选取k1,k2两个参数,其中 k1 与 26 互素, 令c≡(k1m + k2)mod 26。这种变换称为仿射变换。 置换密码: 1*. 置换π的表示: π=
17
传统密码学
四、传统密码学
5、维吉尼亚(Vigenere)密码
典型的多表密码,即一个明文字母可表示为多个密 文字母。:
例如:明文为System,密钥为dog,加密过程如下: 明文:S y s t e m 密钥:d o g d o g 密文:V m g w r s 在这个例子中,每三个字母中的第一、第二、第三 个字母分别移动(mod 26)3个,14个和6个位置。
COMPU
TERSY STEMS ECURI TY
密文:CTSETOETCYMREUPSMRUYSI
12
传统密码学
四、传统密码学
2、代替法 :代替密码就是明文中每一个字符被替换成密文 中的另外一个字符,代替后的各字母保持原来位置。对密文 进行逆替换就可恢复出明文。有四种类型的代替密码:(1) (1)单表(简单)代替密码:就是明文的一个字符用相应 的一个密文字符代替。加密过程中是从明文字母表到密文字 母表的一一映射。例:恺撒(Caesar)密码。 (2)同音代替密码:它与简单代替密码系统相似,唯一的 不同是单个字符明文可以映射成密文的几个字符之一同音代 替的密文并不唯一。 (3)多字母组代替密码:字符块被成组加密,例如“ABA” 可能对应“RTQ”,ABB可能对应“SLL”等。例:Playfair密码。 (4)多表代替密码:由多个单字母密码构成,每个密钥加 密对应位置的明文。 例:维吉尼亚密码。

密码学第2章 古典密码体制

密码学第2章 古典密码体制

密码体制 2.2: 代换密码
令 P C Z26 。 K 由 26 个数字 0,1,…,25 的所有
可能置换组成。对任意的置换 K ,定义:
再定义
e (x) (x) ,
d ( y) 1 ( y) ,
这里 1 代表置换 的逆置换。
也可以认为 P 和 C 是 26 个英文字母(而不是 Z26 元
解密法则 dK D 。并且对每一 eK : P C , dK : C P ,对任意
的明文 x P ,均有 d K (eK (x)) x 。
保密通信过程示意图
实用密码体制需要满足的基本条件
1.每个加密函数 ek 和每个解密函数 d k 应当能被有效地 计算。
2.即使看到密文串 y,窃听者 Oscar 确定所用的密钥 k 或明文串 x 是不可行的。
性质 1-10,说明 Zm 是一个环。
由于在 Zm 中存在加法逆,我们可以在 Zm 中做减法。定 义 Zm 中 a b 为 (a b) mod m 。即,我们计算整数 a b , 然后对它进行模 m 约化。例如,为了在 Z31 中计算,我们 首先用 11 减去 18,得到 7 ,然后计算 (7) mod 31 24 。
N O P Q R S T U VWX Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
2.1 移位密码(Shift Cipher)
模运算 定义 2.2:假设 a 和 b 均为整数, m 是一正整数。若 m 整 除 b a 则可将其表示为 a b(modm) 。式 a b(modm) 读 作“ a 与 b 模 m 同余”,正整数 m 称为模数。
例:计算101mod7 ,101 7 14 3 ,因为 0 3 6 ,故 101mod7 3

现代密码学清华大学出版社课堂课件ppt课件

现代密码学清华大学出版社课堂课件ppt课件

•单击此处编辑母版标题样式 无条件安全 • 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文,花费多少时 间都不能解密密文。 • 单击此处编辑母版副标题样式 • Shannon指出,仅当密钥至少和明文一样长时 达到无条件安全(即一次一密) • 计算安全 – 破译密文的代价超过被加密信息的价值 – 破译密文所花时间超过信息的有效期
1.1 信息的安全威胁
因特网的开放性和共享性,给人们提供了方便 也带来了危险。
图1.1 攻击类型分类
单击此处编辑母版标题样式
• 单击此处编辑母版副标题样式
图1.2 恶意程序分类
安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务 2. 认证业务 3. 完整性业务 4. 不可否认业务 5. 访问控制
• 2.1 流密码的基本概念 单击此处编辑母版标题样式 • 流密码 关键密钥流产生器 • •同步流密码 单击此处编辑母版副标题样式 • 自同步流密码 • 有限状态自动机 • 密钥流序列具有如下性质: 极大的周期、良好的统计特性、抗线性分析、抗 统计分析。 • 密钥流产生器:驱动部分和非线性组合部分
应用中对于分组码的要求 单击此处编辑母版标题样式
• 安全性
• 运行速度 • 单击此处编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大 小) • 实现平台(硬、软件、芯片)
• 运行模式
称明文分组到密文分组的可逆变换为代换 单击此处编辑母版标题样式
• 设计的算法应满足下述要求: • 分组长度n要足够大,使分组代换字母表中的元素 • 单击此处编辑母版副标题样式 个数2n足够大,防止明文穷举攻击法奏效。 • 密钥量要足够大(即置换子集中的元素足够多), 尽可能消除弱密钥并使所有密钥同等地好,以防 止密钥穷举攻击奏效。 • 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的 关系可循,要能抗击各种已知的攻击。

第2章 密码学

第2章 密码学

一个密码系统包含明文字母空 间、密文字母空间、密钥空间和算 法。密码系统的两个基本单元是算 法和密钥。 算法是一些公式、法则或程序, 规定明文和密文之间的变换方法; 密钥可以看成是算法中的参数。
如果取k=25,就可以得出下述 美军多年前曾使用过的一种加密算 法,即通过明文中的字母用其前面 的字母取代(A前面的字母视为Z)形 成密文的方法。 例如,当明文是 s e n d h e l p 时,则对应的密文为 R D M C G D K O。
续地处理输入元素,并随着该过程
的进行一次产生一个元素的输出。
现以最简单的古罗马凯撒大帝使 用过的凯撒密码为例,如果我们用数 字0,1,2,…,24,25分别和字母A, B,C,…,Y,Z相对应,则密文字母 Φ可以用明文字母θ表示如下: Φ = θ + 3(mod 26) (2-3)
例如,明文字母为Y,即θ=24 时,Φ=24+3=27=1(mod 26),因 此,密文字母为B。
密码学——主要研究通信保密, 而且仅限于计算机及其保密通信。 它的基本思想是通过变换信息的表 示形式来伪装需要保护的敏感信息, 使非授权者不能理解被保护信息的 含义。
所谓伪装,就是对传输的信息— 计算机软件中的指令和数据进行一组 可逆的数字变换。伪装前的原始信息 称为明文(plain text,通常记作P或 M);伪 装后的 信息称 为密文 (cipher text,记作C);伪装的过程称为加密 ( 由 明 文 变 成 密 文 的 过 程 , enciphering , 记 作 E); 加 密 要 在 加 密密钥(key,记作K)的控制下进行。
从上述的讨论,可见,对一个 密码系统的基本要求是: (1)知道KAB时,EAB容易计算。
(2)知道KAB时,DAB容易计算。

现代密码学 (2)

现代密码学 (2)
a=0101110, T2a =0111001…,
Ra,a(2)=(-1)0+0+(-1)1+1+(-1)0+1 +(-1)1+1 +(-1)1+0 +(-1)1+0 +(-1)0+1=-1, Ra,a(3)= Ra,a(4)= Ra,a(5)= Ra,a(6)=-1.
16
伪随机序列
哥伦布(Golomb, 1955)随性假设
12
2.2 线性反馈移位寄存器序列
伪随机序列 考虑二元序列: a={ai}=a0a1a2a3 …. 周期序列
定义2.1 设a= (a0, a1,…,ai,…)是一个二元序列,若 存在正整数N和非负整数m,使得ai+N=ai对于任意i m成立,则称二元序列a是终归周期序列。如果 m=0,则称序列a是严格周期序列,简称周期序列。
基于大数分解困难问题
公钥密码
基于离散对数困难问题 ......
3
2.1 流密码一般模型
流密码( stream cipher)(序列密码)体制模型
明文序列: m= m1 m2 m3 …; 密钥序列: z=z1 z2 z3 …; 密文序列: c= c1c2 c3 …; 加密变换: ci=E(zi,mi) (i=1,2,3,…); 解密变换: mi=D(zi, ci) (i=1,2,3,…).
如果cn=0,则称LFSR是退化的;否则称LFSR是非 退化的。
把多项式: f(x)=1+c1x+c2x2+…+cnxn
称为LFSR的特征多项式(characteristic polynomial), 或级连多项式、或生成多项式。

第2章密码学导论(2)

第2章密码学导论(2)
算法 三重DES算法 高级加密标准AES算法 RC4算法 加密操作模式
3
传统密码学历史
传统密码学起源于古代的密码术。早在古罗马 时代恺撒大帝就采用“替代”方法加密自己发 布的命令,这种“替代”加密方法被称为“恺 撒加密法”。传统密码学的基本原理可以归结 为两条对数据处理的方法:替代和换位。 美国国家标准局(NBS)于1977年颁布的数据加 密标准(DES)是目前广泛应用的传统加密方法。 美国国家标准与技术学会(NIST)在2001年颁布 的高级加密标准(AES)将是未来取代DES的一 种加密方法。
以此类推,可以用归纳法证明存在以下等式:
28
DES算法的解密过程(4)
当DES算法经过16次解密处理,可以得到:
L’16 || R’16 = R0 || L0
再经过DES算法后期左右换位和逆初始排列的 处理就可以得到:
IP – 1(L0 || R0) = IP – 1(IP(P)) = P (2.12)
23
DES算法每轮处理过程
每轮处理可以表示为: Li = R i-1, Ri = Li-1 ⊕ F(Ri-1, Ki)
待加密64比特数据块 Lj-1 (32比特) Rj-1 (32比特) 扩展排列 48 8个S-盒 排列 Kj 排列选择2 48比特 56比特密钥 Cj-1 (28比特) Dj-1 (28比特) 左移位 左移位
分析:在DES算法的正常求解过程中,通过两 次“异或”运算抵消了复杂的“替代”和“换 位”处理函数F对数据块的处理,无需寻找F的 逆函数。
29
三重DES算法
早在20世纪70年代颁布DES标准的时候,一些 密码学专家就预测到随着计算技术的发展, DES将难以满足安全性的需求,因此,提出了 对多重DES算法的研究。 多重DES算法基本思路是:通过多次对数据块 执行DES加密算法,提高密文的安全性。 三重DES算法,简称为TDES、TDEA或者 3DES,在1999年被接纳为NIST标准,该算法 可以将DES的密钥扩展为112比特或者168比特 长度。

密码学-DES密码(二)

密码学-DES密码(二)

第二章 分 组 密 码
2) DES加密过程
DES算法加密的过程大致可以分为三部 分:初始置换、16次迭代过程和逆置换, 其中在16次迭代过程中还必须从密钥中提 取子密钥,将32位的右半部分扩展为48位。 具体算法过程如下所示。
第二章 分 组 密 码
64位明文 初始置换
DES加密过程
密钥(1) 密钥(2) 密钥(3)
第二章 分 组 密 码
密钥k

明文(x1, x2,…, xn) 密 算 法
密文(y1, y2,…, yn)
加密一组明文的过程
第二章 分 组 密 码
• 分组密码设计原则 • 一般设计原则 • 混乱 • 扩散 • 实现的设计原则 • 软件 • 硬件
第二章 分 组 密 码
• 分组密码的结构; • 分组密码原则
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
第三章 分 组 密 码
• S盒的工作原理是这样的:若输入为101101 ,
其中首尾(11)两位二进制数转换为十进制数(3)作 为行,中间四位(0110)二进制数转换为十进制数 (6) 作 为 列 。 假 设 从 表 2-6 中 查 得 的 数 为 m , 0≤m≤15,m换为四位二进制数,则就是输入的四 位输出。
DES是一个对称算法:加密和解密用的是同一算法。 目前DES已被视为不安全,普遍使用的是变种triple DES, 即对64比特分组加密三次,每次用不同的密钥, 密钥长度总共168比特。
第二章 分 组 密 码
• 比较著名的对称加密算法
算法
注释
Blowfish
DES IDEA RC2
块加密;布鲁斯·施奈尔(Bruce Schneier)提出 块加密; 7 0年代提出 块加密(被认为是现有最好的算法)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

=(a1+a2x+…+anxn-1)+c1x(a1+a2x+…+an-1xn-2) +c2x2(a1+a2x+…+an-2xn-3)+…+cn-1xn-1a1
证明: 在等式 an+1=c1anc2an-1…cna1 an+2=c1an+1c2an…cna2 … 两边分别乘以xn,xn+1,…,再求和,可得 A(x)-(a1+a2x+…+anxn-1) =c1x[A(x)-(a1+a2x+…+an-1xn-2)] +c2x2[A(x)-(a1+a2x+…+an-2xn-3)]+…+cnxnA(x)
移项整理得 (1+c1x+…+cn-1xn-1+cnxn)A(x) =(a1+a2x+…+anxn-1)+c1x(a1+a2x+…+an-1xn-2) +c2x2(a1+a2x+…+an-2xn-3)+…+cn-1xn-1a1 即
(证毕)
注意在GF(2)上有a+a=0。
定理2.2 p(x)|q(x)的充要条件是G(p(x))G(q(x))。 证明:若p(x)|q(x), 可设q(x)=p(x)r(x),因此 A(x)=(x)/p(x)=[(x)r(x)]/[p(x)r(x)]=(x)r(x)/q(x) 所以若{ai}∈ G(p(x)), 则{ai}∈ G(q(x)), 即G(p(x)) G(q(x))。
2.1.2 有限状态自动机
有限状态自动机是具有离散输入和输出(输入 集和输出集均有限)的一种数学模型,由以下3部 分组成: ① 有限状态集S={ si | i=1,2,…,l }。 ② 有限输入字符集A1={ A(1)j| j=1,2,…,m}和有限输 出字符集A2={A(2)k |k=1,2,…,n}。 ③ 转移函数A(2)k=f1(si, A(1)j ),sh=f2(si, A(1)j) 即在状态为si,输入为A(1)j时,输出为A(2)k,而状 态转移为sh。
初始状态由用户确定, 当第i个移位时钟脉冲到来时,每一级存储器ai 都将其内容向下一级ai-1传递,并计算f(a1,a2,…,an) 作为下一时刻的an。 反馈函数f(a1,a2,…,an)是n元布尔函数,即n个变 元a1,a2,…,an可以独立地取0和1这两个可能的值, 函数中的运算有逻辑与、逻辑或、逻辑补等运算, 最后的函数值也为0或1。
k
安全信道
k

滚动密钥生成器 zi xi
Ez xi
i

滚动密钥生成器
zi
yi
yi
D z yi
i
xi
图2.2 同步流密码体制模型
二元加法流密码是目前最为常用的流密码体制,其 加密变换可表示为yi=zi xi。
图2.3 加法流密码体制模型
一次一密密码是加法流密码的原型。事 实上,如果(即密钥用作滚动密钥流),则 加法流密码就退化成一次一密密码。 实际使用中,密码设计者的最大愿望是 设计出一个滚动密钥生成器,使得密钥经其 扩展成的密钥流序列具有如下性质:极大的 周期、良好的统计特性、抗线性分析、抗统 计分析。
n级线性反馈移位寄存器的状态周期小于等于 2n-1。 输出序列的周期与状态周期相等,也小于等于 2n-1。只要选择合适的反馈函数便可使序列的周期 达到最大值2n-1. 周期达到最大值的序列称为m序列。
n
2.3 线性移位寄存器的一元多项式表示
设n级线性移位寄存器的输出序列{ai}满足递推 关系 an+k=c1an+k-1 c2an+k-2 … cnak (*) 对任何k>=1成立。这种递推关系可用一个一元高次 多项式 p(x)=1+c1x+…+cn+1xn-1+cnxn 表示,称这个多项式为LFSR的特征多项式或特征 多项式。
例2.2 图2.9是一个3级反馈移位寄存器,其初始状 态为(a1,a2,a3)=(1,0,1),输出可由表2.2求出。
图2.9 一个3级反馈移位寄存器
表2.2 一个3级反馈移位寄存器 的状态和输出
状态 (a1,a2,a3)

输出

1 1 1 0 1 1
0 1 1 1 0 1
1 0 1 1 1 0
n级LFSR输出序列的周期r不依赖于初始条件, 而依赖于特征多项式p(x)。我们感兴趣的是LFSR 遍历2n-1个非零状态,这时序列的周期达到最大2n1,这种序列就是m序列。 显然对于特征多项式一样,而仅初始条件不同 的两个输出序列,一个记为{a(1)i},另一个记为 {a(2)i},其中一个必是另一个的移位,即存在一个 常数k,使得 a(1)i=a(2)k+i, i=1, 2,…
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 n-1a2 1an c …c 其中常数ci=0或1,是模2加法。ci=0或1可用开关 的断开和闭合来实现,如图2.10所示。
若输入序列为A(1)1 A(1)2 A(1)1 A(1)3 A(1)3 A(1)1, 初始状态为s1, 则得到状态序列 s1s2s2s3s2s1s2 输出字符序列 A(2)1 A(2)1 A(2)2 A(2)1 A(2)3 A(2)1
2.1.3 密钥流产生器
密钥流产生器: 参数为k的有限状态自动机, 一个输出符号集Z、一个状态集∑、两个函数φ和ψ 以及一个初始状态σ0组成。 状态转移函数φ:σi→σi+1,将当前状态σi变为一个新 状态σi+1, 输出函数ψ:σi→zi,当前状态σi变为输出符号集中的 一个元素zi。
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器 2.3 线性移位寄存器的一元多项式表示 2.4 m序列的伪随机性 2.5 m序列密码的破译 2.6 非线性序列 习题
2.1 流密码的基本概念
流密码的基本思想: 密钥:k 产生一个密钥流:z=z0 z1…, 明文串:x=x0 x1 x2… 加密: y=y0 y1 y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流发生器f: zi=f(k,σi), σi是加密器中的记忆元件(存储器)在时刻i的状态, f是由密钥k和σi产生的函数。
图2.6 密钥流生成器的分解
图2.7 常见的两种密钥流产生器
2.2 线性反馈移位寄存器
移位寄存器是流密码产生密钥流的一个主要组成部分。 GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反 馈函数f(a1,a2,…,an)组成,如图2.8所示。
图2.8 GF(2)上的n级反馈移位寄存器
每一存储器称为移位寄存器的一级,在任一时 刻,这些级的内容构成该反馈移位寄存器的状态, 每一状态对应于GF(2)上的一个n维向量,共有2n种 可能的状态。每一时刻的状态可用n长序列 a1,a2,…,an 或n维向量 (a1,a2,…,an) 表示,其中ai是第i级存储器的内容。
分组密码与流密码的区别就在于有无记忆性 流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和 指定的初态σ0完全确定。 此后,由于输入加密器的明文可能影响加密器 中内部记忆元件的存储状态, σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。
k
k
y1
xi
x1Βιβλιοθήκη xm无记忆元件

反之,若G(p(x))G(q(x)),则对于多项式(x),存 在序列{ai}∈ G(p(x))以A(x)=(x) / p(x)为生成函数。 特别地,对于多项式(x)=1,存在序列 {ai}∈ G(p(x)) 以1 / p(x)为生成函数。由于 G(p(x)) G(q(x)), 序列{ai}∈ G(q(x)), 所以存在函 数r(x),使得{ai}的生成函数也等于r(x) / q(x),从而 1/p(x)= r(x) / q(x),即q(x)=p(x)r(x),所以p(x)|q(x). (证毕) 上述定理说明可用n级LFSR产生的序列,也可 用级数更多的LFSR来产生。
定义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。 证明:由p(x)周期的定义得p(x)|(xp-1), 因此存在 q(x),使得xp-1=p(x)q(x),又由p(x)A(x)=(x)可得 p(x)q(x)A(x)=(x)q(x), 所以(xp-1)A(x)=(x)q(x)。由于q(x)的次数为 p-n,(x)的次数不超过n-1,所以(xp-1)A(x)的次 数不超过(p-n)+(n-1)=p-1。将(xp-1)A(x)写成 xp A(x)- A(x),可看出对于任意正整数i都有ai+p=ai。 设p=kr+t,0≤t<r,则ai+p=ai+kr+t=ai+t=ai,所以t=0,即 r | p。(证毕)
图2.10 GF(2)上的n级线性反馈移位寄存器
输出序列{at}满足 an+t=cnatcn-1at+1…c1an+t-1 其中t为非负正整数。 线性反馈移位寄存器因其实现简单、速度快、 有较为成熟的理论等优点而成为构造密钥流生成器 的最重要的部件之一。
例2.3 图2.11是一个5级线性反馈移位寄存器,其初 始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输出 序列为 1001101001000010101110110001111100110… 周期为31。
相关文档
最新文档