第2章密码学导论3
合集下载
第二章 密码学概论
•)
25
பைடு நூலகம்
•例子
–为了容易记忆,常用英文单词充当密钥 –密钥vector –数值表示k=(21, 4, 2, 19, 14,17),m=6,
–明文:here is how it works。
26
•例子 •具体加密过程如下:
•明文:h e r e i s h o w i t w o r k s * * •密钥:21 4 2 19 14 17 21 4 2 19 14 17 21 4 2 19 •密文:C I T X W J C S Y B H N J V M L •优点:
18
二 古典密码体制-Playfair密码
• 基本原理
–多字母加密密码:
• 将明文中的双字母组合作为一个加密单元对待, 并将这些单元转换为密文双字母组合。
– Playfair算法基于一个5×5的字母矩阵,该矩 阵使用一个关键词构造,方法是按从左到右、 从上到下顺序,填入关键词的字母(去除重复 字母)后,将字母表其余字母填入。
•对每个明文字母p,用密文字母C代替 •则恺撒密码的加密算法可表示为: •C=E(p)=(p+3) mod 26 •而解密算法则可表示为 •p=D(C)=(C-3) mod 26
15
二 古典密码体制-恺撒密码
•改进的恺撒密码系统 •明文的发送方和接收方事先协商好一个密钥。 •用k(1≤k≤25)表示密钥,则通用的恺撒加 密算法表示为: •C=E(p)=(p+k) mod 26 •相应的,解密算法可表示为: •p=D(C)=(C-k) mod 26
•例 •明文we are discovered save yourself •分组成为:
•we ar ed is co ve re ds av ey ou rs el fk
第2章密码学概论70787
举例:
如m=6,用密钥置换
K 13
2 5
3 1
4 6
5 4
62
对明文shesellsseashellsbytheseashore进行加密。
解:首先将明文分成6个字母长的明文组:
shesel | lsseas | hellsb | ythese | ashore
然后将每个6字母长的明文组按密钥置换K重新排列如下:
2、密钥词组代换密码
随机选一个词语,去掉其中的重复字母,写到矩阵的第一行, 从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵。
然后按列取出字母构成密文字母表。
举例:密钥:HONG YE
矩阵:HONGYE ABCDFI JKLMPQ RSTUVW
选出顺序:按列
注意:改变密钥、 矩阵大小和取出序 列,可以得到不同 的密文字母表。
2.2 经典密码体制——多表代换密码
多表代换密码中最著名的一种密码是维吉尼亚
(Vigenre)密码。
Vigenre密码:以移位代换为基础的周期代换
密码,m个移位代换表由m各字母组成的密钥字
确定。
2.2 经典密码体制——多表代换密码
举例:
设密钥字为deceptive,明文为wearediscovered。其 中密钥字母a,b,…,y,z对应数字0,1,…,24,25。根据
2.1 密码学的基本概念
加密:对需要保密的消息进行编码的过程。编 码的规则称为加密算法。
· 需要加密的消息称为明文。 · 明文加密后的形式称为密文。
解密:从密文中恢复出明文的过程称。解密的 规则称为解密算法。
加密算法和解密算法通常在一对密钥控制下进 行,分别称为加密密钥和解密密钥。
密码学导论
计算机单机,专人操作
网络时代 • 需要自动工具来保护存储在计算机
中的文件及其它信息
• 需要可靠措施来保护网络和通信链
接中的数据传输
计算机安全:单机数据安全
网络安全:传输过程中的数据安全
密码学导论--中国互科联学技网术安大全学 :全网络上的数据安全
4
一个通信安全的例子
❖ Alice与Bob通信
Alice
密码编码学与网络安全:原理与实践(第六版 •William Stallings, 电子工业出版社,2006年
❖ 参考书:
)
应用密码学——协议、算法与C源程序
•Bruce Schneier, 机械工业出版社,2001
密码编码学和密码分析
•机械工业出版社,吴世忠等译,2001年
密码学与计算机网络安全
•卿斯汉,清华大学出版社,2001年
密码学导论中国科学技术大学绪论经典技术与理论经典密码密码学理论基础密码算法分组密码流密码公开密钥密码媒体内容安全基础安全技术消息认证及其算法数字签名与认证密码应用密钥管理与应用密码协议
本章目录
第一节 复杂的信息安全
• 信息安全的复杂性 • 安全框架与模型
第二节 密码学的历史
第三节 密码学基本概念
• 基本术语、基本模型、基本原则、基本参数 • 安全的种类、密码分析基本类型 • 密码体制分类
多方协议,……
密码学导论--中国科学技术大学
10
网络访问安全模型
用户
访问通道
看门 函数
❖ 使用网络访问安全模型需要:
选择合适的看门函数识别用户 实现安全控制,确保仅授权用户可以使用指定信息或资源
❖ 可信计算机系统有助于实现此模型
信息系统
第2章密码学导论
通用恺撒加密法可以得到这样的启示,如果 某个加密法只依靠密钥保密,则这种密钥的选 择应该具有很好的随机性,并且可以选择的空 间足够大,使得攻击者利用现有的计算技术, 在可能的时间范围内无法破译。 • 根据目前主频为3.0GHz计算机的处理能力,长 度为80的二进制数密钥在目前基本上是无法穷 举了。 • 通用恺撒加密法的密钥相当于长度为5的二进 制数密钥,当然就很容易被破译。
28
• 以此类推,可以用归纳法证明存在以下等式:
DES算法的解密过程(4)
• 当DES算法经过16次解密处理,可以得到:
L’16 || R’16 = R0 || L0
• 再经过DES 算法后期左右换位和逆初始排列的 处理就可以得到:
IP – 1(L0 || R0) = IP – 1(IP(P)) = P (2.12)
6
通用凯撒密码算法
• W. Stallings将凯撒密码算法中的字母表移位数 从3扩展到任意数k < 26, 这样, 就可以得到通用 凯撒密码加密算法: C = E(p) = (p + k) mode 26 • 这样, 通用凯撒密码解密算法就可以表示为: p = D(C) = (C - k) mod 26 • 这里k就是通用凯撒密码的密钥. 由于k只有25 个可能取值, 所以, 在已知加密/解密算法下, 只 要尝试25种密钥, 就可以破译通用凯撒密码.
密钥: 明文: 2 5 1 3 4 行 a t t a c k a f t e r d a r k 密文: TADCEKAKRTFAATR
列
25134即按阵中第2、5、1、3、4列的顺序形成密文
14
课堂练习
• 采用矩阵加密法加密明文“meet you at six”,请采用3×4矩阵,密钥为3142。
28
• 以此类推,可以用归纳法证明存在以下等式:
DES算法的解密过程(4)
• 当DES算法经过16次解密处理,可以得到:
L’16 || R’16 = R0 || L0
• 再经过DES 算法后期左右换位和逆初始排列的 处理就可以得到:
IP – 1(L0 || R0) = IP – 1(IP(P)) = P (2.12)
6
通用凯撒密码算法
• W. Stallings将凯撒密码算法中的字母表移位数 从3扩展到任意数k < 26, 这样, 就可以得到通用 凯撒密码加密算法: C = E(p) = (p + k) mode 26 • 这样, 通用凯撒密码解密算法就可以表示为: p = D(C) = (C - k) mod 26 • 这里k就是通用凯撒密码的密钥. 由于k只有25 个可能取值, 所以, 在已知加密/解密算法下, 只 要尝试25种密钥, 就可以破译通用凯撒密码.
密钥: 明文: 2 5 1 3 4 行 a t t a c k a f t e r d a r k 密文: TADCEKAKRTFAATR
列
25134即按阵中第2、5、1、3、4列的顺序形成密文
14
课堂练习
• 采用矩阵加密法加密明文“meet you at six”,请采用3×4矩阵,密钥为3142。
密码学导论
❖ 从本质上讲,程序或政策
的实施是用来告诉人们
(管理员,用户和运营商)
如何使用产品以确保组织
内的信息安全。
密码学导论--中国科学技术大学
7
安全的复杂性
❖ 信息本身的安全涉及到数据的复杂性 ❖ 网络安全涉及到通信和网络 ❖ 安全机制或算法必须考虑各种各样潜在威胁
目标是消除所有可能的攻击
❖ 安全机制的应用位置:物理或逻辑上 ❖ 秘密信息的产生、分配和保护等问题
密码协议选讲 媒体内容安全
密码学导论--中国科学技术大学
15
教材与参考书
❖ 课程主页:
http://202.38.64.11/~whli/cryptography/index.html
密码编码学与网络安全:原理与实践(第六版 •William Stallings, 电子工业出版社,2006年
13
本课程内容
数论基础
密码学 基本理论
密码编码技术 密码分析技术
密码应用:
• Hash • 签名 • 身份认证 • 密钥分配、分享 • 不经意传输 • 公平计算 •…
密码学导论--中国科学技术大学
14
章节安排
经典技术与
理论
密码算法
密码应用
绪论
经典密码学
密码学理论 基础
数论基础
分组密码 流密码
公开密钥密码 认证技术
收据与确认:告知已经收到信息或服务 不可否认性:实体不能否认自己的行为
密码学导论--中国科学技术大学
6
The Information Security Triad: CIA
(From Wiki)
❖ 信息安全属性CIA:保密 性、完整性、可用性。
第2章-密码学基础要点课件
• 3. 第3阶段为1976年至今。 • 1976年Diffie 和 Hellman 发表的文章“密码学的新动
向”一文导致了密码学上的一场革命。他们首先证明了在 发送端和接收端无密钥传输的保密通信是可能的,从而 开创了公钥密码学的新纪元。从此,密码开始充分发挥 它的商用价值和社会价值,普通人才能够接触到前沿的
• 2. 第二阶段为1949年到1975年。 • 1949年香农发表的<<保密系统的信息理论>>为私钥
密码系统建立了理论基础,从此密码学成为一门科学, 但密码学直到今天仍具有艺术性,是具有艺术性的一门 科学。这段时期密码学理论的研究工作进展不大,公开 的密码学文献很少。
版权所有,盗版必纠
8
3.1.2 密码学的发展
版权所有,盗版必纠
24
3.3.1 DES加密算法
• DES加密算法
版权所有,盗版必纠
25
3.3.2 3DES算法
• DES算法的弱点是不能提供足够的安全性,因为其密 钥容量只有56位。由于这个原因,后来又提出了三重 DES即3DES算法,使用3个不同的密钥对数据块进行(
2次或) 3次加密,该方法比进行3次普通加密快。其强度
• (3) 认证性: 接收者可以认出发送者,也可以证明声称 的发送者确实是真正的发送者。
• (4) 不可抵赖性:发送者无法抵赖曾经送出这个信息。
版权所有,盗版必纠
16
3.2 古典密码学 3.2.1 密码通信模型
•w
版权所有,盗版必纠
17
3.2.2 代替密码
• 代替密码(Substitution Cipher)又叫替换密码,就是明 文中的每一个字符被替换成密文中的另一个字符。接收者 对密文做反向替换就可以恢复出明文。典型的代替密码是 凯撒密码。
向”一文导致了密码学上的一场革命。他们首先证明了在 发送端和接收端无密钥传输的保密通信是可能的,从而 开创了公钥密码学的新纪元。从此,密码开始充分发挥 它的商用价值和社会价值,普通人才能够接触到前沿的
• 2. 第二阶段为1949年到1975年。 • 1949年香农发表的<<保密系统的信息理论>>为私钥
密码系统建立了理论基础,从此密码学成为一门科学, 但密码学直到今天仍具有艺术性,是具有艺术性的一门 科学。这段时期密码学理论的研究工作进展不大,公开 的密码学文献很少。
版权所有,盗版必纠
8
3.1.2 密码学的发展
版权所有,盗版必纠
24
3.3.1 DES加密算法
• DES加密算法
版权所有,盗版必纠
25
3.3.2 3DES算法
• DES算法的弱点是不能提供足够的安全性,因为其密 钥容量只有56位。由于这个原因,后来又提出了三重 DES即3DES算法,使用3个不同的密钥对数据块进行(
2次或) 3次加密,该方法比进行3次普通加密快。其强度
• (3) 认证性: 接收者可以认出发送者,也可以证明声称 的发送者确实是真正的发送者。
• (4) 不可抵赖性:发送者无法抵赖曾经送出这个信息。
版权所有,盗版必纠
16
3.2 古典密码学 3.2.1 密码通信模型
•w
版权所有,盗版必纠
17
3.2.2 代替密码
• 代替密码(Substitution Cipher)又叫替换密码,就是明 文中的每一个字符被替换成密文中的另一个字符。接收者 对密文做反向替换就可以恢复出明文。典型的代替密码是 凯撒密码。
第二章 密码学概述
为m个字符的小段,也就是说,每一小段是m个字符的 串,可能的例外就是串的最后一小段不足m个字符。加 密算法的运算同于密钥串和明文串之间的移位密码,每 次的明文串都使用重复的密钥串。解密同于移位密码的 解密运算。
维吉尼亚密码
例子:令密钥串是gold,利用编码规则,这个
密钥串的数字表示是(6, 14, 11, 3)。明文串
第二章主要内容
基本概念
密码体制及其分类
古典密码算法
学科定义和内容
密码学(Cryptology)是研究信息系统安全保密
的科学,是对信息进行编码实现隐蔽信息的一
门学问 信息安全就是利用密码学中提供的算法实现信 息在存储、传输、处理等过程中不被损坏的一 门学问
区别:一个是研究算法,一个是研究协议
为可能
相关技术的发展主要包括三个标志性成果
1949年Shannon的“The Communication Theory of Secret Systems” 1967年David Kahn的《The Codebreakers》
1971-73年IBM Watson实验室的Horst Feistel等几篇 技术报告
第三阶段其它成果
除了提出公钥加密体制外,在对称算法方面也
有很多成功的范例
1977年DES正式成为标准
80年代出现“过渡性”的“Post DES”算法,如
IDEA、RCx、CAST等 90年代对称密钥密码进一步成熟 Rijndael、 RC6、 MARS、Twofish、Serpent等出现 2001年Rijndael成为DES的替代者,被作为高
例如:明文为:proceed meeting as agreed
02 密码学导论
• (1)balloon -> ba lx lo on -> db sp gs ug • (2)book -> bo ok -> sr qg • (3)fill -> fi lx lx -> ae sp sp
14
LiJT
Playfair
• E, D, p, C, K?
15
LiJT
Security of the Playfair Cipher
7
LiJT
Monoalphabetic Cipher Security
• • • • now have a total of 26! = 4 x 1026 keys with so many keys, might think is secure but would be !!!WRONG!!! problem is language characteristics
11
LiJT
Playfair 密钥矩阵
• 5×5变换矩阵: I与J视为同一字符
• 基于关键字构造一个密钥矩阵 • eg. 使用关键字:cipher
CI PHE RABDF GKLMN OQSTU VWXYZ
12
LiJT
加密方法
• Playfair:将明文中的双字母组合作 为一个单元对待,并将这些单元转 换为密文的双字母组合 • 加密规则:按双字母组合加密
Key: deceptivedeceptivedeceptive Plaintext: wearediscoveredsaveyourself Ciphertext: ZICVTWQNGRZGVTWAVZHCQYGLMGJ
20
LiJT
Example
• • • • • write the plaintext out write the keyword repeated above it use each key letter as a caesar cipher key encrypt the corresponding plaintext letter eg using keyword deceptive
第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)多表代替密码:由多个单字母密码构成,每个密钥加 密对应位置的明文。 例:维吉尼亚密码。
传统密码学
四、传统密码学
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.存储信息的保护 信息用密码技术加密处理后进行存储,保 证只有掌握解密密钥的合法用户才能够存 取数据,得到正确的明文,在许多用户系 统中,保护个人秘密、防止文件被破坏。
3.通信双方的身份验证 密码技术不仅广泛应用于防止传输中的信息 和记录存储的信息不被攻击者非法窃听、浏 览和篡改,同时,也可以用于识别通信双方 的真实性。
这种对存取数据和发来电文的对方的合法性 进行确证的方法叫“验证”。 4.非否认性 密码技术还应用于不可否认性服务。它包含 对源和目的双方的证明,通常的情况下,不 可否认服务是一种数字签名服务。
除此之外,密码技术还广泛地应用于计算机 网络安全领域的其它方面。
2.1.3密码的分类 一般情况下,密码方法都是一些基本方法的组合。它们 通常分为三类:移位法、代替法、代数法 1、移位法是将明文中的字母重新排列,字母本身并不 改变,但相对的位置发生了一定的变化。 2、代替法是将明文中的字母用其它字母进行代替,而 原来的位置并不产生变化。 3、代数法首先将明文转换成数,或直接将明文信息用 二进制数表示作为运算对象,然后再进行特定的运算产 生密文。
每一轮DES: Li = Ri-1, Ri = Li-1 XOR f(Ri-1,Ki)
函 数 f 的 细 节 : 数 据 右 半 部 分 通 过 扩 展 ( expansion permutation)由32位扩展为48位,并通过一个异或操作与 经 过 移 位 和 置 换 的 4 8 位 密 钥 结 合 , 其 结 果 通 过 8 个 S- 盒 (substitution box)将这48位替代成新的32位数据,再将其 置换一次
(置换:把输入的64位数据块按位重新组合,并把输出分为L0 、R0两部分,每部分各长32位,其置换规则见下表:
3.通信双方的身份验证 密码技术不仅广泛应用于防止传输中的信息 和记录存储的信息不被攻击者非法窃听、浏 览和篡改,同时,也可以用于识别通信双方 的真实性。
这种对存取数据和发来电文的对方的合法性 进行确证的方法叫“验证”。 4.非否认性 密码技术还应用于不可否认性服务。它包含 对源和目的双方的证明,通常的情况下,不 可否认服务是一种数字签名服务。
除此之外,密码技术还广泛地应用于计算机 网络安全领域的其它方面。
2.1.3密码的分类 一般情况下,密码方法都是一些基本方法的组合。它们 通常分为三类:移位法、代替法、代数法 1、移位法是将明文中的字母重新排列,字母本身并不 改变,但相对的位置发生了一定的变化。 2、代替法是将明文中的字母用其它字母进行代替,而 原来的位置并不产生变化。 3、代数法首先将明文转换成数,或直接将明文信息用 二进制数表示作为运算对象,然后再进行特定的运算产 生密文。
每一轮DES: Li = Ri-1, Ri = Li-1 XOR f(Ri-1,Ki)
函 数 f 的 细 节 : 数 据 右 半 部 分 通 过 扩 展 ( expansion permutation)由32位扩展为48位,并通过一个异或操作与 经 过 移 位 和 置 换 的 4 8 位 密 钥 结 合 , 其 结 果 通 过 8 个 S- 盒 (substitution box)将这48位替代成新的32位数据,再将其 置换一次
(置换:把输入的64位数据块按位重新组合,并把输出分为L0 、R0两部分,每部分各长32位,其置换规则见下表:
网络安全原理与应用 第2章 密码学导论
26
主要内容
• • • • • • • 恺撒加密法 传统密码学基本原理 数据加密标准DES算法 三重DES算法 高级加密标准AES算法 RC4算法 加密操作模式
27
传统密码学历史
• 传统密码学起源于古代的密码术。早在古罗马 时代恺撒大帝就采用“替代”方法加密自己发 布的命令,这种“替代”加密方法被称为“恺 撒加密法”。传统密码学的基本原理可以归结 为两条对数据处理的方法:替代和换位。 • 美国国家标准局(NBS)于1977年颁布的数据加 密标准(DES)是目前广泛应用的传统加密方法。 • 美国国家标准与技术学会(NIST)在2001年颁布 的高级加密标准(AES)将是未来取代DES的一 种加密方法。
15
加密系统的安全性(续3)
• 表2.1 典型常数和参数数量级别一览表
典型常数和参数 一年的秒钟数 数量级别 3.15×107
主频为3.0GHz的CPU的一年运转的时钟循环次数
56个比特长度的二进制数个数 64个比特长度的二进制数个数 80个比特长度的二进制数个数 128个比特长度的二进制数个数
9.46×1016
传统密码学概述
沈苏彬 南京邮电大学 信息网络技术研究所
25
关键知识点
• • • • 传统密码学的基本原理是“替代”和“换位” 传统密码学的加密和解密采用同一个密钥 传统密码学的安全性很大程度上决定密钥长度 目前常用的传统密码学算法是DES算法,56比 特的DES算法并不安全。 • 未来拟采用的传统密码学算法是AES算法
30
通用凯撒密码算法
• W. Stallings将凯撒密码算法中的字母表移位数 从3扩展到任意数k < 26, 这样, 就可以得到通用 凯撒密码加密算法: C = E(p) = (p + k) mode 26 • 这样, 通用凯撒密码解密算法就可以表示为: p = D(C) = (C - k) mod 26 • 这里k就是通用凯撒密码的密钥. 由于k只有25 个可能取值, 所以, 在已知加密/解密算法下, 只 要尝试25种密钥, 就可以破译通用凯撒密码.
第2章密码学导论(3)
19
RSA算法的密钥选择(续)
(2)选择一个很大的随机整数d,使得该整数与 (p – 1) * (q – 1)的最大公因子为1 (3)从p,q和d中计算出e,e是以(p – 1) * (q – 1) 为模的d的倒数,即 e * d = 1 (mod (p – 1) * (q – 1)) • 从以上算法过程可以看出,私钥是根据一定规 则选择的,而公钥是计算得出的。
9
公钥密码学原理
• W. Diffie和M. Hellman于1976年首先给出了公 钥密码系统的定义: • 一个公钥密码系统由一对加密算法E和解密算 法D构成,该公钥密码系统采用一个密钥对集 合KS = {(PK, VK)},对于任何一个KS集合中 的密钥对(PK, VK)与任何一个明文P,存在以 下特性: • (1)采用密钥对(PK, VK)中任何一个密钥对 明文P执行加密算法E,都可以采用另外一个密 钥对密文进行解密。
第2章 密码学导论(3)
公钥密码学概述
关键知识点
• 公钥密码学是为了解决电信网环境下的安全数 据传递而提出的密码方法。 • 公钥密码学可以公开部分密钥。 • 公钥加密算法目前采用计算不可逆原理 • 目前广泛应用的公钥加密算法是RSA算法 • Diffie-Hellman密钥生成算法可以解决在公共电 信网环境下数据加密传递的问题
10
公钥密码学原理(续1)
(2)对于掌握了密钥对(PK, VK),则加密算法E 和解密算法D都是容易计算的。 (3)如果公开密钥对中的一个密钥,例如PK, 则无法通过计算推导出另外一个密钥,例如 VK。 (4)如果只掌握了密钥对中的一个密钥PK,并 且利用该密钥将明文P加密得到密文C,则无法 再利用该密钥将C进行解密得到明文P。 • 这4个特性较为完整地刻画了公钥密码系统的 特征。
chapter2密码学
2015-5-16
15
2.1.3 密码学的基本术语和模型
密文(CipherText):经过加密后得到的信息称为密 文。
解密(Decryption) :将密文恢复成原明文的过程 或操作称为解密。解密也称为脱密。
加密算法(Encryption Algorithm):将明文消息加 密成密文所采用的一组规则或数学函数。
1 E N
2 N E
3 G E
4 I R
E
N
2015-5-16
R
E
N
I
E
G
I
N
G
E
34
例2.4 设密钥k=soap,列出各个字母的出现次序,按 此输出列的顺序。
s 4 o 2 a 1 p 3
E
N
N
E N
G
E G
I
R E
则得到密文 GEGNENIREENI
2015-5-16
I
35
又例: 密钥 C I P H E R 顺序 1 4 5 3 2 6 明文 a t t a c k be gi ns at f o ur 明文的意思是 四时开始进攻
2015-5-16
11
2.1.2 密码学的发展
第3个阶段,以C.E.Shannon在1949年发表的文章 “The Communication Theory of Secrecy Systems”(中 文译名《保密系统的信息理论》)为起点的传统密 码学;
在文章中对信息源、密钥源、接收和截获的密文, 以及密码系统的安全性进行了数学描述和定量分析, 并提出了通用的秘密密钥密码体制模型(即对称密 码体制的模型),从而使密码研究真正成为了一门 学科。
2.2.3 DES 2.2.4 其它算法 2.3 非对称密码系统
15
2.1.3 密码学的基本术语和模型
密文(CipherText):经过加密后得到的信息称为密 文。
解密(Decryption) :将密文恢复成原明文的过程 或操作称为解密。解密也称为脱密。
加密算法(Encryption Algorithm):将明文消息加 密成密文所采用的一组规则或数学函数。
1 E N
2 N E
3 G E
4 I R
E
N
2015-5-16
R
E
N
I
E
G
I
N
G
E
34
例2.4 设密钥k=soap,列出各个字母的出现次序,按 此输出列的顺序。
s 4 o 2 a 1 p 3
E
N
N
E N
G
E G
I
R E
则得到密文 GEGNENIREENI
2015-5-16
I
35
又例: 密钥 C I P H E R 顺序 1 4 5 3 2 6 明文 a t t a c k be gi ns at f o ur 明文的意思是 四时开始进攻
2015-5-16
11
2.1.2 密码学的发展
第3个阶段,以C.E.Shannon在1949年发表的文章 “The Communication Theory of Secrecy Systems”(中 文译名《保密系统的信息理论》)为起点的传统密 码学;
在文章中对信息源、密钥源、接收和截获的密文, 以及密码系统的安全性进行了数学描述和定量分析, 并提出了通用的秘密密钥密码体制模型(即对称密 码体制的模型),从而使密码研究真正成为了一门 学科。
2.2.3 DES 2.2.4 其它算法 2.3 非对称密码系统
信息安全概论 ppt 第二章密码学概论
•可是谢尔比乌斯突然时来运转。英国政府发表了两份关于一次 大战的文件使得德国军队开始对他的发明大感兴趣。其中一份是 1923年出版的温斯顿· 丘吉尔的著作《世界危机》,其中有一段 提到了英国和俄国在军事方面的合作,指出俄国人曾经成功地破 译了某些德军密码,而使用这些成果,英国的40局(英国政府负 责破译密码的间谍机构)能够系统性地取得德军的加密情报。德 国方面几乎是在十年之后才知道这一真相。第二份文件同样是在 1923年由皇家海军发表的关于第一次世界大战的官方报告,其中 讲述了在战时盟军方面截获(并且破译)德军通讯所带来的决定 性的优势。这些文件构成了对德国情报部门的隐性指控,他们最 终承认“由于无线电通讯被英方截获和破译,德国海军指挥部门 就好象是把自己的牌明摊在桌子上和英国海军较量。 •为了避免再一次陷入这样的处境,德军对谢尔比乌斯的发明进 行了可行性研究,最终得出结论:必须装备这种加密机器。自 1925年始,谢尔比乌斯的工厂开始系列化生产ENIGMA,次年 德军开始使用这些机器。接着政府机关,如国营企业,铁路部门 等也开始使用ENIGMA。这些新型号的机器和原来已经卖出的 一些商用型号不同,所以商用型机器的使用者就不知道政府和军 用型的机器具体是如何运作的。
1
2.1 密码学的基本概念
密码学的起源和发展 三个阶段: • 1949年之前 密码学是一门艺术 • 1949~1975年 密码学成为科学 • 1976年以后 密码学的新方向——公钥密码学
2
历史回顾
密码学在公元前400多年就早已经产生了,正如《破译者》 一书中所说“人类使用密码的历史几乎与使用文字的时间一样 长”。密码学的起源的确要追溯到人类刚刚出现,并且尝试去 学习如何通信的时候,为了确保他们的通信的机密,最先是有 意识的使用一些简单的方法来加密信息,通过一些(密码)象 形文字相互传达信息。接着由于文字的出现和使用,确保通信 的机密性就成为一种艺术,古代发明了不少加密信息和传达信 息的方法。例如我国古代的烽火就是一种传递军情的方法,再 如古代的兵符就是用来传达信息的密令。就连闯荡江湖的侠士, 都有秘密的黑道行话,这都促进了密码学的发展。 军事和外交一直是密码应用的最重要的领域,国王、将军、 外交官以及阴谋分子等,为了在通讯过程中保护自己信息不被 外人所知,使用过形形色色的密码;而为了刺探于己不利的秘 密,他们又绞尽脑汁地试图破译对手的密码。加密与解密一直 是密码学这枚硬币互相对抗又互相促进的两面。 在第一次世界大战期间,德国间谍曾经依靠字典编写密码。 例如25-3-28表示某字典的第25页第3段第28个单词。但是,这种 加密方法被美国情报部门用了几天时间破译了。给德国造成了 巨大的损失。 3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • 公钥密码学发展动因 公钥密码学基本原理 RSA公钥加密算法 Diffie-Hellman密钥生成算法 公钥密码体系与密钥管理
2
公钥密码学历史
• Diffie和Hellman于1976年首先提出公钥密码学 的需求和思路, 这是几千年来密码学中的真正 的一次革命性的进步. 这是电信时代产物. • 美国麻省理工学院的Ron Rivest, Adi Shamir, Len Adleman于1978年首先提出的公共密钥加 密算法RSA, RSA算法的发明使得公钥密码学 得到了广泛的应用 • 2003年5月, 发明公钥加密算法的Ron Rivest, Adi Shamir和Len Ademan获得2002度图灵奖(计 算机领域的诺贝尔奖)
18
RSA算法的密钥选择(续)
(2)选择一个很大的随机整数d,使得该整数与 (p – 1) * (q – 1)的最大公因子为1 (3)从p,q和d中计算出e,e是以(p – 1) * (q – 1) 为模的d的倒数,即 e * d = 1 (mod (p – 1) * (q – 1)) • 从以上算法过程可以看出,私钥是根据一定规 则选择的,而公钥是计算得出的。
3
Whitfield Diffie
• Whitfield Diffie是世界著名的密码技术与安全 技术专家,1991年加盟Sun公司,在Sun实验 室工作。 • Diffie 以其 1975 年发现公钥密码技术的概念 而著名,被业界公认为信息技术安全事物的 权威人士。
Whitfield Diffie
22
RSA算法的证明(续2)
• 这样,就可以得到如下公式: M k *(n) +1 = M (mod p) (6) • 同理可以得到如下公式: M k *(n) +1 = M (mod q) (7) • 由于n = p * q,综合公式(6)和(7),按照取 模运算规则可以得出: M k *(n) +1 = M (mod n) • 这样,就证明了RSA算法的加密和解密过程是 正确的。
7
公钥密码学发展动因(续3)
• 为了解决电信网环境下数据完整传递的问题,必须设 计一种机制,使得该发送方传递的数据,除发送方之 外,任何其他一方都无法修改数据。这样,才能通过 电信网传递商业合同。 • 由于传统密钥学的加密算法中发送方和接收方共用同 一个密钥,则接收方接收后可以更改数据。这样,传 统密码学无法解决电信网环境下数据完整传递的问题。 • 公钥密码体系中只有一方掌握私钥VK,则发送方采用 私钥加密报文摘要后传递,则其他一方无法修改报文 而不被发觉。
11
RSA公钥加密算法
• RSA公钥加密算法是R. L. Rivest,A. Shamir和 L. Adleman在1978年提出一种具体实现公钥密 码系统的加密算法。 • 该算法随后以这三位发明者姓氏的第一个英文 字母组合成的缩写RSA命名,即RSA公钥加密 算法,简称为RSA算法。 • 这是迄今为止使用最为广泛的公钥加密算法, 特别是在数字签名方面得到了广泛的应用。
12
Ron Rivest Adi Shamir Leonard Adleman RSA公开密钥算法的发明人 (1978年)
13
RSA公钥加密算法(续)
• RSA公钥加密算法是基于数论中的欧拉定 理和费马定理设计的一种加密算法,其安 全性主要是基于“大数分解”的不可解特 性。 • RSA公钥加密算法可以分成两个部分:
16
RSA算法加密/解密过程(续)
(3)如果需要对密文C进行解密,则只需要对C 进行d次乘法运算,然后再对乘积取n的模,这 样,就得到报文M。 M = D(C) = Cd (mod n) • 这里(d, n)就是与公钥(e, n)对应的私钥,这是需 要该“密钥对”所有者秘密保存的密钥。 • 这里的e,d和n是需要用户在生成“密钥对” 过程中选择和生成的正整数。
关键知识点
• 公钥密码学是为了解决电信网环境下的安全数 据传递而提出的密码方法。 • 公钥密码学可以公开部分密钥。 • 公钥加密算法目前采用计算不可逆原理 • 目前广泛应用的公钥加密算法是RSA算法 • Diffie-Hellman密钥生成算法可以解决在公共电 信网环境下数据加密传递的问题
1
主要内容
10
公钥密码学原理(续2)
• 由于公钥密码学中的加密算法采用了不同的加 密和解密密钥,所以,也称为不对称密钥加密 算法。其原理如下图所示。
破译方 密文C = EPK(P) 公共通道 破译文P’
明文P
加密方 PK 公钥池
解密方 VK 私钥池
明文P = DVK(C)
图2.16 不对称密钥加密算法原理示意图
公钥密码学发展动因(续1)
• 在通信网环境下,传统密码学无法实现 快速的密钥分发,所以,传统的密码学 无法解决电信网环境的数据安全问题。
破译方 密文C = EK(P) 公共通道 K 破译文P’
明文P
加密方 K 密钥池
解密方
明文P = DK(C)
秘密通道 图2.15 对称密钥加密算法原理示意图
6
公钥密码学发展动因(续2)
17
RSA算法的密钥选择
• 为了使用RSA加密算法,首先需要按照以下方 法选择并生成RSA公钥加密算法的“密钥对”。 (1)选择两个很大的“随机”素数p和q,这两 个素数的乘积就是RSA密钥中的正整数n,即 n = p * q • 如果p和q足够大,即使公开n,则根据目前的 计算能力,也无法分解出p和q。
Martin Hellman
4
公钥密码学发展动因
• 公钥密码学发展动因来源于电信网环境 下安全数据传递的应用。 • 电信网环境数据的传递存在两类安全威 胁:其一是窃取电信网上传递的数据; 其二在电信网传递的数据中插入非法的 数据。为了解决这个问题,可以采用密 码学方法对电信网传递的数据进行加密。
5
27
简单例子
• 为了说明该算法的工作过程,我们下面给出一个简单例子,显然我们在 这只能取很小的数字,但是如上所述,为了保证安全,在实际应用上 我们所用的数字要大的多得多。 • 例1:选取p=3, q=5,则n=15,(p-1)*(q-1)=8。选取e=11(大于p 和q的质数),通过d * 11 = 1 mod 8,计算出d =3。 假定明文为整数13。则密文C为 C = Me mod n = 1311 mod 15 = 1,792,160,394,037 mod 15 =7 复原明文P为: P = Cd mod n = 73 mod 15 = 343 mod 15 = 13
20
RSA算法的证明(续1)
• 对于RSA中公钥(e, n)和私钥(d, n)中的参 数,存在以下关系: e * d = 1 (mod (p – 1) * (q – 1)), 即 e * d = 1 (mod (n)) • 这样,取模运算的规则可知,可以找到 某个整数k,使得 e * d = k *(n) +1
(i) 设x0 =(n),x1 = d,j = 1 (ii) xj+1 = xj-1 (mod xj) (iii) 如果xj+1 0,则j = j + 1,转(ii);如果xj+1 = 0,则输出最大公因子xj。
26
RSA算法的实现(续3)
• 由于(n)与d互质,所以,它们的最大公 因子是1。就可以找到参数e1和e2,使得 e1 * (n) + e2 * d = 1 • 这里的e2满足e2 * d (mod (n)) = 1的条件, 所以,e2可以作为与d对应的公钥e。 • 如果得出的e小于log2(n),则从安全角度 考虑,需要重新选择d,重新计算e。
9
公钥密码学原理(续1)
(2)对于掌握了密钥对(PK, VK),则加密算法E 和解密算法D都是容易计算的。 (3)如果公开密钥对中的一个密钥,例如PK, 则无法通过计算推导出另外一个密钥,例如 VK。 (4)如果只掌握了密钥对中的一个密钥PK,并 且利用该密钥将明文P加密得到密文C,则无法 再利用该密钥将C进行解密得到明文P。 • 这4个特性较为完整地刻画了公钥密码系统的 特征。
21
RSA算法的证明(续2)
• 以下就可以证明RSA算法。RSA算法的加密之 后的解密过程可以表示为: D(E(M)) = (E(M))d = (Me)d (mod n) = Me * d (mod n) = M k *(n) +1 (mod n) (5) • 由于p无法整除M,这样,按照公式(1)和(2)可 以得出: Mp – 1 = 1 (mod p) • 由于(p – 1)是(n)的因子,所以, M k *(n) = 1 (mod p)
19
RSA算法的证明
• 按照欧拉和费马的定理可知,对于任何一个整 数M(M相当于转换成为整数的报文),如果 与n互质,则 M(n) = 1 (mod n) (1) • 这里(n)表示所有小于n的,与n互质的正整数 的个数。 • 对于任何一个素数p, (p) = p – 1 (2) (n) = (p * q) = (p) * (q) = (p – 1) * (q – 1) (3)
• 选择与(n)互质的私钥d的方法比较简单,例如 任何大于max(p, q)的素数都可以作为d。为了 防范攻击者猜测到私钥,d的选择集合应该足 够大,不一定只局限于素数。
25
RSA算法的实现(续2)
• 可以采用欧几里德算法,通过计算(n)与 d的最大公因子选择公钥e。 • 欧几里德计算(n)和d的最大公因子 gcd((n), d)的算法可以表示为如下形式:
8
公钥密码学原理
• W. Diffie和M. Hellman于1976年首先给出了公 钥密码系统的定义: • 一个公钥密码系统由一对加密算法E和解密算 法D构成,该公钥密码系统采用一个密钥对集 合KS = {(PK, VK)},对于任何一个KS集合中 的密钥对(PK, VK)与任何一个明文P,存在以 下特性: • (1)采用密钥对(PK, VK)中任何一个密钥对 明文P执行加密算法E,都可以采用另外一个密 钥对密文进行解密。
2
公钥密码学历史
• Diffie和Hellman于1976年首先提出公钥密码学 的需求和思路, 这是几千年来密码学中的真正 的一次革命性的进步. 这是电信时代产物. • 美国麻省理工学院的Ron Rivest, Adi Shamir, Len Adleman于1978年首先提出的公共密钥加 密算法RSA, RSA算法的发明使得公钥密码学 得到了广泛的应用 • 2003年5月, 发明公钥加密算法的Ron Rivest, Adi Shamir和Len Ademan获得2002度图灵奖(计 算机领域的诺贝尔奖)
18
RSA算法的密钥选择(续)
(2)选择一个很大的随机整数d,使得该整数与 (p – 1) * (q – 1)的最大公因子为1 (3)从p,q和d中计算出e,e是以(p – 1) * (q – 1) 为模的d的倒数,即 e * d = 1 (mod (p – 1) * (q – 1)) • 从以上算法过程可以看出,私钥是根据一定规 则选择的,而公钥是计算得出的。
3
Whitfield Diffie
• Whitfield Diffie是世界著名的密码技术与安全 技术专家,1991年加盟Sun公司,在Sun实验 室工作。 • Diffie 以其 1975 年发现公钥密码技术的概念 而著名,被业界公认为信息技术安全事物的 权威人士。
Whitfield Diffie
22
RSA算法的证明(续2)
• 这样,就可以得到如下公式: M k *(n) +1 = M (mod p) (6) • 同理可以得到如下公式: M k *(n) +1 = M (mod q) (7) • 由于n = p * q,综合公式(6)和(7),按照取 模运算规则可以得出: M k *(n) +1 = M (mod n) • 这样,就证明了RSA算法的加密和解密过程是 正确的。
7
公钥密码学发展动因(续3)
• 为了解决电信网环境下数据完整传递的问题,必须设 计一种机制,使得该发送方传递的数据,除发送方之 外,任何其他一方都无法修改数据。这样,才能通过 电信网传递商业合同。 • 由于传统密钥学的加密算法中发送方和接收方共用同 一个密钥,则接收方接收后可以更改数据。这样,传 统密码学无法解决电信网环境下数据完整传递的问题。 • 公钥密码体系中只有一方掌握私钥VK,则发送方采用 私钥加密报文摘要后传递,则其他一方无法修改报文 而不被发觉。
11
RSA公钥加密算法
• RSA公钥加密算法是R. L. Rivest,A. Shamir和 L. Adleman在1978年提出一种具体实现公钥密 码系统的加密算法。 • 该算法随后以这三位发明者姓氏的第一个英文 字母组合成的缩写RSA命名,即RSA公钥加密 算法,简称为RSA算法。 • 这是迄今为止使用最为广泛的公钥加密算法, 特别是在数字签名方面得到了广泛的应用。
12
Ron Rivest Adi Shamir Leonard Adleman RSA公开密钥算法的发明人 (1978年)
13
RSA公钥加密算法(续)
• RSA公钥加密算法是基于数论中的欧拉定 理和费马定理设计的一种加密算法,其安 全性主要是基于“大数分解”的不可解特 性。 • RSA公钥加密算法可以分成两个部分:
16
RSA算法加密/解密过程(续)
(3)如果需要对密文C进行解密,则只需要对C 进行d次乘法运算,然后再对乘积取n的模,这 样,就得到报文M。 M = D(C) = Cd (mod n) • 这里(d, n)就是与公钥(e, n)对应的私钥,这是需 要该“密钥对”所有者秘密保存的密钥。 • 这里的e,d和n是需要用户在生成“密钥对” 过程中选择和生成的正整数。
关键知识点
• 公钥密码学是为了解决电信网环境下的安全数 据传递而提出的密码方法。 • 公钥密码学可以公开部分密钥。 • 公钥加密算法目前采用计算不可逆原理 • 目前广泛应用的公钥加密算法是RSA算法 • Diffie-Hellman密钥生成算法可以解决在公共电 信网环境下数据加密传递的问题
1
主要内容
10
公钥密码学原理(续2)
• 由于公钥密码学中的加密算法采用了不同的加 密和解密密钥,所以,也称为不对称密钥加密 算法。其原理如下图所示。
破译方 密文C = EPK(P) 公共通道 破译文P’
明文P
加密方 PK 公钥池
解密方 VK 私钥池
明文P = DVK(C)
图2.16 不对称密钥加密算法原理示意图
公钥密码学发展动因(续1)
• 在通信网环境下,传统密码学无法实现 快速的密钥分发,所以,传统的密码学 无法解决电信网环境的数据安全问题。
破译方 密文C = EK(P) 公共通道 K 破译文P’
明文P
加密方 K 密钥池
解密方
明文P = DK(C)
秘密通道 图2.15 对称密钥加密算法原理示意图
6
公钥密码学发展动因(续2)
17
RSA算法的密钥选择
• 为了使用RSA加密算法,首先需要按照以下方 法选择并生成RSA公钥加密算法的“密钥对”。 (1)选择两个很大的“随机”素数p和q,这两 个素数的乘积就是RSA密钥中的正整数n,即 n = p * q • 如果p和q足够大,即使公开n,则根据目前的 计算能力,也无法分解出p和q。
Martin Hellman
4
公钥密码学发展动因
• 公钥密码学发展动因来源于电信网环境 下安全数据传递的应用。 • 电信网环境数据的传递存在两类安全威 胁:其一是窃取电信网上传递的数据; 其二在电信网传递的数据中插入非法的 数据。为了解决这个问题,可以采用密 码学方法对电信网传递的数据进行加密。
5
27
简单例子
• 为了说明该算法的工作过程,我们下面给出一个简单例子,显然我们在 这只能取很小的数字,但是如上所述,为了保证安全,在实际应用上 我们所用的数字要大的多得多。 • 例1:选取p=3, q=5,则n=15,(p-1)*(q-1)=8。选取e=11(大于p 和q的质数),通过d * 11 = 1 mod 8,计算出d =3。 假定明文为整数13。则密文C为 C = Me mod n = 1311 mod 15 = 1,792,160,394,037 mod 15 =7 复原明文P为: P = Cd mod n = 73 mod 15 = 343 mod 15 = 13
20
RSA算法的证明(续1)
• 对于RSA中公钥(e, n)和私钥(d, n)中的参 数,存在以下关系: e * d = 1 (mod (p – 1) * (q – 1)), 即 e * d = 1 (mod (n)) • 这样,取模运算的规则可知,可以找到 某个整数k,使得 e * d = k *(n) +1
(i) 设x0 =(n),x1 = d,j = 1 (ii) xj+1 = xj-1 (mod xj) (iii) 如果xj+1 0,则j = j + 1,转(ii);如果xj+1 = 0,则输出最大公因子xj。
26
RSA算法的实现(续3)
• 由于(n)与d互质,所以,它们的最大公 因子是1。就可以找到参数e1和e2,使得 e1 * (n) + e2 * d = 1 • 这里的e2满足e2 * d (mod (n)) = 1的条件, 所以,e2可以作为与d对应的公钥e。 • 如果得出的e小于log2(n),则从安全角度 考虑,需要重新选择d,重新计算e。
9
公钥密码学原理(续1)
(2)对于掌握了密钥对(PK, VK),则加密算法E 和解密算法D都是容易计算的。 (3)如果公开密钥对中的一个密钥,例如PK, 则无法通过计算推导出另外一个密钥,例如 VK。 (4)如果只掌握了密钥对中的一个密钥PK,并 且利用该密钥将明文P加密得到密文C,则无法 再利用该密钥将C进行解密得到明文P。 • 这4个特性较为完整地刻画了公钥密码系统的 特征。
21
RSA算法的证明(续2)
• 以下就可以证明RSA算法。RSA算法的加密之 后的解密过程可以表示为: D(E(M)) = (E(M))d = (Me)d (mod n) = Me * d (mod n) = M k *(n) +1 (mod n) (5) • 由于p无法整除M,这样,按照公式(1)和(2)可 以得出: Mp – 1 = 1 (mod p) • 由于(p – 1)是(n)的因子,所以, M k *(n) = 1 (mod p)
19
RSA算法的证明
• 按照欧拉和费马的定理可知,对于任何一个整 数M(M相当于转换成为整数的报文),如果 与n互质,则 M(n) = 1 (mod n) (1) • 这里(n)表示所有小于n的,与n互质的正整数 的个数。 • 对于任何一个素数p, (p) = p – 1 (2) (n) = (p * q) = (p) * (q) = (p – 1) * (q – 1) (3)
• 选择与(n)互质的私钥d的方法比较简单,例如 任何大于max(p, q)的素数都可以作为d。为了 防范攻击者猜测到私钥,d的选择集合应该足 够大,不一定只局限于素数。
25
RSA算法的实现(续2)
• 可以采用欧几里德算法,通过计算(n)与 d的最大公因子选择公钥e。 • 欧几里德计算(n)和d的最大公因子 gcd((n), d)的算法可以表示为如下形式:
8
公钥密码学原理
• W. Diffie和M. Hellman于1976年首先给出了公 钥密码系统的定义: • 一个公钥密码系统由一对加密算法E和解密算 法D构成,该公钥密码系统采用一个密钥对集 合KS = {(PK, VK)},对于任何一个KS集合中 的密钥对(PK, VK)与任何一个明文P,存在以 下特性: • (1)采用密钥对(PK, VK)中任何一个密钥对 明文P执行加密算法E,都可以采用另外一个密 钥对密文进行解密。