电子商务安全技术实用教程第4章课件_第1页
电子商务安全技术实用教程第4章课件_第2页
电子商务安全技术实用教程第4章课件_第3页
电子商务安全技术实用教程第4章课件_第4页
电子商务安全技术实用教程第4章课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章加密与认证技术4.1加密技术基础4.2古典加密算法4.3对称密码体系4.4非对称密码体系4.5认证技术第四章加密与认证技术4.1加密技术基础14.1加密技术基本理论4.1.1加密技术的起源与发展数据加密技术已经有两千多年的历史了,古埃及人就用过象形文字来表述自己想要表达的意愿,但是随着时代的进步,古巴比伦和希腊都在用一些方法来开始保护他们的古文明和古文化。古典密码:远古——1949年近代密码:1949——1975年现代密码:1976——至今4.1加密技术基本理论4.1.1加密技术的起源与发展2表4-1:密码技术的发展历程1949,ClaudeShannon’sTheCommunicationTheoryofSecrecySystem,成为理论基础1949-1967,CryptographicLiteraturewasbarren1974,IBM:LucifferCipher,128位密钥作分组加密1975,Diffie-Hellman,ANewDirectioninCryptography,首次提出适应网络保密通信的公开密钥思想,揭开现代密码学研究的序幕,具有划时代的意义1976-1977,美国国家标准局正式公布实施DES,DataEncryptionStandard1977-1978,Rivest,Shamir,Adelman第一次提出公开密钥密码系统的实现方法RSA1981,成立InternationalAssociationforCryptologyResearch1985,ElGamal提出概率密码系统ElGamal方法1990-1992,LaiXuejiaandJames:IDEA,TheInternationalDataEncryptionAlgorithm2000,AES,AdvancedEncryptionStandard表4-1:密码技术的发展历程1949,ClaudeSha34.1.2加密模型与密码体制密码体制的构成包括以下要素:M:明文消息空间C:密文消息空间K:密钥空间E:加密算法:C=E(m,ke)D:解密算法:M=D(C,kd)。4.1.2加密模型与密码体制密码体制的构成包括以下要素:44.1.3密码技术分类1.按时间分为古典密码与近现代密码密码技术的发展为三个过程,最早期的古代密码没有一定的规律,还不能成为一门科学,所以按照时间可以分为古典密码和近现代密码。2.按加密方式分为分组密码与流密码(1)分组密码:取用明文的一个区块和钥匙,输出相同大小的密文区块(2)流密码:流密码也称为序列密码3.按密钥方式分单钥密码与双钥密码(1)单钥体制:单钥密码体制也称为对称密码体制(2)双钥体制:双钥体制也称为非对称密码体制或公钥体制(3)混合体制:采用双钥和单钥密码相结合的加密体制4.1.3密码技术分类1.按时间分为古典密码与近现代密码5图4-2序列密码的工作原理图4-2序列密码的工作原理6图4-3混合加密体制图4-3混合加密体制74.1.4密码学概述

密码学作为数学的一个分支,是研究信息系统安全保密的科学,是密码编码学和密码分析学的统称。(1)密码编码学密码编码学是使消息保密的技术和科学。密码编码学是密码体制的设计学,即怎样编码,采用什么样的密码体制保证信息被安全地加密。(2)密码分析学密码分析学是与密码编码学相对应的技术和科学,即研究如何破译密文的科学和技术。密码分析学是在未知密钥的情况下从密文推演出明文或密钥的技术。

常用的密码分析攻击有:唯密文攻击、已知明文攻击、选择明文攻击、自适应选择明文攻击、选择密文攻击、软磨硬泡攻击等方法。4.1.4密码学概述密码学作为数学的一个分支,84.2古典密码算法4.2.1古典密码的基本思想也称为传统密码技术,一般是指在计算机出现之前所采用的密码技术主要由文字信息构成不同的密码算法主要是由字符之间互相代换或互相之间换位所形成的算法。“替代”与“换位”主要有代码加密、代替加密、变位加密、一次性密码薄加密等4.2古典密码算法4.2.1古典密码的基本思想94.2.2古典密码的分类与算法1.替代密码(1)单表替代密码单表替代密码的一种典型方法是凯撒(Caesar)密码,又叫循环移位密码。它的加密方法就是把明文中所有字母都用它右边的第k个字母替代,并认为Z后边又是A。这种映射关系表示为如下函数: F(a)=(a+k)modn设k=3;对于明文P=COMPUTESYSTEMS则密文C=Ek(M)=FRPSXRWHUVBVWHPV。4.2.2古典密码的分类与算法1.替代密码10(2)多表替代密码周期替代密码是一种常用的多表替代密码,又称为维吉尼亚(Vigenere)密码。这种替代法是循环的使用有限个字母来实现替代的一种方法。采用的算法为:f(a)=(a+Bi)modn

(i=(1,2,…,n))例如:以YOUR为密钥,加密明码文HOWAREYOU。

P

=HOWAREYOU

K

=YOURYOURY Ek(M)=FCQRPSSFS(2)多表替代密码周期替代密码是一种常用的多表替代密码,又称112.移位密码(1)列换位法将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好。如明文是:WHATYOUCANLEARNFROMTHISBOOK密文则以下面的形式读出: WOFHOHURIKACOSXTAMBXYNTOX2.移位密码(1)列换位法将明文字符分割成为五个一列的分组122.移位密码(2)矩阵换位法这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。如将明文ENGINEERING按行排在3*4矩阵中,如下所示:给定一个置换:2.移位密码(2)矩阵换位法这种加密是把明文中的字母按给定133.一次一密钥密码一次一密钥密码是指一个包括多个随机密码的密码字母集,这些密码就好像一个记事本,其中每页上记录一条密码。例如,如果消息是:ONETIMEPAD,而取自乱码本的密钥序列是:TBFRGFARFM,那么密文就是:IPKLPSFHGQ,因为 (O+T)mod26=I (N+B)mod26=P (E+F)mod26=K …………。使用一次一密乱码本需要注意的是:密钥字母必须随机产生、密钥序列不能重复使用、尽管一次一密乱码本不能破译,但却只能局限于某些应用。3.一次一密钥密码一次一密钥密码是指一个包括多个随机密码的144.2.3转轮机在20世纪20年代,人们发明了各种机械加密设备用来自动处理加密。转轮机有一个键盘和一系列转轮,它是维吉尼亚密码的一种实现。第二次世界大战期间由德国人使用恩尼格马(Enigma)。4.2.3转轮机在20世纪20年代,人们发明了各种机械加密154.3对称密码算法4.3.1对称密码算法基础1.对称密钥密码思想对称密钥密码算法基本思想与传统密钥密码算法类似,采用移位和置换的方法。在该算法中,加密密钥和解密密钥相同或相近,由其中一个很容易得出另一个,加密密钥和解密密钥都是保密的。2.Feistel密码结构1973年IBM公司的HorstFeistel描述了大部分的对称块密码算法所具有的结构,其中包括DES。4.3对称密码算法4.3.1对称密码算法基础163.数据加密标准的要求(1)必须提供高度的安全性;(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解和掌握;(3)安全性应不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础;(4)必须适用于不同的用户和不同的场合;(5)实现算法的电子器件必须很经济、运行有效;(6)必须能够验证,允许出口。3.数据加密标准的要求(1)必须提供高度的安全性;174.3.2DES算法简介1.DES算法概念与特点DES(DataEncryptionStandard,数据加密标准)算法最初是由IBM公司所研制,于1977年由美国国家标准局颁布作为非机密数据的数据加密标准,并在1981年由国际标准化组织作为国际标准颁布。DES是一个分组加密算法,它以64位为分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。4.3.2DES算法简介1.DES算法概念与特点182.DES对称加密算法初始置换(InitialPermutation,IP)是对输入的64位数据按照规定的矩阵改变数据位的排列顺序的换位变换,此过程与密钥无关。子密钥生成是由64位外部输入密钥通过置换和移位操作生成加密和解密所需的16组(每组56位)子密钥的过程。乘积变换过程非常复杂,是加密过程的关键。该过程通过16轮重复的替代、移位、异或和置换操作打乱原输入数据。逆初始置换(IP-1)与初始置换过程相同,只是置换矩阵是初始置换的逆矩阵。2.DES对称加密算法初始置换(InitialPermut19(1)初始置换(IP)5850423426181026052443628201246254463830214664564840322416857494133251791595143352719113615345372921135635547393123157(1)初始置换(IP)585042342618102605220(2)子密钥生成(2)子密钥生成21第1步:PC1变换57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124PC1变换。将56位密钥按置换选择1(PC-1)的规律(如表4-3)进行置换,变换后分为左右两路(C0、D0)各28位。第1步:PC1变换57494133251791585042322表4-4循环移位表轮12345678910111213141516位数1122222212222221表4-5PC2变换表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表4-4循环移位表轮123456789101112131423(3)乘积变换初始置换后的数据分为各32位的两部分,左部分为L0,右部分为R0,这样,L0=D58D50D12….D8,R0=D57D49D41…D7。乘积变换过程就是将L0和R0按照乘积变换运算公式进行迭代运算,最后得出L16和R16。(3)乘积变换初始置换后的数据分为各32位的两部分,左部分为24(3)乘积变换第1步:E变换。E变换是一个扩展变换,其过程是将32位的数据Ri-1变换成48位第2步:异或变换。将E变换输出的48位数据与48位的子密钥Ki进行异或运算,得到48位的S盒数据。第3步:S盒变换。将48位的S盒数据均分为8部分,每部分为6位,用8个S盒S1~S8表示。每个S盒的输入为6位,变换后输出为4位,即经过8个S盒S1~S8变换后输出为32位(3)乘积变换第1步:E变换。E变换是一个扩展变换,其过程是25表4-6E变换表3212345456789891011121312131415161716171819202120212223242524252627282928293031321表4-6E变换表3212345456789891011126表4-7S1转换表1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613图4-8S盒变换表4-7S1转换表144131215118310612527表4-8P盒置换表1672021291228171152326518311028241432273919133062211425第4步:P变换。P变换的过程是将S盒输出的32位数据进行位置变换得到一个新的32数据组,因此P变换为线性变换,其变换规则如表4-8所示。第5步:异或变换。P变换输出的32位数据与32位的Li-1异或后输出32位数据,此数据就是Ri。

表4-8P盒置换表1672021291228171152328(4)逆初始置换(IP-1)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725(4)逆初始置换(IP-1)408481656246432329(6)DES算法的安全性DES被公认为世界上第一个实用的密码算法标准DES的缺点是密钥位数太短(56位)算法的对称性存在一些弱密钥和半弱密钥其安全性完全依赖于对密钥的保护(6)DES算法的安全性DES被公认为世界上第一个实用的密码304.3.3其他对称加密算法(1)TDEA算法TDEA(TripleDataEncryptionAlgorithm,三重DES)算法,其本质和DES算法是一致的。它是为了解决DES算法密钥过短的而出现的。在TDEA算法中,使用三个密钥,执行三次DES算法,该算法的总密钥长度为168位(56位的三倍)。(2)AES算法AES(AdvancedEncryptionStandard,高级加密标准)算法是一个非保密的、全球免费使用的分组加密算法,并被确定为替代DES的数据加密标准。Rijndael算法具有加密强度高、可抵御所有已知攻击、运算速度快和灵活性好等特点,成为AES最合适的选择。(3)IDEA算法IDEA(InternationalDataEncryptionAlgorithm,国际数据加密算法)是瑞士著名学者提出的。该算法是在DES算法的基础上发展起来的,类似于三重DES,也是一种分组密码算法,分组长度为64位,但密钥长度为128位。该算法就是用128位密钥对64位二进制码数据进行加密的,同样用128位密钥对64位密文进行解密变换。4.3.3其他对称加密算法(1)TDEA算法31表4-9对称密钥加密算法比较算法名称密钥长度(位)分组长度(位)循环运算次数DES566416TDEA112、1686448AES128、192、25612810、12、14IDEA128648表4-9对称密钥加密算法比较算法名称密钥长度(位)分组长度324.4非对称密码算法4.4.1非对称密码的思想非对称密钥密码算法也叫做公开密钥密码算法。在该算法中,信息发送方和接收方所使用的密钥是不同的,即加密密钥与解密密钥不同,且由其中的一个很难导出另一个。公钥密码体制应满足以下要求:(1)对任意明文进行加密变换是很容易的,并且若知道解密密钥,那么对密文的解密也是很容易的;(2)信息的发送方对任意明文进行加密变换后,接收方进行解密变换就可以得到明文;(3)若不知道解密密钥,那么即使知道加密密钥,具体的加密与解密算法以及密文,确定明文在计算上也是不可行的。4.4非对称密码算法4.4.1非对称密码的思想334.4.2RSA算法1.RSA算法的原理RSA因其发明人RonaldL.Rivest、AdiShamir和LeonardM.Adleman而得名。RSA的基础是数论的欧拉定理,它的安全性依赖于大数的因数。RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法的秘密密钥利用公开信道传输分发不安全的问题。RSA是第一个比较完善的公开密钥算法,它既能用于加密也能用于数字签名。4.4.2RSA算法1.RSA算法的原理342.RSA算法的过程

(1)随机地选取两个不同的大素数p和q(一般为100位以上的十进制数)予以保密;(2)计算n=p·q,作为A的公开模数;(3)计算Euler函数:

φ(n)=(p-1)·(q-1)(4)随机地选取一个与φ(n)互素的整数e,作为A的公开密钥;(5)用欧几里德算法,计算满足同余方程e•d≡1(modφ(n))

的解d,作为A用户的保密密钥;(6)任何向A发送明文的用户,均可用A的公开密钥e和公开模数n,根据式C=Me(modn)

得到密文C(7)用户A收到C后,可利用自己的保密密钥d,根据M=Cd(modn)

得到明文M2.RSA算法的过程

(1)随机地选取两个不同的大素数p和353.RSA算法实例:对“HI”进行加密(1)选密钥

设p=5,q=11,

则n=55,φ(n)=40

取e=3,公钥(3,55)3dmod40=1则d=27,私钥(27,55)(2)加密设明文编码为:

空格=00,A=01,B=02,…,Z=26则明文HI=0809C1=(08)3(mod55)=512(mod55)=17C2=(09)3(mod55)=729(mod55)=14N=14,Q=17所以,密文为QN(3)恢复明文M1=Cd(mod55)=(17)27(mod55)=08M2=Cd(mod55)=(14)27(mod55)=09因此明文为“HI”。3.RSA算法实例:对“HI”进行加密(1)选密钥(3)363.RSA算法的安全性RSA算法的安全性建立在难于对大数进行质因数分解的基础上,因此大数n是否能够被分解是RSA算法安全的关键。由于用RSA算法进行的都是大数运算,使得RSA算法无论是用软件实现还是硬件实现,其速度要比DES慢得多。因此,RSA算法一般只用于加密少量数据。RSA的发明者Rivest、Shamir和Adleman建议取p和q为100位以上的十进制数,这样,n为200位的十进制数。按每秒109次运算的高速计算机也要计算106年。3.RSA算法的安全性RSA算法的安全性建立在难于对大数进374.4.3其他非对称密码算法4.4.3其他非对称密码算法384.5认证技术4.5.1认证技术概述1.认证技术的概念所谓“认证”即确认和证实,一般是为了确认身份的真实性和信息的有效性而采取的一些方法。同样的在网络环境中,认证技术是信息安全中的一个重要内容,也是电子商务安全的重要保障。认证主要采用对称密码、公钥加密、散列函数等技术为电子商务活动中的信息完整性和不可否认性以及电子商务实体的身份真实性提供技术保障。4.5认证技术4.5.1认证技术概述394.5.1认证技术概述2.认证技术的分类从鉴别对象上,认证技术分为消息认证和用户身份认证:(1)消息认证:用于保证信息来源的证实性和信息内容的完整性和不可否认性。(2)身份认证:鉴别用户身份。包括识别和验证两部分3.消息认证的目的(1)消息内容认证(2)消息的源和宿认证(3)消息序号和操作时间的认证4.5.1认证技术概述2.认证技术的分类404.身份认证的方法(1)用户名及密码方式(2)智能卡认证(3)动态令牌认证(4)身份认证系统(5)USBKey认证(6)生物识别技术4.身份认证的方法(1)用户名及密码方式414.5.2消息验证码技术1.消息验证码MAC消息验证码MAC(MessageAuthentication),是用来保证数据完整性的一种方法。MAC算法以密钥K(K是收、发双方共享的密钥)和变长消息M作为输入,计算出一个定长的函数值MAC=Ck(M),称为消息认证码或密码校验和。4.5.2消息验证码技术1.消息验证码MAC423.常用的散列算法散列函数是公开的,对处理的过程不用保密,它的安全性来源于它的单向性。目前,常用的散列算法主要有MD5、SHA-1和RIPEMD-160。我国山东大学王小云教授等于2004年8月在美国加州召开的国际密码大会上所做的Hash函数研究报告中指出,她们已成功破译了MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。3.常用的散列算法散列函数是公开的,对处理的过程不用保密,434.5.3数字签名技术1.数字签名的概念数字签名(DigitalSignature)又称公钥签名或电子签章,是以电子形式存储于信息中或以附件或逻辑上与之有联系的数据,用于辨识数据签署人的身份,并表明签署人对数据中所包含信息的认可。数字签名的特点:①签名是可以被确认的②签名是不可伪造的③签名不可重用④签名是不可抵赖的⑤签名的信息不能篡改4.5.3数字签名技术1.数字签名的概念44图4-12直接签名与验证的工作原理图4-12直接签名与验证的工作原理45表4-10直接签名与可仲裁签名的特点名称具体实现优点缺点直接数字签名体制发送者先对要签名的消息进行Hash处理,再用私钥对得到的验证码进行加密思想简单可行且易于实现有效性依赖于签名者私钥的安全性可仲裁的数字签名体制发送方先对消息执行签名操作,再将签名和被签消息一起发给仲裁者,仲裁者对其进行验证,通过验证的签名保证了其真实性,最后将消息和签名发送给接收者。签名者没有作弊的机会,签名不能被伪造更复杂,仲裁可能成为系统的瓶颈,仲裁者必须公正可信。表4-10直接签名与可仲裁签名的特点名称具体实现优点缺点直46本章小结古典密码常见的算法有:简单代替密码或单字母密码、多名或同音代替、多表代替,以及多字母或多码代替等。现代密码主要分为单钥密码体制和双钥密码体制两类最有影响的单钥密码是DES算法和IDEA算法优秀的双钥算法有基于素数因子分解问题的RSA算法和基于离散对数问题的ElGamal算法在认证技术领域,通过使用密码手段,一般可以实现消息认证和身份认证。本章小结古典密码常见的算法有:简单代替密码或单字母密码、多名47第四章加密与认证技术4.1加密技术基础4.2古典加密算法4.3对称密码体系4.4非对称密码体系4.5认证技术第四章加密与认证技术4.1加密技术基础484.1加密技术基本理论4.1.1加密技术的起源与发展数据加密技术已经有两千多年的历史了,古埃及人就用过象形文字来表述自己想要表达的意愿,但是随着时代的进步,古巴比伦和希腊都在用一些方法来开始保护他们的古文明和古文化。古典密码:远古——1949年近代密码:1949——1975年现代密码:1976——至今4.1加密技术基本理论4.1.1加密技术的起源与发展49表4-1:密码技术的发展历程1949,ClaudeShannon’sTheCommunicationTheoryofSecrecySystem,成为理论基础1949-1967,CryptographicLiteraturewasbarren1974,IBM:LucifferCipher,128位密钥作分组加密1975,Diffie-Hellman,ANewDirectioninCryptography,首次提出适应网络保密通信的公开密钥思想,揭开现代密码学研究的序幕,具有划时代的意义1976-1977,美国国家标准局正式公布实施DES,DataEncryptionStandard1977-1978,Rivest,Shamir,Adelman第一次提出公开密钥密码系统的实现方法RSA1981,成立InternationalAssociationforCryptologyResearch1985,ElGamal提出概率密码系统ElGamal方法1990-1992,LaiXuejiaandJames:IDEA,TheInternationalDataEncryptionAlgorithm2000,AES,AdvancedEncryptionStandard表4-1:密码技术的发展历程1949,ClaudeSha504.1.2加密模型与密码体制密码体制的构成包括以下要素:M:明文消息空间C:密文消息空间K:密钥空间E:加密算法:C=E(m,ke)D:解密算法:M=D(C,kd)。4.1.2加密模型与密码体制密码体制的构成包括以下要素:514.1.3密码技术分类1.按时间分为古典密码与近现代密码密码技术的发展为三个过程,最早期的古代密码没有一定的规律,还不能成为一门科学,所以按照时间可以分为古典密码和近现代密码。2.按加密方式分为分组密码与流密码(1)分组密码:取用明文的一个区块和钥匙,输出相同大小的密文区块(2)流密码:流密码也称为序列密码3.按密钥方式分单钥密码与双钥密码(1)单钥体制:单钥密码体制也称为对称密码体制(2)双钥体制:双钥体制也称为非对称密码体制或公钥体制(3)混合体制:采用双钥和单钥密码相结合的加密体制4.1.3密码技术分类1.按时间分为古典密码与近现代密码52图4-2序列密码的工作原理图4-2序列密码的工作原理53图4-3混合加密体制图4-3混合加密体制544.1.4密码学概述

密码学作为数学的一个分支,是研究信息系统安全保密的科学,是密码编码学和密码分析学的统称。(1)密码编码学密码编码学是使消息保密的技术和科学。密码编码学是密码体制的设计学,即怎样编码,采用什么样的密码体制保证信息被安全地加密。(2)密码分析学密码分析学是与密码编码学相对应的技术和科学,即研究如何破译密文的科学和技术。密码分析学是在未知密钥的情况下从密文推演出明文或密钥的技术。

常用的密码分析攻击有:唯密文攻击、已知明文攻击、选择明文攻击、自适应选择明文攻击、选择密文攻击、软磨硬泡攻击等方法。4.1.4密码学概述密码学作为数学的一个分支,554.2古典密码算法4.2.1古典密码的基本思想也称为传统密码技术,一般是指在计算机出现之前所采用的密码技术主要由文字信息构成不同的密码算法主要是由字符之间互相代换或互相之间换位所形成的算法。“替代”与“换位”主要有代码加密、代替加密、变位加密、一次性密码薄加密等4.2古典密码算法4.2.1古典密码的基本思想564.2.2古典密码的分类与算法1.替代密码(1)单表替代密码单表替代密码的一种典型方法是凯撒(Caesar)密码,又叫循环移位密码。它的加密方法就是把明文中所有字母都用它右边的第k个字母替代,并认为Z后边又是A。这种映射关系表示为如下函数: F(a)=(a+k)modn设k=3;对于明文P=COMPUTESYSTEMS则密文C=Ek(M)=FRPSXRWHUVBVWHPV。4.2.2古典密码的分类与算法1.替代密码57(2)多表替代密码周期替代密码是一种常用的多表替代密码,又称为维吉尼亚(Vigenere)密码。这种替代法是循环的使用有限个字母来实现替代的一种方法。采用的算法为:f(a)=(a+Bi)modn

(i=(1,2,…,n))例如:以YOUR为密钥,加密明码文HOWAREYOU。

P

=HOWAREYOU

K

=YOURYOURY Ek(M)=FCQRPSSFS(2)多表替代密码周期替代密码是一种常用的多表替代密码,又称582.移位密码(1)列换位法将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好。如明文是:WHATYOUCANLEARNFROMTHISBOOK密文则以下面的形式读出: WOFHOHURIKACOSXTAMBXYNTOX2.移位密码(1)列换位法将明文字符分割成为五个一列的分组592.移位密码(2)矩阵换位法这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。如将明文ENGINEERING按行排在3*4矩阵中,如下所示:给定一个置换:2.移位密码(2)矩阵换位法这种加密是把明文中的字母按给定603.一次一密钥密码一次一密钥密码是指一个包括多个随机密码的密码字母集,这些密码就好像一个记事本,其中每页上记录一条密码。例如,如果消息是:ONETIMEPAD,而取自乱码本的密钥序列是:TBFRGFARFM,那么密文就是:IPKLPSFHGQ,因为 (O+T)mod26=I (N+B)mod26=P (E+F)mod26=K …………。使用一次一密乱码本需要注意的是:密钥字母必须随机产生、密钥序列不能重复使用、尽管一次一密乱码本不能破译,但却只能局限于某些应用。3.一次一密钥密码一次一密钥密码是指一个包括多个随机密码的614.2.3转轮机在20世纪20年代,人们发明了各种机械加密设备用来自动处理加密。转轮机有一个键盘和一系列转轮,它是维吉尼亚密码的一种实现。第二次世界大战期间由德国人使用恩尼格马(Enigma)。4.2.3转轮机在20世纪20年代,人们发明了各种机械加密624.3对称密码算法4.3.1对称密码算法基础1.对称密钥密码思想对称密钥密码算法基本思想与传统密钥密码算法类似,采用移位和置换的方法。在该算法中,加密密钥和解密密钥相同或相近,由其中一个很容易得出另一个,加密密钥和解密密钥都是保密的。2.Feistel密码结构1973年IBM公司的HorstFeistel描述了大部分的对称块密码算法所具有的结构,其中包括DES。4.3对称密码算法4.3.1对称密码算法基础633.数据加密标准的要求(1)必须提供高度的安全性;(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解和掌握;(3)安全性应不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础;(4)必须适用于不同的用户和不同的场合;(5)实现算法的电子器件必须很经济、运行有效;(6)必须能够验证,允许出口。3.数据加密标准的要求(1)必须提供高度的安全性;644.3.2DES算法简介1.DES算法概念与特点DES(DataEncryptionStandard,数据加密标准)算法最初是由IBM公司所研制,于1977年由美国国家标准局颁布作为非机密数据的数据加密标准,并在1981年由国际标准化组织作为国际标准颁布。DES是一个分组加密算法,它以64位为分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。4.3.2DES算法简介1.DES算法概念与特点652.DES对称加密算法初始置换(InitialPermutation,IP)是对输入的64位数据按照规定的矩阵改变数据位的排列顺序的换位变换,此过程与密钥无关。子密钥生成是由64位外部输入密钥通过置换和移位操作生成加密和解密所需的16组(每组56位)子密钥的过程。乘积变换过程非常复杂,是加密过程的关键。该过程通过16轮重复的替代、移位、异或和置换操作打乱原输入数据。逆初始置换(IP-1)与初始置换过程相同,只是置换矩阵是初始置换的逆矩阵。2.DES对称加密算法初始置换(InitialPermut66(1)初始置换(IP)5850423426181026052443628201246254463830214664564840322416857494133251791595143352719113615345372921135635547393123157(1)初始置换(IP)585042342618102605267(2)子密钥生成(2)子密钥生成68第1步:PC1变换57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124PC1变换。将56位密钥按置换选择1(PC-1)的规律(如表4-3)进行置换,变换后分为左右两路(C0、D0)各28位。第1步:PC1变换57494133251791585042369表4-4循环移位表轮12345678910111213141516位数1122222212222221表4-5PC2变换表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表4-4循环移位表轮123456789101112131470(3)乘积变换初始置换后的数据分为各32位的两部分,左部分为L0,右部分为R0,这样,L0=D58D50D12….D8,R0=D57D49D41…D7。乘积变换过程就是将L0和R0按照乘积变换运算公式进行迭代运算,最后得出L16和R16。(3)乘积变换初始置换后的数据分为各32位的两部分,左部分为71(3)乘积变换第1步:E变换。E变换是一个扩展变换,其过程是将32位的数据Ri-1变换成48位第2步:异或变换。将E变换输出的48位数据与48位的子密钥Ki进行异或运算,得到48位的S盒数据。第3步:S盒变换。将48位的S盒数据均分为8部分,每部分为6位,用8个S盒S1~S8表示。每个S盒的输入为6位,变换后输出为4位,即经过8个S盒S1~S8变换后输出为32位(3)乘积变换第1步:E变换。E变换是一个扩展变换,其过程是72表4-6E变换表3212345456789891011121312131415161716171819202120212223242524252627282928293031321表4-6E变换表3212345456789891011173表4-7S1转换表1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613图4-8S盒变换表4-7S1转换表144131215118310612574表4-8P盒置换表1672021291228171152326518311028241432273919133062211425第4步:P变换。P变换的过程是将S盒输出的32位数据进行位置变换得到一个新的32数据组,因此P变换为线性变换,其变换规则如表4-8所示。第5步:异或变换。P变换输出的32位数据与32位的Li-1异或后输出32位数据,此数据就是Ri。

表4-8P盒置换表1672021291228171152375(4)逆初始置换(IP-1)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725(4)逆初始置换(IP-1)408481656246432376(6)DES算法的安全性DES被公认为世界上第一个实用的密码算法标准DES的缺点是密钥位数太短(56位)算法的对称性存在一些弱密钥和半弱密钥其安全性完全依赖于对密钥的保护(6)DES算法的安全性DES被公认为世界上第一个实用的密码774.3.3其他对称加密算法(1)TDEA算法TDEA(TripleDataEncryptionAlgorithm,三重DES)算法,其本质和DES算法是一致的。它是为了解决DES算法密钥过短的而出现的。在TDEA算法中,使用三个密钥,执行三次DES算法,该算法的总密钥长度为168位(56位的三倍)。(2)AES算法AES(AdvancedEncryptionStandard,高级加密标准)算法是一个非保密的、全球免费使用的分组加密算法,并被确定为替代DES的数据加密标准。Rijndael算法具有加密强度高、可抵御所有已知攻击、运算速度快和灵活性好等特点,成为AES最合适的选择。(3)IDEA算法IDEA(InternationalDataEncryptionAlgorithm,国际数据加密算法)是瑞士著名学者提出的。该算法是在DES算法的基础上发展起来的,类似于三重DES,也是一种分组密码算法,分组长度为64位,但密钥长度为128位。该算法就是用128位密钥对64位二进制码数据进行加密的,同样用128位密钥对64位密文进行解密变换。4.3.3其他对称加密算法(1)TDEA算法78表4-9对称密钥加密算法比较算法名称密钥长度(位)分组长度(位)循环运算次数DES566416TDEA112、1686448AES128、192、25612810、12、14IDEA128648表4-9对称密钥加密算法比较算法名称密钥长度(位)分组长度794.4非对称密码算法4.4.1非对称密码的思想非对称密钥密码算法也叫做公开密钥密码算法。在该算法中,信息发送方和接收方所使用的密钥是不同的,即加密密钥与解密密钥不同,且由其中的一个很难导出另一个。公钥密码体制应满足以下要求:(1)对任意明文进行加密变换是很容易的,并且若知道解密密钥,那么对密文的解密也是很容易的;(2)信息的发送方对任意明文进行加密变换后,接收方进行解密变换就可以得到明文;(3)若不知道解密密钥,那么即使知道加密密钥,具体的加密与解密算法以及密文,确定明文在计算上也是不可行的。4.4非对称密码算法4.4.1非对称密码的思想804.4.2RSA算法1.RSA算法的原理RSA因其发明人RonaldL.Rivest、AdiShamir和LeonardM.Adleman而得名。RSA的基础是数论的欧拉定理,它的安全性依赖于大数的因数。RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法的秘密密钥利用公开信道传输分发不安全的问题。RSA是第一个比较完善的公开密钥算法,它既能用于加密也能用于数字签名。4.4.2RSA算法1.RSA算法的原理812.RSA算法的过程

(1)随机地选取两个不同的大素数p和q(一般为100位以上的十进制数)予以保密;(2)计算n=p·q,作为A的公开模数;(3)计算Euler函数:

φ(n)=(p-1)·(q-1)(4)随机地选取一个与φ(n)互素的整数e,作为A的公开密钥;(5)用欧几里德算法,计算满足同余方程e•d≡1(modφ(n))

的解d,作为A用户的保密密钥;(6)任何向A发送明文的用户,均可用A的公开密钥e和公开模数n,根据式C=Me(modn)

得到密文C(7)用户A收到C后,可利用自己的保密密钥d,根据M=Cd(modn)

得到明文M2.RSA算法的过程

(1)随机地选取两个不同的大素数p和823.RSA算法实例:对“HI”进行加密(1)选密钥

设p=5,q=11,

则n=55,φ(n)=40

取e=3,公钥(3,55)3dmod40=1则d=27,私钥(27,55)(2)加密设明文编码为:

空格=00,A=01,B=02,…,Z=26则明文HI=0809C1=(08)3(mod55)=512(mod55)=17C2=(09)3(mod55)=729(mod55)=14N=14,Q=17所以,密文为QN(3)恢复明文M1=Cd(mod55)=(17)27(mod55)=08

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论