85
第第第 第第第第第第

第四章 数据加密技术

  • Upload
    buffy

  • View
    183

  • Download
    7

Embed Size (px)

DESCRIPTION

第四章 数据加密技术. 本章学习的主要内容. 数据加密的有关概念 传统的数据加密方法 对称加密算法的基本思想和应用 公开密钥加密算法的基本思想和应用 数据加密技术的应用:数字签名、报文摘要、 SSL 和 SET 协议、 PGP 加密系统. 本章学习的教学要求. 了解:数据加密的有关术语和方法、传统的数据加密方法 掌握:对称加密算法和公开密钥加密算法的特点和应用、数字签名、报文摘要、 SSL 和 SET 协议、 PGP 加密系统. 互联网困境. 密码的产生. 我国古代的 《 武经总要 》 。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第四章 数据加密技术

第四章 数据加密技术

Page 2: 第四章 数据加密技术

本章学习的主要内容• 数据加密的有关概念• 传统的数据加密方法• 对称加密算法的基本思想和应用• 公开密钥加密算法的基本思想和应用• 数据加密技术的应用:数字签名、报文摘要、 SSL 和 SET 协议、 PGP 加密系统

Page 3: 第四章 数据加密技术

本章学习的教学要求• 了解:数据加密的有关术语和方法、传统的数据加密方法• 掌握:对称加密算法和公开密钥加密算法的特点和应用、数字签名、报文摘要、 SS

L 和 SET 协议、 PGP 加密系统

Page 4: 第四章 数据加密技术

互联网困境

Page 5: 第四章 数据加密技术

密码的产生• 我国古代的《武经总要》。 《武经总要》是一部中国古代北宋的军事著作。曾公亮和丁度两人奉皇帝之命用了五年的时间编成。该书是中国第一部规模宏大的综合性军事著作,对于研究宋朝以前的军事思想非常重要。其中大篇幅介绍了武器的制造,对科学技术史的研究也很重要。 书中记载,北宋前期,在作战中曾用一首五言律诗的 40 个汉字,分别代表 40 种情况或要求,这种方式已具有了密本的特点。

Page 6: 第四章 数据加密技术

• 1871 年,上海大北水线电报公司的商用明码本和密本。 由上海大北水线电报公司选用 6899 个汉字,代以四码数字,成为中国最初的商用明码本,同时也设计了由明码本改编为密本及进行加乱的方法。在此基础上,逐步发展为各种比较复杂的密码。 • 公元前一世纪,古罗马皇帝凯撒使用有序的单表代替密码,之后逐步发展为密本、多表代替及加乱等各种密码体制。

Page 7: 第四章 数据加密技术

• 二十世纪初,产生了机械式和电动式密码机,出现了商业密码机公司和市场。• 二十世纪 60 年代后,电子密码机得到较快的发展和广泛的应用,使密码的发展进入了一个新的阶段。

Page 8: 第四章 数据加密技术

转轮机基于转轮的机械加密设备,用来自动处理加密。二十世纪早期的密码机。

Page 9: 第四章 数据加密技术

• 概述 早在 4000 多年前,人类已经有了使用密码技术的记载。最早的密码技术源于“隐写术”:用明矾水在白纸上写字,当水迹干了后,就什么也看不到了,而当放在火上烤时,字就会显现出来。(明矾:十二水合硫酸铝钾,有抗菌作用、收敛作用等,可用做中药。 一般来说,隐写的信息看起来像一些其他的东西,例如一张购物清单,一篇文章,一篇图画或者其他“伪装”的消息。

Page 10: 第四章 数据加密技术

公元前 5 世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码。

Page 11: 第四章 数据加密技术

网络信息安全受到的几种攻击• 侦听 (interception) — 中途窃听 ,攻击保密性 • 服务中断 (interruption) —攻击可用性 • 信息篡改( modification - of info)—攻击完整性 • 消息伪造( fabrication - of info)—攻击认证性

Page 12: 第四章 数据加密技术

• 数据加密技术 将一个信息经过加密,变成无意义的密文,而接收方则将此密文经过解密还原成明文,这样的技术称为数据加密技术。 数据加密技术是网络信息安全的基础(防火墙技术、入侵检测技术等都是基于它的),也是保证信息安全的重要手段之一(保证信息的完整性、机密性、可用性、认证性)。

Page 13: 第四章 数据加密技术

• 密码学是一门研究密码技术的科学,包括 密码编码学和密码分析学,前者是研究加密的,后者是研究破译的。两者相互联系,相互支持。

Page 14: 第四章 数据加密技术

密码学• 密码学是一门研究秘密信息的隐写技术的学科• 密码学技术可以使消息的内容对 (除发送者和接收者以外 ) 的所有人保密• 密码学可以使接收者验证消息的正确性• 密码学是解决计算机与通信安全问题重要技术之一

Page 15: 第四章 数据加密技术

密码学基本术语• 加密( encryption )— E ,将计算机中的信息进行一组可逆的数学变换的过程。• 解密( decryption )— D ,与加密相反的过程• 明文( plaintext )— P,变换前的原始消息• 密文( ciphertext )— C,变换后的消息 • 密钥( key )—用于密码变换的,只有发送者和接收者拥有的秘密消息,是一组参与变换的参数。加密过程是在加密密钥 Ke 的参与

Page 16: 第四章 数据加密技术

下进行,解密过程是在解密密钥 Kd 的参与下进行。• 编码( encode )—把明文变为密文的过程• 译码( decode)—把密文变为明文的过程• 密码学( cryptology )—包括加密理论与解密理论的学科

Page 17: 第四章 数据加密技术

明文加密

密文

明文: P密文: C加密函数: E解密函数: D密钥: K ( Ke,Kd )加密: C = E(P,Ke)解密: P = D(C,Kd)

先加密后再解密,原始的明文将恢复: DK(EK(P)) = P

解密密码学的有关概念

Page 18: 第四章 数据加密技术

密码学发展的三个阶段• 1949 年之前,古典密码学阶段• 1949 年~ 1975 年,现代密码学阶段• 1976 年至今,公钥密码学阶段

Page 19: 第四章 数据加密技术

古典密码学阶段( 1949 年以前)

• 密码学还不是科学 , 而是艺术• 出现一些密码算法和加密设备• 保密针对的是字符• 简单的密码分析手段出现• 主要特点:数据的安全性取决于算法的保密

Page 20: 第四章 数据加密技术

早期用来代表字母的符号

Page 21: 第四章 数据加密技术

中国明代,宁王朱宸濠割据一方,他有谋逆之心,对不喜欢的人或毒杀或驱赶。江西巡抚先后或死或罢四五人,孙燧接任时说,这一去恐怕就没有回的。他把妻子儿子送回老家后,带两个僮仆上路。孙燧在江西任上加强兵力调配和兵器管理,严防朱造反。朱派人给孙燧送去枣梨姜芥四样果蔬,孙燧一看,笑而拒绝。那四样果蔬何解?说穿了就是一种实物密码,“枣梨姜芥”即“早离疆界”。

Page 22: 第四章 数据加密技术

中国古代的“藏头诗”。《唐寅诗集》中有诗曰: 我画兰江水悠悠, 爱晚亭上枫叶稠。 秋月融融照佛寺, 香烟袅袅绕轻楼。 这是一首藏头诗,每句第一个字连起来便是“我爱秋香”

Page 23: 第四章 数据加密技术

《水浒传》中为了拉卢俊义入伙,“智多星”吴用和宋江便生出一段“吴用智赚玉麒麟”的故事来,利用卢俊义正为躲避“血光之灾”的惶恐心理,口占四句卦歌:   芦花丛中一扁舟,俊杰俄从此地游。   义士若能知此理,反躬难逃可无忧。 暗藏“卢俊义反”四字,广为传播。结果,成了官府治罪的证据,终于把卢俊义“逼”上了梁山。

Page 24: 第四章 数据加密技术

典型代表 这个阶段的密码学基本是一些对字符的替代和换位,比较简单。• 一、替换密码技术 明文中每一个字符被替换成密文中的另外一个字符。 1 、单表替换技术:替换时采用了单个字母表 2 、多表替换技术:替换时采用了多个字母表• 二、换位密码技术 明文中字母的顺序被打乱改变。

Page 25: 第四章 数据加密技术

1 、单表替换技术 实例——凯撒密码 约公元前 50 年,罗马皇帝凯撒发明了一种用于战时秘密通信的方法。它是将字母按照字母表的顺序排列,最后一个字母和第一个字母首尾相连。明文中的每个字母用它后面第三个字母来代替,构成密文。也就是说,密文字母相对于明文字母循环右移了 3位。

Page 26: 第四章 数据加密技术
Page 27: 第四章 数据加密技术

例如: shenzhen 的凯撒密码为 vkhqckhq

凯撒密码破解起来比较简单,只要经过多次尝试找到密钥就可以了。 如果要增强它的保密性,可以将映射表复杂化,把这 26 个字母的对应关系打散,比如: 字母 a 用 f 替换, b 用 q 替换, c 用 z 替换,这样的方法就称为单表替换技术。

Page 28: 第四章 数据加密技术

尝试利用字母表破译以下句子:zhzloophhwdwwkhjdwhwrpruurzdiwhuqrrq

Page 29: 第四章 数据加密技术

答案: We will meet at the gate tomorrow afternoo

n.

由于明文与密文之间存在一一对应的关系,所以在密文中仍然保存了明文中字母出现的规律,安全性比较低。

Page 30: 第四章 数据加密技术

2 、多表替换技术实例——费杰尔密码通过循环采用一个有限的字母序列来实现替换。

Page 31: 第四章 数据加密技术
Page 32: 第四章 数据加密技术

例如:使用费杰尔密码加密明文: vigenere cipher 使用的密钥是“ cat” 。 在明文下反复写上密钥: 明文: vig ene rec iph er 密钥: cat cat cat cat ca加密时,以明文字母指定行,以密钥字母指定列。 密文: xiz gnx tev kpa gr解密时,以密钥字母选择列,从表中找到密文字母, 所在的行就是明文字母。

Page 33: 第四章 数据加密技术

可以看出,对于同一个明文字母,由于在明文中位置不同,将得到不同的密文字母,这样就在密文中消除了明文中字母出现的规律了。 多表替换密码显然要比单表替换密码要好,但是只要给密码分析员足够数量的密文样本,这个算法最终是可以破译的,这里的关键在于密钥。为了增强安全性,通常采用的方法是加长密钥的长度。

Page 34: 第四章 数据加密技术

换位密码技术 与替换密码技术不同的是,换位密码技术并没有换掉明文中的字母,而是通过改变明文字母的排列顺序来达到加密的目的。例如:采用一个字符串“ ABLE” 为密钥,把明文“ CAN YOU UNDERSTAND” 进行列换位加密。

Page 35: 第四章 数据加密技术

矩阵的列数由密钥的字母个数决定,按照密钥各个字母顺序的大小排出列号,将明文按行排列到矩阵中。最后以列的顺序将矩阵中的字母读出。 得到密文: CODTAUEAYNSDNURN 。

Page 36: 第四章 数据加密技术

现代密码学( 1949 年- 1975 年)

• 密码学成为科学• 计算机的出现使得基于复杂计算的密码成为可能• 相关技术的发展– 1949 年 Shannon 的《保密系统的信息理论》– 1967 年 David Kahn 的《破译者》– 1971-1973 年 IBM Watson 实验室的 Horst Feistel 及其同事发表了几篇技术报告

• 主要特点:数据的安全基于密钥而不是算法的保密

Page 37: 第四章 数据加密技术

对称加密算法

典型代表

Page 38: 第四章 数据加密技术

一、对称加密算法 如果在一个密码体系中,加密密钥和解密密钥相同,就称之为对称加密算法。使用这种算法,要求信息的发送者和接收者在安全通信之前商定一个密钥,因此,算法的安全性完全依赖于密钥的安全性,如果密钥丢失,就意味着任何人都能对加密信息进行解密了。

Page 39: 第四章 数据加密技术

对称加密算法通信模型

Page 40: 第四章 数据加密技术

对称加密算法可分成两类:• 序列加密算法:一次只对明文中的一个位进行加密的算法。• 分组加密算法:一次对明文中的一组位进行加密的算法 现代典型的分组加密算法的分组长度是 64位,这个长度既方便使用,又足以防止分析破译。

Page 41: 第四章 数据加密技术

对称加密算法• 数据加密标准( DES)• 三重 DES ( Triple DES)• 国际数据加密算法( IDEA)• 高级加密标准( AES)

Page 42: 第四章 数据加密技术

DES (数据加密标准)算法是一种最为典型的对称加密算法,是美国政府在 1977 年采纳的数据加密标准,是由 IBM 公司为非机密数据加密所设计的方案,后来被国际标准局采纳为国际标准。 DES 以算法实现快、密钥简短等特点成为现在使用非常广泛的一种加密标准。

数据加密标准( DES )

Page 43: 第四章 数据加密技术

• 20 世纪 70 年代初,非军用密码学的研究处于混乱不堪的状态中。• 1972 年,美国国家标准局( NBS),即现在的国家标准与技术研究所( NIST),拟定了一个旨在保护计算机和通信数据的计划。计划中提出要开发一个单独的标准密码算法。• 1973 年, NBS 公开征集标准密码算法。• 1974 年, NBS 第二次征集。收到一个有前途的候选算法,该算法从 IBM 1970 年初开发出的 Lucifer 算法发展而来。

Page 44: 第四章 数据加密技术

• 1975 年 3月, NBS 公布了算法细节。• 1976 年 11月, DES被美国政府采纳作为联邦标准,并授权在非密级的政府通信中使用。• 1981 年,美国国家标准研究所( ANSI)批准 DES 作为私营部门的标准( ANSI

X3.92)。

Page 45: 第四章 数据加密技术

学习:• DES 是一种分组加密算法,将输入的明文分成

64位的数据块进行加密,密钥长度为 64位,有效密钥为 56位(其他 8位用于奇偶校验),生成的密文为 64位。

Page 46: 第四章 数据加密技术

输入 64 比特明文数据初始置换 IP

在密钥控制下16 轮迭代

初始逆置换 IP-1

输出 64 比特密文数据

交换左右 32 比特

DES 算法加密流程

Page 47: 第四章 数据加密技术

• 1 、 DES通过初始置换,将 64位的明文数据分成左半部分和右半部分,各 32位长。• 利用密钥对数据交叉进行复杂的异或运算,完成 16轮完全相同的迭代变换( Y=AB+AB)• 将产生的新的 64位的数据进行一个跟初始置换相反的逆置换,得到密文。

Page 48: 第四章 数据加密技术

DES 的破译 DES 使用 56位密钥对 64位的数据块进行加密,并对 64位的数据块进行 16轮编码。在 1977 年,人们估计要耗资两千万美元才能建成一个专门计算机用于 DES 的解密,而且需要 12 个小时的破解才能得到结果。所以,当时 DES被认为是一种十分强壮的加密方法。  

Page 49: 第四章 数据加密技术

• DES 算法具有极高的安全性,到目前为止,除了用穷举法对 DES 算法进行攻击外,还没有发现更有效的办法。若使用的密钥是 56位的,可能的组合达到了 2 的 56次方,也即 7.2乘 10 的 16次方种,意味着如果一台计算机的速度是每秒种检测一百万个密钥,则它搜索完全部密钥就需要将近 2285 年的时间,可见,这是难以实现的。

Page 50: 第四章 数据加密技术

当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把 DES 密钥的长度再增长一些,以此来达到更高的保密程度。

Page 51: 第四章 数据加密技术

破解所需 攻击者平均时间 类型密钥长度个人攻击 小组攻击 院、校网络攻击 大公司 军事情报机构

40 ( bits) 数周 数日 数时 数毫秒 数微秒56 数百年 数十年 数年 数小时 数秒钟64 数千年 数百年 数十年 数日 数分钟80 不可能 不可能 不可能 数百年 数百年128 不可能 不可能 不可能 不可能 数千年

攻击者类型 所配有的计算机资源 每秒处理的密钥数个人攻击 1台高性能桌式计算机及其软件 217-224

小组攻击 16 台高性能桌式计算机及其软件 221-224

院、校网络攻击 256 台高性能桌式计算机及其软件 225-228

大公司 配有价值 1百万美元的硬件 243

军事情报机构 配有价值 1百万美元的硬件及先进的攻击技术 255

(基于 1997 年的技术统计分析的攻击结果)DES 的破译

Page 52: 第四章 数据加密技术

IDEA 算法• IDEA 数据加密算法是由瑞士联邦技术学院的中国学者来学嘉博士和著名的密码专家 James L. Massey 于 1990年联合提出的 PES(建议标准算法称作 PES( Proposed Encry

ption Standard) ) , 91 年修订, 92 公布细节并更名为 IDEA 。

• IDEA 是对称、分组密码算法,输入明文为 64位,密钥为128位,生成的密文为 64位, 8圈;

• 设计目标从两个方面考虑– 加密强度– 易实现性

• IDEA 是一种专利算法 ( 在欧洲和美国 ) ,专利由瑞士的 Ascom 公司拥有。

Page 53: 第四章 数据加密技术

明文用 K1加密

密文

密文

K1:密钥 1K2:密钥 2K3:密钥 3密文

用 K2解密

用 K1加密

明文用 K1加密

密文

密文

密文用 K2解密

用 K3加密

三重 DES ( Triple DES )• 三重 DES 用两个密钥(或三个密钥)对明文进行三次加密解密运算。• 密钥长度从 56位变成 112位(或 168位)。

Page 54: 第四章 数据加密技术

AES 算法( 1 )• 1997年 4月 15日,美国国家标准技术研究所( N

IST)发起征集高级加密标准( Advanced Encryption Standard) AES的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。

• 1997年 9月 12日,美国联邦登记处公布了正式征集 AES候选算法的通告。作为进入 AES候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。• 对 AES的基本要求是:比三重 DES快、至少与三重 DES一样安全、数据分组长度为 128比特、密钥长度为 128/192/256比特。

Page 55: 第四章 数据加密技术

AES 算法( 2 )• 1998年 8月 12日,在首届 AES会议上指定了 15个候选算法。• 1999年 3月 22日第二次 AES会议上,将候选名单减少为 5个,这 5个算法是 RC6, Rijndael, SERP

ENT, Twofish和MARS。• 2000年 4月 13日,第三次 AES会议上,对这 5个候选算法的各种分析结果进行了讨论。• 2000年 10月 2日, NIST —宣布了获胜者 Rijndael算法, 2001 年 11月出版了最终标准 FIPS PUB197。

Page 56: 第四章 数据加密技术

公钥密码学( 1976 年至今)

• 现代密码学的新方向• 相关技术的发展– 1976 年: Diffie 和 Hellman 提出了公开密钥密码学的概念,并发表论文《密码学的新动向》 – 1977 年 Rivest 、 Shamir 和 Adleman提出了 RSA公钥算法– 90 年代逐步出现椭圆曲线等其他公钥算法

• 主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。

Page 57: 第四章 数据加密技术

公开密钥算法

典型代表

Page 58: 第四章 数据加密技术

对称加密算法( symmetric algorithm )也称传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。 公开密钥算法( public-key algorithm )也称非对称算法,加密密钥不同于解密密钥,而且解密密钥不能根据加密密钥推算出来。加密密钥叫做公开密钥( public-key ,简称公钥),解密密钥叫做私人密钥( private-key ,简称私钥)。

加密: EK1(P) = C解密: DK2(C) = P公钥: K1私钥: K2

签名: DK2(P) = C验签: EK1(C) = P

对称加密算法和公开密钥算法

Page 59: 第四章 数据加密技术

对称加密算法中,由于算法的安全性完全依赖于密钥的保密性,如何在公开的计算机网络中安全地传送密钥是个问题,另外,随着用户数量的增加,密钥的数量也将急剧增加,如 100 个用户通信时需要 4950 对密钥,如何对数量庞大的密钥进行管理也是问题。 公开密钥算法很好地解决了这两个问题。

Page 60: 第四章 数据加密技术

公开密钥算法通信模型( 1 )

Page 61: 第四章 数据加密技术

公开密钥算法通信模型( 2 )

Page 62: 第四章 数据加密技术

• 加密密钥是公开的,任何人都能通过查找得到,而解密密钥是保密的,只有得到相应的解密密钥才能解密信息。 用户只需要保存好自己的私钥,因此不存在密钥的传送问题。 n 个用户相互之间进行通信,需要的密钥对数也仅为 n ,管理更简单。

Page 63: 第四章 数据加密技术

公开密钥算法• RSA 算法• Diffie-Hellman 算法• 混合加密体系• 数字签名

Page 64: 第四章 数据加密技术

是 1977 年由美国的 3位教授提出的,是第一个较完善的公开密钥算法,它既能用于加密也能用于数字签名。

RSA 算法

Page 65: 第四章 数据加密技术

RSA 算法• RSA 的安全性是基于大数分解的难度。其公开密钥和私人密钥是一对大素数的函数。从一个公钥和密文中恢复出明文的难度等价于分解两个大素数的乘积。公开密钥 (n,e) n :两素数 p 和 q 的乘积( p 和 q 必须保密) e :与 (p-1)(q-1)互素私人密钥 (n,d) 设 Z= (p-1)(q-1) ( d *e ) mod Z = 1加密 c = me mod n解密 m = cd mod n

Page 66: 第四章 数据加密技术

RSA 算法举例• 设两素数 p=7 , q=17 ,计算出乘积 n=7*17=

119• 计算出 n 的欧拉函数 φ(n)=(7-1)(17-1)=96 ,从

1 到 φ(n) 之间任选一个与 φ(n)互素的数 e ,这里选 5• 利用 mod函数计算出解密密钥 d , ( d*e) mod 96=1 d=77 将 p 、 q丢弃;将 n 、 e 公开作为公钥;将 d保 密作为私钥。

Page 67: 第四章 数据加密技术

从 p 和 q 计算 n 的过程非常简单,但是从 n找出 p 和 q 不容易。在实际应用中, p 和 q将是非常大的素数,通过 n找出 p 和 q 的难度将非常大,甚至不可能,所以要推算出密钥 d 就更是困难。这决定了 RSA 算法的安全性。

Page 68: 第四章 数据加密技术

RSA 算法安全性• 密码分析者攻击 RSA 体制的关键点在于如何分解 n ,若分解成功使 n=pq ,则可以算出 φ(n)=( p-1)(q-1) ,然后由公开的 e ,解出秘密的 d 。• 若使 RSA安全, p与 q必为足够大的素数,使分析者无法在短时间内将 n 分解出来,建议选择 p 和 q 为 100位的十进制素数。

Page 69: 第四章 数据加密技术

课堂演练: RSA-Tool 的使用

Page 70: 第四章 数据加密技术

Diffie-Hellman 算法• Diffie-Hellman 算法是第一个公开密钥算法,其安全性源于在有限域上计算离散对数比计算指数更为困难。• Diffie-Hellman 算法能够用作密钥分配,但不能用于加密或解密信息。• 思路:

– 首先必须公布两个公开的整数 n 和 g , n 是大素数, g 是模 n 的本原元。– 当 Alice 和 Bob 要作秘密通信时,则执行以下步骤:

1. Alice 选取一个大的随机数 x 并且发送给 Bob X = gx mod n2. Bob 选取一个大的随机数 y 并且发送给 Alice Y = gy mod n3. Alice 计算 k = Yx mod n4. Bob 计算 k’ = Xy mod n

– k 和 k’ 都等于 gxy mod n 。因此 k 是 Alice 和 Bob独立计算的秘密密钥。

Page 71: 第四章 数据加密技术

公开密钥算法的应用• 一、混合加密体系• 二、数字签名

Page 72: 第四章 数据加密技术

• 公开密钥算法虽然安全性高,但是在加密和解密过程中运算复杂,其运算量是对称加密算法的几千甚至几万倍,所以没必要都采用公开密钥算法。一般采用混合加密体系。

Page 73: 第四章 数据加密技术

混合加密体系

P明文

对称加密

K采用密钥P加密明文

E(P)

公钥加密

PKB采用K加密密钥

EPKB(K)EPKB(K)

私钥解密

SKB采用K解出密钥

对称K密钥

对称解密E(P)

P明文

A发送者

E(P)+EPKB(K)

B接收者

综合发挥两种加密算法的优点,既利用了对称加密算法速度快的优点,又利用了公钥加密算法的安全性高的特性。

Page 74: 第四章 数据加密技术

数字签名( digital signature )• 数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。以往的书信或文件是根据亲笔签名或印章来证明其真实性的。这就是数字签名所要解决的问题。数字签名必须保证以下几点:–接收者能够核实发送者对报文的签名;–发送者事后不能抵赖对报文的签名;–接收者不能伪造对报文的签名。

Page 75: 第四章 数据加密技术

数字签名示意图

P明文

D运算 DSKA(P) DSKA(P) E运算

P明文

在网络上传输

SKA采用私钥进行数字签名

A PKA采用 的公钥进行签名验证

A发送者 B接收者

Page 76: 第四章 数据加密技术

过程: 1 、发送者 A采用私钥 SKA 对报文 P 进行数字签名 2 、生成的报文 DSKA( P)发送到接收者 B 3 、 B 在接收到 DSKA( P)后,采用 A 的公钥

PKA 对报文进行签名验证,核实签名。

Page 77: 第四章 数据加密技术

目前,数字签名技术在商业活动中得到了广泛的应用,所有需要手动签名的地方,都可以使用数字签名。

Page 78: 第四章 数据加密技术

数据加密技术的应用• 报文鉴别–简介– MD5 算法– SHA-1 算法

• PGP 系统(本章重点)• SSL 、 SET 协议

Page 79: 第四章 数据加密技术

报文鉴别技术简介• 名称: Hash Function 、哈希函数、单向杂凑函数、数据(消息)摘要函数。• 单向散列函数 H(M) 作用于一任意长度的消息 M ,它返回一固定长度的散列值 h : h = H(M)• 单向散列函数的特性:

– 给定 M ,很容易计算 h 。– 给定 h ,根据 h = H(M) 计算 M 很难。– 给定 M ,要找到另一消息 M’ ,并满足 H(M) = H(M’) 很难。

• 单向散列函数的重要之处就是赋予 M 唯一的“指纹”。• 密码学上常用的单向散列函数有 RSA 公司 MD 系列中的 MD2、 MD4 、 MD5 ,美国 NIST 的 SHA 、 SHA-1 ,欧盟 RIPE项目的 RIPEMD 、 RIPEMD-128 、 RIPEMD-160 等。

Page 80: 第四章 数据加密技术

MD5 算法• MD 系列单向散列函数是 Ron Rivest 设计的,包括

MD2 、 MD4 和 MD5 。 MD 表示消息摘要( Message Digest)。

• MD5 以 512位分组来处理输入文本,每一分组又划分为 16 个 32位子分组。算法的输出由四个 32位分组组成,将它们级联形成一个 128位散列值。• MD5 的安全性弱点在于其压缩函数的冲突已经被找到。 1995 年有论文指出,花费 1,000万美元,设计寻找冲突的特制硬件设备,平均在 24天内可以找出一个 MD5 的冲突。

Page 81: 第四章 数据加密技术

课堂演练:MD5Verify 、 MD5Crack 的使用

• 任务一:使用 MD5Verify :加密字符串和文件;对比 MD5 密文 • 任务二:使用 MD5Crack破解 MD5 密文

Page 82: 第四章 数据加密技术

SHA ( Secure Hash Algorithm )简介• 1992 年 NIST 制定了 SHA(128位 )• 1993 年 SHA 成为标准• 1994 年修改产生 SHA-1(160位 )• 1995 年 SHA-1 成为新的标准• SHA-1 要求输入消息长度 <264

• SHA-1 的摘要长度为 160位• 基础是 MD4

Page 83: 第四章 数据加密技术

报文摘要实现示意图

m报文

MD算法

MD算法MD采用 算法产生报文摘要

采用解密运算进行解密

A发送者 B接收者

E运算

采用加密运算加密报文摘要

D

MD采用 算法产生报文摘要

H(m)判断 和H'(m)是否相等?

H(m) EK (H(m))

EK (H(m))

m H'(m)

H(m)

EK (H(m))+m

Page 84: 第四章 数据加密技术

PGP 系统• PGP ( Pretty Good Privacy)

P邮件

SHA-1算法

SHA-1采用 算法产“ ”生 邮件摘要

加密后的密钥K和加密后的报文P1.Z拼接在一起

RSA

SKA采用 签名邮件摘要

K采用密钥P1. Z加密报文

SHA1(P) HI DEA

RSA

PKB采用K加密密钥

ZI P压缩

BASE64编码

ASCI I码文本

发送至网络上

P1 P1.Z

Page 85: 第四章 数据加密技术

课堂演练:使用 PGP 加密系统• 任务一: PGP软件包的安装• 任务二: PGP 密钥的生成和管理• 任务三:使用 PGP 对文件进行加密、签名和解密、签名验证• 任务四:使用 PGP 对邮件进行加密、签名和解密、签名验证• 任务五:使用 PGP 对磁盘进行加密