当前位置:文档之家› 第2章 密码学基础(Issue 1.0)

第2章 密码学基础(Issue 1.0)



21
密钥分发方法
1,密钥由Alice选择,然后物理地传递给Bob。 2,由第三方Tom选择一对相同的密钥,然后物理地 传递给Alice和Bob。 3,如果Alice和Bob在不久以前使用过一个密钥,一 方可以使用旧密钥加密新密钥并传输给另一方。 4,如果Alice和Bob每人都有一个到第三方Tom的加 密连接,Tom就可以用加密连接把密钥传递给 Alice和Bob。

15
送信的问题
Alice
Bob
Alice要给Bob送信,其中信件的内容非常重要,最好亲自交给Bob。但两 人又无法见面,只能交给邮递员运送或让其他人转交。 如何保证信件不被别人打开呢? Alice可以把信件放到箱子里,然后用锁将箱子锁住, 然后再交给邮递员,这样不就不怕别人打开了嘛!

24
中间人攻击
DH密钥交换容易被中间人攻击(man-in-themiddle)所破坏: 第三方Mallory插在Alice和Bob的中间,侦听Alice 和Bob之间的通信。当Alice向Bob发起通信时扮演 Bob;当Bob向Alice发起通信时扮演Alice。Alice 和Bob都与Mallory协商了一个密钥,然后Mallory 就可以监听和传递Alice和Bob之间的通信,而 Alice和Bob全然不知。
对于K中的某个密钥k,存在相应的加密算法e(属于E)和解密算法d( 属于D),使得dk (ek (p))=p.

12
密码体制分类

流密码和分组密码

对称和非对称密码

13
密码分析攻击

仅有密文攻击
攻击者可以获得密文,并且知道加密算法,在此种 情况下所进行的密文破解攻击。
列2 o y
列3 e i
列4 h k
列5 l t

密文 loehl tyikt
8
一次一密
根据密码本逐个进行加密, 每个密码本均有完全相同的 两本。
在加密时只使用一次,用另 一个相同的密码本进行解密, 使用后将密码本销毁。一次 一密可以实现无条件的安全 性。

9
加密和解密

加密:
Bob怎么打开箱子?需要钥匙! Alice如何将钥匙传递给Bob?

16
对称密码体制

钥匙相同
Alice锁箱子用的钥匙和Bob打开箱子用的钥匙是相 同的。

对称密码体制
加密密钥和解密密钥相同的密码体制称为对称密码 学。
由于对称密码中的密钥是严格私有的,因此对称密 码体制也称为私钥密码体制。

已知明文攻击
攻击者知道某些明文和密文的对应,根据已有的这 些信息进行的密文破解攻击。

可选明文攻击
攻击者可以选择某些明文进行加密,并且获得明文 对应的密文,在此基础上所进行的密文破解攻击。

14
目录
密码学基础 对称密码 密钥分发技术 非对称密码 数字签名 公共密钥基础设施

明文 HELLO 密文 GHBBF


7
置换密码
在置换密码中,保持明文的所有字母不变,只是利 用置换打乱了明文字母的位置。
x π(x) 1 4 2 5 3 2 4 1 5 3
列1
列2
列3
列4
列5

h
k
e
i
l
t
l
t
o
y
明文 hello kitty
列1 l t

Alice以前的签名都用钢笔,这次怎么是圆 珠笔签名呢?到底是不是Alice本人签的?

30
公钥密码算法

RSA算法
RSA算法1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年正式公布。

算法实现
1,生成两个大素数p和q,计算n=pq 2,选择一个随机数b, 3,求b的逆为a 4,公钥为(n, b),私钥为(p, q, a) 密文y=xb,明文ya=(xb)a=xab=x1=x
将明文编码为密文的过程被称之为加密。而加密的 方法即被称之为加密算法。

解密
将密文解码为明文的过程称之为解密,它是加密的 相反过程。同样,解密的方法被称之为解密算法。

10
密钥

密钥是算法的关键
不管是加密算法还是解密算法,都要使用到密钥。 密钥是类似于一次一密中的密码本的东西,它作为 算法的重要材料来参与编码计算。
公钥
Alice将锁锁上所用的钥匙K1。 公钥是可以公开的密钥。任何想给Bob发送秘密邮 件的人都可以获得Bob的公钥。

私钥
Bob开锁所用的钥匙K2。 私钥需要被严格保密,它是保密通信的保证。只有 Bob才能拥有。

28
非对称密码体制
加密密钥和解密密钥不相同的密码体制称为非对称 密码体制。 由于非对称密码体制中的公钥是可以公开的,因此 非对称密码也被称为公钥密码体制

22
Diffie-Hellman密钥交换算法

目的
在非安全的通信信道上安全的建立共享密钥。

用途
DH算法可用于密钥分发,但不能用于加密或解密 消息。

23
DH算法实现
假设Alice和Bob要产生共享密钥,来用于加密和解密,则 DH算法可以这样实现: 1,Alice和Bob实现选择两个非常大的素数n和g,这两个 数无需保密; 2,Alice选择一个非常大的随机数a,并且做计算 X=gamod n,然后Alice将X发送给Bob; 3,Bob也独立的选择一个非常大的随机数b,并且做计算 Y= gb mod n,然后Bob将Y发送给Alice; 4,Alice使用a和从Bob接收的Y做计算,计算出K1=Ya; 5,Bob使用b和从Alice接收的X做计算,计算出K2=Xb; 最终K1=K2=gab就是共享密钥。

31
公钥密码算法的安全性
公钥密码算法的安全性都是基于数学难题的,其中有两个 主要的数学难题:

离散对数分解难题
DH算法基于“有限域上的离散对数分解”这个难 题。
即:在已知X和g的情况下,在数学上计算出a是不 可行的(时间无限长或代价过高)。

素因子分解难题
RSA算法基于“素因子分解”这个数学难题。
天王盖地虎,白塔镇河妖。

6
代换密码
代换密码中,明文的字符将会被其他的字符所代替,常用方法为查表法。
A X N S
B N O F
C Y P L
D A Q R
E H R C
F P S V
G O T M
H G U U
I Z V E
J Q W K
K W X J
L B Y D
M T Z I
k1
发送方
k2
接收方Βιβλιοθήκη 明文、密文、密钥、加密算法和解密算法五个元素构成了密码体制, 密码体制是一个使通信双方能进行秘密通信的协议。 从数学上来讲,密码体制是一个五元组(P,C,K,E,D),其中: (1) P是明文的集合;C是密文的集合; (2) K是密钥构成的有限集,成为密钥空间; (3) E是加密算法,D是解密算法
目录
密码学基础 对称密码 密钥分发技术 非对称密码 数字签名 公共密钥基础设施
密码学

密码学是研究信息系统安全保密的科学。 分为密码编码学和密码分析学。
密码编码学(Cryptography)主要研究对信息进
行编码,实现对信息的隐蔽。 的破译或消息的伪造 。
密码分析学(Cryptanalysis)主要研究加密消息
Alice
Mallory
Bob

25
目录
密码学基础 对称密码 密钥分发技术 非对称密码 数字签名 公共密钥基础设施

26
继续送信问题
假设Bob有一把锁和两个钥匙K1和K2,其中K1用于将锁锁上, 而K2用于将锁打开,K1和K2这两个钥匙是不一样的。 那么Alice和Bob怎么安全传递这封信件呢?
即:p和q为两个大素数,n=pq。在已知n的情况下, 分解出来p和q是计算困难的。

32
公钥密码的特点
1. 2. 3.
公钥用于加密,私钥用于解密,公私钥既不相同 也不相关; 密钥交换可以通过公共信道进行,无需保密; 密钥量级为参与者的数目;
4.
5.
既可以用于加解密,也可以用于数字签名;

20
密钥分发

打开箱子的关键
Bob需要拿到Alice手中的钥匙,那如何才能拿到呢?

密钥分发
将钥匙从Alice传递给Bob对应于密码学中的密钥分发。
所谓密钥分发就是要在不让其他人看到密钥的情况下将 一个密钥传递给希望交换数据的双方。 密钥分发是对称密码学的关键,其中密钥的安全性也是 对称密码学安全性的重要保证。 这个被发送者和接收者共同拥有的密钥一般称为共享密 钥。
两者不同
加密密钥
不可相互推导
解密密钥 解密密钥
加密密钥

29
公钥密码算法

Diffie-Hellman密钥交换算法
Diffie-Hellman密钥交换算法(简称DH算法)是由Diffie 和Hellman在1976年的“密码学新方向”论文中首次 阐述,这篇影响深远的论文奠定了非对称密码学的基 础。 用于密钥交换,其中的X为公钥,而a为对应私钥;Y 为公钥,b为对应私钥。

密码学的研究目的是在不安全的信道中 传输安全信息。

4
信息安全目标

机密性(Confidentiality)


完整性(Integrity)
不可否认性(Non-reputation)
相关主题