6 密码
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 密码学(Cryptology)
– 研究秘密通信的原理和破译密码的方法的一门学科。
• 密码技术的基本思想:
– 伪装信息,使未授权者不能理解它的真实含义; – 伪装就是对数据进行一组可逆的数学变换。
• 密码学作为数学的一个分支,包括:
– 密码编码学(Cryptography):使消息保密的技术和科学。从事 此行的叫密码编码者(Cryptographer)。 – 密码分析学(Cryptanalysis):破译密文的科学和技术,即揭穿 伪装。从事密码分析的专业人员称为密码分析者(Cryptanalyst)。
5.密码
teacherwll@163.com
提 纲
•5.1 密码学起源、发展和 应用
1
2
3 4 5
•5.2 密码学基础
•5.3 传统密码技术
•5.4 分组密码和流密码
5.1
2 3
密码学起 源、发展 和应用
4 5
5.1.1 密码学起源
• 密码学的起源要追溯到人类刚刚出现,并且尝试去学习如 何通信的时候。 • 公元六年前,古希腊人,scytale棍子(棍子的宽度为密钥)
5.1.1 密码学起源
• 凯撒密码 • 罗马军队,在恺撒大帝出征时,为了避免军令落入敌军手 中而泄漏军情; • 单字替代密码
– 明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ – 密文:DEFGHIJKLMNOPQRSTUVWXYZABC
• 在恺撒的时代只有贵族才识字,要瞒天过海是很容易的。 但是在今天恺撒码就变得很不安全。
• 课堂练习:字符串“workhard”用Caesar密码加密得到的密文是? • • • • 明文字符串:workhard 明文对应数字形式: 22, 14,17, 10, 7, 0, 17, 3 密文对应数字形式: 25, 17,20, 13, 10, 3, 20, 6 密文字符串:zrunkdug
• 密码设计的公开原则并不等于所有的密码在应用时都要公 开加密算法。 • 核心密码不公开其加密算法。 • 核心密码设计和使用的正确路线:在公开设计原则下是设 计密码,在实际使用时对算法保密。
密码攻击的方法
• 穷举攻击
– 理论上,穷举攻击可攻破所有密码; – 可以通过增大密钥量或加大解密(加密)算法的复杂性来对抗穷举攻击;
• 密码学的应用
– 主要应用集中在网络安全领域; – 密码学的应用是进一步保护每个公民的隐私和国家的安全; – 随着信息化的发展,密码学的发展和应用将越来越广泛和深入。
提纲
1
பைடு நூலகம்
5.2 3
密码学 基础 5.2.1 密码学概述
4 5
5.2.2 不可攻破的密 码系统 5.2.3 密码分析
5.2.1 密码学概述
• 密码体制(Cryptosystem)
密码算法分类
• 根据密钥间的关系
– 单钥密码:对称密码(Symmetric Cipher);
密钥 明文 加密 密文 解密 密钥 原始 明文
– 双钥密码:非对称密码,公开密钥密码(Public Key Cryptology);
加密 密钥 明文 加密 密文 解密 密钥 解密 原始 明文
5.1.4 密码学研究
• 量子密码学
– 量子力学的不确定性原理和量子态的不可克隆原理; – 具有可证明的安全性,同时还能对窃听行为方便地进行检测。
• 混沌密码
– 混沌是一种复杂的非线性非平衡动力学过程; – 混沌序列是一种具有良好随机性的非线性序列,有可能构成新的系列密 码。
• 生物密码
– 生物信息技术的发展推动着生物芯片、生物计算机和基于生物信息特性 的生物密码的研究。
5.2.2 不可攻破的密码系统
• 理论上不可攻破的密码在实际应用中受到很大限制:
– 分发和存储这样大的随机密钥序列(它和明文一样长),确保密 钥的安全性很困难; – 如何生成真正的随机序列也是一个现实问题;
• 实际上不可攻破的密码系统:
– 理论上可攻破,但真正攻破它,所需要的计算资源(时间、空间) 超出了实际上的可能性。 – 计算不可破译密码(Computationally unbreakable)
5.1.3 密码学发展的里程碑事件
• 1949年,Shannon的论文:
– C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 1948, 27(4): 379~423, 623~656. – C. E. Shannon. Communication theory of secrecy system. Bell System Technical Journal, 1949, 28(4): 656~715.
• 理论上不可攻破的密码系统
– 一次一密系统。 – 密钥K是一个随机序列,密钥只能使用一次,而且密钥序列长度等于明文长度
•
例:m=workhard,使用理论不可攻破的加法密码进行加密。
– (22, 14, 17, 10, 7, 0, 17, 3) – k=( 5, 13, 1, 0, 7, 2, 20, 16) 注:可能的密钥序列共268个。 – c=(1, 1, 18, 10, 14, 2, 11, 19)
凯撒(Caesar)密码
a b c d e f g h i j k l m n o p q r s t u v w x y z m 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
+3 mod 26 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 C d e f g h i j k l m n o p q r s t u v w x y z a b c
• 公开研究和秘密研究相结合的局面促成了今天密 码学空前的发展。
5.1.4 密码学研究
• 密码学发展历程: – 初级形式:手工阶段; – 中级形式:机械阶段; – 高级形式:电子与计算机阶段; • 密码学与其他学科的关系 – 现代密码学涉及到数学的各个分支:代数,数论,概率 论,信息论,几何,组合学等; – 需要其他学科的专业知识:物理,电机工程,量子力学, 计算机科学,电子学,系统工程,语言学;
– 明密文空间:M=C={0,1,2,…,24,25}; – 密钥空间:K={0,1,2,…,24,25}; – 加解密运算:
• E:θ≡ α+k (mod 26) , α∈M,θ∈C , k ∈K; • D:α≡ θ-k (mod 26) ;
• 这是一种简单的单表代替密码。 • 例如:明文字母为X, k=4,求密文字母是? • 答案:B • 当k=3时,就是Caesar密码。
– 1883年,荷兰人A. Kerckhoffs 提出。 – 密码体制的安全性仅依赖于对密钥的保密,而不应依赖于算法的 保密。 – 假设密码分析者已有密码算法及其实现的全部详细资料。 – 密码系统设计的重要原则-柯克霍夫斯原则
5.2.3 密码分析
那些因为自己不能破译某个算法就草草地声称有一个不可 破译的密码的人要么是天才,要么是笨蛋。不幸的是后者 居多。千万要提防那些一味吹嘘算法的优点,但又拒绝公 开的人,相信他们的算法就像相信骗人的包治白病的灵丹 妙药一样。 ———Bruce Schnier《应用密码学》
5.2.3 密码分析
• 对密码进行分析的尝试称为攻击。 • 密码分析(攻击)的目的:
– C->M,等价算法,K 。 – 恢复尽可能多的明文。 – 推导出一个算法,此算法可以对用同一密钥加密的任何新的消息 进行解密。 – 推算出加密消息的密钥来,以便可采用相同的密钥解出其他被加 密的消息。
• Kerckhoffs假设
• 统计分析攻击
– 通过分析密文和明文的统计规律来破译密码; – 许多古典密码都可以通过分析密文字母和字母的频率和其他统计参数而 破译; – 对抗统计分析攻击的方法是设法使明文的统计特性不带入密文; – 能够抵抗统计分析攻击已成为现代密码的基本要求;
• 1977年、1994年和2001年,美国联邦政府颁布数据加密标准(DES), 密钥托管加密标准(EES)和数字签名标准(DSS),高级加密标准 (AES)。
5.1.3 密码学发展的里程碑事件
• 2004年,山大教授王小云破译了世界通行密码标准MD5。 • 2004年8月,在美国加州圣芭芭拉召开的国际密码大会上, 并没有被安排发言的王小云教授拿着自己的研究成果找到 会议主席,要求进行大会发言。就这样,王小云在国际会 议上首次宣布了她及她的研究小组近年来的研究成果—— 对MD5、 HAVAL-128、MD4和RIPEMD等四个著名密 码算法的破译结果。 • MD5由国际著名密码学家图灵奖获得者兼公钥加密算法 RSA的创始人Rivest设计,SHA-1是由美国专门制定密码 算法的标准机构——美国国家标准技术研究院(NIST)与 美国国家安全局(NSA)设计。
5.2.2 不可攻破的密码系统
• 一个密码系统设计通常的基本要求是:
– 知道Ke时,E容易计算; – 知道Kd时,D容易计算; – 不知道Kd时,由C=E(M,Ke )不容易推导出M。
• 密码系统设计的原则是:
– 对合法的通信双方来说加密和解密变换是容易的; – 对密码分析员来说由密文推导出明文是困难的;
密码算法分类 • 根据对明文的处理方式
– 一次只对明文中的单个比特(有时对字节)运 算的密码称为序列密码或流密码(Stream Cipher); – 对明文的一组比特进行运算,这些比特组称为 分组,相应的密码称为分组密码(Block Cipher);
密码体制举例-加法密码
• 用数字0,1,2,…,24,25分别和字母A,B,C,…,Y,Z相对应; • 加法密码体制(M,C,K,E,D):
五元组(M,C,K,E,D) M:明文空间; C:密文空间; K:密钥空间;K=<Ke,Kd> E:加密算法;E:M×Ke → C D:解密算法;D:C×Kd → M 加解密运算:
• C=E(M,Ke )=E Ke (M); • M=D(E(M,Ke ),Kd )= D Kd ( E Ke (M))
• 1967年,David Kahn, “The Codebreakers”(破译者) – 对密码学的历史做了完整的记述; – 它使不知道密码学的人了解了密码学。新的密码学文章慢慢开始 不断被编写出来。 • 1976年,Diffie Hellman的论文(提出公钥密码的思想):
– W. Diffe, M. E. Hellman. New directions in cryptography. IEEE Trans. Inform. Theroy, November 1976, 22(6): 644~654.
5.2.1 密码学概述
• 几个概念:
– – – – –
– – – – – – –
明文(Plaintext):伪装前的原始数据; 密文(Ciphertext):伪装后的数据; 加密(Encryption):伪装的过程; 密钥(Key):加密在密钥控制下进行; 解密(Decryption):实施与加密变换相逆的变换;
5.1.4 密码学研究
• 密码学研究
– 秘密研究:军事,政治,外交等要害部门; – 公开研究:
• • • • 民间和商业界:电子政务、电子商务、电子金融; IACR(国际密码研究学会,http://www.iacr.org) 中国密码学会; 会议:Crypto,EuroCrypt,AsiaCrypt,ChinaCrypt;
– 因为K仅有25种可能,只要知道是用恺撒码加密,那尝试25次就 可以得到明文。 – 因此,由恺撒码又出现了其它的替代方法(发明更加高明的加密 技术)。
5.1.2 密码学文献发展
• 由于战争和各个国家之间的利益,密码学重要的进展很少 在公开文献中出现。 • 1918年,20世纪最有影响的密码分析文章之一: – William F. Friedman, The Index of Coincidence and Its Application in Cryptography.(重合指数及其在密码学 中的应用) • 一战以后,完全处于秘密工作状态的美国陆军和海军的机 要部门开始在密码学方面取得根本性的进展; • 但由于战争原因,公开文献几乎殆尽; • 从1949-1967年,密码学文献近乎空白。
– 研究秘密通信的原理和破译密码的方法的一门学科。
• 密码技术的基本思想:
– 伪装信息,使未授权者不能理解它的真实含义; – 伪装就是对数据进行一组可逆的数学变换。
• 密码学作为数学的一个分支,包括:
– 密码编码学(Cryptography):使消息保密的技术和科学。从事 此行的叫密码编码者(Cryptographer)。 – 密码分析学(Cryptanalysis):破译密文的科学和技术,即揭穿 伪装。从事密码分析的专业人员称为密码分析者(Cryptanalyst)。
5.密码
teacherwll@163.com
提 纲
•5.1 密码学起源、发展和 应用
1
2
3 4 5
•5.2 密码学基础
•5.3 传统密码技术
•5.4 分组密码和流密码
5.1
2 3
密码学起 源、发展 和应用
4 5
5.1.1 密码学起源
• 密码学的起源要追溯到人类刚刚出现,并且尝试去学习如 何通信的时候。 • 公元六年前,古希腊人,scytale棍子(棍子的宽度为密钥)
5.1.1 密码学起源
• 凯撒密码 • 罗马军队,在恺撒大帝出征时,为了避免军令落入敌军手 中而泄漏军情; • 单字替代密码
– 明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ – 密文:DEFGHIJKLMNOPQRSTUVWXYZABC
• 在恺撒的时代只有贵族才识字,要瞒天过海是很容易的。 但是在今天恺撒码就变得很不安全。
• 课堂练习:字符串“workhard”用Caesar密码加密得到的密文是? • • • • 明文字符串:workhard 明文对应数字形式: 22, 14,17, 10, 7, 0, 17, 3 密文对应数字形式: 25, 17,20, 13, 10, 3, 20, 6 密文字符串:zrunkdug
• 密码设计的公开原则并不等于所有的密码在应用时都要公 开加密算法。 • 核心密码不公开其加密算法。 • 核心密码设计和使用的正确路线:在公开设计原则下是设 计密码,在实际使用时对算法保密。
密码攻击的方法
• 穷举攻击
– 理论上,穷举攻击可攻破所有密码; – 可以通过增大密钥量或加大解密(加密)算法的复杂性来对抗穷举攻击;
• 密码学的应用
– 主要应用集中在网络安全领域; – 密码学的应用是进一步保护每个公民的隐私和国家的安全; – 随着信息化的发展,密码学的发展和应用将越来越广泛和深入。
提纲
1
பைடு நூலகம்
5.2 3
密码学 基础 5.2.1 密码学概述
4 5
5.2.2 不可攻破的密 码系统 5.2.3 密码分析
5.2.1 密码学概述
• 密码体制(Cryptosystem)
密码算法分类
• 根据密钥间的关系
– 单钥密码:对称密码(Symmetric Cipher);
密钥 明文 加密 密文 解密 密钥 原始 明文
– 双钥密码:非对称密码,公开密钥密码(Public Key Cryptology);
加密 密钥 明文 加密 密文 解密 密钥 解密 原始 明文
5.1.4 密码学研究
• 量子密码学
– 量子力学的不确定性原理和量子态的不可克隆原理; – 具有可证明的安全性,同时还能对窃听行为方便地进行检测。
• 混沌密码
– 混沌是一种复杂的非线性非平衡动力学过程; – 混沌序列是一种具有良好随机性的非线性序列,有可能构成新的系列密 码。
• 生物密码
– 生物信息技术的发展推动着生物芯片、生物计算机和基于生物信息特性 的生物密码的研究。
5.2.2 不可攻破的密码系统
• 理论上不可攻破的密码在实际应用中受到很大限制:
– 分发和存储这样大的随机密钥序列(它和明文一样长),确保密 钥的安全性很困难; – 如何生成真正的随机序列也是一个现实问题;
• 实际上不可攻破的密码系统:
– 理论上可攻破,但真正攻破它,所需要的计算资源(时间、空间) 超出了实际上的可能性。 – 计算不可破译密码(Computationally unbreakable)
5.1.3 密码学发展的里程碑事件
• 1949年,Shannon的论文:
– C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 1948, 27(4): 379~423, 623~656. – C. E. Shannon. Communication theory of secrecy system. Bell System Technical Journal, 1949, 28(4): 656~715.
• 理论上不可攻破的密码系统
– 一次一密系统。 – 密钥K是一个随机序列,密钥只能使用一次,而且密钥序列长度等于明文长度
•
例:m=workhard,使用理论不可攻破的加法密码进行加密。
– (22, 14, 17, 10, 7, 0, 17, 3) – k=( 5, 13, 1, 0, 7, 2, 20, 16) 注:可能的密钥序列共268个。 – c=(1, 1, 18, 10, 14, 2, 11, 19)
凯撒(Caesar)密码
a b c d e f g h i j k l m n o p q r s t u v w x y z m 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
+3 mod 26 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 C d e f g h i j k l m n o p q r s t u v w x y z a b c
• 公开研究和秘密研究相结合的局面促成了今天密 码学空前的发展。
5.1.4 密码学研究
• 密码学发展历程: – 初级形式:手工阶段; – 中级形式:机械阶段; – 高级形式:电子与计算机阶段; • 密码学与其他学科的关系 – 现代密码学涉及到数学的各个分支:代数,数论,概率 论,信息论,几何,组合学等; – 需要其他学科的专业知识:物理,电机工程,量子力学, 计算机科学,电子学,系统工程,语言学;
– 明密文空间:M=C={0,1,2,…,24,25}; – 密钥空间:K={0,1,2,…,24,25}; – 加解密运算:
• E:θ≡ α+k (mod 26) , α∈M,θ∈C , k ∈K; • D:α≡ θ-k (mod 26) ;
• 这是一种简单的单表代替密码。 • 例如:明文字母为X, k=4,求密文字母是? • 答案:B • 当k=3时,就是Caesar密码。
– 1883年,荷兰人A. Kerckhoffs 提出。 – 密码体制的安全性仅依赖于对密钥的保密,而不应依赖于算法的 保密。 – 假设密码分析者已有密码算法及其实现的全部详细资料。 – 密码系统设计的重要原则-柯克霍夫斯原则
5.2.3 密码分析
那些因为自己不能破译某个算法就草草地声称有一个不可 破译的密码的人要么是天才,要么是笨蛋。不幸的是后者 居多。千万要提防那些一味吹嘘算法的优点,但又拒绝公 开的人,相信他们的算法就像相信骗人的包治白病的灵丹 妙药一样。 ———Bruce Schnier《应用密码学》
5.2.3 密码分析
• 对密码进行分析的尝试称为攻击。 • 密码分析(攻击)的目的:
– C->M,等价算法,K 。 – 恢复尽可能多的明文。 – 推导出一个算法,此算法可以对用同一密钥加密的任何新的消息 进行解密。 – 推算出加密消息的密钥来,以便可采用相同的密钥解出其他被加 密的消息。
• Kerckhoffs假设
• 统计分析攻击
– 通过分析密文和明文的统计规律来破译密码; – 许多古典密码都可以通过分析密文字母和字母的频率和其他统计参数而 破译; – 对抗统计分析攻击的方法是设法使明文的统计特性不带入密文; – 能够抵抗统计分析攻击已成为现代密码的基本要求;
• 1977年、1994年和2001年,美国联邦政府颁布数据加密标准(DES), 密钥托管加密标准(EES)和数字签名标准(DSS),高级加密标准 (AES)。
5.1.3 密码学发展的里程碑事件
• 2004年,山大教授王小云破译了世界通行密码标准MD5。 • 2004年8月,在美国加州圣芭芭拉召开的国际密码大会上, 并没有被安排发言的王小云教授拿着自己的研究成果找到 会议主席,要求进行大会发言。就这样,王小云在国际会 议上首次宣布了她及她的研究小组近年来的研究成果—— 对MD5、 HAVAL-128、MD4和RIPEMD等四个著名密 码算法的破译结果。 • MD5由国际著名密码学家图灵奖获得者兼公钥加密算法 RSA的创始人Rivest设计,SHA-1是由美国专门制定密码 算法的标准机构——美国国家标准技术研究院(NIST)与 美国国家安全局(NSA)设计。
5.2.2 不可攻破的密码系统
• 一个密码系统设计通常的基本要求是:
– 知道Ke时,E容易计算; – 知道Kd时,D容易计算; – 不知道Kd时,由C=E(M,Ke )不容易推导出M。
• 密码系统设计的原则是:
– 对合法的通信双方来说加密和解密变换是容易的; – 对密码分析员来说由密文推导出明文是困难的;
密码算法分类 • 根据对明文的处理方式
– 一次只对明文中的单个比特(有时对字节)运 算的密码称为序列密码或流密码(Stream Cipher); – 对明文的一组比特进行运算,这些比特组称为 分组,相应的密码称为分组密码(Block Cipher);
密码体制举例-加法密码
• 用数字0,1,2,…,24,25分别和字母A,B,C,…,Y,Z相对应; • 加法密码体制(M,C,K,E,D):
五元组(M,C,K,E,D) M:明文空间; C:密文空间; K:密钥空间;K=<Ke,Kd> E:加密算法;E:M×Ke → C D:解密算法;D:C×Kd → M 加解密运算:
• C=E(M,Ke )=E Ke (M); • M=D(E(M,Ke ),Kd )= D Kd ( E Ke (M))
• 1967年,David Kahn, “The Codebreakers”(破译者) – 对密码学的历史做了完整的记述; – 它使不知道密码学的人了解了密码学。新的密码学文章慢慢开始 不断被编写出来。 • 1976年,Diffie Hellman的论文(提出公钥密码的思想):
– W. Diffe, M. E. Hellman. New directions in cryptography. IEEE Trans. Inform. Theroy, November 1976, 22(6): 644~654.
5.2.1 密码学概述
• 几个概念:
– – – – –
– – – – – – –
明文(Plaintext):伪装前的原始数据; 密文(Ciphertext):伪装后的数据; 加密(Encryption):伪装的过程; 密钥(Key):加密在密钥控制下进行; 解密(Decryption):实施与加密变换相逆的变换;
5.1.4 密码学研究
• 密码学研究
– 秘密研究:军事,政治,外交等要害部门; – 公开研究:
• • • • 民间和商业界:电子政务、电子商务、电子金融; IACR(国际密码研究学会,http://www.iacr.org) 中国密码学会; 会议:Crypto,EuroCrypt,AsiaCrypt,ChinaCrypt;
– 因为K仅有25种可能,只要知道是用恺撒码加密,那尝试25次就 可以得到明文。 – 因此,由恺撒码又出现了其它的替代方法(发明更加高明的加密 技术)。
5.1.2 密码学文献发展
• 由于战争和各个国家之间的利益,密码学重要的进展很少 在公开文献中出现。 • 1918年,20世纪最有影响的密码分析文章之一: – William F. Friedman, The Index of Coincidence and Its Application in Cryptography.(重合指数及其在密码学 中的应用) • 一战以后,完全处于秘密工作状态的美国陆军和海军的机 要部门开始在密码学方面取得根本性的进展; • 但由于战争原因,公开文献几乎殆尽; • 从1949-1967年,密码学文献近乎空白。