830 likes | 990 Views
A good beginning is half done!. 第三章 现代密码技术及应用. 电子商务安全. 本章知识点. 一、密码技术的基础知识 二、数据加密技术 三、密码技术的应用 四、密钥管理技术 五、电子商务加密技术的综合应用. 一、密码技术的基础知识. 加密技术是保证网络、信息安全的核心技术。加密技术与密码学紧密相连。 密码学这门古老而又年龄的科学包含着丰富的内容,它包括密码编码学和密码分析学。 密码体制的设计是密码编码学的主要内容。 密码体制的破译是密码分析学的主要内容。. 一、密码技术的基础知识.
E N D
A good beginning is half done! 第三章 现代密码技术及应用 电子商务安全
本章知识点 • 一、密码技术的基础知识 • 二、数据加密技术 • 三、密码技术的应用 • 四、密钥管理技术 • 五、电子商务加密技术的综合应用
一、密码技术的基础知识 • 加密技术是保证网络、信息安全的核心技术。加密技术与密码学紧密相连。 • 密码学这门古老而又年龄的科学包含着丰富的内容,它包括密码编码学和密码分析学。 • 密码体制的设计是密码编码学的主要内容。 • 密码体制的破译是密码分析学的主要内容。
一、密码技术的基础知识 • 将明文数据进行某种变换,使其成为不可理解的形式,这个过程就是加密,这种不可理解的形式称为密文。 • 解密是加密的逆过程,即将密文还原成明文。 • 加密和解密必须依赖两个要素:算法和密钥。算法是加密和解密的计算方法;密钥是加密所需的一串数字。
一、密码技术的基础知识 • 加密:加密是指对数据进行编码使其看起来毫无意义,同时仍保持可恢复的形式。
一、密码技术的基础知识 • 为了保证信息在网上传输过程中不被篡改,必须对所发送的信息进行加密。 • 例如:将字母a,b,c,d,e,… x,y,z的自然顺序保持不变,但使之与D,E,F,G,H,…,Y,Z,A,B分别对应(即相差3个字符)。若明文为and,则对应密文为DQG。(接收方知其密码为3,它就能解开此密文)。
一、密码技术的基础知识 • 加密系统包括信息(明文和密文)、密钥(加密密钥和解密密钥)、算法(加密算法和解密算法)三个组成部分。
二、数据加密技术 • (一)密码学的起源与发展 • (二)对称加密体制 • (三)公开密钥加密体制 • (四)两大加密体制的联合使用
(一)密码学的起源与发展 • 隐写术(steganography): 通过隐藏消息的存在来保护消息 三个阶段: •1949年之前:密码学是一门艺术 •1949~1975年:密码学成为科学 •1976年以后:密码学的新方向——公钥密码学
(一)密码学的起源与发展 1.1949年之前: 古典密码:密码学还不是科学,而是艺术 密码算法的基本手段—“替换”出现,针对的是字符。
例一 希腊密码(二维字母编码查表) 明文:HELLO 密文:2315313134
例二 凯撒密码:公元前50年 A B C D E F G …… X Y Z D E F G H I J …… A B C 公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密方法。凯撒密码算法就是把每个英文字母向前推移K位。
(一)密码学的起源与发展 2.1949~1975年: 计算机使得基于复杂计算的密码成为可能 • 1949年Shannon的“The Communication Theory of Secret Systems” • 1967年David Kahn的《The Codebreakers》 • 1971-73年IBM Watson实验室的Horst Feistel等的几篇技术报告 数据的安全基于密钥而不是算法的保密
(一)密码学的起源与发展 3.1976年以后: • 1976年美国学者Diffie和Hellman根据单向函数的概念提出了公开密钥密码算法,引起了密码学的一场革命 • 对称密钥密码算法进一步发展,1977年DES正式成为标准 • 美国麻省理工学院的 Rivest,Shamir和Adleman于1978年提出了RSA算法 • 90年代逐步出现椭圆曲线等其他公钥算法
加密技术的主要分类 • 公开密钥密码体制 (公开密匙/私有密匙) 与对称密匙不同,公开密钥密码体制使用相互关联的一对算法对数据进行加密和解密。 • 常见密匙算法: RSA • 对称密匙 • 在对数据加密的过程中,使用同样的密匙进行加密和解密。 • 常见密匙算法:DES(IBM提出的数据加密标准)
(二)对称加密体制 • 对称密钥密码体系(Symmetric Cryptography)又称对称密钥技术。 • 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。 • 对称密钥密码体系的优点是加密、解密速度很快(高效),但缺点也很明显:密钥难于共享,需太多密钥。 • DES密码体制 • 最有名的密码算法 ;第一个被公开的现代密码 • 由IBM于1971年至1972年研制成功
对称密匙(保密密匙)加密 明文消息 密匙A加密 加密消息 密匙A解密 明文消息
课堂讨论1:对称密钥密码体制的特点? (1)发送方和接收方用同一个密钥去加密和解密数据,加/解密的速度快。 (2)在管理和分发密钥过程中,任何一方的泄密都会造成密钥的失效,存在着潜在的危险和复杂的管理难度。
对称密钥加密与DES算法 • 对称加密算法是指文件加密和解密使用一个相同秘密密钥,也叫会话密钥。目前世界上较为通用的对称加密算法有RC4和DES。这种加密算法的计算速度非常快,因此被广泛应用于对大量数据的加密过程。
对称密钥加密与DES算法 • 对称密钥密码技术的代表是数据加密标准DES (Data Encrypuon Standard)。这是美国国家标准局于1977年公布的由IBM公司提出的一种加密算法,1979年美国银行协会批准使用DES,1980年它又成为美国标准化协会(ANSl)的标准,逐步成为商用保密通信和计算机通信的最常用加密算法。
密码学的危机及DES的公布 • DES的公布在密码学发展过程中具有重要的意义,多年来,DES一直活跃在国际保密通信的舞台上,扮演了十分突出的角色。 • 但进入20世纪90年代以来,以色列的密码学家Shamir等人提出了一种“差分分析法”,以后日本人又提出了类似的方法,可以认为是一种正式的对DES的攻击算法。 • DES毕竟已经公开了二十多年,破译的研究比较充分,随着电子技术的进步,其威胁渐成现实,DES的历史使命已近完成。但是了解它的加密算法还是很有必要的。
DES算法的基本思想 • DES算法的基本思想来自于分组密码,即将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化变换而得到密文,这就是分组密码(Block Cipher)体制。分组密码一次变换一组数据,当给定一个密钥后,分组变换成同样长度的一个密文分组。若明文分组相同,那么密文分组也相同。
对称加密技术存在的问题 • 1〉在首次通信前,双方必须通过除网络以外的另外途径传递统一的密钥。 • 2〉当通信对象增多时,需要相应数量的密钥。例如一个拥有100个贸易伙伴的企业,必须要有100个密钥,这就使密钥管理和使用的难度增大。 • 3〉对称加密是建立在共同保守秘密的基础之上的,在管理和分发密钥过程中,任何一方的泄密都会造成密钥的失效,存在着潜在的危险和复杂的管理难度。
(三)公开密钥加密体制 • 非对称密钥密码体系(Asymmetric Cryptography)也称公开密钥技术。 • 在该体制中,加密密钥(又称公开密钥)PK是对外公开的,加密算法E和解密算法D也是公开的,但解密密钥(又称秘密密钥)SK是保密的。虽然SK是由PK决定的,但却不能根据PK计算出SK。 • 非对称密钥技术的优点是:易于实现,使用灵活,密钥较少。 • 弱点在于要取得较好的加密效果和强度,必须使用较长的密钥。
(三)公开密钥加密体制 在公钥密码系统中,加密密钥与解密密钥不同,并且从其中一个密钥推出另一个密钥在计算上非常困难。其中一个密钥称为私钥,必须保密。而另一个密钥称为公钥,应该公开。这样就不必考虑如何安全地传输密钥。
(三)公开密钥加密体制 公钥加密机制根据不同的用途有两种基本的模型: (1)加密模型:收方公钥加密,收方私钥解密
(三)公开密钥加密体制 用于加密模式的公开密钥算法具有以下特点: (1)用加密密钥PK对明文X加密后,再用解密密钥SK解密即得明文,即DSK(EPK(X))=X; (2)加密密钥不能用来解密,即DPK(EPK(X)≠X; (3)在计算机上可以容易地产生成对的PK和SK,但从已知的PK不可能推导出SK。
(三)公开密钥加密体制 (2)认证模型:发方私钥加密,发方公钥解密 数字签名的原理
(三)公开密钥加密体制 RSA算法: RSA算法是由Rivest,Shamir和Adleman于1978年提出的,曾被ISO/TC97的数据加密委员会SC20推荐为公开数据加密标准。 RSA体制是根据寻求两个大素数容易,而将他们的乘积分解开则极其困难这一原理来设计的。
(1) 加密算法 • 若用整数 X 表示明文,用整数 Y 表示密文(X 和 Y 均小于 n),则加密和解密运算为: 加密:Y Xe mod n 解密:X Yd mod n
(2) 密钥的产生 ① 计算 n。用户秘密地选择两个大素数 p 和 q,计算出 npq。n 称为 RSA算法的模数。明文必须能够用小于 n 的数来表示。实际上 n 是几百比特长的数。 ② 计算(n)。用户再计算出 n 的欧拉函数 (n) (p 1)(q 1) (n) 定义为不超过 n 并与 n 互素的数的个数。 ③ 选择 e。用户从[0, (n) 1]中选择一个与 (n)互素的数 e 作为公开的加密指数。
(2) 密钥的产生(续) ④ 计算 d。用户计算出满足下式的 d ed 1 mod (n) 作为解密指数。 ⑤ 得出所需要的公开密钥和秘密密钥: 公开密钥(即加密密钥)PK {e, n} 秘密密钥(即解密密钥)SK {d, n}
(3) 正确性的例子说明 设选择了两个素数,p 7, q 17。 计算出 n pq 7 17 119。 计算出 (n) (p 1)(q 1) 96。 从[0, 95]中选择一个与 96 互素的数e。 选 e 5。然后根据(9-10)式, 5d 1 mod 96 解出 d。不难得出,d 77, 因为 ed 5 77 385 4 96 1 1 mod 96。 于是,公开密钥 PK (e, n) {5, 119}, 秘密密钥 SK {77, 119}。
(3) 正确性的例子说明(续) 对明文进行加密。先把明文划分为分组,使每个明文分组的二进制值不超过 n, 即不超过 119。 设明文 X 19。用公开密钥加密时,先计算 Xe 195 2476099。 再除以 119,得出商为 20807,余数为 66。这就是对应于明文 19 的密文 Y 的值。 在用秘密密钥 SK {77, 119}进行解密时,先计算 Yd 6677 1.27... 10140。 再除以 119,得出商为 1.06... 10138,余数为 19。 此余数即解密后应得出的明文 X。
RSA算法的速度 • 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。 • RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
小结 • 公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,就像现在个人的姓名、地址、E-mail地址一样,可以放在网页上供人下载,也可公开传送给需要通信的人。而私钥需由用户自己严密保管。通信时,发送方用接收者的公钥对明文加密后发送,接收方用自己的私钥进行解密,别人即使截取了也无法解开,这样既解决了信息保密问题,又克服了对称加密中密钥管理与分发传递的问题。
小结 • RSA算法的优点是:易于实现,使用灵活,密钥较少,在网络中容易实现密钥管理,便于进行数字签名,从而保证数据的不可抵赖性; • 缺点是要取得较好的加密效果和强度,必须使用较长的密钥,从而加重系统的负担和减慢系统的吞吐速度,这使得非对称密钥技术不适合对数据量较大的报文进行加密。
小结 • 另外,RSA算法体系的基础在于大素数因子分解困难.因子分解越困难,密码就越难以破译,加密强度就越高。反之,如果能有办法或者在一定条件下对大素数进行因子分解,就能够对密文进行破译,就会动摇这种加密体制的基础。
(四)两大加密体制的联合使用 • 在实践中,为了保证电子商务系统的安全、可靠以及使用效率,一般可以采用由RSA和DES相结合实现的综合保密系统。在该系统中,用DES算法作为数据的加密算法对数据进行加密,用RSA算法作为DES密钥的加密算法,对DES密钥进行加密。这样的系统既能发挥DES算法加密速度快、安全性好的优点,又能发挥RSA算法密钥管理方便的优点,扬长避短。
三、密码技术的应用 • (一)数字信封 • (二)数字摘要 • (三)数字签名 • (四)数字验证
(一)数字信封 • “数字信封”(也称电子信封)技术。 • 具体操作方法是:每当发信方需要发送信息时首先生成一个对称密钥,用这个对称密钥加密所需发送的报文;然后用收信方的公开密钥加密这个对称密钥,连同加密了的报文一同传输到收信方。收信方首先使用自己的私有密钥解密被加密的对称密钥,再用该对称密钥解密出真正的报文。
课堂讨论2:什么是数字信封? 分析: 发送方将随机产生的对称秘钥用接收方的公钥加密就形成了数字信封。 数字信封用于传递对称秘钥给接收方,接收方用自己的私钥解开数字信封后得到对称秘钥,才可将发送方的密文解开。
(二)数字摘要 数字摘要:也称为安全Hash编码法,简称SHA或MD5 ,是用来保证信息完整性的一项安全技术。它是由Ron Rivest发明的一种单向加密算法,其加密结果是不能解密的。
Hash函数 定义:一种计算相对简单但却很难进行逆运算的函数。 • 作用: • 用来在数字签名中生成信息摘要。 • 特征: • 函数必须是真正单向的,也就是说不可能根据散列形成的摘要来重新计算出原始的信息。 • 散列计算不可能对两条不同信息求出相同的摘要。
(二)数字摘要 所谓数字摘要,是指通过单向Hash函数,将需加密的明文“摘要”成一串128bit固定长度的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要而成的密文也不能推出其明文。
(二)数字摘要 数字摘要类似于人类的“指纹”,因此我们把这一串摘要而成的密文称之为数字指纹,可以通过数字指纹鉴别其明文的真伪。只有数字指纹完全一致,才可以证明信息在传送过程中是安全可靠,没有被篡改。数字指纹的应用使交易文件的完整性(不可修改性)得以保证。
数字摘要的使用过程 ①对原文使用Hash算法得到数字摘要; ②将数字摘要与原文一起发送; ③接收方将收到的原文应用单向Hash函数产 生一个新的数字摘要; ④将新的数字摘要与发送方发来的数字摘要 进行比较,若两者相同则表明原文在传 输中没有被修改,否则就说明原文被修改过。
(三)数字签名 数字签名技术以加密技术为基础,其核心是采用加密技术的加、解密算法体制来实现对报文的数字签名。