860 likes | 1.16k Views
第四章 数据加密技术. 本章学习的主要内容. 数据加密的有关概念 传统的数据加密方法 对称加密算法的基本思想和应用 公开密钥加密算法的基本思想和应用 数据加密技术的应用:数字签名、报文摘要、 SSL 和 SET 协议、 PGP 加密系统. 本章学习的教学要求. 了解:数据加密的有关术语和方法、传统的数据加密方法 掌握:对称加密算法和公开密钥加密算法的特点和应用、数字签名、报文摘要、 SSL 和 SET 协议、 PGP 加密系统. 互联网困境. 密码的产生. 我国古代的 《 武经总要 》 。
E N D
本章学习的主要内容 • 数据加密的有关概念 • 传统的数据加密方法 • 对称加密算法的基本思想和应用 • 公开密钥加密算法的基本思想和应用 • 数据加密技术的应用:数字签名、报文摘要、SSL和SET协议、PGP加密系统
本章学习的教学要求 • 了解:数据加密的有关术语和方法、传统的数据加密方法 • 掌握:对称加密算法和公开密钥加密算法的特点和应用、数字签名、报文摘要、SSL和SET协议、PGP加密系统
密码的产生 • 我国古代的《武经总要》。 《武经总要》是一部中国古代北宋的军事著作。曾公亮和丁度两人奉皇帝之命用了五年的时间编成。该书是中国第一部规模宏大的综合性军事著作,对于研究宋朝以前的军事思想非常重要。其中大篇幅介绍了武器的制造,对科学技术史的研究也很重要。 书中记载,北宋前期,在作战中曾用一首五言律诗的40个汉字,分别代表40种情况或要求,这种方式已具有了密本的特点。
1871年,上海大北水线电报公司的商用明码本和密本。1871年,上海大北水线电报公司的商用明码本和密本。 由上海大北水线电报公司选用6899个汉字,代以四码数字,成为中国最初的商用明码本,同时也设计了由明码本改编为密本及进行加乱的方法。在此基础上,逐步发展为各种比较复杂的密码。 • 公元前一世纪,古罗马皇帝凯撒使用有序的单表代替密码,之后逐步发展为密本、多表代替及加乱等各种密码体制。
二十世纪初,产生了机械式和电动式密码机,出现了商业密码机公司和市场。二十世纪初,产生了机械式和电动式密码机,出现了商业密码机公司和市场。 • 二十世纪60年代后,电子密码机得到较快的发展和广泛的应用,使密码的发展进入了一个新的阶段。
转轮机 基于转轮的机械加密设备,用来自动处理加密。 二十世纪早期的密码机。
概述 早在4000多年前,人类已经有了使用密码技术的记载。最早的密码技术源于“隐写术”:用明矾水在白纸上写字,当水迹干了后,就什么也看不到了,而当放在火上烤时,字就会显现出来。(明矾:十二水合硫酸铝钾,有抗菌作用、收敛作用等,可用做中药。 一般来说,隐写的信息看起来像一些其他的东西,例如一张购物清单,一篇文章,一篇图画或者其他“伪装”的消息。
网络信息安全受到的几种攻击 • 侦听(interception) —中途窃听,攻击保密性 • 服务中断(interruption) —攻击可用性 • 信息篡改(modification - of info)—攻击完整性 • 消息伪造(fabrication - of info)—攻击认证性
数据加密技术 将一个信息经过加密,变成无意义的密文,而接收方则将此密文经过解密还原成明文,这样的技术称为数据加密技术。 数据加密技术是网络信息安全的基础(防火墙技术、入侵检测技术等都是基于它的),也是保证信息安全的重要手段之一(保证信息的完整性、机密性、可用性、认证性)。
密码学是一门研究密码技术的科学,包括 密码编码学和密码分析学,前者是研究加密的,后者是研究破译的。两者相互联系,相互支持。
密码学 • 密码学是一门研究秘密信息的隐写技术的学科 • 密码学技术可以使消息的内容对(除发送者和接收者以外)的所有人保密 • 密码学可以使接收者验证消息的正确性 • 密码学是解决计算机与通信安全问题重要技术之一
密码学基本术语 • 加密(encryption)—E,将计算机中的信息进行一组可逆的数学变换的过程。 • 解密(decryption)—D,与加密相反的过程 • 明文(plaintext)—P,变换前的原始消息 • 密文(ciphertext)—C,变换后的消息 • 密钥(key)—用于密码变换的,只有发送者和接收者拥有的秘密消息,是一组参与变换的参数。加密过程是在加密密钥Ke的参与
下进行,解密过程是在解密密钥Kd的参与下进行。下进行,解密过程是在解密密钥Kd的参与下进行。 • 编码(encode)—把明文变为密文的过程 • 译码(decode)—把密文变为明文的过程 • 密码学(cryptology)—包括加密理论与解密理论的学科
密码学的有关概念 解密 明文 密文 加密 明文:P 密文:C 加密函数:E 解密函数:D 密钥:K(Ke,Kd) 加密: C = E(P,Ke) 解密: P = D(C,Kd) 先加密后再解密,原始的明文将恢复:DK(EK(P)) = P
密码学发展的三个阶段 • 1949年之前,古典密码学阶段 • 1949年~1975年,现代密码学阶段 • 1976年至今,公钥密码学阶段
古典密码学阶段(1949年以前) • 密码学还不是科学,而是艺术 • 出现一些密码算法和加密设备 • 保密针对的是字符 • 简单的密码分析手段出现 • 主要特点:数据的安全性取决于算法的保密
中国明代,宁王朱宸濠割据一方,他有谋逆之心,对不喜欢的人或毒杀或驱赶。江西巡抚先后或死或罢四五人,孙燧接任时说,这一去恐怕就没有回的。他把妻子儿子送回老家后,带两个僮仆上路。孙燧在江西任上加强兵力调配和兵器管理,严防朱造反。朱派人给孙燧送去枣梨姜芥四样果蔬,孙燧一看,笑而拒绝。那四样果蔬何解?说穿了就是一种实物密码,“枣梨姜芥”即“早离疆界”。中国明代,宁王朱宸濠割据一方,他有谋逆之心,对不喜欢的人或毒杀或驱赶。江西巡抚先后或死或罢四五人,孙燧接任时说,这一去恐怕就没有回的。他把妻子儿子送回老家后,带两个僮仆上路。孙燧在江西任上加强兵力调配和兵器管理,严防朱造反。朱派人给孙燧送去枣梨姜芥四样果蔬,孙燧一看,笑而拒绝。那四样果蔬何解?说穿了就是一种实物密码,“枣梨姜芥”即“早离疆界”。
中国古代的“藏头诗”。 《唐寅诗集》中有诗曰: 我画兰江水悠悠, 爱晚亭上枫叶稠。 秋月融融照佛寺, 香烟袅袅绕轻楼。 这是一首藏头诗,每句第一个字连起来便是“我爱秋香”
《水浒传》中为了拉卢俊义入伙,“智多星”吴用和宋江便生出一段“吴用智赚玉麒麟”的故事来,利用卢俊义正为躲避“血光之灾”的惶恐心理,口占四句卦歌: 芦花丛中一扁舟,俊杰俄从此地游。 义士若能知此理,反躬难逃可无忧。 暗藏“卢俊义反”四字,广为传播。结果,成了官府治罪的证据,终于把卢俊义“逼”上了梁山。
典型代表 这个阶段的密码学基本是一些对字符的替代和换位,比较简单。 • 一、替换密码技术 明文中每一个字符被替换成密文中的另外一个字符。 1、单表替换技术:替换时采用了单个字母表 2、多表替换技术:替换时采用了多个字母表 • 二、换位密码技术 明文中字母的顺序被打乱改变。
1、单表替换技术 实例——凯撒密码 约公元前50年,罗马皇帝凯撒发明了一种用于战时秘密通信的方法。它是将字母按照字母表的顺序排列,最后一个字母和第一个字母首尾相连。明文中的每个字母用它后面第三个字母来代替,构成密文。也就是说,密文字母相对于明文字母循环右移了3位。
例如:shenzhen的凯撒密码为 vkhqckhq 凯撒密码破解起来比较简单,只要经过多次尝试找到密钥就可以了。 如果要增强它的保密性,可以将映射表复杂化,把这26个字母的对应关系打散,比如: 字母a用f替换,b用q替换,c用z替换,这样的方法就称为单表替换技术。
尝试利用字母表破译以下句子: zhzloophhwdwwkhjdwhwrpruurzdiwhuqrrq
答案: We will meet at the gate tomorrow afternoon. 由于明文与密文之间存在一一对应的关系,所以在密文中仍然保存了明文中字母出现的规律,安全性比较低。
2、多表替换技术 实例——费杰尔密码 通过循环采用一个有限的字母序列来实现替换。
例如:使用费杰尔密码加密明文:vigenere cipher 使用的密钥是“cat”。 在明文下反复写上密钥: 明文:vig ene rec iph er 密钥:cat cat cat cat ca 加密时,以明文字母指定行,以密钥字母指定列。 密文:xiz gnx tev kpa gr 解密时,以密钥字母选择列,从表中找到密文字母, 所在的行就是明文字母。
可以看出,对于同一个明文字母,由于在明文中位置不同,将得到不同的密文字母,这样就在密文中消除了明文中字母出现的规律了。可以看出,对于同一个明文字母,由于在明文中位置不同,将得到不同的密文字母,这样就在密文中消除了明文中字母出现的规律了。 多表替换密码显然要比单表替换密码要好,但是只要给密码分析员足够数量的密文样本,这个算法最终是可以破译的,这里的关键在于密钥。为了增强安全性,通常采用的方法是加长密钥的长度。
换位密码技术 与替换密码技术不同的是,换位密码技术并没有换掉明文中的字母,而是通过改变明文字母的排列顺序来达到加密的目的。 例如:采用一个字符串“ABLE”为密钥,把明文“CAN YOU UNDERSTAND”进行列换位加密。
矩阵的列数由密钥的字母个数决定,按照密钥各个字母顺序的大小排出列号,将明文按行排列到矩阵中。最后以列的顺序将矩阵中的字母读出。矩阵的列数由密钥的字母个数决定,按照密钥各个字母顺序的大小排出列号,将明文按行排列到矩阵中。最后以列的顺序将矩阵中的字母读出。 得到密文:CODTAUEAYNSDNURN。
现代密码学(1949年-1975年) • 密码学成为科学 • 计算机的出现使得基于复杂计算的密码成为可能 • 相关技术的发展 • 1949年Shannon的《保密系统的信息理论》 • 1967年David Kahn的《破译者》 • 1971-1973年IBM Watson实验室的Horst Feistel及其同事发表了几篇技术报告 • 主要特点:数据的安全基于密钥而不是算法的保密
对称加密算法 典型代表
一、对称加密算法 如果在一个密码体系中,加密密钥和解密密钥相同,就称之为对称加密算法。使用这种算法,要求信息的发送者和接收者在安全通信之前商定一个密钥,因此,算法的安全性完全依赖于密钥的安全性,如果密钥丢失,就意味着任何人都能对加密信息进行解密了。
对称加密算法可分成两类: • 序列加密算法:一次只对明文中的一个位进行加密的算法。 • 分组加密算法:一次对明文中的一组位进行加密的算法 现代典型的分组加密算法的分组长度是64位,这个长度既方便使用,又足以防止分析破译。
对称加密算法 • 数据加密标准(DES) • 三重DES(Triple DES) • 国际数据加密算法(IDEA) • 高级加密标准(AES)
数据加密标准(DES) DES(数据加密标准)算法是一种最为典型的对称加密算法,是美国政府在1977年采纳的数据加密标准,是由IBM公司为非机密数据加密所设计的方案,后来被国际标准局采纳为国际标准。DES以算法实现快、密钥简短等特点成为现在使用非常广泛的一种加密标准。
20世纪70年代初,非军用密码学的研究处于混乱不堪的状态中。20世纪70年代初,非军用密码学的研究处于混乱不堪的状态中。 • 1972年,美国国家标准局(NBS),即现在的国家标准与技术研究所(NIST),拟定了一个旨在保护计算机和通信数据的计划。计划中提出要开发一个单独的标准密码算法。 • 1973年,NBS公开征集标准密码算法。 • 1974年,NBS第二次征集。收到一个有前途的候选算法,该算法从IBM 1970年初开发出的Lucifer算法发展而来。
1975年3月,NBS公布了算法细节。 • 1976年11月,DES被美国政府采纳作为联邦标准,并授权在非密级的政府通信中使用。 • 1981年,美国国家标准研究所(ANSI)批准DES作为私营部门的标准(ANSI X3.92)。
学习: • DES是一种分组加密算法,将输入的明文分成64位的数据块进行加密,密钥长度为64位,有效密钥为56位(其他8位用于奇偶校验),生成的密文为64位。
DES算法加密流程 输入64比特明文数据 初始置换IP 在密钥控制下 16轮迭代 交换左右32比特 初始逆置换IP-1 输出64比特密文数据
1、DES通过初始置换,将64位的明文数据分成左半部分和右半部分,各32位长。1、DES通过初始置换,将64位的明文数据分成左半部分和右半部分,各32位长。 • 利用密钥对数据交叉进行复杂的异或运算,完成16轮完全相同的迭代变换(Y=AB+AB) • 将产生的新的64位的数据进行一个跟初始置换相反的逆置换,得到密文。
DES的破译 DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。
DES算法具有极高的安全性,到目前为止,除了用穷举法对DES算法进行攻击外,还没有发现更有效的办法。若使用的密钥是56位的,可能的组合达到了2的56次方,也即7.2乘10的16次方种,意味着如果一台计算机的速度是每秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的。DES算法具有极高的安全性,到目前为止,除了用穷举法对DES算法进行攻击外,还没有发现更有效的办法。若使用的密钥是56位的,可能的组合达到了2的56次方,也即7.2乘10的16次方种,意味着如果一台计算机的速度是每秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的。
当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。