710 likes | 1.01k Views
现代密码学概论. 《 现代密码学 》 第 1 章. 本章主要内容. 1 、密码学基本概念 2 、密码体制的分类 3 、密码攻击(分析) 4 、密码学的起源、发展及实例 5 、 密码学的现状和发展趋势. 1. 密码学基本概念. 当今社会已经进入信息时代,密码是与信息相关的。 信息 : 指语言、文字、数据、图象、符号等,它使人们 了解社会上的各种现象、变化以及相互关系等。 信息的传递或广播,往往需要除合法的授权者外,不让 其他任何人知道,这就引发了所谓的 秘密通信 。 秘密通信的手段基本上可分为两类: 信道保护 (传递信息的载体称为 信道 ):如信使传递、
E N D
现代密码学概论 《现代密码学》第1章
本章主要内容 • 1、密码学基本概念 • 2、密码体制的分类 • 3、密码攻击(分析) • 4、密码学的起源、发展及实例 • 5、密码学的现状和发展趋势
1.密码学基本概念 • 当今社会已经进入信息时代,密码是与信息相关的。 • 信息:指语言、文字、数据、图象、符号等,它使人们 • 了解社会上的各种现象、变化以及相互关系等。 • 信息的传递或广播,往往需要除合法的授权者外,不让 • 其他任何人知道,这就引发了所谓的秘密通信。 • 秘密通信的手段基本上可分为两类: • 信道保护(传递信息的载体称为信道):如信使传递、 • 密写、缩微摄影、专线电话、突发式通信等; • 密码保护:如电报加密、传真加密、语音加密、图象加 • 密,计算机数据加密等。 • 信道保护纯属技术问题,它有较大的局限性。如派信使 • 传送信息速度太慢,专线电话也难以防止窃听。 • 密码保护属于理论与技术相结合,是当今最常用的、也 • 最重要的秘密通信手段。
1.密码学基本概念 • 密码学(cryptology )是一门研究密码保护通信手段的科学,属于应用数学的范畴,包括加密理论与解密理论。 • 密码技术(Cryptography)—把可理解的消息变换成不可理解消息,同时又可恢复原消息的方法和原理的一门科学或艺术。密码学技术可以使消息的内容对(除发送者和接收者以外)的所有人保密. • 可以使接收者验证消息的正确性 • 是解决计算机与通信安全问题重要技术之一.
密码学的基本任务 甲和乙两个人在不安全的信道上进行通信,而他们的敌人 丙不能理解他们正在通信的内容。 乙 甲 丙
保密通信系统 加密器 解密器
1.密码学基本概念 通信双方采用保密通信系统可以隐蔽和保护需要发送的消息,使未授权者不能提取信息。 发送方将要发送的消息称为明文(plaintext) 明文被变换成看似无意义的随机消息,称为密文(ciphertext),这种变换过程称为加密(encipher/encode) ; 其逆过程,即由密文恢复出原明文的过程称为解密(decipher/decode)。
1.密码学基本概念 对明文进行加密操作的人员称为加密员或密码员。 密码员对明文进行加密时所采用的一组规则称为加密算法(Encryption)。 传送消息的预定对象称为接收者,接收者对密文进行解密时所采用的一组规则称为解密算法(Decryption)。 。
1.密码学基本概念 加密和解密算法的操作通常都是在一组密钥控制下进行的,分别称为加密密钥和解密密钥(key )。 传统密码体制所用的加密密钥和解密密钥相同,或实质上等同,即从一个易于得出另一个,称其为单钥或对称密码体制。 若加密密钥和解密密钥不相同,从一个难于推出另一个,则称为双钥或非对称密码体制。 密钥是密码体制安全保密的关键,它的产生和管理是密码学中的重要研究课题。
1.密码学基本概念 在信息传输和处理系统中,除了预定的接收者外,还有非授权者,他们通过各种办法(如搭线窃听、电磁窃听、声音窃听等)来窃取机密信息,称其为截收者。 截收者虽然不知道系统所用的密钥,但通过分析可能从截获的密文推断出原来的明文或密钥,这一过程称为密码分析,从事这一工作的人称为密码分析员,研究如何从密文推演出明文、密钥或解密算法的学问称为密码分析学(cryptanalysis /codebreaking)。
1.密码学基本概念 对一个保密通信系统采取截获密文进行分析的这类攻击称为被动攻击。 现代信息系统还可能遭受的另一类攻击是主动攻击,非法入侵者、攻击者或黑客主动向系统窜扰,采用删除、增添、重放、伪造等窜改手段向系统注入假消息,达到利己害人的目的。这是现代信息系统中更为棘手的问题。
1.密码学基本概念 保密通信系统可用示意图表示,它由以下几部分组成: 明文消息空间M,密文消息空间C,密钥空间K1和K2。 在单钥体制下K1=K2=K,此时密钥K需经安全的密钥信道由发送方传给接收方; 加密变换Ek1:M→C,其中k1∈K1,由加密器完成;解密变换Dk2:C→M,其中k2∈K2,由解密器实现。
非法接 入者 密码分 析员 m 解密器 m 信源 M 加密器 信宿 c k1 k2 密钥源 K1 密钥源 K2 密钥信道 密码学上保密通信系统的模型
1.密码学基本概念 称总体(M,C,K1,K2,EK1,DK2)为保密通信系统。对于给定明文消息m∈M,密钥k1∈K1,加密变换将明文m变换为密文c,即 c=f(m,k1)=Ek1(m) m∈M,k1∈K1。 接收方利用通过安全信道送来的密钥k(k∈K,单钥体制下)或用本地密钥发生器产生的解密密钥k2(k2∈K2,双钥体制下)控制解密操作D,对收到的密文进行变换得到恢复的明文消息,即: m=Dk2(c) m∈M,k2∈K2
1.密码学基本概念 而密码分析者,则用其选定的变换函数h,对截获的密文c进行变换,得到的明文是明文空间中的某个元素,即m′=h(c)。 一般m′≠m。如果m′=m,则分析成功。
1.密码学基本概念 为了保护信息的保密性,抗击密码分析,保密系统应当满足下述要求: ① 系统即使达不到理论上是不可破的,即pr{m′=m}=0,也应当为实际上不可破的。就是说,从截获的密文或某些已知的明文密文对,要决定密钥或任意明文在计算上是不可行的。
1.密码学基本概念 ② 系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这是著名的Kerckhoff原则。 ③ 加密和解密算法适用于所有密钥空间中的元素。 ④ 系统便于实现和使用。
2. 密码学与密码体制 • 密码学的分类: • 密码编码学.设计和研究密码通信系统,使其传递的信 • 息具有很强的保密性和认证性的学科。 • 密码分析学.研究如何从密文推出明文、密钥或解密算 • 法的学科。 • 密钥管理学.研究密钥的产生、分配、存贮、传递、装 • 入、丢失、销毁以及保护等内容的学科。
密码体制的定义 一个密码体制可以可以描述为一个五元组(P,C,K,E,D),必须满足下面的条件: 1 P是可能明文的有限集。 2 C是可能密文的有限集。 3 k是可能的密钥的有限集。 K,都有一个加密规则 对于每一个k 和相应的解密规则 每一个 和 是一个函数,它满足:对于每一个明文 都满足
例如 (小写的26个英文字母) 取k=10, 明文:good 密文:hppe g(103) o(111) d(100)
密码体制的分类 密码体制从原理上可分为两大类, 即单钥体制和双钥体制。 流密码 单密钥 分组密码 原理来分类 双密钥
单钥密码体制 单钥体制的加密密钥和解密密钥相同。采用单钥体制的系统的保密性主要取决于密钥的保密性,与算法的保密性无关,即由密文和加解密算法不可能得到明文。 换句话说,算法无需保密,需保密的仅是密钥。根据单钥密码体制的这种特性,单钥加解密算法可通过低费用的芯片来实现。
单钥密码体制 密钥可由发送方产生然后再经一个安全可靠的途径(如信使递送)送至接收方,或由第三方产生后安全可靠地分配给通信双方。 如何产生满足保密要求的密钥以及如何将密钥安全可靠地分配给通信双方是这类体制设计和实现的主要课题。 密钥产生、分配、存储、销毁等问题,统称为密钥管理。 这是影响系统安全的关键因素,即使密码算法再好,若密钥管理问题处理不好,就很难保证系统的安全保密。
单钥密码体制 单钥体制对明文消息的加密有两种方式: 一是明文消息按字符(如二元数字)逐位地加密,称之为流密码; 另一种是将明文消息分组(含有多个字符),逐组地进行加密,称之为分组密码。 单钥体制不仅可用于数据加密,也可用于消息的认证。
双钥密码体制 双钥体制是由Diffie和Hellman于1976年首先引入的。 采用双钥体制的每个用户都有一对选定的密钥:一个是可以公开的,可以像电话号码一样进行注册公布;另一个则是秘密的。因此双钥体制又称为公钥体制。 双钥密码体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而使多个用户可以解读。前者可用于公共网络中实现保密通信,而后者可用于实现对用户的认证。
3.密码攻击(分析) • 密码分析学是指在没有加密密钥的情况下,攻击密文的过程 • 目标:就是要从密文得到明文或者由已知的条件得到密钥。 • 密码分析有一个假定:攻击者知道加密算法。
3.密码攻击(分析) • 1、唯密文攻击(ciphertext only ) --只知道算法与一些密文 --利用统计方法 --需要能够识别明文 • 2、已知明文攻击(known plaintext) ----知道一些明文/密文对 ----利用已知的明文密文对进行攻击
3.密码攻击(分析) • 3、选择明文攻击(chosen plaintext) ----能够选择明文并得到响应的密文----利用算法的结构进行攻击 • 4、选择密文攻击(chosen ciphertext) ----能够选择密文并得到对应的明文 ----利用对算法结构的知识进行攻击
3.密码攻击概述 攻击者对密码系统的4种攻击类型中,类型的划分由攻击者可获取的信息量决定。 其中,最困难的攻击类型是惟密文攻击,这种攻击的手段一般是穷搜索法,即对截获的密文依次用所有可能的密钥试译,直到得到有意义的明文。只要有足够多的计算时间和存储容量,原则上穷搜索法总是可以成功的。
3.密码攻击概述 但实际中,任何一种能保障安全要求的实用密码都会设计得使这一方法在实际上是不可行的。 敌手因此还需对密文进行统计测试分析,为此需要知道被加密的明文的类型,比如英文文本、法文文本、MD-DOS执行文件、Java源列表等。
3.密码攻击概述 惟密文攻击时,敌手知道的信息量最少,因此最易抵抗。然而,很多情况下,敌手可能有更多的信息,也许能截获一个或多个明文及其对应的密文,也许知道消息中将出现的某种明文格式。 例如ps格式文件开始位置的格式总是相同的,电子资金传送消息总有一个标准的报头或标题。这时的攻击称为已知明文攻击,敌手也许能够从已知的明文被变换成密文的方式得到密钥。
3.密码攻击概述 与已知明文攻击密切相关的一种攻击法称为可能字攻击。 例如对一篇散文加密,敌手可能对消息含义知之甚少。然而,如果对非常特别的信息加密,敌手也许能知道消息中的某一部分。例如,发送一个加密的账目文件,敌手可能知道某些关键字在文件报头的位置。又如,一个公司开发的程序的源代码中,可能在某个标准位置上有该公司的版权声明。
3.密码攻击概述 如果攻击者能在加密系统中插入自己选择的明文消息,则通过该明文消息对应的密文,有可能确定出密钥的结构,这种攻击称为选择明文攻击。 选择密文攻击是指攻击者利用解密算法,对自己所选的密文解密出相应的明文。
3.密码攻击概述 还有两个概念值得注意。 第一,一个加密算法是无条件安全的,如果算法产生的密文不能给出惟一决定相应明文的足够信息。此时无论敌手截获多少密文、花费多少时间,都不能解密密文。 第二,Shannon指出,仅当密钥至少和明文一样长时,才能达到无条件安全。也就是说除了一次一密方案外,再无其他加密方案是无条件安全的。
3.密码攻击概述 因此,加密算法只要满足以下两条准则之一就行: ① 破译密文的代价超过被加密信息的价值。 ② 破译密文所花的时间超过信息的有用期。 满足以上两个准则的加密算法称为计算上安全的。
3.密码攻击概述 • 无条件安全(unconditional security) 由于密文没有泄露足够多的明文信息,无论计算能力有多大,都无法由密文唯一确定明文。 • 计算安全(computational security) ----在有限的计算资源条件下,密文不能破解。 (如破解的时间超过地球的年龄)
3.穷密钥搜索 • 理论上很简单,对每个密钥进行测试 • 最基本的攻击方法,复杂度有密钥量的大小决定 • 假设可以对正确的明文能够识别 • 假设的时间表:
3.常用的攻击方法 差分分析:(biham . Shamir) 线性分析
4.密码的起源和发展 • 起源. • 发展过程. 分为四个阶段: • 手工或简单机械密码时期(公元前五世纪~1900年); • 机械和机电密码时期(1900年~1950年); • 电子密码时期(1950年~1970年); • 计算机密码时期(1970年~现在); (将来或者可能到来所谓的量子密码时期)
世界上有两种密码: 一种是防止你的小妹妹偷看 你的文件; 一种是防止当局者阅读你的 文件资料。
密码战线上的斗争 • 从密码产生的那天起,密码编码和密码破译的斗争一刻 • 也没有停止。 • 作为使用密码的一方,将自己的机密信息隐蔽在密码之中,努力设法保护密码的安全,使其免遭对方的窃取和破坏;作为破译密码的一方,却千方百计地侦收、截获或破坏对方的密码通信,通过破译密码而获取情报。 • 双方在相生相克的斗争中此消彼长,不断地提高各自的密码研制技术,结果大大促进了密码学的发展。
密码战线上的斗争 • 密码编码和密码破译的斗争是一种特殊形式的斗争, 这种斗争的一个重要特点是它的隐蔽性。 无论是使用密码的一方,还是破译密码的一方,他们的工作都是在十分秘 密地进行。特别是,对于他们的工作的最新进展更是严格地保密。当一方改进了自己的密码编码方法时,他不会公开所取得的这种进展;当另一方破译了对方的密码时,他也不会轻易地泄露破译的成果和使用破译所取得的情报,以便能长期地获取情报并取得更有价值的信息。所以,密码战线上的斗争是一种无形的,不分空间和时间的,隐蔽的战争。 • 无数历史事实证明,战争的胜负在很大程度上依靠密 码保密的成败。 • 密码学家和历史学家们认为,世界的命运有时就掌握 在密码学家的手中。
古代保密的例子 A和B分别表示两个相距比较远的地方,A和B两地经常有人往来,可以在A和B两地之间带东西。 A地有个人甲想把一个东西带给B地的乙,但是他又不想让带东西的人知道所带的东西(假定东西是用箱子装起来,并且箱子可以上锁) 试考虑怎样带这个东西?
现代密码学的例子 一 彩票加密系统 二 银行在线支付加密系统 三 保密电话
密码斗争实例(1) • 英德密码战: 二战中,英国破开德国的ENIGMA密码机一 • 事于1974年公开,此事件导致 • 美国参战 • 德国被迫用陆、海、空三军进攻英国 • 在得知德军某精锐部队缺乏燃料且能源供给部队没 • 跟上时,及时打击它
密码斗争实例(2) • 日美密码战:二战中,日本海军使用的“紫密”密码早 • 被英军破译,却没有及时更换,这样导致 • 珍珠港事件(1941年12月7日) • 中途岛事件(1942年6月3日) • 山本五十六之死事件(1943年4月18日)
密码斗争实例(3) • 近战 • 以色列中东得逞(1976年) • 马岛战争(1982年) • 美轰炸利比亚首都(1985年) • 海湾战争(1990年) • 科索沃战争(1999年)