密码学基础与应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

30
扩展置换(E)
• 将Ri从32位扩展到48位 • 目的:输入的一位影响下一步的两个替换,使得输 出对输入的依赖性传播得更快,密文的每一位都依 赖于明文的每一位
1234
32 48 1234 5678
5678
1 2 3 4 5 6 7 8 9 10 11 12 13 14 ……46 47 48 32 1 2 3 4 5 4 5 6 7 8 9 8 9…. 31 32 31 1
C=P
K
解密:
P=C K=C
K P
10
• 已知明文、密文,怎样求得密钥? • 只知道密文,如何求得密文和密钥?
3.1.2 密码学的基本概念
• 密码学基本模型
Key 发 送 方
plaintext ciphertext
Key
plaintext
Encryption 不安全信道 密码分析
Decryption
密钥分配(秘密信道)
发 送 m 方
k 加密 E
c= Ek (m)
k 解密 D
m= Ek (c)
m
接 收 方
密码分析
15
对称密码算法和非对称密码算法
• 对称密钥密码算法,又称传统密码算法、秘密密钥 密码算法
– 加密和解密使用相同的密钥 Ke =Kd – 常用算法:DES, IDEA, Blowfish, RC2等
• 数字签名和抗抵赖(Non-repudiation )
– 源发抗抵赖 – 交付抗抵赖
22
内容提要
3.1 密码学的基本概念 3.2 对称密钥密码算法
3.2.1 对称密钥算法简介 3.2.2 DES 算法原理 3.2.3算法模式 3.2.4 DES的安全性和速度 3.2.5 其他对称密码算法简介
3.3 非对称密钥密码算法 3.4 单向散列函数 3.5 数字签名 3.6 密钥管理和公钥基础设施(PKI) 3.7 OpenSSL简介
U
E A
U
R N
N
S D
密文:
codtaueanurnynsd
5
3.1.1 密码学的历史(Cont.)
• 转轮密码机ENIGMA,由 Arthur Scherbius于1919年 发明,4 轮ENIGMA在 1944年装备德国海军.
6
3.1.1 密码学的历史(Cont.)
英国的TYPEX打字密码机,是德国3轮ENIGMA的改进型 密码机。它在英国通信中使用广泛,且在破译密钥后 帮助破解德国信号。
– Parker Hitt ‘‘ 军事密码破译指南’’ 的开场白
– 毅力、审慎的分析方法、直觉、运气。
20
3.1.4 密码分析(Cont.)
• 密码算法的安全性
– 如果破译算法的代价大于加密数据本身的价值, 或者在信息的生命期内无法破解,那么你的算法 可能是安全的。 – 一个算法被称为是计算上安全的,如果一个算法 用可得到的资源不能破解。
• 处理复杂性:计算量,CPU时间 • 数据复杂性:所需输入数据量 • 存储复杂性:计算所需的存储空间
21
3.1.4 密码技术的主要用途
• 数据保密—数据加密/解密
– 数据加密(存储和传输)
• 认证技术
– 实体身份认证 – 数据源发认证
• 信息完整性保护
– 数据在传输过程中没有被插入、篡改、重发;
• 优点
– 加密速度快,便于硬件实现和大规模生产
• 缺点
– 密钥分配:必须通过保密的信道 – 密钥个数:n(n-1)/2 – 无法用来签名和抗抵赖(没有第三方公证时)
16
对称密码和非对称密码(Cont.)
• 非对称密码,又称公开密钥密码算法
– 加密和解密使用不同的密钥(Kp, Ks),把加密密钥公开, 解密密钥保密: c= EKp(m) , m=DKs (c) – 常用算法:RSA, DSA, 背包算法,ElGamal , 椭圆曲线等
3.2 对称密钥密码算法 3.3 非对称密钥密码算法 3.4 单向散列函数 3.5 数字签名 3.6 密钥管理和公钥基础设施(PKI) 3.7 OpenSSL简介
3
3.1.1 密码学的历史
• 古罗马:Caesar 密码
密码本 密文 明文 密文
ABCDEFGHIGKLMNOPQRSTUVWXYZ DEFGHIGKLMNOPQRSTUVWXYZABC
M=m1m2,……m62m63,m64 IP(M) M’=m58m50,……m23m15,m7
29
一轮迭代
32 bits 32 bits
Li-1
Ri-1
E-盒置换
48
f
S-盒代替
32
Ki ( 48bits)
P-盒置换
Li=Ri-1 32 bits
Ri=Li-1
ห้องสมุดไป่ตู้
f (Ri-1 ,Ki )
32 bits
19
3.1.4 密码分析(Cont.)
• Success in dealing with unkown ciphers is measured by these four things in the order named, perseverance, careful methods of analysis, intuition, luck. The ability at least to read the language of the original text is very desirable but not essential.
7
3.1.1 密码学的历史(Cont.)
• 图灵(Alan Mathison Turing)
–Alan Mathison Turing,1912~1954. 英国 数学家。 一生对智能与机器之间的关系进 行着不懈探索。 –1936年,24岁的图灵提出 “图灵机”的设 想。二战期间成功地破译了纳粹德国的密码, 设计并制造了 COLOSSUS,向现代计算机迈进 了重要一步。 –1952年,图灵遭到警方拘捕,原因是同性恋。 1954年6月8日,服毒自杀,年仅42岁。 –图灵去世12年后,美国计算机协会以他的名 字命名了计算机领域的最高奖“图灵奖”。
• 古典密码(受限密码)的缺陷
– 密码体制的安全性在于保持算法本身的保密性 – 受限算法的缺陷
• 不适合大规模生产 • 不适合较大的或者人员变动较大的组织 • 用户无法了解算法的安全性
14
古典密码和现代密码(Cont.)
• 现代密码算法
– 把算法和密钥分开 – 密码算法可以公开,密钥保密 – 密码系统的安全性在于保持密钥的保密性
8
一个简单的加密算法—异或
00 0 11 0 1 0 1 0 1 1
x0 x x x 0 x 1 x
1 1
x x 1
9
一个简单的加密算法—异或
• 异或
异或运算(不带进位加法): 明文: 0 0 加密: 密钥: 0 1 密文: 0 1 密文: 密钥: 明文: 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1
第四讲 密码学基础与应用(1)
1
内容提要
3.1 密码学的基本概念 3.2 对称密钥密码算法 3.3 非对称密钥密码算法 3.4 单向散列函数 3.5 数字签名 3.6 密钥管理和公钥基础设施(PKI) 3.7 OpenSSL简介
2
内容提要
3.1 密码学的基本概念
3.1.1 密码学的历史 3.1.2 密码学的基本概念 3.1.3 算法的分类 3.1.4 密码分析 3.1.5 密码技术的用途
27
DES算法概要
Plaintext Initial Permutation Roud1
Permuted Choice2 Permuted Choice2
64bits
Permuted Choice1 Left Circular Shift
Roud1
Left Circular Shift
Round16 IP-1 ciphertext
12
3.1.3 密码算法的分类
• 古典密码算法和现代密码算法
– 按照算法和密钥是否分开
• 对称密钥密码和非对称密钥密码
– 加密和解密是否使用相同的密钥
• 分组密码和序列密码
– 每次操作的数据单元是否分块
13
古典密码和现代密码
• 古典密码
– 代替密码(Substitution Cipher) – 换位密码 (transposition Cipher) – 代替密码与换位密码的组合
• 使用标准的算术和逻辑运算
26
DES 加密过程
首先把明文分成以64 bit为单位的块m,对于 每个m, 执行如下操作
DES(m)=IP-1 • T16 • T15 •..... T2 • T1 • IP(m)
– 初始置换, IP – 16轮迭代,Ti , i=1,2,…16 – 末置换,IP-1
一次加密或解密操作作用于一位或者一个字节
密钥序列发生器
随机序列
Key
密钥序列发生器
Pi
Ci
随机序列
Ci
Pi
18
3.1.4 密码分析
• 在未知密钥的前提下,从密文恢复出明文、或者推 导出密钥 • 对密码进行分析的尝试称为攻击 • 攻击方法分类(根据已知信息量的多少)
– – – – – – 唯密文攻击 已知明文攻击 选择明文攻击 自适应选择明文攻击 选择密文攻击 选择密钥攻击
• 优点:
– 密钥分配:不必保持信道的保密性 – 密钥个数:n pair – 可以用来签名和抗抵赖
• 缺点
– 加密速度慢,不便于硬件实现和大规模生产
17
分组密码和序列密码
• 分组密码(Block Cipher)
– 一次加密或解密操作作用于一个数据块,比如64位
• 序列密码(Stream Cipher)
S-盒 置换
• 将48比特压缩成32比特
Ri-1 (32 bits) E
48 bits
Ki ( 48bits)
S1
S2
S3
S4
S5
S6
S7
S8
32
S-盒 置换
b1 b2 b3 b4 b5 b6
Caesar was a great soldier
Fdhvdu zdv d juhdw vroglhu
4
CAESAR 密码 : c=( m+ 3) Mod 26
3.1.1 密码学的历史(Cont.)
• 美国南北战争
输入方向 输 出 方 向
C
A
N
Y
明文: Can you understand
O
D T
Permuted Choice2
Left Circular Shift
28
64bits
初始换位(IP)
• 初始换位(IP)
58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 2 4 6 8 1 3 5 7
23
3.2.1 对称密钥算法简介
• 加密和解密使用相同的密钥:KE=KD • 密钥必须使用秘密的信道分配
密钥分配(秘密信道)
发 送 方
k
k c= Ek (m) 解密 D m= Dk (c)
m
加密 E
m
接 收 方
24
3.2.1 对称密钥算法简介(Cont.)
• 常用对称密钥密码算法
– – – – – – DES (Data Encryption Standard )及其各种变形 IDEA (International Data Encryption Algorithm) RC2, RC4, RC5, AES(Advanced Encryption Standard) CAST-128 Blowfish
25
3.2.2 DES算法原理
• IBM 公司,70年代初提出,80年代成为国家 标准 • DES是一种对称密钥算法,密钥长度为56bits (加上奇偶校验,通常写成64bits) • 是一种分组加密算法,64 bits为一个分组 • 基本思想:
– 混乱(Confusion) 和扩散(Diffusion )
接 收 方
加密:c= EK (m)
解密:m= DK (c)
(Cryptanalysis)
11
3.1.2 密码学的基本概念(Cont.)
• 密码编码:通过信息编码使信息保密 • 密码分析:用分析方法解密信息 • 基本术语
– 明文(plain text),密文(cipher text) – 加密(encrypt, encryption), 解密(decrypt, decryption) – 密码算法(Algorithm),密码(Cipher):用来加密和解密的 数学函数 c=E(m), m=D(c) , D(E(m))= m – 密钥(Key): 算法中的一个变量 c=EKe(m), m=DKd(c) , DKd(EKe(m))= m
相关文档
最新文档