计算机网络安全PPT计算机网络安全.pptx
,密码的产生,我国宋代曾公亮武经总要。1871年,上海大北水线电报公司的商用明码本和密本。公元前一世纪,古罗马皇帝凯撒使用有序的单表代替密码。二十世纪初,产生了机械式和电动式密码机,出现了商业密码机公司和市场。二十世纪60年代后,电子密码机得到较快的发展和广泛的应用。,转轮机,基于转轮的机械加密设备,用来自动处理加密。,二十世纪早期的密码机。,明文,加密,密文,明文:P密文:C加密函数:E解密函数:D密钥:K,加密:EK(P)=C解密:DK(C)=P,先加密后再解密,原始的明文将恢复:DK(EK(P)=P,解密,密码学的有关概念,密码学的三个阶段,1949年之前,古典密码学1949年1976年,现代密码学1976年以后,公钥密码学,古典密码学(1949年以前),密码学还不是科学,而是艺术出现一些密码算法和加密设备密码算法的基本手段出现,保密针对的是字符简单的密码分析手段出现主要特点:数据的安全基于算法的保密,现代密码学(1949年1976年),密码学成为科学计算机使得基于复杂计算的密码成为可能相关技术的发展1949年Shannon的“The Communication Theory of Secret Systems”1967年David Kahn的The Codebreakers1971-73年IBM Watson实验室的Horst Feistel等几篇技术报告主要特点:数据的安全基于密钥而不是算法的保密,公钥密码学(1949年至今),现代密码学的新方向相关技术的发展1976年:Diffie&Hellman 提出了公开密钥密码学的概念,并发表论文“New Directions in Cryptography”1977年Rivest,Shamir&Adleman提出了RSA公钥算法90年代逐步出现椭圆曲线等其他公钥算法主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。,密码学与信息安全,信息的私密性(Privacy)对称加密信息的完整性(Integrity)单向散列算法信息的源发鉴别(Authentication)数字签名信息的防抵赖性(Non-Reputation)数字签名时间戳,古典密码学,芦花丛中一扁舟,俊杰俄从此地游,义士若能知此理,反躬逃难可无忧。,代替密码:明文中每一个字符被替换成密文中的另外一个字符。四类典型的代替密码:简单代替密码、多名码代替密码、多字母代替密码、多表代替密码换位密码。,wuhdwb lpsrvvleoh,密文:,Ci=E(Pi)=Pi+3,TREATY IMPOSSIBLE,算法:,明文:,字母表:(密码本)ABCDEFGHIJKLMNOPQRSTUVWXYZ defghijklmnopqrstuvwxyzabc,恺撒密码,古典密码:代替密码技术(1),古典密码:代替替换技术(2),多表替换技术费杰尔密码:【例子】,古典密码:换位密码技术,【例子】原文:Hello World密钥:CHINA加密过程 C H I N A H E L L O W O R L D密文:HWEOLRLLOD,对称密钥算法,算法类型通信模型数据加密标准(DES)三重DES(Triple DES)国际数据加密算法(IDEA)高级加密标准(AES),对称算法(symmetric algorithm)有时也称传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。,加密:EK(P)=C解密:DK(C)=P,公开密钥算法(public-key algorithm)也称非对称算法,加密密钥不同于解密密钥,而且解密密钥不能根据加密密钥计算出来。加密密钥叫做公开密钥(public-key,简称公钥),解密密钥叫做私人密钥(private-key,简称私钥)。,加密:EK1(P)=C解密:DK2(C)=P,密钥:K,公钥:K1私钥:K2,签名:DK2(P)=C验签:EK1(C)=P,对称算法和公开密钥算法,对称算法通信模型,数据加密标准(DES),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),DES是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位。DES对64位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算。,DES算法加密流程,DES的破译,DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。,DES的破译,1977年,一台专用于破译DES的并行计算机能在一天中找到密钥,耗资2000万美元。在CRYPTO93上,Session和Wiener给出了一个非常详细的密钥搜索机器的设计方案,这个机器基于并行运算的密钥搜索芯片,所以16次加密能同时完成。花费10万美元,平均用1.5天左右就可找到DES密钥。1993年,花费100万美元建造的穷举DES破译机平均3.5小时就能找到一个密钥。并且这种机器的造价以每10年20%的速度下降。美国克罗拉多洲的程序员Verser从1997年2月18日起,用了96天时间,在Internet上数万名志愿者的协同工作下,成功地找到了DES的密钥,赢得了悬赏的1万美元。1998年7月电子前沿基金会(EFF)使用一台25万美圆的电脑在56小时内破译了56比特密钥的DES。1999年1月RSA数据安全会议期间,电子前沿基金会用22小时15分钟就宣告破解了一个DES的密钥。,(基于1997年的技术统计分析的攻击结果),DES的破译,明文,用K1加密,密文,密文,K1:密钥1K2:密钥2K3:密钥3,密文,用K2解密,用K1加密,明文,用K1加密,密文,密文,密文,用K2解密,用K3加密,三重DES(Triple DES),三重DES用两个密钥(或三个密钥)对明文进行三次加密解密运算。密钥长度从56位变成112位(或168位)。,IDEA(Internation Data Encryption Algorithm)算法,IDEA数据加密算法是由瑞士联邦技术学院的中国学者来学嘉博士和著名的密码专家 James L.Massey 于1990年联合提出的PES(建议标准算法称作PES(Proposed Encryption Standard),91年修订,92公布细节并更名为IDEA。IDEA是对称、分组密码算法,输入明文为64位,密钥为128位,生成的密文为64位,8圈;设计目标从两个方面考虑加密强度易实现性IDEA是一种专利算法(在欧洲和美国),专利由瑞士的Ascom公司拥有。,AES算法(1),1997年4月15日,美国国家标准技术研究所(NIST)发起征集高级加密标准(Advanced Encryption Standard)AES的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。作为进入AES候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。,AES算法(2),1998年8月12日,在首届AES会议上指定了15个候选算法。1999年3月22日第二次AES会议上,将候选名单减少为5个,这5个算法是RC6,Rijndael,SERPENT,Twofish和MARS。2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。2000年10月2日,NIST宣布了获胜者Rijndael算法,2001年11月出版了最终标准FIPS PUB197。,DES算法在网络安全中的应用,大量文件的加密,公开密钥算法通信模型(1),公开密钥算法通信模型(2),公开密钥算法,简介RSA算法Diffie-Hellman算法混合加密体系数字签名,RSA算法,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,RSA算法举例,设 p=7,q=17,n=7*17=119;参数T=n=119;(n)=(7-1)(17-1)=96;选择e=5,gcd(5,96)=1;公钥pk=5;计算d,(d*e)mod 96=1;d=77;私钥sk=77;设:明文m=19 加密:(19)5 mod 119=66 解密:(66)77 mod 119=19,RSA算法安全性,密码分析者攻击RSA体制的关键点在于如何分解n,若分解成功使n=pq,则可以算出(n)(p-1)(q-1),然后由公开的e,解出秘密的d。若使RSA安全,p与q必为足够大的素数,使分析者无法在多项式时间内将n分解出来,建议选择p和q大约是100位的十进制素数。模n的长度要求至少是512比特。EDI攻击标准使用的RSA算法中规定n的长度为512至1024比特位之间,但必须是128的倍数;国际数字签名标准ISO/IEC 9796中规定n的长度位512比特位。为了提高加密速度,通常取e为特定的小整数如EDI国际标准中规定 e2161;ISO/IEC9796中甚至允许取e3,这时加密速度一般比解密速度快10倍以上,Diffie-Hellman算法,Diffie-Hellman算法是第一个公开密钥算法,其安全性源于在有限域上计算离散对数比计算指数更为困难。Diffie-Hellman算法能够用作密钥分配,但不能用于加密或解密信息。思路:首先必须公布两个公开的整数 n 和 g,n 是大素数,g 是模 n 的本原元。当Alice和Bob要作秘密通信时,则执行以下步骤:Alice选取一个大的随机数 x 并且发送给Bob X=gx mod nBob选取一个大的随机数 y 并且发送给Alice Y=gy mod nAlice计算 k=Yx mod nBob计算 k=Xy mod nk 和 k 都等于 gxy mod n。因此 k 是Alice和Bob独立计算的秘密密钥。,混合加密体系,综合发挥两种加密算法的优点,既利用了对称加密算法速度快的优点,又利用了公钥加密算法的安全性高的特性。,数字签名(digital signature),数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。以往的书信或文件是根据亲笔签名或印章来证明其真实性的。这就是数字签名所要解决的问题。数字签名必须保证以下几点:接收者能够核实发送者对报文的签名;发送者事后不能抵赖对报文的签名;接收者不能伪造对报文的签名。,数字签名示意图,具有加密功能的数字签名,数据加密技术的应用,报文鉴别简介MD5算法SHA-1算法PGP系统(本章重点)SSL、SET谢意,报文鉴别技术简介,名称: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等。,MD5算法,MD系列单向散列函数是Ron Rivest设计的,包括MD2、MD4和MD5。MD表示消息摘要(Message Digest)。MD5以512位分组来处理输入文本,每一分组又划分为16个32位子分组。算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。MD5的安全性弱点在于其压缩函数的冲突已经被找到。1995年有论文指出,花费 1,000万美元,设计寻找冲突的特制硬件设备,平均在24天内可以找出一个MD5的冲突。,SHA(Secure Hash Algorithm)简介,1992年NIST制定了SHA(128位)1993年SHA成为标准1994年修改产生SHA-1(160位)1995年SHA-1成为新的标准SHA-1要求输入消息长度264SHA-1的摘要长度为160位基础是MD4,