资源简介 (共79张PPT)第4章信息加密技术的应用第4章 信息加密技术的应用4.1 信息加密技术概述4.2 古典密码4.3 分组密码4.4 公钥密码4.5 加密技术在电子商务安全中的应用4.6 非密码的安全技术4.7 加密实例分析4.1 信息加密技术概述4.1.1 密码学的起源与发展4.1.2 密码学的基本概念4.1.3 密码算法分类4.1.1 密码学的起源与发展密码学是一门古老的技术.人类出现战争就出现了密码(Cipher). -1946年,电子计算机出现,密码进入电子时代. -1946年,香农发表了“保密系统的通信理论”一文,标志密码学作为一门学科而形成. -1976年,提出公开密钥密码的概念,开创了一个密码新时代. -1977年,美国颁布了数据加密标准DES,密码史上一大创举. -1978年,提出RSA算法,基于大整数因子分解困难性问题. -2001年,颁布AES为美国国家标准. -未来,量子密码,混沌密码,生物密码等.4.1.2 密码学的基本概念一个密码系统是整个安全系统的一部分,由五部分组成(M,C,K,E,D): -明文空间M,全体明文的集合 -密文空间C,全体密文的集合 -密钥空间K,全体密钥的集合, -加密算法集合E,加密变换 -解密算法集合D,解密变换密码系统工作流程对密码系统的攻击仅知密文攻击:Ciphertext-only attack (COA) -仅知道一些密文已知明文攻击:Known-plaintext attack (KPA) -知道一些(明文,密文)对选择明文攻击:Chosen-Plaintext attack (CPA) -能够选择明文并获得相应的密文选择密文攻击:Chosen-ciphertext attack (CCA) -能够选择密文并获得相应的明文4.1.3 密码算法分类1. 分组密码与流密码(1)分组密码将明文m划分为固定长度的明文块m1,m2,…,mn,对每一块都用相同的密钥k进行加密(2)流密码将明文消息按字符或位逐个进行加密2. 对称密码与非对称密码(1)对称密码加密密钥与解密密钥相同或从其中一个能很容易导出另一个(2)非对称密码通信主体都拥有一对密钥,其中一个保密,由本人产生并保管,称为私钥,另一个密钥则可以公开4.2 古典密码4.2.1 代替密码4.2.2 置换密码4.2 古典密码4.2.1 代替密码(1) 移位密码(2) 仿射密码(3) 维吉尼亚密码(1) 移位密码meet me after the toga partyPHHW PH DIWHU WKH WRJD SDUWBmnop由其后的第三个字母代替加密算法:c= EK(m)=(m+3) mod 26解密算法:m= Ed(c)=(c - 3) mod 26(1) 移位密码英文字母和数字映射A B C D E F G H I J K L M N O P Q R S T U V W X Y Z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25M=C=Z26K= Z26加密明文 mci=ek(mi)=(mi+k) mod 26解密密文 cmi=dk(ci)=(ci-k) mod 26(2) 仿射密码明文空间:M=Zn密文空间:C=Zn密钥空间:K={(a,b)∈Zn×Zn| gcd(a,n)=1}加密: ek(m)=c=am+b (mod n)解密: dk(c)=m=(c-b)a-1 (mod n)(3) 维吉尼亚密码密钥 h o l d h o l d h o l d h o l d h o明文 t h i s i s t h e p l a i n t e x t密文 A V T V P G E K L D W D P B E H D H4.2 古典密码4.2.2 置换密码(1) rail-fence密码(2) 三角密码4.2.2 置换密码(1)rail-fence密码(2)三角密码i a pt s n p li a eyo u mu s t d ot h a t n o w4.3 分组密码4.3.1 数据加密标准(DES)4.3.2 高级加密标准(AES)4.3.3 国际数据加密算法(IDEA)4.3.1 数据加密标准(1) 初始置换1 2 3 4 5 6 7 8 58 50 42 34 26 18 10 29 10 11 12 13 14 15 16 60 52 44 36 28 20 12 417 18 19 20 21 22 23 24 62 54 46 38 30 22 14 625 26 27 28 29 30 31 32 64 56 48 40 32 24 16 833 34 35 36 37 38 39 40 57 49 41 33 25 17 9 141 42 43 44 45 46 47 48 59 51 43 35 27 19 11 349 50 51 52 53 54 55 56 61 53 45 37 29 21 13 557 58 59 60 61 62 63 64 63 55 47 39 31 23 15 7初始置换IP(1) 初始置换逆置换IP-11 2 3 4 5 6 7 8 58 50 42 34 26 18 10 29 10 11 12 13 14 15 16 60 52 44 36 28 20 12 417 18 19 20 21 22 23 24 62 54 46 38 30 22 14 625 26 27 28 29 30 31 32 64 56 48 40 32 24 16 833 34 35 36 37 38 39 40 57 49 41 33 25 17 9 141 42 43 44 45 46 47 48 59 51 43 35 27 19 11 349 50 51 52 53 54 55 56 61 53 45 37 29 21 13 557 58 59 60 61 62 63 64 63 55 47 39 31 23 15 7(2) f函数(2.1)扩展置换1 2 3 4 32 1 2 3 4 55 6 7 8 4 5 6 7 8 99 10 11 12 8 9 10 11 12 1313 14 15 16 12 13 14 15 16 1717 18 19 20 16 17 18 19 20 211 22 23 24 20 21 22 23 24 2525 26 27 28 24 25 26 27 28 2929 30 31 32 28 29 30 31 32 1(2.2)S盒代替(2.3)P盒置换16 7 20 21 29 12 28 171 15 23 26 5 18 31 102 8 24 14 32 27 3 919 13 30 6 22 11 4 25(3) 产生子密钥(3.1)置换选择PC1C0 D057 49 41 33 25 17 9 63 55 47 39 31 23 151 58 50 42 34 26 18 7 62 54 46 38 30 2210 2 59 51 43 35 27 14 6 61 53 45 37 2919 11 3 60 52 44 36 21 13 5 28 20 12 4(3.2)循环左移迭代次数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16循环左移位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1(3.3)置换选择PC214 17 11 24 1 53 28 15 6 21 1023 19 12 4 26 816 7 27 20 13 241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 324.3.2 高级加密标准(AES)(1)字节代替(SubBytes):通过非线性的替换函数,把每个字节替换成对应的字节。(2)行移位(ShiftRows):将矩阵中的每个行进行循环移位。(3)列混合(MixColumns):使用线性变换混合每列的四个字节。(4)异或轮密钥(AddRoundKey):矩阵中的每一个字节都与该轮的轮密钥(round key)做XOR运算,每个轮密钥由密钥生成方案产生。4.3.2 高级加密标准(AES)4.3.2 高级加密标准(AES)(1)字节代替:通过S盒完成一个字节到另外一个字节的映射4.3.2 高级加密标准(AES)(2)行移位:四行分别循环左移0、1、2和3个位置4.3.2 高级加密标准(AES)(3)列混合:利用GF(28)域上算术特性的一个操作,将行移位之后的矩阵左乘下述矩阵4.3.2 高级加密标准(AES)(4) 异或轮密钥: 加密过程中,每轮输入与轮密钥异或一次4.3.3 国际数据加密算法(IDEA)由旅居瑞士中国学者来学嘉和著名密码专家J.Massey于1990年提出的4.3.3 国际数据加密算法(IDEA)(1)X1和第一个子密钥相乘。(2)X2和第二个子密钥相加。(3)X3和第三个子密钥相加。(4)X4和第四个子密钥相乘。(5)将第(1)步和第(3)步的结果相异或。(6)将第(2)步和第(4)步的结果相异或。(7)将第(5)步的结果与第五个子密钥相乘。(8)将第(6)步和第(7)步的结果相加。4.3.3 国际数据加密算法(IDEA)(9)将第(8)步的结果与第六个子密钥相乘。(10)将第(7)步和第(9)步的结果相加。(11)将第(1)步和第(9)步的结果相异或。(12)将第(3)步和第(9)步的结果相异或。(13)将第(2)步和第(10)步的结果相异或。(14)将第(4)步和第(10)步的结果相异或。4.4 公钥密码4.4.1 RSA加密算法4.4.2 ElGamal加密算法4.4.3 椭圆曲线加密算法4.4.1 RSA加密算法1.Bob选择保密的素数p和q,并计算n=pq, (n)=(p-1)(q-1);2.Bob通过gcd(e, (n))来选择e;3.Bob通过ed 1mod (n)来计算d;4.Bob将(n,e)公开,将(p,q,d)保密;5.Alice将明文m加密为c = me mod n,并将c发送给Bob;6.Bob通过计算m = cd mod n解密。RSA 举例1. 选择p=885320963,q=238855417计算n=pq=211463707796206571, (n)=(p-1)(q-1)=2114637066720301922.选择 e=9007,gcd(9007, (n))=13.计算d=e-1 (mod (n))=1164024711535389914.公钥(n,e),私钥(p,q,d)5.加密: m=30120,301209007mod n=1135358590357228666.解密:113535859035722866116402471153538991 mod n=301204.4.2 ElGamal加密算法ElGamal算法的密钥生成过程如下:(1)产生一个大的随机素数p;(2)选择Zp的一个生成元g;(3)选择一个随机数a, 0 a p-1;(4)计算 = ga mod p;(5)公钥是(p, g, ),私钥是a。4.4.2 ElGamal加密算法ElGamal算法的加密过程如下:(6)选择随机数k, 0 k p-1;(7)eK(m, k)=(c1,c2);(8)c1= gk (mod p); c2=m ( )k (mod p)。4.4.2 ElGamal加密算法ElGamal算法的解密过程如下:(9)收到密文(c1,c2);(10)计算m=c2 (c1a)-1 (mod p),c2 (c1a)-1= m gak g-ka = m (mod p)。ElGamal加密算法举例(1)Bob选择p=97和一个生成元g=5;(2)Bob选择a=58并且计算 = ga =558=44 mod 97;(3)Bob公布(97,5,44), 私钥是a = 58;(4)Alice想要加密消息m=3给Bob;ElGamal加密算法举例(5)Alice选择一个随机数k=36并且计算:c1 = 536 = 50 mod 97c2 = 3 4436=3 75mod 97 = 31 mod 97(6)Alice发送{50,31}给Bob;(7)Bob计算I=5058=75 mod 97, I-1 = 22 mod 97;(8)Bob计算m = c2 (c1a)-1 = 31 22 = 3 mod 97。4.4.3 椭圆曲线加密算法椭圆加密算法的密钥生成过程如下:(1)选取一个椭圆曲线E (mod p), p是大素数;(2)选择E上的点G, 使得n G=O;(3)选择一个整数a(< n);(4)计算PA=a G;(5)公钥是(p, G, PA),私钥是a;4.4.3 椭圆曲线加密算法加密明文Pm的过程如下:(6)选择随机整数k;(7)eK(Pm, k)={C1, C2},C1=kG,C2=Pm+kPA;解密密文的过程如下:(8)Pm=C2–aC1。椭圆曲线加密算法举例(1)Z23上的椭圆曲线: y2 = x3 + x + 1;(2)取G = (6, 4), a=3, 计算PA=3 G = (7, 12);(3)Bob的公钥(23, G, PA ),私钥是a=3;(4)明文Pm=(5, 4),Alice选择随机数k=2;(5)则加密Pm为: C1=kG=(13,7), C2=Pm+kPA =(5,4)+2(7,12)=(5,19),所以密文为: Cm =(C1,C2)=((13,7), (5,19));(6)Bob收到密文后, 解密如下:Pm= C2–aC1 =(5,19)–3(13,7)=(5,4)。4.5 加密技术在电子商务安全中的应用4.5.1 数字签名技术4.5.2 数字摘要技术4.5.3 身份认证技术4.5.4 数字水印技术4.5.5 数字时间戳技术4.5.6 数字信封技术4.5.1 数字签名技术数字签名(Digital Signature)是附加在数据单元上的一些数据,或是对数据单元所作的密码变换是不对称加密算法的典型应用应用:身份认证、数据完整性、不可否认性、 匿名性等数字签名说明数字签名: 是和原文有关的一段符号串数字签名方案: 对于每个密钥, 有一个秘密签名算法和一个公开验证算法RSA签名签名方案:Alice选定RSA公钥: (e,n); 私钥: (d,p,q)Alice签名: s=md (mod n)SIGd(m)=s验证方案:Bob收到(m, s), 下载Alice的(e, n)计算se= m (mod n)4.5.2 数字摘要技术将任意长度的消息变成固定长度的短消息类似于一个自变量是消息的函数散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值主要用于信息安全领域中加密算法,把一些不同长度的信息转化成杂乱的固定位数的编码里,叫做Hash值4.5.2 数字摘要技术输入长度是任意的输出长度是固定的,根据目前的计算技术应至少取128位长,以便抵抗生日攻击对每一个给定的输入,计算输出即Hash值是很容易的给定Hash函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定Hash函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们得到同一个值是计算上不可行的Hash算法MD5:把明文消息映射成128位的Hash值SHA1:把明文消息映射成160位的Hash值Hash 算法的结构bY0nfbY1nfbYL-1nCVL-1fCV1nnIV = Initial VectorCV = Chain VectorYi = The ith Message Blockf = Compress Functionn = Hash Value Lengthb = Block LengthCVLCV0=IV= initial n-bit valueCVi=f(CVi-1, Yi-1) (1 i L)H(M) = CVLCV04.5.3 身份认证技术是在计算机网络中为确认操作者身份而采用的方法目的是为了保证以数字身份进行操作的操作者就是这个数字身份合法拥有者保证操作者的物理身份与数字身份相对应4.5.3 身份认证技术常见的身份认证方法包括:(1)静态密码每个用户的密码是由这个用户自己设定的,只有他自己才知道,因此只要能够正确输入密码,计算机就认为他就是这个用户由于密码是静态的数据,并且在验证过程中需要在计算机内存中和网络中传输,而每次验证过程使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获4.5.3 身份认证技术(2)动态口令是一种让用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次的技术动态口令技术采用一次一密的方法,有效地保证了用户身份的安全性如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生合法用户无法登陆的问题动态口令技术广泛应用在VPN、网上银行、电子政务、电子商务等领域4.5.3 身份认证技术(3)短信密码短信密码以手机短信形式请求包含6位随机数的动态密码,身份认证系统以短信形式发送随机的6位密码到客户的手机上客户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性4.5.3 身份认证技术(4)USB Key认证基于USB Key的身份认证方式采用软硬件相结合一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码学算法实现对用户身份的认证。目前主要运用在电子政务、网上银行4.5.3 身份认证技术(5)IC卡认证IC卡是一种内置集成电路的卡片,卡片中存有与用户身份相关的数据,IC卡由专门的厂商通过专门的设备生产,可以认为是不可复制的硬件IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份4.5.3 身份认证技术(6)生物识别技术生物识别技术是指采用每个人独一无二的生物特征来验证用户身份的技术常见的有指纹识别、虹膜识别等生物特征认证是最可靠的身份认证方式,因为它直接使用人的物理特征来表示每一个人的数字身份4.5.3 身份认证技术(7)数字签名数字签名技术是用于身份认证的最典型的方法数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性4.5.4 数字水印技术将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中不影响原内容的使用价值不容易被人的知觉系统觉察或注意到4.5.4 数字水印技术(1)按水印的特性可以将数字水印分为鲁棒数字水印和易损数字水印两类(2)按水印所附载的媒体划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等(3)按水印隐藏的位置划分为时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印4.5.5 数字时间戳对于成功的电子商务应用,要求参与交易各方不能否认其行为这其中需要在经过数字签名的交易上打上一个可信赖的时间戳,从而解决一系列的实际和法律问题由于用户桌面时间很容易改变,由该时间产生的时间戳不可信赖,因此需要一个权威第三方来提供可信赖的且不可抵赖的时间戳服务4.5.5 数字时间戳数字时间戳服务是网上安全服务项目,由专门的机构提供。时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:① 需加时间戳的文件的摘要 (digest);② DTS收到文件的日期和时间;③ DTS的数字签名。4.5.6 数字信封技术信息发送方采用对称密钥来加密信息内容将此对称密钥用接收方的公开密钥来加密(这部分称数字信封)之后,将它和加密后的信息一起发送给接收方接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息4.5.6 数字信封技术(1) 发方A将原文信息进行哈希运算,得一哈希值即数字摘要MD;(2) 发方A用自己的私钥PVA,采用非对称算法,对数字摘要MD进行加密,即得数字签名DS;(3) 发方A用对称算法的对称密钥SK对原文信息、数字签名SD及发方A证书的公钥PBA采用对称算法加密,得加密信息E;(4) 发方用收方B的公钥PBB,采用非对称算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里;(5) 发方A将加密信息E和数字信封DE一起发送给收方B;4.5.6 数字信封技术(6) 收方B接受到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK;(7) 收方B用对称密钥SK通过对称算法解密加密信息E,还原出原文信息、数字签名SD及发方A证书的公钥PBA;(8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD;(9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD’;(10)将两个数字摘要MD和MD’进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名4.6 非密码的安全技术4.6.1 基于生物特征的鉴别技术4.6.2 基于量子密码的密钥传输技术4.6.1 基于生物特征的鉴别技术(1)指纹识别指纹识别技术是通过取像设备读取指纹图像,然后用计算机识别软件分析指纹的全局特征和指纹的局部特征,特征点如嵴、谷、终点、分叉点和分歧点等,从指纹中抽取特征值,可以非常可靠地通过指纹来确认一个人的身份4.6.1 基于生物特征的鉴别技术(2)虹膜和视网膜识别与指纹识别技术的主要步骤以及原理相似,虹膜识别与视网膜识别一般包括图像采集、图像处理、特征提取、保存数据、特征值的比对和匹配等过程4.6.1 基于生物特征的鉴别技术(3)面部识别面部识别技术通过对面部特征和它们之间的关系来进行识别,用于扑捉面部图像的两项技术为标准视频和热成像技术:标准视频技术通过视频摄像头摄取面部的图像,热成像技术通过分析由面部的毛细血管的血液产生的热线来产生面部图像,与视频摄像头不同,热成像技术并不需要在较好的光源,即使在黑暗情况下也可以使用4.6.2 基于量子密码的密钥传输技术量子密码学的理论基础是量子力学,不同于以往理论基础是数学的密码学。如果用量子密码学传递数据,则此数据将不会被任意撷取或被插入另一段具有恶意的数据,数据流将可以安全地被编码及译码4.6.2 基于量子密码的密钥传输技术“海森堡测不准原理”是量子力学的基本原理,说明了观察者无法同时准确地测量待侧物的位置与动量。“单量子不可复制定理”是海森堡测不准原理的推论,它指在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就只能先作测量,而测量必然改变量子的状态若以量子密码学的密钥具有不可复制性,因此是绝对安全的。如果不幸被黑客撷取,则因为测量过程中会改变量子状态,黑客盗得的会是毫无意义的资料量子密码术用我们当前的物理学知识来开发不能被破获的密码系统,即如果不了解发送者和接受者的信息,该系统就完全安全4.7 加密实例分析PGP:(1)邮件数据m经MD5进行散列处理,形成数据的摘要;(2)用发送者的RSA私钥KAd对摘要进行数字签名,确保真实性;(3)将邮件数据与数字签名拼接:数据在前,签名在后;(4)用ZIP对拼接后的数据进行压缩,以便于存储和传输;(5)用IDEA对压缩后的数据进行加密,加密钥为K,确保保密;(6)用接收者的RSA公钥KBe加密IDEA的密钥K;(7)将经RSA加密的IDEA密钥与IDEA加密的数据拼接:数据在前,密钥在后;(8)将加密数据进行BASE 64变化,变化为ASCII码。4.7 加密实例分析 展开更多...... 收起↑ 资源预览