(计算机应用技术专业论文)hash算法的研究及应用.pdf_第1页
(计算机应用技术专业论文)hash算法的研究及应用.pdf_第2页
(计算机应用技术专业论文)hash算法的研究及应用.pdf_第3页
(计算机应用技术专业论文)hash算法的研究及应用.pdf_第4页
(计算机应用技术专业论文)hash算法的研究及应用.pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

湖北工业大学硕士学位论文 摘要 网络通讯已经被广泛的应用到现在的日常生活和工作中。但是,由于各种原因的存在, 比如:黑客、病毒、网络不通畅等多种原因,导致在网络通讯中传输的文件缺失、被恶意修 改甚至是感染病毒。而加密算法的应用,使网络通讯中传输的数据得到了一定程度的保障。 h a s h 算法是一种不可逆的加密算法,通过h a s h 算法可以对目标文件计算出一组校验码。 在通讯中,通过对文件校验码的比较从而知道文件是否被改变。由于其算法的严苛性和不可 逆性,从而使得文件在网络通讯中的传输会更安全。目前,基本上所有的压缩、防毒、文件 下载软件都会用到h a s h 算法作为其文件校验的手段。不仅如此,在关系国家机密的文件同样 会使用h a s h 算法作为文件保护的手段之一。 目前,主要的数据加密算法体制有,对称密码加密体制和公开密码加密体制。其中,对 称密码加密体制是一种传统的加密体制,他依靠数据传输双方共同管理好密钥;公开密码加 密体制则使用公开密码用来加密,而使用私有密码进行解密,从一定程度上对密码的管理起 到保护作用,并使数据签名成为现实。 本文叙述了加密算法在网络通讯中的作用,重点分析了c r c 3 2 、m d 5 和s h a i 这三种算 法的原理,并通过c + + 代码加以实现。最后通过实际测试中对三种h a s h 算法的安全性、冲突 性和算法的效率等若干指标的比较。发现,c r c 3 2 算法已经成熟,实现简单,但效率一般且 安全性不高;m d 5 算法是目前最为成功的h a s h 算法之一,基本上没有被破解的可能,效率高, 十分稳定,被很多高机密领域所采用。其自身也没有太过明显的缺点和漏洞;s h a - i 算法安 全性很强,但效率太低。所以,最终得出m d 5 算法从算法安全性、冲突性及效率等各方面综 合考虑是最佳的选择。 但是,无论那种h a s h 算法都需要生成一个校验码用来对被检查的文件进行检查。考虑到 项目的需求是不希望有多余的数据或者文件被传给数据接收者,最终选择了算法上不是太完 满的c r c 3 2 算法。因为c r c 3 2 算法得到的校验码刚好和p e 文件格式中的v r m 3 2 v e r s i o n v a l u e 这个可选字段的长度一样。 最后我们选择出c r c 3 2 做为该项目中对文件检验的算法。将生成的文件摘要写人到文件 的可选字段w m 3 2 v e r s i o n v a l u e 中,使校验码和被校验的文件更紧密的结合在一起,进一步的 增加了文件被破解的概率。 关键词:哈希,循环冗余校验,信息验证代码,校验码 湖北工业大学硕士学位论文 a b s t r a c t i n t e m e ti sm o r ep o p u l a ri no u rn o r m a ll i f e ,b u tt h ef i l e si nc o m m u n i c a t i o nt h r o u g h n e t w o r ka r ef r e q u e n t l ym o d i f i e d ,f o rs o m er e a s o n ss u c ha sh a c k e r , v i r u s ,t h eb r e a ko f n e t w o r ka n ds oo n b u tt h er a i s eo fe n c r y p ta l g o r i t h mp r o v i d ead e f t n i t es e c u r i t y g u a r a n t e ef o rd a t at r a n s m i t t e do nt h ei n t e r a c t h a s ha l g o r i t h mi sa nu n - r e v e r s ea l g o r i t h m w ec o u l dr e c e i v eac h e c kc o d ef r o m o b j e c tf i l ew i t hh a s ha l g o r i t h m i nt h ed o m a i no fd a t at r a n s m i t t e do nt h ei n t e m e t w e c a nd e f i n i t ei ft h ed a t ao rf i l ei sm o d i f i e dw i t ht h eu n i q u ec h e c kc o d eg e n e r a t e db yh a s h a l g o r i t h m a n dt h ep e c u l i a r i t yo fu n - r e v e r s ea n du n i q u eo fh a s ha l g o r i t h mm a k et h e d a t at r a n s m i t t e do nt h ei n t e r n e ts a f e r r e c e n t l y , t h e r ea r c2e n c r y p ts y s t e mu s e df r e q u e n t l y , t h e ya 聆s y m m e t r i c a le n e r y p t s y s t e ma n do p e ne n c r y p ts y s t e m s y m m e t r i c a le n c r y p ts y s t e mi sat r a d i t i o n a ls y s t e m , i tr e f e rt oe v e r y o n em a k ec o n f i d e n c e o p e ne n c r y p ts y s t e mu s ep u b s cp a s s w o r dt o e n c o d et h em e s s a g ea n dd e c o d ei tw i t hp r i v a t ep a s s w o r d ,a n di tm a k ed a t as i g n a t u r eb e p o s s i b l e a n dn o w , a l m o s ta l lt h es o f t w a r ea b o u tc o m p r e s s i o n ,a n t i v i r u sa n dd o w n l o a dh a s u s e dt h eh a s ha l g o r i t h ma si t sm e a n sf o rd a t ac h e c k a n de v e ni nm a n ys e c u r i t y d e p a r t m e n to fc o u n t r ya l s ou s et h eh a s ha l g o r i t h mt op r o t e c tt h ec o n f i r m a t i o nd a t a t h i sp a p e rd e p i c t st h eu s a g eo fh a s ha l g o r i t h mi nt h ei n t e m e ta n dt h ea n a l y z e f o c u so n3d i f f e r e n th a s ha l g o r i t h m c r c 3 2 m d 5a n ds h a l a n da u3h a s h a l g o r i t h m sa r ei m p l e m e n t e dw i t hc + + a tl a s t , w ec o m p a r e3k i n do fh a s ha l g o r i t h m w i t hc h a r a c t e r so fs e c u r i t y , e f f i c i e n c ya n dc o n f l i c f i o n w ef m ds e c u r i t yo fc r c 3 2i sn o t e n o u g h ;a nc h a r a c t e r so fm d 5 i sw e l l ;s h a li si n - e f f e c t i v e s ot h em d 5 a l g o r i t h mi s s e e m e dt h eb e s tc h o i c e h o w e v e r a l lh a s ha l g o r i t h m sw i l lg e n e r a t eac h e c kc o d e ( d i g e s t ) t oc h e c kt h ef i l e b u tt h ei rd o c s u tw a n te x t r ad a t at r a n s m i tt or e c e i v e r s ow eh a v et og i v eu dm d 5a n d c h o s ec r c 3 2a l g o r i t h m b e c a n s et h ec h e c kc o d eg e n e r a t e db yc r c 3 2i s8w o r d s ,i st h e s a l n ea sl e n g t ho f 嚏1 1 3 2 v e r s i o n v a l u e a tl a s t w ec h o s ec r c 3 2a so u rf i n i a la l g o r i t h mf o rt h i sp r o j e c t w ea d dt h ec h e c k c o d ei n t ot h e r i l 3 2 v e r s i o n v a l u es e c t i o n a n dc h e c kc o d ew i l lb et h ee x c l u d ed a t a t r a n s m i t t e d a n di ta l s op r o v i d e sad e f i n i t es e c u r i t yg u a r a n t e ef o rd a t at r a n s m i t t e do nt h e i n t e r n e t k e y w o r d s :h a s h ,c y c l i cr e d u n d a n c yc h e c k , m a c ,c h e c kc o d e i i 佩嘉工繁火港 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工 作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本声明的法律结果由本人承担。 学位论文作者签名:彩擘) 东移冲 日期:) 扫,年,月2 如 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者鲐彳钵呻指导教师签名 日期:立”绰j 4 月2j - 日 日期:l 辟 湖北工业大学硕士学位论文 第1 章引言 任何一个安全专家提起如今信息技术的安全保护措施,都不可避免要涉及一 个名词:加密( e n c r y p t ) “。的确,纵观当今信息世界,加密离我们并不遥远,从小 的个人密码,到重要机密文件,无一不是经过加密后的产物。加密技术已经渗透 了整个信息时代,任何人都不可避免的接触到即使你根本不知道“加密”是 什么”1 。 无论哪一个国家,都会有专家专注于加密技术的研究,因此诞生了许多算法, 并且在按照生物界的“弱肉强食”定律发展完善着。其中,强度高( 不容易被解 密) 的算法得以保留发展,强度低的算法最终被时间淘汰,除此之外,也存在着 一部分未公开的私人算法,它们共同担任着维护数据安全的重任。通常我们提及 加密技术时所说的“c r c 3 2 加密”、“m d 5 加密”、“s h a - 1 加密”、“r s a 加密”等, 其实就是在说它们所采用的算法。采用一个高强度的算法来加密你的数据,将会 让你的数据安全得到更高的保护”“1 。 消息摘要( m e s s a g ed i g e s t ) 是一种能产生特殊输出格式的算法,这种加密算法 的特点是无论用户输入什么长度的原始数据,经过计算后输出的密文都是固定长 度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这 种提取就是“摘要”,被“摘要”的数据内容与原数据有密切联系,只要原数据稍 有改变,输出的“摘要”便完全不同,因此基于这种原理的算法便能对数据完整 性提供较为健全的保障。但是,由于输出的密文是提取原数据经过处理的定长值, 所以它已经不能还原为原数据,即消息摘要算法是“不可逆”的,理论上无法通 过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证,而不能 作为原数据内容的加密方案使用,否则谁也无法还原。尽管如此,“消息摘要”算 法还是为密码学提供了健全的防御体系,因为连专家也无法根据拦截到的密文还 原出原来的密码内容。因为这个特性,“消息摘要”算法产生的密文被称为“摘要”。 如今常用的“消息摘要”算法经历了多年验证发展而保留下来的强者,分别 是c r c 3 2 、b i d 2 、m d 4 、b i d 5 、s e a 、s h a l 2 5 6 3 8 3 5 1 2 等。 1 1 课题来源 课题来源于:本人实习公司客户端信息收集装备c i c a ( c u s t o m e ri n f o r m a t i o n 湖北工业大学硕士学位论文 c o l l e c t i o na g e n t ) 项目的一部分。 该项目本身为作为一个模块依附于另外两个服务器,机票查询服务器w h i z 和 打印机服务器p r i n ts e r v e r 。c i c a 会在每次w h i z 和p r i n ts e r v e r 启动的时候去主动 收集用户机器的硬件、软件信息加以处理并通过t c p i p 协议传回到我们的h o s t 服务器。 h o s t 服务器在收到这些信息的时候会通过加密算法对文件进行检查,看是否 有人有意或无意对我们想要的文件进行了修改,从而决定是否将该数据存入到我 们的数据库作为一次顾客信息的纪录。 整个工作流程中,争议最大的就是在h o s t 接收到客户传来的信息的时候, 我们应该选用哪一种加密算法对其进行检查( 当然这也决定了我们要在c i c a 中使 用何种算法对生成的文件进行加密) o 通过对目前最为安全的几种h a s h 算法的分析研究和比较及对顾客需求的满 足,最终给出了一个比较完满的解决方案”1 。 1 2 课题研究的内容和目的 随着信息技术的发展与应用”1 ,信息安全的内涵在不断的延伸,从最初的信息 保密性发展到信息的完整性、可用性、可控性和不可否认性,进而又发展为“攻 ( 攻击) 、防( 防范) 、测( 检测) 、控( 控制) 、管( 管理) 、评( 评估) 竹等多方 面的基础理论和实施技术。信息安全是一个综合、交叉学科领域,它要综合利用 数学、物理、通信和计算机诸多学科的长期知识积累和最新发展成果,进行自主 创新研究,加强顶层设计,提出系统的、完整的,协同的解决方案。与其他学科 相比,信息安全的研究更强调自主性和创新性,自主性可以避免泄密,体现国家 主权;而创新性可以抵抗各种攻击,适应技术发展的需求。 基本上目前i t 行业的主要的发展方向和产品种类上,都包含了密码技术的应 用,并且是非常基础性的应用。很多的安全功能和机制的实现都是建立在密码技 术的基础之上,甚至可以说没有密码技术就没有安全可言。密码技术特别是加密 技术是信息安全技术中的核心技术,国家关键基础设施中不可能引进或采用别人 的加密技术,只能自主开发。目前我国在密码技术的应用水平方面与国外还有一 定的差距。国外的密码技术必将对我们有一定的冲击力,特别是在加入w t 0 组织 后这种冲击力只会有增无减。有些做法必须要逐渐与国际接轨,不能再采用目前 这种关门造车的做法,因此,我们必须要有我们自己的算法,自己的一套标准, 自己的一套体系,来对付未来的挑战。实用密码技术的基础是密码基础理论,没 湖北工业大学硕士学位论文 有好的密码理论不可能有好的密码技术、也不可能有先进的、自主的、创新的密 码技术。因此,首先必须持之以恒地坚持和加强密码基础理论研究,与国际保持 同步,这方面的工作必须要有政府的支持和投入。另一方面,密码理论研究也是 为了应用,没有应用的理论是没有价值的。我们应在现有理论和技术基础上充分 吸收国外先进经验形成自主的、创新的密码技术以适应国民经济的发展。 但是,我们也应该看到密码技术与通信技术”1 、计算机技术以及芯片技术的融 合正日益紧密,其产品的分界线越来越模糊,彼此也越来越不能分割。在一个计 算机系统中,很难简单地划分某个设备是密码设备,某个设备是通信设备。而这 种融合的最终目的还是在于为用户提供高可信任的、安全的计算机和网络信息系 统“o 1 3 国内外研究现状 密码理论与技术主要包括两部分,即,基于数学的密码理论与技术( 包括公 钥密码、分组密码、序列密码、认证码、数字签名、h a s h 函数、身份识别、密钥 管理、p k i 技术等) 和非数学的密码理论与技术( 包括信息隐形,量子密码,基于 生物特征的识别理论与芄, 5 t ) o 公钥密码主要用于数字签名和密钥分配。但没有听说过哪个部门有制定数字 签名法的意向。目前人们关注的是数字签名和密钥分配的具体应用以及潜信道的 深入研究。 认证码“”是一个理论性比较强的研究课题,自8 0 年代后期以来,在其构造和 界的估计等方面已经取得了长足的发展,我国学者在这方面的研究工作也非常出 色,影响较大。目前这方面的理论相对比较成熟,很难有所突破。另外,认证码 的应用非常有限,几乎停留在理论研究上,已不再是密码学中的研究热点。 h a s h 函数主要用于完整性校验和提高数字签名的有效性,目前已经提出了很 多方案,各有千秋。 美国国家标准技术研究所与美国国家安全局共同设计了一个与美国数字签名 算法( d s a ) “”一起使用的安全杂凑算法( s h a ) ,标准是安全杂凑标准( s h s ) ,s h a 是用于该标准的算法。s h a 于1 9 9 2 年2 月3 1 日在联邦记录中公布,1 9 9 3 年5 月 1 1 日起采纳为标准。1 9 9 4 年7 月1 1 日作了一次修改,1 9 9 5 年4 月1 7e t 正式公布。 s h a 的设计原则与m d 4 算法的设计原则极其相似,它很像是m d 4 算法的一种变 形,但s p a 的设计者没有公开s h a 的详细设计准则。s h a 的输入的长度限制在 2 6 4 b i t 之内,输出长度为1 6 0 b i t 。由于技术的原因,美国目前正准备更新其h a s h 湖北_ t - 业大学硕士学住论文 标准,加之欧洲也要制定h a s h 标准,这必然导致h a s h 函数的研究特别是实用技 术的研究将成为热点。 1 4 主要解决途径 本课题主要研究目前主流的各种h a s h 机密算法在同一环境下的实现的复杂 性,可行性;各个加密算法在同一环境下的效率、冗余、强度。 本课题中所提到的各个算法全部在v c 6 的环境下完成。在最终测试的时候, 我们对多种大小的文件和数据进行了测试。并在其中截获数据包,对其进行修改 再转发从而验证加密成功与否。 最终我们通过反复实验,得出:在数据量不是非常大( 1 0 g b ) 的情况下,从处 理效率和机器的负荷程度来看,c r c ( c y c l i cr e d u n d a n c yc h e c k ) 的表现更加出色。 因此,我们选择c r c 作为服务器和客户端双方的加密算法。 从中我们也对h a s h 算法有了更深入的了解,从最初对d s 中提到的直接地址 法、数字分析法、折叠法的理论上的认识到实际的应用中去用各种方法来实 现和验证各种想法“”。 1 5 课题研究的意义 随着信息技术的发展与应用,信息安全的内涵在不断的延伸,从最初的信息 保密性”“发展到多方面的基础理论和实施技术。目前密码基本上成为了我们日常 生活的一部分,不仅如此它更是关系国家的安全和机密。密码技术特别是加密技 术是信息安全技术中的核心技术,都包含了密码技术的应用,并且是非常基础性 的应用。且这种技术不能像其他基础技术那样通过学习和模仿,必须要有自己的 理论和实际产品。因为加密技术不仅仅关系到一个人的各种资料、一个公司或者 单位的机密资料,他同时也会被引用到国家的安全信息的保密和军事机密信息中 去,如果没有自己的技术和自主的研发,那后果将是难以预料的。 而加密算法,特别是加密算法,作为加密技术中最为重要的一个环节,可以 说影响到整个加密方案的最终成败。因此对现有算法的研究,从中找出其值得学 习和修改的地方,并最终研究出自己的一种算法,其产生的影响将是巨大的。 目前而言,我国的密码理论技术“5 1 同世界发大国家相比较还是处于劣势的, 特别是在算法的研究上。因此,对目前主流算法研究和分析无论在将来的应用中 或理论研究中,都会起到积极的作用。 4 湖北工业大学硕士学位论文 第2 章数据加密技术 在现代计算机技术中,数据通讯和文件保护技术已经被越来越广泛的应用, 其范围从国家的机密文件、军事机密文件,银行日常的数字货币的转账、网上交 易到我们日常生活中文件的下载及文件的解压缩。可以说这项技术已经覆盖了各 行各业,成为了我们生活中不可分割的一部分了。 而这些技术的实现全部依赖严谨高效的算法,如何得到一个冗余小、冲突少、 效率高的算法,这个算法对于这个问题的解决上是不是最优的,对于解决同类问 题的多个算法中什么算法最有效率等等都是众多科学家研究的内容。 数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数题却指 纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被 用作敏感信息的加密。数据摘要算法也被称为哈希( h a s h ) 算法或散列算法。 本文将对几种研究热点的h a s h 加密算法加从其效率、可行性以比较分析,并给出 研究的最终结论。 虽然m d 5 的效率不如其前身m d 4 效率高,但同其他两个主要的比较对象而 言其效率相差不大甚至在某些情况下比s h a 一1 效率更高。虽然很早以前就有专家 发现m d 5 算法在专门用于寻找“冲突”的机器上平均每2 4 天就会产生一个“冲 突”,但是对于一般应用来说,这种几率已经非常低微,因此m d 5 至今仍然是最 强健的加密算法。 s h a 的中文是“安全哈希算法”( s a f e h a s h a l g o r i t h m ) ,它有多个改进版本“, 也属于“摘要”算法,它能产生高达1 6 0 位的摘要,s h a 一1 是改进了s h a 算法缺 陷而产生的升级版本,除此之外还有s h a 2 5 6 、s h a - 3 8 3 、s h a - 5 1 2 等,提供了 最高达到5 1 2 位的摘要。由于它产生的数据摘要的长度更长,因此更难以发生碰 撞,因此也更为安全,它是未来数据摘要算法的发展方向。由于s h a 系列算法的 数据摘要长度较长,因此其运算速度与m d 5 相比,也相对较慢。目前s h a l 的 应用较为广泛,主要应用于c a 和数字证书中,另外在目前互联网中流行的b t 软 件中,也是使用s h a - 1 来进行文件校验的。 c r c ( c y c l i cr e d u n d a n c yc h e c k ,循环冗余校验) 算法出现时间较长,应用 也十分广泛,尤其是通讯领域,现在应用最多的就是c r c 3 2 算法,它产生一个4 字节( 3 2 位) 的校验值,一般是以8 位十六进制数,如f a l 2 c d4 5 等。c r c 算 法的优点在于简便、速度快,严格的来说,c r c 更应该被称为数据校验算法,但 其功能与数据摘要算法类似,因此也作为测试的可选算法。在w i n r a r 、w i n z i p 湖北工业大学硕士学位论文 等软件中,也是以c r c 3 2 作为文件校验算法的。一般常见的简单文件校验( s i m p l e f i l ev e r i f y s f v ) 也是以c r c 3 2 算法为基础,它通过生成一个后缀名为s f v 的 文本文件,这样可以任何时候可以将文件内容c r c 3 2 运算的结果与s f v 文件中的 值对比来确定此文件的完整性。 2 1 加密技术的基本概念 2 1 1 加密技术的历史 数据加密技术作为信息安全的关键技术,它起源于公元前2 0 0 0 年。埃及人是 最先使用特别的象形文字作为信息编码的人。随着时间推移,巴比伦、美索不大 米亚和希腊文明都开始使用一些方法来保护他们的书面信息。数据加密也曾用于 历次战争中,包括美国独立战争、美国内战和两次世界大战。最广为人知的编码 机器是g e r m a ne n i g m a 机,在第二次世界大战中,德国人利用它创建了加密信 息。此后,由于a l a n l b r i n g 和u l t r a 计划以及其他人的努力,终于对德国人的密码 进行了破解。当初,计算机的研究就是为了破解德国人的密码,当时人们并没有 想到计算机给今天带来的信息革命。随着计算机的发展、运算能力的增强,过去 的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如对 称密钥算法和公开密钥算法。可以说,是计算机推动了数据加密技术的发展。 密码学的发展历史“”大致可划分为三个阶段: 第一个阶段为从古代到1 9 4 9 年。这一时期的密码技术可以说是一种艺术,而 不是一种科学,密码学专家常常是凭借直觉和信念来进行密码设计和分析,而不 是推理证明。例如,最早使用的凯撒密码。 第二个阶段为从1 9 4 9 年到1 9 7 5 年。1 9 4 9 年c l a u d es h a n n o n 把信息论、密码 学和数学结合起来,研究了“保密系统的数学结构”,他的奠基性论文“保密系统 的通信理论”在贝尔系统技术杂志上发表,这篇文章首次提出了密码技术的 概念和原理,推动了密码技术的发展,奠定了密码学的理论基础,从此密码学成 为一门科学,人们将此阶段使用的加密方法称为传统加密方法。然而,这一阶段 的密码学发展缓慢,公开的文献也很少。直到1 9 6 7 年,密码学文献几乎空白。1 9 6 7 年,d a v i dk a h n 收集整理了一战和二战的大量史料,创作出版了破译者,为密 码技术的公开化、大众化拉开了序幕。 第三个阶段是1 9 7 6 年至今。1 9 7 6 年d i f f i e 和h e l l m a n 发表的“密码学的新方 向”首次证明了在发送端和接收端无密钥传输的保密通信是可能的,从而开创了 湖北工业大学硕士学位论文 公钥密码学的新纪元,并指明了s h a n n o n 在1 9 4 9 年提出的将密码建立在解某些己 知的数学难题之上的具体实现途径。这一阶段,密码技术发展极为迅速。 在密码学的发展过程中,数学和计算机科学做出了卓越的贡献。数学中许多 分支,如数论、概率统计、近世代数、信息论、椭圆曲线理论、算法复杂性理论、 自动机理论、编码理论等都可以在其中找到各自的位置。今天,随着计算机科学 和信息技术发展起来的现代密码学,已经从最初的军事和外交领域走向公开,它 是结合数学、计算机科学、电子与通信等诸多学科于一身的交叉学科,它不仅具 有保证信息机密性的信息加密功能,而且具有数字签名、身份验证、秘密分存、 系统安全等功能。所以,使用密码技术不仅可以保障信息的机密性,而且可以保 证信息的完整性和确证性,防止信息被篡改、伪造和假冒。 密码学作为数学的一个分支,包括密码编码学( c r y p t o g r a p h y ) 1 和密码分析学 ( e r y p t a n a l y s i s ) 两部分。使消息保密的技术和科学叫做密码编码学,密码分析学就 是破译密文的科学和技术,即揭穿伪装。这两者是互相促进、共同发展的。 2 1 2 加密系统的组成 数据加密是在不安全的环境中实现信息安全传输的重要方法。加密前的数据 和信息称为明文,经加密算法处理后的信息称为密文。明文和密文总称为报文。 加密和解密过程组成加密系统,任何加密系统,不管形式多么复杂,至少包括以 下4 个组成部分: ( 1 ) 待加密的报文,也称明文m ; c 2 ) 力n 密后的报文,也称密文c ; ( 3 ) 加密e 、解密d 装置或算法; ( 4 ) 用于加密和解密的钥匙,它可以是数字、词汇或语句。 数据加密技术”“是实现信息保密性的一种重要手段,目的是为了防止合法接 收者之外的人获取信息系统中的机密信息。所谓信息加密技术,就是采用数学方 法对原始信息( i 恿常称为“明文”) 进行再组织,使得加密后在网络上公开传输的内 容对于非法接收者来说是无意义的文字。而对于合法接收者,因为他掌握正确的 密钥,可以通过解密过程得到原始数据( 即“明文”) 。由此可见,在加密和解密 的过程中,都要涉及信息( 明文,密文) 、密钥( 加密密钥,解密密钥) 和算法( 加 密算法,解密算法) 这三项内容。一条信息的加密传输的过程如图2 1 所示,其中, m 代表明文信息,t 代表算法,k 代表密钥。 湖北工业大学硕士学位论文 密文m = t ( ,k ) 匿,_ f 葛鎏! 刊j 毒筠j ,卜_ 一堕, g ;发雉 i j非密豇取 目的地 il 搬密密钥解密密钥 图2 1 加密解密流程图 2 1 3 密码学的分类 密匙是密码系统中最关键的因素,根据密匙的不同,s i m m o n s 把密码体制分 为对称密匙( 单匙) 密码体制和公开密匙( 双匙) 密码体制。 对称密匙密码算法又叫传统密码算法,就是加密密匙能够从解密密匙”中推 算出来,反之亦然。在大多数对称算法中,加密和解密的密匙是相同的。公开密 匙密码算法又叫非对称算法,它的设计思想是:用作加密的密匙不同于用作解密 的密匙,而且解密密匙不能根据加密密匙计算出来( 至少在合理假定的时间内) 。 2 1 4 密码技术的要求 任何一个加密体系”4 。2 ”的核心目标就是保护数据信息不致泄漏、更替等,为了 对数据起到有效的保护作用,加密体系至少应当满足以下几个基本要求: ( 1 ) 有足够大的密钥空间。例如在凯撒密码体系中密钥的个数只有2 5 个,密钥 空间的狭小必然导致容易被攻破、密钥空间的大小除了可提供使用的密钥个数的 多少以外,还包括可用密钥的长度,这是个事物的两个方面。 ( 2 ) 对于密码空间的所有密码,加、解密算法的实现应当在技术上是可行的。 算法本身不应在理论上存在漏洞,比如对某些特殊的密钥出现计算不收敛的问题 等。 ( 3 ) 在满足加密强度要求的前提下,密钥必须达到一定的长度,密钥长度越大, 加密计算的代价就越大。因此还要求加、解密算法在现实环境下使用方便。 ( 4 ) 理想的加、解密算法即使公开其函数形式,也不影响所加密数据的安全保 密性,即保密强度不受影响。这个特性称之为加密体系的保密强度只依赖于加密 密钥,独立于加密算法。之所以提出这个要求,是因为加密算法尽管从函数理论 上讲可以是无穷多个,但是设计一个可行的加密算法并非易事,总希望能够在较 湖北工业大学硕士学位论文 长时期内有效服役。 ( 5 ) n 密算法对明文、密文转换的长度比率以接近为好,换而言之,密文长度 不应过分大于明文的长度。特别是在数据库系统内,如果不能控制密文的长度, 则数据库中数据的组织就成为不可能的事。“。 2 2 对称密码密匙体制 对称密钥密码体制的特点是加密与解密的密钥是相同或等价的,并且密钥是 保密并不向外公布的,故也称为私钥密码体制。对称密钥加密算法如图2 2 所示。 图2 2 对称密钥密码体制流程 对称密钥密码体制根据对明文的加密方式的不同,可分为两类:一类算法是 对明文的一组位进行运算。这些位组称为分组( b l o c k ) ,相应的算法称为分组算法 ( b l o c k a l g o d t h r n ) 田1 或分组密码( b l o c k c i p h e r ) 汹1 。另一类是一次只对明文中的单个位 ( 有时对字节) 进行运算的算法称为序列算法( s t r e a ma l g o d t h m ) 或流密码( s t r e a m c i p h e r ) 。流密码每次将1 比特明文变为l 比特密文,主要应用于政府和军事等国家 要害部门。根据密钥流是否依赖于明文流,可将流密码分为同步流密码和自同步 流密码。目前的绝大多数有关流密码的研究成果均是同步流密码方面的。由于自 同步流密码系统一般需要密文反馈,因而使得分析工作复杂化。但自同步流密码 基于抵抗密文搜索攻击和认证功能等优点,所以这种流密码也是一个值得进一步 研究的课题。在流密码研究方面,我国处于世界领先地位。有代表性的工作主要 有:曾肯成等学者的密码体制的相关分析理论和技术、丁存生等学者的密码的稳 定性理论啪1 、戴宗铎等学者的环导出序列论。 对称密钥加密算法要求发送者和接收者在安全通信之前需要商定一个密钥, 发送者必须要让接收者知道自己所使用的密钥,这个密钥需要双方共同保密,任 何一方的失误都会导致机密的泄漏。而且,在告诉接收者密钥的过程中,还需要 9 湖北工业大学硕士学位论文 防止任何人发现或偷听密钥,这个过程被称为密钥发布。有些认证系统在会话初 期用明文传送密钥,这就存在密钥被截获的可能性。 对称密钥加密算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消 息进行加密或解密。这种加密技术的特点是数学运算量小,加密速度快,易于处 理,但密钥的分发和管理比较困难。另外,当有众多用户进行保密通信时,彼此 间不能使用相同的密钥,所以n 个用户要使用n ( n 1 ) 2 个不同的密钥,显然, 密钥管理的难度比较大。 目前,比较流行的密匙加密算法有d e s 算法。 2 3 公开密码密匙体制 1 9 7 6 年,美国学者d i t i i e 和h e l l m a n 为了解决信息公开传送和密钥管理问题, 提出了一种新的密钥交换协议,允许通讯双方在不安全的媒体上交换信息,安全 地达成一致的密钥,这就是“公开密钥系统”。 公开密钥加密算法( p u b l i c k e ya l g o r i t h m ) 也叫非对称算法3 ,它的设计思想 为:用作加密的密钥不同于用作解密的密钥,而且解密密钥也不能根据加密密钥 推算出来( 至少在合理假定的时间内) 。其中,加密密钥可以公开叫做公开密钥 ( p u b l i ck e y ,简称公钥) ,解密密钥需要保密叫做私人密钥( p r i v a t ek e y ,简称私 钥) 。也就是说,公开密钥加密算法需要两个密钥:公钥和私钥。公开密钥加密系 统使用密钥对对明文进行加密时,如果用公钥对数据进行加密,只有用对应的私 钥才能进行解密:如果用私钥对数据进行加密,那么只有用相对应的公钥才能解 密。因为加密和解密使用的是两个不同的密钥,所以这种算法也叫作非对称加密 算法。公开密钥加密算法如图2 3 所示。 瞬文m密文删明文m 其中;p k b 兔接收方的公开密钥,s k b 为接收方的私有密钥 图2 3 公开密钥加密体制 湖北工业大学硕士学位论文 公开密钥密码体制的算法是公开的,所以它的保密性不依赖于加密体制和算 法,而是依赖于密钥。公开密钥系统从根本上克服了传统密码体制的困难,解决 了密钥分配和消息认证等问题,它可以实现保密通信、数字签名和认证。公开密 钥算法有两个非常重要的优点:首先,它大大简化了密钥的分配和管理,因为每 个人只需记住他自己的密钥就可以了。其次是它提供了实现数字签名的可能性, 这是一种特别重要的性能,应用范围很广,诸如银行和电子邮件等。 公钥密码在算法实现中,采用数学中的难解问题来构造公钥密码系统。目前 的公钥密码算法主要依赖于下面三种数学难解的问题: ( 1 ) 功大数因子分解问题: ( 2 ) 离散对数问题; ( 3 ) 椭圆曲线上的离散对数问题。 第一类公钥密码算法是由r i v e t ,s h a m i r , a d e l m a n 提出的,简称为r s a 算法: 它的安全性是基于大数因子分解的困难性,而大数因子分解问题是数学上的著名 难题,所以可以确保r s a 算法的安全性。r s a 算法是公钥密码算法中最具有典型 意义的方法,自提出以来就一直是人们研究的焦点。 第二类公钥算法的安全性依赖于离散对数m 3 的计算困难性( 简称d l p 问题) 。 设g 为一个有限a b l e 加法群,假定g 为g 的某个元,a 为任意的整数,如果己知 g 及a * g ,如何求出整数a 的问题在数学上称为离散对数问题。一般来说,当群g 选择得当,且整数a 充分大时,求解此类问题是非常困难的。离散对数问题又可 细分为两类:一类为某个有限域上的离散对数问题;一类为椭圆曲线上的离散对 数问题。两者比较,后一类问题求解更为困难些。基于这一判断,人们通过对群g 作出不同的选择,构造了各种不同的公钥算法,比如m a s s e y - o m u r a 公钥算法, e i g a m a l 公钥算法等等。 第三类公钥算法是建立在椭圆曲线离散对数问题上的密码算法,称为椭圆曲 线密码算法( e c c ) 。”。众所周知,定义在某一代数数域上椭圆曲线上的有理点在适 当的定义了零元素和运算规则( 常记作加法) 后,构成一个有限域上的a b l e 群。 设g fq ) 为一有限域,则g f ( p ) 上的一条椭圆曲线e 上的有理点构成一个有限群 e p ,这个有限群的阶可经由某些特别方法计算出来,设己知属于e p 的点g 和a * g , 从g 和a * g 求出a 来是非常困难的,此种问题称为椭圆曲线离散对数问题,它较通 常的离散对数问题更为困难。椭圆曲线加密算法( e l l i p t i cc u r v e c r y p t o g r a p h y 简称 e c c ) 是由n e a lk o b l i t 和v i c t o rm i l l e r 于1 9 8 5 年首先提出的,从那时起e c c 的安 全性和实现效率就被众多的数学家和密码学家所广泛研究。研究结果表明:与r s a 算法相比,e c c 算法具有密钥长度短,加解密速度快,对计算环境要求低,在需 湖北工业大学硕士学位论文 要通讯时,对带宽要求低等特点。 2 4 数字签名技术 数字签名技术。”是由d i f f i e 和h e l l m a n 在他们的著名论文“n e wd i r e c t i o ni n c r y p t g i p h y ”中第一次提出来的,后来,它引起了许多人的研究兴趣并获得了长足 的发展。数字签名技术能够防止下述四类问题: ( 1 ) 否认或抵赖m 1 :发送( 接收) 者事后不承认己经发送( 接收) 过这样一份文件; ( 2 ) 伪造:接收者伪造一份来自发送者的文件; ( 3 ) 篡改:接收者对发送者的信息进行部分篡改; ( 4 ) 冒充:网络中的某一个用户冒充另一个用户作为发送者或接收者。 数字签名技术实际上是在数据加密技术基础上的一种延伸应用。在文件上手 写签名长期以来被用作作者身份的证明,或至少同意文件的内容。数字签名和现 实生活中的手写签名具有同等重要的作用,数字签名可以用来进行下列认证: ( 1 ) 实体认证在报文通信之前,采用可鉴别协议来认证通信是否在议定的通信 实体之间迸行; ( 2 ) 报文认证经实体认证后,双方通信实体便可进行报文通信。为了保证数据 的真实性,应对报文进行认证,即接收实体应能验证报文的来源、时间与目的的 真实性,通常也采用数字签名等技术来实现: ( 3 ) 身份认证用户的身份认证是许多应用系统的第一道防线,目的是防止数据 被非法用户访问。除了口令控制之外,在身份认证环节采用数字签名技术无疑大 大提高了访问控制的力度。 目前,数字签名是建立在公开密钥密码体制基础上的,现有的多种数字签名 算法都是基于公开密钥算法的,用秘密消息对文件签名,用公开消息去验证,是 公开密钥加密技术的另一类应用。数字签名可以实现与书面文件签名相同的功能, 现以图2 4 来说明数字签名的原理。目的的真实性,通常也采用数字签名等技术来 实现。 湖北工业大学硕士学位论文 图2 4 数字签名原理 如图2 4 所示,若b 要向a 发送一个消息,尽管该消息本身的保密性也许并 不重要,但b 希望a 能够确认该消息确实是a 发出的,且消息在中途没有被改动, 即要实现消息真实来源的验证和消息的完整性验证。 在这种情况下,b 使用自己的私钥来加密消息。如果a 收到b 的密文消息后, 能够用b 的公钥进行解密,这样就验证了该消息一定是由b 发出的。因为除了b 以外,没有其他人能够创建出可用b 的公钥可以解密的密文来。且因为如果没有 b 的私钥就不可能对消息进行改动,因此在消息的真实来源得以验证的同时,消息 的数据完整性也得以验证。 在实际的应用中,采用公开密钥密码算法对长文件签名效率太低,为了节约 时间,数字签名协议经常和单向散列函数一起使用o 。它的主要方式是:报文的 发送方从报文文本中生成一个长度为1 2 8 b i t 的散列值( 或报文摘要) 。发送方用自 己的私人密钥对这个散列值进行加密形成发送方的数字签名。然后,这个数字签 名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收 到的原始报文中计算出一个1

温馨提示

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

评论

0/150

提交评论