




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于csp的信息安全服务.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着网络的飞速发展,通讯变得更加频繁,信息安全技术变得越 来越重要。c s p ( c r y p t o g r a p l l i cs e r v i c ep r o v i d e r ) 是微软公司提出的安全 服务基本框架之一,它参照了a s n 1 、p k c s 等一系列的国际安全标准, 能够提供给用户加解密、验证信息的完整性等基本安全服务,具有简 明、易于使用的优点。但鉴于我们现在可获得的一系列的c s p 模块, 均来自w i n d o w s 系统自带的软件c s p ,软件c s p 可以以可执行性文件的 形式存在、具有易携带性的优点,但是它在防篡改、远程登陆、用户 的身份认证等领域有其不可克服的缺陷,安全等级比较低。为解决这 些问题,本论文建立了一个具有国产自主产权c s p ,它在功能上类似 于m i c r o s o f ts t r o n gc r y p t o g r a p h i cp r o v i d e r ,并且在实现软件c s p 的同 时,引入硬件设备w a t c h i c 卡和明华的e k e y ,实现硬件c s p 。论文主 要工作如下所示: ( i ) 介绍了在信息安全的应用中c s p 的发展现状及发展趋势,分析 了当前流行的、比较稳定的密码算法的原理; ( 2 ) 在实现软件c s p 的同时,特别的引入了w a t c h 的i c 卡、明华的 e k e y 两种硬件设备,实现了软件c s p 丰d 硬件c s p 的兼容性; ( 3 ) 在密码算法方面,选择了当前比较流行的、稳定的、符合我国 的加密标准的密钥算法和散列算法,其中软件c s p 部分实现了3 d e s 、 r c 4 、r s a 、m d 5 、s h a 1 算法,硬件c s p 部分额外的加入了我国自己 的加密算法s s f 3 3 ,以解决当前的应用需求; ( 4 ) 借鉴了m i c r o s o f tc s p s 的优点,参照了它的数据对象格式、工 作模式,构造了s i m p l e b l o b 、p u bl i c k e y b l o b 、 p r i v a t e k e y b l o b 等多种数据结构,实现了对统一接口c r y p t o s p i 的 支持: ( 5 ) 解决了m i c r o s o f tc s p s 平台的局限性,成功地实现了c s p 向 l i n u x 系统的移植工作,满足了当前基于p k i 安全体系的实际应用需求。 上述的研究成果经过了反复的功能测试、性能测试和回归测试, 具有较强的稳定性、高效性和实用性,并已初步用于c a 系统中。 关键词:c s p 的设计与实现,密码算法,散列算法,c s p 的测试 a b s t r a c t a l o n g w i t hf a s t d e v e l o p m e n t o fi n t e r n e t ,t h e c o m m u n i c a t i n g d e g r e e o fi n f o r m a t i o ni sm o r e f r e q u e n t ,t h ep r o b l e m o fi n f o r m a t i o n s e c u r i t y i s o u t s t a n d i n gi n c r e a s i n g l y c r y p t o g r a p h i c s e r v i c ep r o v i d e r ( c s p ) i st h eb a s eo f m i c r o s o f t ss e c u r i t ya p p l i c a t i o n sf r a m ea n ds e r v i c e s , w h i c hh a sa s n 1 ,t h es e r i e so fp k c ss e c u r i t ys t a n d a r d sa sr e f e r e n c ea n d p r o v i d e s t h eb a s i c s e c u r i t y s e r v i c e ss u c ha s e n c r y p t i o n ,d e c r y p t i o n , d i g i t a ls i g n a t u r e a n d v e r i f y i n gs i g n a t u r e i th a sa s i n g l e i n t e r f a c e c r y p t o s p i ,a n de a s yt o b eu s e d n o wt h ec s pm o d u l e st h a t w ec a nf r e ea v a i la l lc o m ef r o mt h es o f t w a r ec s ps h i p p e dw i t ht h e w i n d o w ss y s t e m t h e s es o f t w a r ec s p sa r ep o r t a b l ei nt h a tt h e yc a nb e c a r r i e da sa ne x e c u t a b l ef i l e ,b u tt h e yi n e v i t a b l yh a v es o m el i m i t a t i o n s : t h es o f t w a r ec s p sh a v et h el e s s t a m p e r - r e s i s t a n t a n dw o u l db e i n c o n v e n i e n ti nt h ef i e l d so ft h ei n t e r a c t i v el o g o n ,e m a i ls i g n i n g ,e - m a i l d e c r y p t i o na n dr e m o t ea c c e s sa u t h e n t i c a t i o n :t h e yh a v et h el o w e rl e v e l d e g r e eo fs e c u r i t y t o r e s o l v et h e s ep r o b l e m s ,i nt h i st h e s i s ,w eh a v e d e v e l o p e d o u ro w nc s pm o d u l e a c c o r d i n g t oo u ro w n c o u n t r y s e n c r y p t i o ns t a n d a r d t h i sm o d u l eh a ss t r o n gc r y p t o g r a p h i cf u n c t i o n sj u s t l i k em i c r o s o f t s t r o n g c r y p t o g r a p h i cp r o v i d e r e s p e c i a l l y t h i sm o d u l e i m p l e m e n t st h e s o f t w a r ec s pa n da l s ou t i l i z e st h ew a t c hi cc a r da n d m i n g h u ae k e y a sh a r d w a r e ,m a k et h es o f t w a r ec s pa n dh a r d w a r ec s p b o t hp o s s i b l e a sac o n c l u s i o n ,t h em a i nw o r k si nt h i st h e s i si n c l u d e s : ( 1 ) i n t r o d u c i n gt h ec u r r e n ts t a t ea n d t h eo u t l o o ko fc s pi nt h ef i e l d s o fi n f o r m a t i o ns e c u r i t ya n da n a l y z i n gt h ep r i n c i p l e so ft h ep o p u l a ra n d r e l i a b i l i t yk e ya l g o r i t h m s ,h a s ha l g o r i t h m s ( 2 ) e x c e p t i n gf o ri m p l e m e n t i n go ft h es o f t w a r ec s p ,c o m p l e t i n gt h e h a r d w a r ec s pp r o g r a m m i n gb a s e do nt h ew a t c hi cc a r da n dm i n g h u a e k e y i th a sag o o dc o m p a t i b i l i t yf o rs o f t w a r ea n dh a r d w a r ec s p ( f o rt h ec r y p t o g r a p h i ca l g o r i t h m ,s e l e c t i n ga n di m p l e m e n t i n gt h e p o p u l a ra n dr e l i a b i l i t yk e y h a s ha l g o r i t h m si nm yc s pm o d u l e ,w h i c h i n c l u d e 3 d e s ,r c 4 ,r s a ,m d 5 ,s h a 一1 a l g o r i t h m s i nt h es o f t w a r e c o m p o n e n ta n da ne x t r aa l g o r i t h m s s f 3 3i nt h eh a r d w a r ec o m p o n e n t w i t ht h e s ea l g o r i t h m s ,w ec a ns a t i s f yt h eu s e r s s e c u r i t yr e q u i r e m e n t s ( 4 ) u s i n gt h em i c r o s o f tc s ps a d v a n t a g e s ,t h e i rd a t ao b j e c t sa n d w o r km o d e sa s r e f e r e n c e ,p r o d u c i n g s o m ed a t as t r u c t u r e ss u c ha s s i m p l e b l o b , p u b l i c k e y b l o b ,p r i v a t e k e y b l o b ,h a v i n gt h e c r y p t o s p ii n t e r f a c ei m p l e m e n t a t i o n ( 5 ) r e s o l v i n gt h ep l a t f o r m l i m i t a t i o no ft h em i c r o s o f tc s p s a n d m a k i n g o u ro w nc s pr u no nt h el i n u x s y s t e m s o t h a ti tc o u l db e c o n v e n i e n t l yu s e di nt h ep k is e c u r i t ya r c h i t e c t u r e a f t e rm a n yt i m e s t e s t i n g ,t h ea b o v es t u d i e sh a v e s t r o n gs t a b i l i t y , g o o de f f i c i e n c ya n dp r a c t i c a l i t y t h e yh a v eb e e nt r i e dt oa p p l yt ot h ec a s y s t e m k e yw o r d s :d e s i g n a n d i m p l e m e n t a t i o n o fc s p m o d u l e ,k e y a l g o r i t h m s ,h a s ha l g o r i t h m s ,t e s t i n go fc s p 武汉理工大学硕士学位论文 第1 章绪论 1 1 研究课题的提出 随着通信和网络技术的不断发展,人们接触和交往的人群较过 去更加广泛。由于网络越来越多地渗透进我们的日常生活和工作,每 个人所接触到的对象已经不再局限于自己认识或熟知的人和物。我 们开始需要和自己不熟悉的,甚至是从未谋面的人进行交流与合作, 因此,在各个网络实体间建立巩固可靠的信任关系,将是人们需要 解决的最主要问题。同时,利用t c p i p 协议簇交换数据,数据包在 到达目的地之前,是由中介机器进行级级转发的,这就有可能9 1 入安全隐患,如通信过程被监听、信息内容被窜改和受到伪装欺骗 等,这些极大的威胁着网络上信任关系的建立和巩固。因此,进行 信息安全技术的研究,以保证信息的机密性、完整性和不可抵赖性 就显得至关重要。 为了有效的解决以上的安全隐患和安全信任需求,人们就加密、 解密以及认证技术来进行研究,来尝试解决这类问题。而现有的信 息安全保障系统基本上都是建立在公开密钥基础设施p k i ( p u b l i c k e yi n f r a s t r u c t u r e ) 【1j 之上,它是身份认证、密钥管理和不可否认服 务的唯一提供者。其他的安全应用,如安全电子邮件、安全w e b 访 问和v p n 等都以p k i 的支持为前提。但是,现有的p k i 技术还处于 示范阶段,它的结构、算法和密钥管理方案还处在不断的变化之中1 2 】。 因此,设计和建立特有的p k i 架构,以便有效地提供符合应用需求 的安全服务就显得至关重要。在本论文中,我们将c s p ( c r y p t o g r a p h i c s e r v i c ep r o v i d e r ) 模块作为整个p k i 架构的子模块h j ,通过选择特定 的硬件设备、实现需求的密钥算法和签名、验签机制,提供给用户 良好的密钥管理体制,具有较好的技术发展前景和实用效果。 武汉理工大学硕士学位论文 1 2 课题研究的现状 当前,国内许多科研单位开发了高强度的加密算法,这些加密 算法或者以纯软件的形式,或者以加密卡的形式提供给用户【。不同 加密服务提供者提供的加密接口往往各不相同,这就给用户带来了 不便。因此,出现了有关加密a p i 的国际标准和规范,使得呈现给 用户的加密a p i 有几种统一的形式。目前有关加密a p i 的国际标准 和规范主要有【5 】: ( 1 ) g s s a p iv 2 0 : ( 2 ) o c s a p i : ( 3 ) c d s a : ( 4 ) r s ap k c s # 1 1c r y p t o g r a p h i ct o k e ni n t e r f a c es t a n d a r dv 2 0 1 ; ( 5 ) r s ab s a f ea p i : ( 6 ) 微软c r y p t o a p iv 2 0 。 其中,c d s a 、r s ap k c s # l l 和微软c r y p t o a p i 在实际中应用的 较多,也是p k i 推荐使用的加密a p i 。其中,以m i c r o s o f t 公司提出 的以c s p 为基础的安全应用框架最令人瞩目,它支持w i n d o w s 9 x n t m e 2 0 0 0 2 0 0 3 x p 一系列操作系统,可以通过调用m ic r o s o f t c r y p t o a p i 函数接口( 简称m i c r o s o f tc r y p t o g r a p h i ca p p l i c a t i o n p r o g r a m m i n gi n t e r f a c e ) 来完成整套服务,并应用于i e 、o u t l o o k 中的证书申请、o u t l o o k 中的安全电子邮件、i e 中的s s l 等方面 1 6 】,具有简明、易于使用、可封装等特点。但是,在实际的应用中, 随着安全强度的不断加强,应用的范围和领域的不断扩大,w i n d o w s 自带的软件c s p 模块显然就不能满足应用的需求,具有不可弥补的 缺陷:m i c r o s o f tc s p s 模块中的密码算法有的不符合我国的密码 管理政策:m i c r o s o f tc s p s 模块均为软件模拟部分,在用户登陆、 用户身份认证等领域里安全强度不足,所提供的加解密服务速度有 限:m i c r o s o f tc s p s 只能应用于w i n d o w s 系统,具有平台的局限 性。特别的,随着国内的一些厂商推出一批支持证书应用的、能进 行r s a 运算的u s b 、i c 卡、加密卡等硬件设备,这些开发商基本上 2 武汉理工大学硕士学位论文 都采用了自己提供的非标准的二次开发接口的方法,即对一般应用 的开发都通过编写a c t i v e x 控件的方法实现,但对于现有的本身就支 持证书的应用系统,如i e 、o u t l o o k 等,没有办法使用该系统中 本身对证书的支持功能。如果在硬件设备中提供标准的c s p ,就可 以无缝的插入到w i n d o w 系统中,既保持了自己提供的二次开发接 口的灵活性,又因为其标准性,可以将u s b 、i c 卡的加解密功能应 用到w i n d o w s 平台上任何利用c r y p t o a p l 进行加解密的应用系统中, 如i e 、o u t l o o k 、i i s 等,可以大大提高硬件加密设备的功能和市 场占有率1 7 】。因此,参照微软c s p 接口的标准,建立兼容软件c s p 和硬件c s p 的、并具有国产自主产权的c s p 具有重大的意义。 由于本课题的性质,国内外的资料较少,标准化的软件更是少 而又少。目前从m i c r o s o f t 可获取的有八种c s p 。m i c r o s o f tb a s e c r y p t o g r a p h i cp r o v i d e r 是最初的c s p ,常出现在c r y p t o a p l l 0 和2 o 版本中,提供数字签名和加密。随后又在此基础上扩展了能支持更 长密钥长度算法的s t r o n gc r y p t o g r a p h i cp r o v i d e r 及添加额外算法的 e n h a n c e dc r y p t o g r a p h i cp r o v i d e r 。针对a e s 算法的提出,扩展了a e s c r y p t o g r a p h i cp r o v i d e r ;针对使用s h a 哈希算法和d s s 数字签名算 法产生了d s sc r y p t o g r a p h i cp r o v i d e r ,随后在此基础上扩充了支持 d i f f i e h e l l m a n密钥交换的b a s ed s sa n dd i f f i e h e i l m a n c r y p t o g r a p h i cp r o v i d e r 和能生成、交换、导出在s s l 3 和t l s l 协议 中使用的d h 密钥的d s sa n dd i f f i e h e l l m a n s c h a n n e lc r y p t o g r a p h i c p r o v i d e r ;而r s a s c h a n n e lc r y p t o g r a p h i cp r o v i d e r 能支持在s s l 3 、 p c t l 、s s l 3 、t l s l 协议中使用密钥类型。其中,所有的信息格式都 是以a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ) 语法格式来定义的,存储 格式主要有三种:x 5 0 9 【8 】凭证格式、s e t 信息格式、p k c s ( p u b l i ck e y c r y p t o g r a p h ys t a n d a r d ) p j 标准。其中由于s e t 协议应用较少,所以 其信息格式并不广为所用;x 5 0 9 格式主要用于证书的存放;r s a 公 司推出了p k c s l p k c s l5 一系列信息标准,用于私人密钥在网络的 存放以及传输的方式。 武汉理工大学硕士学位论文 1 3 课题研究的基本内容 本课题的研究内容主要是建立一个具有国产自主产权c s p ,它 在功能上类似于m i c r o s o f ts t r o n gc r y p t o g r a p h i cp r o v i d e r ,并且在实 现软件c s p 的同时,引入硬件设备w a t c hi c 卡和明华的e k e y ,实 现硬件c s p 。 整个c s p 的系统结构划分如图1 1 所示。 图1 1c s p 的系统结构 几个模块说明如下: ( 1 ) c s p 类模块:该模块主要负责实现c r y p t o s p i 接口,用于构 造各种数据结构、数据类对象,并实现对各个数据库对象、密钥对 象、哈希对象进行创建、删除、修改等操作,用于存储和管理用户 的密钥。 ( 2 ) 硬件密钥库模块:该模块根据不同的硬件设备,分成不同的 模块。软件密钥库、e k e y 密钥库、i c 卡密钥库。它们具有统一的 函数接口,用于实现各种密钥算法和哈希密钥。包括软件c s p 实现 的3 d e s 、r c 4 、r s a 、m d 5 、s h a - 1 ,硬件c s p 实现的3 d e s 、r s a 、 s s f 3 3 、s h a - 1 ,特别是s s f 3 3 、3 d e s 是完全按照我国的密钥标准来 实现的。 ( 3 ) 硬件口令保护模块:该模块主要是用于鉴别硬件使用者的身 份问题,设定用户的密码保护和激活用户的密码保护。 ( 4 ) 硬件驱动模块:该模块主要是驱动硬件i c 卡和e k e y ,使其 4 武汉理工大学硕士学位论文 正常工作。 另外,在本课题中还实现了c s p 的安装程序,完成与微软c s p 的交互处理,并使用c r y p t o a p i 对其进行测试调用。 1 4 本章小节 本章介绍了在信息安全领域中,安全加密a p i 的现状,分析了 当前的以c s p 为基础的安全服务体系的利弊,并在其指导下完成了 本课题研究内容的总体设计。在接下来的几章中,将详细的介绍本 课题所涉及的各种密钥算法、散列算法的原理:在具体实现c s p 时, 如何构建数据结构、对象,如何实现c r y p t o s p i 的每个函数接口; 如何完成c s p 模块的安装和测试工作,如何应用c s p 模块进行安全 服务。 武汉理工大学硕士学位论文 第2 章密钥算法与散列算法 1 9 7 6 年之前,也就是d i f f i e 和h e l l m a n 提出了非对称密钥密码 体系之前,密码学指的是对称密钥密码系统。自此之后,密码算法 的改进就沿着两个分支发展:对称密钥密码体系和非对称密钥密码 体系。 在对称密钥体系算法方面,继常见的d e s 算法之后,针对d e s 密钥长度过短的弱点,出现了3 d e s 算法或d e s x 算法,它们分别将 密钥长度加长到1 1 2 位或16 8 位和1 8 4 位。在1 9 9 7 年美国国家标准 局( n i s t ) 又征集了d e s 之后的下一代密码标准a e s ( a d v a n c e e n c r y p t i o ns t a n d a r d ) ,它与d e s 的不同在于密钥长度是可变的。在 众多的入选算法里,美国在2 0 0 0 年选出了r i i i n d a e l 作为d e s 的下 一代算法。此外,较著名的对称密钥算法还有r c 4 、r c 5 、i d e a 、 s a f e r 、f e a l 、s k i p j a c k 等【1 叫。 在非对称密钥体系算法方面,目前处于百花齐放的局面。公开 密钥都是基于某些数学难题而产生的,比较著名的算法有r s a 算法 和e i g a m a l 算法。其中r s a 算法主要是利用两个大质数之积的模运 算来实现,其基础是欧拉问题,并且已经成为了当前的主流。 由于非对称密钥算法的加解密速度远较对称密钥算法慢,所以 目前一般不用它对大批量数据进行加解密,而是与对称密钥算法相 结合,完成加解密和数字签名。 2 1 对称密钥算法 对称密钥算法也称常规加密,图2 1 显示了其加密过程】。它 由算法和密钥组成,密钥是独立于明文的值,算法根据当时所使用 的特定密钥产生不同的输出,一旦密文产生,密文就可以安全的传 输,然后在接收方,通过使用解密算法和用于加密的同样密钥,密 文转换成当初的明文。 6 武汉理工大学硕士学位论文 图2 1 常规加密过程 从密文序列的机构来划分,有流加密和块加密两种不同的密码 体制。流加密是将明文x 看成是连续的比特流( 或字符流) x i x 2 , 并且用密钥序列k = k l k 2 中的第i 个元素k 。对明文中的x i 进行加 密,即 e k ( x ) = e k l ( x i ) e k 2 ( x 2 ) 图2 2 给出了流加密的框图。 列产生器进行初始化。 发端 ( 2 1 ) 在开始工作时,种子i o 对密钥序 收端 图2 2 流加密体制 k x ,和y ,均为1 b i t ( 或均为1 个字符) ,并按照模2 进行运算, 得出: y i = e k i ( x i ) = x i ok i ( 2 2 ) 在接收端,对y ,的解密算法为: d k i ( y i ) = y i ok i = f x iok i ) ok i = x i ( 2 3 ) r c 4 就是流加密算法中的一种。 另一种密码体制与流加密不同。它将明文划分成固定的n 比特 的数据块,然后以块为单位,在密钥的控制下进行一系列的线性或 非线性的变化而得到密文。块加密体系的框图如图2 - 3 所示。 武汉理工大学硕士学位论文 鬟订,堕丐订1 输入j r 二= 一输入i zl 1 兰z 耋 鼍鞫 自卫 z el 量f zi 【童 一占_ l 里_ j 厂杀等r 兰 图2 3 块加密体制 块加密一次交换一组数据,它重要特点就是:当给定一个密钥 后,若明文分组相同,那么所交换出密文分组也相同。d e s 、3 d e s 算法就属于块加密体制。但是块加密比较复杂,根据数据加密时, 每个加密区块间的关联方式来区分,可以分为四个加密模式:e c b 、 c b c 、c f b 、o f b 12 1 。 图2 - 4 四种加密模式示意图 在e c b 模式下,其执行方式如图2 - 4 中e c b 部分所示,每个 加密区块依次独立加密,产生独立的密文区块,每一加密区块的加 密结果均不受其它区块影响。 在c b c 模式下,执行方式如图2 4 中c b c 部分所示,第一个 加密区块先与初始向量( i v ,i n i t i a l i z a t i o nv e c t o r ) 做异或运算,再进 行加密。其它每个加密区块加密之前,必须与前一个加密区块的密 8 武汉理工大学硕士学位论文 文作一次异或运算,再进行加密。 在c f b 模式下,可以将区块加密算法当作流式加密器( s t r e a m c i p h e r ) 使用,流式加密可以按照实际上的需要,每次加密区块大小 可以自订( 如每次加密8 个位) ,每一个区块的明文与之前区块加密 后的密文做x o r 后,成为的密文。 o f b 加密模式与c f b 模式大致相同,不同的是之前区块加密后 的密文为独立产生,每个区块的加密结果不受之前所有区块内容 的影响。 2 1 1d e s 算法的原理 在d e s 加密算法标准中,d e s 算法分为密钥生成与数据加密两 部分 13 1 。 ( 1 ) 密钥生成 a ) 取得密钥 从用户处取得一个6 4 位长的密钥k e y ,k e y = k l k 2 k 3 k 6 3 k 6 4 ,去 除6 4 位密码中作为奇偶校验位的第8 、1 6 、2 4 、3 2 、4 0 、4 8 、5 6 、 6 4 位,剩下的5 6 位作为有效输入密钥。 b ) 等分密钥 将第a ) 步中生成的5 6 位输入密钥分成均等的a 、b 两部分,每 部分为2 8 位,参照表2 1 和表2 - 2 把输入密钥的位值填入相应的位 置。按照表2 1 所示a 的第一位为输入的6 4 位密钥的第5 7 位,a 的第2 位为6 4 位密钥的第4 9 位,依此类推,a 的最后一位是 6 4 位密钥的第3 6 位。 表2 1 左半部分密钥置换表 表2 2 右半部分密钥置换表 k = k l k 2 k 3 k 5 5 k 5 6 转化成a = k 57 k 4 9 k 4 1 k 4 4 k 3 6 ,b = k 6 3 k 5 s k 4 7 k i2 k 4 武汉理工大学硕士学位论文 c ) 密钥移位 表2 - 3 密钥移位比特值 l i123 4 56789l01 1 i 1 21314l516 i 中1122222212 2 j 22221 l d e s 算法的密钥是经过1 6 次迭代得到组密钥,把第b ) 步中生 成的a ,b 视为迭代的起始密钥,表2 3 显示在第i 次迭代时密钥循环 左移的位数。比如第1 4 次迭代时密钥循环左移2 位。 第1 次迭代:a ( 1 ) = 白( 1 ) a ,b o ) = 6 ( 1 ) b ;( 2 4 ) 第i 次迭代:a ( i ) = 6 ( i ) a ( i 1 ) ,b ( i ) = o ( i ) b ( i 一1 ) ;( 2 5 ) d ) 密钥的取回 表2 - 4 合并后的密钥移位比特值 i 1 4l71 12 41532 81562 1102 319124 f2 68l672 72 01 324 15 23 l3 74 75 53 04 0 l 5 14 53 34 84 44 9 3 9 5 63 45 34 64 25 03 62 93 2 在第c ) 步中第i 次迭代生成的两个2 8 位长的密钥为a ( o ,b c i ) 合并为 c = a 。b = a 1a 2a 3 - - - a 2 7a 2 8b lb 2b 3 b 27b n2 8 = c 1c 2c 3 c 4 7c 4 8 。按表2 4 所示, 生成与进行第i 次迭代加密的数据进行按位异或的4 8 位使用密钥: k ( = c ( i ) 14 c ( l7 c c ) 2 9c ( 3 2 = k ( n lk ( ) 2k ( i 3 k ( n 47k i ) 4 8 。 e ) 迭代 d e s 算法密钥生成需要进行1 6 次迭代,在完成1 6 次迭代前, 循环执行c ) d ) 步,最终形成1 6 套加密密钥:k e y 0 】,k e y 【1 】, k e y 2 ,k e y 【1 4 ,k e y 15 】。 ( 2 ) 数据加密 a ) 取得数据 把明文数据分成6 4 位的数据块,不够6 4 位的数据块以适当的方 式补足。d a t a = d 1 d 2 d 3 d 6 3 d 6 4 。 b ) 初始换位 表2 - 5 初始置换表 l 5 85 04 23 42 6l8l o26 05 24 43 62 82 01 24 i6 25 44 63 83 02 21 466 4s 64 84 03 2 2 41 68 15 74 94 13 32 5l7915 95 14 33 52 7l9l l3 i 6 15 34 5 3 7 2 92 l1 35 6 35 54 73 93 12 3157 1 0 武汉理工大学硕士学位论文 按照表2 - 5 所示 o l d d a t a = d i d 2 d ,p p c ) 数据扩展 得到新的6 4 位数据。 。o a o “o 5 0 7 ( 2 6 ) 表2 - 6 数据扩展表 i 3 21234545678989l o1 l l 12l3121 3l4l516l71617l81 92 02 12 02 1 i2 22 32 42 52 42 52 62 72 82 92 82 9 3 03 l3 21 第一次迭代以b ) 中生成的n e w d a t a 作为输入数据,第i ( i 1 ) 次 迭代以第i - 1 次的6 4 位输出数据为输入数据,把6 4 位数据按位置等 分成左右两部分:l e f t = 1 1 1 2 1 3 1 3 1 1 3 2 = d 1 d 2 d 3 d 3 l d 3 2 ,r i g h t = r l r 2 r 3 r 3 1 r 32 = d 3 3 d 3 4 d 35 d 6 3 d 6 4 。保持l e f t 不变,根据表2 6 把 r i g h t 由3 2 位扩展成4 8 位:r i g h t = r 3 2 r l r 2 r 3 i r 3 2 r 1 ,把扩展后的 4 8 位r i g h t 与第i 次迭代生成的4 8 位加密密钥进行按位异或操作 ( r i g h t “= k e y i 】) 形成一个新的4 8 位的r i g h t 。 d ) 数据压缩 在c ) 形成了4 8 位的r i g h t = r 1 r 2 r 3 r 4 7 r 4 8 ,需要把4 8 位的r i g h t 值转化成3 2 位的r i g h t 值,把r i g h t 视为由8 个6 位二进制块组成: a 。a l a 2 a 6 = r i r 2 r 3 r 4 r s r 6 ,b = b l b 2 b 6 = r 7 r s r g r lo r l i r l2 ,c = c lc 2 c 6 = r 13 r 14 r 18 ,h = h i h 2 h 6 = r 4 3 r 4 4 r 4 8 。a ,b h 都是6 位,强 制转换成1 0 进制整数的值都不大于6 4 ,a ,b h 转成1 0 进制整数后, 再根据对应的表中转换后整数值取得对应位置的替代值,比如a 对应 表2 7 。 表2 7 数据压缩表 123 4 5678 1 80 x e 0 x 0 0 x 4 0 x f0 x d0 x 7 0 o x l0 x 4 9 1 60 x 2o x eo x f0 x 2 0 x b o x do x b0 x e 17 2 40 x 30 x a 0 x a 0 x 60 x 60 x c0 x co x b 2 5 3 20 x 5 0 x 90 x 9 0 x 5o x 00 x 30 x 7 o x 8 3 3 4 0o x 40 x f0 x 1o x c0 x e o x 8 0 x 8 0 x 2 4 l n 4 80 x d0 x 40 x 6o x 9 0 x 20 x l 0 x bo x 7 4 9 5 60 x f o x 5 o x c0 x b 0 x 9 0 x 30 x 70 x e 5 7 6 40 x 3 0 x a o x a0 x 0 0 x 5 0 x 60 x 00 x d 鲞 武汉理工大学硕士学位论文 a = 3 2 ,那么到表2 7 中找到3 2 的位置,把对应的替代值0 x 8 赋 给a ;每6 位用一个4 位替换这样就完成了从4 8 位向3 2 位数据的转 换。 一1r 2 r 3r 4 7 r 4 8 耋l 叁岛r l e r 3r 3 1 r 3 2 ( 2 7 ) e ) 数据换位 把d ) 形成的3 2 位r i g h t = r i r 2 r 3 r 3 l r 3 2 根据表2 - 8 进行转换, 最后得到新的3 2 位数据r i g h t = r 1 6 r 7 r 4 r 25 。 f ) 交换数据 把r i g h t 和l e f t 按位异或后的值赋给r i g h t ,然后将本轮输入的原 始r i g h t 值赋给l e f t 。 g ) 迭代 d e s 算法需要进行1 6 次迭代,在完成1 6 次迭代前,把第i 1 次 得到的的l e f t 和r i g h t 的值作为第i 次的输入数据,重复c ) f ) 的步骤, 但是在步骤c ) 中第i 次迭代要选择第i 次迭代生成的密钥与数据进行 按位异或。 h ) 数据整理 为保证加密和解密的对称性,d e s 算法的前l5 次迭代每完成一 次迭代都要交换l e f t 和r i g h t 的值,第1 6 次迭代不交换两者的数值, 到此把3 2 位的l e f t 和r i g h t 合并成6 4 位的d a t a = d 1 d 2 d 3 d 6 3 d 6 4 = i l l 2 1 3 2 r l r 2 r 3 2 。根据表2 - 9 重新调整d a t a 的位值数据 得到新的6 4 位:d a t a = d 4 0 d 8 d st d 25 ,d a t a 即为密文。 表2 - 9 数据整理表 4 084 81 65 62 46 43 23 974 7155 52 36 33 l 3 864 61 45 42 26 23 03 754 5l35 32 l6 12 9 3 6 44 4 1 25 22 06 02 83 534 31 l5 ll95 92 7 3 424 21 05 0l85 82 63 3l4 194 91 75 72 5 i ) 数据解密 数据解密的算法与加密算法相同,区别在于c ) 中和数据进行按 武汉理工大学硕士学位论文 位异或的密钥的使用顺序不同,在加密中是按照第i 次迭代就采用第 i 次迭代生成的密钥进行异或,而解密时,第i 次迭代就采用第l7 一i 次迭代生成的密钥和数据进行异或。 d e s 算法的整体加密过程,可概括为图2 5 所示。 l 1 = l 0t l j = l o 日f ( ,k t ) 造= 蹉三卜业 图2 5d e s 加密标准 d e s 算法的优势:我们通常都希望任何加密算法都拥有的一个 特性是明文或密钥的一点小的变动应该使密文发生一个大的变化。 根据实验验证表明,d e s 算法具有一种很强的雪崩效应。即当两个 只差一个比特的明文使用同一个密钥进行加密时,仅仅3 次循环之 后,两个分组就有2 1 个比特不同,整个结束后,两个密文有3 4 个 位置不同。当同一个明文作为输入,而加密使用的两个密钥只有一 个比特不同时,密文中大约一半的比特不同,而雪崩效应在几轮循 环之后就显示出来。 关于d e s 算法的强度,曾经一度提出了疑义,如果采用的是已 知明文攻击方法,即假定攻击者有至少一个( 明文、密文) 对时, 武汉理工大学硕士学位论文 设计一个使用了流水线技术达到每秒5 0 0 0 万个密钥搜索速度的芯 片,当有5 7 6 0 个这样的芯片时,搜索时间只有3 5 小时。而在1 9 9 7 年,r s a 曾就d e s 的强度问题发布了竞赛,当时有7 万个系统自愿 加入,9 6 天后找到正确的密钥,此时大约已经搜索了四分之一的可 能密钥,显示了分布式个人计算机在对付艰难的密钥分析问题时的 威力【。4 i 。 然而,密钥搜索攻击不仅仅是简单的搜索所有可能的密钥,除非 已经有了已知的明文,否则分析者就要能够自己认出明文。特别当 明文报文在解密之前做了压缩,辨认工作更加困难,或报文是某种 更一般的类型,无法自动化辨别。所以对于个人和商业应用来说, 依然d e s 进行加密似乎仍然是合理。而同样为了加强d e s 的强度, 我们采用了3 d e s 算法替代d e s 算法,3 d e s 算法的原理将在下一节 再作说明。 2 1 23 d e s 算法的原理 3 d e s 算法也可以称三莺加密( t r i p l e e n e r y p t i o n ) ,简单的说就 是对明文使用相同的d e s 算法,再搭配两个以上不同的密钥,分别 加密处理三次。其做法有许多的方式: ( 1 ) d e s e e e 3 ,是以三把不同的密钥,以加密一加密一加密的 方式依次处理。 ( 2 ) d e s e d e 3 ,是以三把不同的密钥,以加密一解密一加密的 方式依次处理。 ( 3 ) d e s - e e e 2 ,是以两把不同的密钥,以加密一加密一加密的 方式依次处理,但第三次加密所使用的密钥与第一把密钥相同。 ( 4 ) d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流管理专业基础试题及答案
- 专业美发测试题及答案大全
- 专业序列面试题目及答案
- 幼师学期末个人工作汇报
- 借物喻人动画讲解
- 2025至2030中国心血管外科设备和技术行业调研及市场前景预测评估报告
- 中等长度导管临床应用汇报
- 2025至2030中国浮式生产系统行业项目调研及市场前景预测评估报告
- 双十一推广月工作总结
- 离婚后公积金贷款还款责任调整协议
- GB 20072-2024乘用车后碰撞安全要求
- 新课标高中化学实验目录人教
- 【培训课件】《统计法》宣传课件 建立健全法律制度依法保障数据质量
- 九年级(上册)历史教材课后习题参考答案【人教部编版】
- 食堂日管控周排查月调度记录表
- 初中音乐教学课件走进京剧
- 智能传感与检测技术 课件 第4章压电式传感器
- 心内科心衰一病一品护理成果汇报
- 甲状腺癌的围手术期护理
- 散文阅读-2024-2025学年北京七年级语文上学期期中试题分类汇编(学生版)
- 2024个人借款抵押合同范本个人借贷抵押合同范本2
评论
0/150
提交评论