课程纲要信息加密技术的基本概念对称密码学公钥密码学密钥管理与交换技术密码分析与攻击网络加密技术加密解密案例一、基本概念数字通信系统模型信源编码加密信道编码公开信道信源译码信道译码解密首先进行采样一、基本概念数字通信系统研究领域信源编码目的:采集数据、压缩数据以利于信息的传送。算法:算术编码、矢量量化(VQ)编码、相关信源编码、变换编码等。信道编码目的:数据在信道上的安全传输,使具有自我纠错能力,又称纠错码。算法:BCH码、循环码、线性分组码等。密码学目的:保密通信。算法:公钥密码体系、对称钥密码体系。密码学是一门研究通信安全和保护信息资源的既古老而又年青的科学和技术。密码学包含两方面内容:密码编码学、密码分析学。密码编码学是对信息编码以隐蔽信息的一门学问。密码分析学是研究分析破译密码的学问。这二者既相互对立又相互促进,共同推动密码学的发展。一、基本概念密码学概述一、基本概念密码学基本概念明文:需要秘密传送的消息。密文:明文经过密码变换后的消息。加密:由明文到密文的变换。解密:从密文恢复出明文的过程。破译:非法接收者试图从密文分析出明文的过程。加密算法:对明文进行加密时采用的一组规则。解密算法:对密文进行解密时采用的一组规则。密钥:加密和解密时使用的一组秘密信息。加解密过程示意图明文明文密文加密算法解密算法密钥密钥一、基本概念密码学基本概念密码系统一个密码系统可以用以下数学符号描述:S={P,C,K,E,D}P=明文空间C=密文空间K=密钥空间E=加密算法D=解密算法当给定密钥k∈K时,加解密算法分别记作Ek、Dk,密码系统表示为Sk={P,C,k,Ek,Dk}C=Ek(P)P=Dk(C)=Dk(Ek(P))一、基本概念密码学历史发展史早在4000多年以前,古埃及人就在墓志铭中使用过类似于象形文字那样奇妙的符号;公元前约50年,凯撒密码-一种简单的字符替换-被认为是最早的正式算法;双轨式密码、网格式密码、字典编号密码;传统密码学、现代密码学、量子密码学。应用领域军事、外交、情报商业、个人通信一、基本概念密码体制的分类单钥密码学(对称密码学)加密密钥和解密密钥相同;系统的保密性取决于密钥的安全性;如何分发密钥是难点。双钥密码学(非对称密码学,公钥密码学)加密密钥和解密密钥不同;系统的安全保障在于要从公开钥和密文推出明文或私钥在计算上是不可行的;分发密钥简单。一、基本概念古典密码学已经成为历史,但被传统密码学所借鉴;加解密都很简单,易被攻破;属于对称密钥学;包括置换密码、单表代换密码、多表代换密码等置换密码(permutationcipher),又称换位密码(transpositioncipher):明文的字母保持相同,但顺序被打乱了。周期性换位E=(2,1,4,3)D=(2,1,4,3)M=“置换密码”C=E(M)=“换置码密”矩阵换位将明文P=canyouunderstand排列为4×4的矩阵:列序:1234canyouunderstand密钥:4312表示将矩阵中第1列字符作为密文序列的第3组,矩阵中第2列作为密文序列的第2组,依次类推,结果如下:C=ynsdnurncodtauea一、基本概念古典密码学代替密码(substitutioncipher):就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。单表代换密码举例明文:abcdefghijklmnopqrstuvwxyz密文:DEFGHIJKLMNOPQRSTUVWXYZABCm=“Casercipherisashiftsubstitution”c=“FDVHDUFLSHULVDVKLIWVXEVWLWXWLRO”一、基本概念古典密码学单表替代密码——凯撒(Caesar)密码,又叫循环替代。加密方法:是将明文中的每个字母用此字符在字母表中后面第K个字母替代。它的加密过程可以表示为下面的函数:E(m)=(m+K)modnm:为明文字母在字母表中的位置数n:为字母表中的字母个数K:为密钥E(m)为密文字母在字母表中对应的位置数如:明文字母H,m=8设k=4则密文?一、基本概念古典密码学20世纪的密码机二、对称密码学对称密码学概述加密:EK(M)=C解密:DK(C)=M等效于DK(EK(M))=M数学变换函数密钥K明文密文数学变换函数密钥K明文密文二、对称密码学对称密码学概述网络信息M对称密码算法密钥K密文C用户A对称密码算法密文C用户B信息M密钥K二、对称密码学对称密码学分类块密码(分组密码)一次若干位一组地对明文进行操作和运算流密码(序列密码)每次一位地对明文进行操作和运算二、对称密码学块密码工作方式将明文分成固定长度的组(块),如64bit一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。主要算法DES、3DES、IDEA、RC2、AES等。二、对称密码学数据加密标准(DES)数据加密标准(DataEncryptionStandard),已经有20多年的历史;DES是一种对称密码算法,1976年11月23日DES被采纳为联邦标准;DES是第一个得到广泛应用的密码算法;DES是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位;DES已经过时,基本上认为不再安全。二、对称密码学数据加密标准(DES)该算法分三个阶段实现1.给定明文X,通过一个固定的初始置换IP来排列X中的位,得到X0。X0=IP(X)=L0R0其中L0由X0前32位组成,R0由X0的后32位组成。2.计算函数F的16次迭代,根据下述规则来计算LiRi(1=i=16)Li=Ri-1,Ri=Li-1F(Ri-1,Ki)其中Ki是长为48位的子密钥。子密钥K1,K2,…,K16是作为密钥K(56位)的函数而计算出的。3.对比特串R16L16使用逆置换IP-1得到密文Y。Y=IP-1(R16L16)二、对称密码学数据加密标准(DES)输入64位比特明文IP置换表L0R0Li=Ri-1Ri=Li⊕f(Ri-1,Ki)(i=1,2,…16)迭代16次IP逆置换表输出64位比特密文Li-1Ri-1P-盒置换RiLi密钥移位密钥移位压缩置换S-盒代替扩展置换⊕⊕二、对称密码学数据加密标准(DES)图1一轮DESLi=Ri-1Ri=Li-1⊕f(Ri-1,Ki)**注:其中Li和Ri是某一轮DES迭代的结果的左半部分和右半部分,是第i轮的48位密钥,且f是实现代替、置换及密钥异或等运算的函数二、对称密码学数据加密标准(DES)初始置换:在第一轮运算之前执行,对输入分组实施如下表所示。例如:初始置换把明文的第58位换到第1位的位置,把第50位换到第2位的位置…二、对称密码学数据加密标准(DES)二、对称密码学数据加密标准(DES)密钥置换:不考虑每个字节的第8位,DES的密钥由64位减至56位如下表所示(P2.6)在DES的每一轮中,从56位密钥产生出不同的48位子密钥子密钥的产生:56位密钥被分成两部分,每部分28位。然后,根据轮数,这两部分分别循环左移1位或2位。如下表给出了每轮移动的位数。移动后经过压缩置换从56位选出48位轮12345678910111213141516位数1122222212222221压缩置换表(P2.6)扩展置换:RI从32位扩展到了48位。这个运算改变了位的次序,重复了某些位。也称E盒。对每个4-位输入分组,第1和第4位分别表示输出分组中的两位,而第2,3位表示输出分组中的一位。12482432135673469587……扩展置换(P2.3)S-盒代替:压缩后的密钥与扩展分组异或以后,输入48位,48位的输入被分为8个6-位的分组,每一分组对应一个S盒代替操作,分组1由S-盒1操作…经过8个S-盒时,每个S-盒都有6-位输入,4-位输出,且这8个S-盒是不同的。最后输出32位48位输入32位输出S盒1S盒2S盒7S盒8……每个S-盒都是一个4行、16列的表。盒中的每一项都是一个4位的数。S-盒的6位输入确定了其对应的输出在哪一行哪一列。假定S-盒的6位的输入标记为b1、b2、…b6.则b1和b6组合构成了一个2-位的数,对应着表中的一行。B2-b5构成了一个4-位的数,对应着表中的一列。例如:设第6个S-盒的输入为110011,则11——三行,1001——九列,三行九列处的数为14,则输出1110**问题:B1=010011,输出?P-盒置换:S-盒代替运算后的32-位输出作为P-盒置换输入,该置换把每输入位映射到输出位(P2.5)末置换:末置换是初始置换的逆过程(P2.2)DES解密**加密和解密可以使用相同的算法**解密要求密钥的次序相反**子密钥生成,要求密钥向右移动轮12345678910111213141516位数1122222212222221二、对称密码学数据加密标准(DES)DES密钥长度太小DES迭代次数可能太少DES的破解1997年1月28日,RSA数据安全公司在RSA安全年会上悬赏10000美金破解DES,克罗拉多州的程序员Verser在Inrernet上数万名志愿者的协作下用96天的时间找到了密钥长度为40-bit和48-bit的DES密钥。1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机在56小时之内破译了56-bit的DES。1999年1月电子边境基金会(EFF)通过互联网上的10万台计算机合作,仅用22小时15分就破解了56-bit的DES。1999年,几个小时内就能破解。DES的原理混淆(confusion):即在加密变换过程中使明文、密钥及密文之间的关系复杂化。用于掩盖明文和密文间的关系。扩散(diffusion):即将每一位明文信息的变动,都会影响到密文中许多位信息的变动,即改变一个明文尽可能多的改变多个密文,从而隐藏统计上的特性,增加密码的安全。单独用一种方法,容易被攻破。流密码只依赖于混淆;分组密码两者都用。现代密码设计基本思想其他分组算法3DESIDEA(国际数据加密算法)RC5CAST算法AES算法二、对称密码学三重DES使用三(或两)个不同的密钥对数据块进行三次(或两次)加密,加密一次要比进行普通加密的三次要快三重DES的强度大约和112bits的密钥强度相当三重DES有四种模型DES-EEE3使用三个不同密钥顺序进行三次加密变换DES-EDE3使用三个不同密钥依次进行加密-解密-加密变换DES-EEE2其中密钥K1=K3顺序进行三次加密变换DES-EDE2其中密钥K1=K3依次进行加密-解密-加密变换到目前为止还没有人给出攻击三重DES的有效方法IDEAInternationalDataEncryptionAlgorithm;由瑞士联邦理工学院的XuejiaLai和JamesMassey于1990年提出(西电,瑞士,上交大)IDEA是对称、分组密码算法,输入的明文为64位,密钥为128位,生成的密文为64位;IDEA是一种相对较新的算法,有坚强的理论基础,已被证明可对抗差分分析和线性分析;目前还没有发现明显的安全漏洞,应用十分广泛。著名的电子邮件安全软件PGP就采用了IDEA进行数据加密。二、对称密码学高级加密标准(AES)1997年4月15日美国国家标准和技术研究所NIST发起了征集AES算法的活动并成立了专门的AES工作组目的是为了确定一个非保密的公开披露的全球免费使用的分组密码算法用于保护下一世纪政府的敏感信息并希望成为秘密和公开部门的数据加密标准1997年9月12日在联邦登记处公布了征集AES候选算法的通告AES的基本要求是比三重DES快或至少和三重DES一样安全分组长度128比特,密钥长度为128/192/256比特1998年8月20日NIST召开了第一次候选大会并公布了15个候选算法二、对称密码学高级加密标准(AES)1999年3月22日举行了第二次AES候选会议从中选出5个算法MARSRC6SerpentTwofishRi