(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf_第1页
(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf_第2页
(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf_第3页
(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf_第4页
(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(控制理论与控制工程专业论文)基于混沌的图像加密算法研究及开发平台设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着网络的普及和迅猛发展,网络安全和保密问题显得愈发重要和突出。 在网络安全的技术中,密码技术是最基本、最常用的技术,因此对加密算法的 研究具有重要的理论意义和实用价值。 本文简明地阐述了信息安全技术的发展现状。较系统地介绍了经典密码学 相关术语、密码学理论和常用的加密算法,讨论了各个算法的原理和优缺点, 以及在多媒体信息广泛应用的背景下传统密码学受到的挑战;较详细地讨论了 混沌加密算法,系统地介绍了混沌理论的基本概念、混沌序列的性质及混沌加 密算法的现状,在深入分析研究近年来提出的混沌加密算法的基础上,提出了 随机顺序和用明文密文反馈来控制步长的两种混沌加密新算法,大大提高了抵 抗密码分析和参数辨识的能力,并对这两种加密算法给出了相应的性能分析; 设计并实现了一个混沌加密研发平台,给出了混沌加密研发平台的设计思路、 具体设计方法和实现技巧,并给出了详细的使用方法与具体的应用实例。该研 发平台具有算法仿真和性能分析功能,并有方便扩展和使用简单的特点。对常 用的几类混沌模型无需另外编程,只要按要求给出算法的有关参数,就能自动 进行计算,并给出图文并貌的性能分析结果。 关键字:混沌加密反馈加密平台 a b s 仃a c t a b s t r a c t a l o n gw “ht h er a p i dd e v e j o p m e n ta n ds p r e a do ft h en e t w o r k ,n e t w o r ks e c u r i t y a n dc o n 6 d e n t i a j i t yi s s u e sa r ei n c r e a s ;n g l yi m p o r t a n ta n dp r o m i n e n ti nt h et e c h n i q u e s u s e di nn e t w o r ks e c u r i ty ,c r y p t 0 1 0 9 yi st h em o s te l e m e n t a r ya n du s e dm o s tc o m m o n l y s or e s e a f c ho ne n c 叫p t i o na l g o r i t h mi sv a l u a b l ei nt h e o 珂a n dp r a c t j c e t h i st h e s i s s t a t e d c o n c i s e l y t h ec u r r e n td e v e l o p m e n to fn e t w o r k s e c u r i t y t e c h n i q u e s ,i n t r o d u c e ds y s t e m a t i c a l l yc l a s s i c a lc r y p t o g r a p h y r e l a t e dt e r m i n o l o g y , t h e o f y , pr n c i p l e s a n d e n c r y p t i o na 】g o r i t h m u s e dc o m m o n l ya n dd i s c u s s e dt h e a d v a n t a g e sa n dd i s a d v a n t a g e so ft h ev a r i o u sa l g o r i t h m sa n dt h e ni ta n a l y z e dt h e c h a l l e n g et oc y p t o g r a p h ya l o n gw i t hw i d e l y u s i n go fm u l t i m e d i ai n f o r m a t i o na n d e x p l a i n sp o t e n t i a lo fc h a o t i ct h e o r ya p p l y i n gi nm u l t i m e d i ai n f o r m a t i o ns e c u r i t y , i n t r o d u c e sb a s i cc o n c e p t so fc h a o st h e o r ya n dp r o p e r t yo fc h a o t i cs e q u e n c e ,s t a t e st h e c u r r e n t d e v e l o p m e n to fc h a o t i ce n c r y p t i o na l g o r i t h m a r e ra n a l y z i n gc h a o t i c e n c r y p t i o na l g o n t h mp r e s e n t e dr e c e n t ly ,p r e s e n t e dt w on e wa l g o r i t h m s ,o n eo fw h i c h w a sb a s e do nx o ro p e r a t j o nj na a n d o mo r d e rg e n e r a t e d 疗o mc h a o t i cs e q u e n c qt h e o t h e rw a sb a s e do nr a n d o ms t e pb e t w e e ni t e r a t i o nc o n t r o l l e db yp l a i nt e x to r e n c r y p t e dt e x t ,p r o v i d i n gs t r o n g e ra b i l i t yr e s i s t i n gp a s s w o r da n a l y s i sa n dp a r a m e t e r i d e n t i 母i n ga n da n a l y z e dp e r f o r m a n c eo ft h et w o b e s i d e s ,d e s i g n e da n di m p l e m e n t e dap l a t f o r mf o rd e v e l o p i n gn e wc h a o t i c e n c r y p t i o na l g o r i t h m ,g i v i n g d e s i g ni d e a s , m e t h o d sa n di m p l e m e n tt a i l s ,a n d i l l u s t r a t e dh o wt ou s ei tw i t ha c t u a le x a m p l e st h ep l a t f 0 哪c a nd oa l g o r i t h m s i m u l a t i o na n dp e r f b m a n c ea n a l y s i sa n di sv e r ye a s yt ou s ea n de x p a n df o rt h e c o m m o nc h a o sm o d e l , o n l yi n p u t t i n gc o r r e s p o n d i n gp a r a m e t e r s , i tc a no p e r a t e a u t o m a t i c a l l ya n ds h o wt h er e s u l to f p e r f o r m a n c ea n a l y s i sg r a p h i c a l l y k e y w o r d s :c h a o t j ce n c r y p t i o nf e e d b a c kd e v e l o p i n g p l a t f o r m i l 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印剿本稻邀子舨,并采用彩印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关罄门或者机构送交论文的复印件秘电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:脚 鲫6 年玛。b 经指导教师囿意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月目 各密级的最长保密年限及书写格式觌定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作 所取得的成果。除文中已经注明引用的内容外,奉学位论文的研究成果不包含 任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉 及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学 位论文原创性声明的法律责任由本人承担。 学位论文作者签名:互杰髻l 埠 刎年t 。月扣日 第一章引言 第一章引言 第一节研究背景及意义 随着网络技术的发展,互连网( i n t e r n e t ) 已经遍布世界的各个角落,给人 们的生活、学习和工作带来了巨大的便利和乐趣。同时,针对网络的各种攻击 破坏事件也层出不穷,使得网络安全和保密问题显得愈发重要和突出,网络安 全问题成为计算机网络在更广范围、更深程度上的应用的阻碍,已经引起各国 政府和有关学者的高度重视。 在保障网络安全的技术中,密码技术是最基本、最常用的技术,且已有很 多比较成熟的加密算法【1 - 【3 1 ,如d e s ,3 d e s ,r s a 等算法,得到了广泛的应用而 且证明非常有效。另方面,在军事、商业、医疗、政府等应用领域中,人们 己不满足于单纯的文字和数字,需要大量的图表、图像、音频、视频等多媒体 信息。多媒体信息数据量很大,因此对加密算法提出了更高的要求。传统的加 密算法由于加密速度慢,已经不太适应大数据量的加密,因而人们开始寻求加 密速度更快的算法。最理想的加密模型是次一密密码系统,它能达到完全保 密的程度。但这种理想系统技术上是不能实现的。实际应用中的序列密码是采 用伪随机序列做密钥序列,一般由确定性算法产生,本质是周期充分长的确定 性序列,其安全性不能完全令人满意。 混沌映射具有对结构参数的敏感性和对初始条件的敏感性,产生的混沌序 列具有优良的伪随机特性,其相关特性类似于白噪声。基于这些性质,基于混 沌理论的加密算法受到广泛重视和研究1 4 h ”。 第二节国内外混沌加密算法研究现状 混沌理论用于信息加密是当今密码学研究的热点之一。混沌现象是在非线 性动力系统中出现的确定性的、类似随机的过程,这种过程既非周期又不收敛, 第一章引言 并且对初始值有极其敏感的依赖性。尽管混沌动力系统具有确定性,但其具有 形式简单、对初始条件值敏感、具备白噪声的统计特性等特点,因而,可以应 用于包括数字通信和多媒体数据安全等众多应用领域。 目前国内外广泛使用的序列密码体制是1 9 2 7 年由v e r n a m 提出的1 9 1 ,到现在 已经将近8 0 年了,由于使用时间很长、范围比较广泛,掌握此技术的人员也越 来越多,因此,稍不小心或使用不当都会有失密的危险。特别是随着局域网和 互联网的建立和发展,保密传输再也不为军事、外交、政治所独家垄断,而是 涉及千家万户和金融、商务等部门,信息的安全传输成为头等大事。因此有关 新加密算法的研究方兴未艾。 1 9 7 6 年中后期发展起来的混沌加密理论,其算法有硒个重要性质:一是有 序性,二是初值敏感性。有序性意味着可能同步;初值敏感性,对于保密通信 来说,意味着任意邻近两个初值所生成的序列都是彼此无关的,换言之,混沌 算法不存在相关免疫性。因而混沌理论引起了国内外密码学及通信理论专家的 高度重视。 早在1 9 8 3 年,美国加州大学伯克利分校的l oc h u a 就探讨了混沌理论在安 全通信中应用的可能性【l ,1 9 9 1 年取得了重大突破,解决了混沌信号的同步问 题。8 4 年4 月,美国海军研究所的t l c a r r 0 1 l 和l m p e c o r a 提出了混沌信号同 步的驱动一响应法】;同年1 1 月,l o c h u a 等人提出了混沌信号同步的线性耦 合法【i “。接着,美国麻省理工学院、加州大学伯克利分校、瑞士联邦工学院、 都柏林大学在军方、政府、财团的资助下,于1 9 9 2 年至1 9 9 3 年在各自的实验 室,采用掩盖法( m a s k i n g ) 、混沌开关法、混沌调制法验证了混沌保密机的可行 性。与此同时,i e e e 的高级会员d o u a s rf r 叫提出了数字或准混沌保密通信 这一重要概念【l ”。在他的论文中说道:“本来原始的混沌涵义是在无限精度意义 下成立的,在有限精度意义下就不能言混沌,但总可以称为准混沌吧;这恰似 m 序列,虽不能言噪声,但总可以言伪噪声,现在伪噪声不是广泛应用于流密 码算法吗? 为什么有限精度的混沌信号就不能称为准混沌呢? ”d o u g l a s rf r e y 提 出数字混沌或准混沌密码算法,在学术思想上显然是对无限精度的混沌密码算 法的挑战。可是,无限精度混沌密码算法的创始人l oc h u a 教授并没有指责他 概念错误,反而推荐他发表在世界权威性刊物i e e eo nc i r c u i ts a n ds y s t e m s ( 1 9 9 3 ( 1 0 ) :6 6 0 一6 6 6 ) 上。 f r id r i c h 用二维混沌系统研究了基于混沌的图像加密问题i “l ,虽仅属于初步 2 第一章引言 研究,但说明了可行性。 由于基于混沌理论的加密算法具有安全性高、计算简单、速度快等特点, 因此在算法研究及应用方面近些年来得到了迅猛发展。但事物总是在相互斗争 中前进的,“加密”与“破译”在相互斗争中相互促进。最近的一些研究表明,目 前一些混沌加密算法,以及当前安全认证经常使用的h a s h 函数,都存在着严重 的安全隐患,正在遭受严峻挑战1 5 1 - 【2 ”。因此,不断研究新方法,始终是信息安 全研究领域的永久课题。 第三节论文的组织结构和主要工作 本文共分五章: 第一章,引言。阐述信息安全技术的发展现状,指出多媒体信息的广泛应 用,给传统的信息安全技术提出了新的要求,同时混沌理论的研究显示出其在 密码领域中应用的光明前景,也就是本文的研究动机。 第二章,经典密码学简介。介绍密码学相关术语,阐述传统的密码学理论 和常用的加密算法,如d e s 、r s a 、r c 4 等算法。讨论了各个算法的基本原理, 分析了优缺点,以及在多媒体信息广泛应用的背景下,传统密码学受到的挑战。 第三章,混沌加密算法简介。首先介绍混沌理论的基本概念,以及混沌序 列的性质;接着详细讨论混沌加密算法的发展现状,分析近年提出的加密算法。 然后提出随机顺序和用明文密文反馈来控制步长的两种混沌加密新算法,大大 提高了抵抗密码分析和参数辨识的能力,并给出相应的性能分析。 第四章,混沌加密开发平台的设计与实现。给出了混沌加密开发平台的设 计思路、具体设计方法和实现技巧。并给出了详细的使用方法和具体的应用实 例。 第五章,总结和展望。对本文所作工作进行总结,指明今后的研究方向和 要做的工作。 本论文的主要创新点有两个方面,一是在深入分析研究近年来提出的混沌 加密算法基础上,提出了基于随机顺序异或和用明文密文反馈来控制步长的两 种混沌加密新算法,大大提高了抵抗密码分析和参数辨识的能力,并给出相应 的性能分析;二是设计并实现了个混沌加密研发平台,给出了混沌加密研发 平台的设计思路,具体设计方法和实现技巧,并给出了详细的使用方法和具体 3 第一章引言 的应用实例。该研发平台具有算法仿真和性能分析功能,并有方便扩展和使用 简单的特点。对常用的几类混沌模型无需另外编程,只要按要求给出算法的有 关参数,就能自动进行计算,并给出图文并茂的性能分析结果。 4 第二章经典密码学简介 第二章经典密码学简介 第一节什么是密码学 密码学的英文单词c r y p t o g r a p h y 来源于词根c r y p t o ( 隐藏或秘密) 以及g r a p h y ( 写) ,所以密码学是一门以秘密的方式书写的艺术。一般来讲,人们认为密码 学的作用是把信息表述为不可读的方式,并且有秘密的方法可以将信息恢复出 来。密码学提供的最基础的服务就是使得通信双方能够互相发送信息,并避免 其他人员读取信息。密码学还可以提供其他服务,比如: 完整性校验。使得接受信息的人能够确信信息从一个合法的信息源发出 以后一直未被非法篡改。 身份认证。验证某人( 或某物) 的身份。 先回顾一下密码学的传统应用。一个消息的原始状态称为明文,经过密码 学处理的消息成为密文。将明文转换成密文的过程成为加密,反之称为解密。 加密解密 明文_ 密文密文_ 明文 明文用m ( 消息) 或p ( 明文) 表示,它可能是比特流( 文本文件、位图、 数字化的语音流或数字化的视频图像) 。至于涉及到计算机,p 是简单地二进制 数据。明文可被传送或存储,无论在哪种情况,m 指待加密的消息。密文用c 表示,它也是二进制数据,有时和m 一样大,有时稍大( 通过压缩和加密的结 合,c 有可能比p 小些。然而,单单加密通常达不到这一点) 。加密函数e 作用 于m 得到密文c ,用数学表示为: e ( m ) = c ( 21 ) 相反地,解密函数d 作用于c 产生m d ( c ) = m ( 22 ) 先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立: d ( e ( m ) ) m( 2 3 ) 在密码学家发明有效的密码算法的同时,密码分析人员也在努力。试图破 解这些密码算法。加密和破解的双方一直都在试图超越对方。最后密码学家是 5 第二章经典密码学简介 否成功,依赖于密码学的个基本原则:如果大量的聪明人都无法解决一个问 题,那么这个问题可能无法被解决或者近期内无法被解决。 密码算法一般都会包括算法以及秘密数据,这些秘密数据称为密钥。在密 码算法的基础上,需要使用密钥的原因是无法不断设计出新的安全的密码算法, 另外也很难迅速地向需要安全通信的对象解释新的密码算法。对于一个好的密 码体系,可以向破坏人员( 或密码分析人员) 公开密码算法,因为即使知道密 码算法但没有有效的密钥,也无法对密文进行解密。密钥的概念类似于密码锁 的密码,虽然密码锁的原理众所周知,但在不知道密码的情况下,试图打开它 并非易事。 对于密码算法来说,很重要的一点是必须保证持有密钥的人能够有效地进 行相应的密码运算。在没有密码的情况下,密码算法并非完全不可破解。密码 分析人员可以尝试所有可能的方法来破解密码,直到找到正确的密钥为止。密 码体制的安全性依赖于密码破解人员需要多长时间才能够破解算法。如果使用 全世界的计算机要l 0 0 0 万年才能够破解,通常可以认为是安全的。 以密码锁为例,典型的密码锁需要三个数字密码,每个数字在l 到4 0 之间。 如果输入一次耗时1 0 秒,对于持有正确密码的人员来说,花费这样长的时问打 开锁没什么不便。但对于破解人员由于可能的组合有4 0 4 0 4 0 = 6 4 0 0 0 种, 可能要花费一个星期才能测试完所有的密码( 平均来讲只需半的时间) 。 通常使用更长的密钥可以增强安全性。比如对密码锁而言,增加一个密码 数字,对于拥有密码的人,打开锁可能花1 3 秒,但对于破解人员则需要4 0 倍 的时间,大约要一年( 不吃不睡地持续工作) 。 而对于密码学来说,可利用计算机穷举所有可能的密钥。计算机速度比人 快的多,而且可以多台计算机进行并行穷举,大大加快破解速度。有些时候密 码算法使用可变长度密钥,使用更长的密钥以增强算法的安全性。当密钥长度 增加1 比特,对于加密人员工作量只增加点点。而对于破解人员工作量则增 加一倍( 因为密钥空问增大了一倍) 。所以计算机速度越快,加密者日子越好过。 有人认为密码算法越保密越安全,有人则认为把算法公开使得大家都知道 会增加算法的安全性。一方面,看起来对密码算法进行保密似乎会更为安全, 因为密码分析者需要做更多的工作。实际上,一个算法要广泛使用,就很难保 证算法的保密性。因为该算法的应用公布之后,攻击者通常能够通过反向工程 分析出密码算法。而且越多的人知道算法部分内容,算法本身就越容易被泄漏 6 第二章经典密码学简介 出去。相反,如果向学术机构公开,密码分析者能对安全性提出大量意见。现 在通常的做法是公开多数的商用密码系统而对军用密码系统保密,而后者保密 的原因也通常是为了防止敌人获得好的加密方法。 第二节加密算法的分类 实际应用的加密算法有好多种,依据不同的标准分类的结果也不同。依据 加密单位大小可以分为块加密算法和流加密算法( 也叫序列密码算法) 。块加密 算法,加密单位是数据块,通常为6 4 字节。常用的块密码算法如d e s ,3 d e s ,r s a 。 流密码算法加密单位是字节或者说比特,其原理是产生类随机的密钥流序列, 逐个与明文进行异或操作。常用的有r c 4 算法。常见的混沌加密算法也有不少 属于序列加密算法。 此外,还可以依据加密过程和解密过程是否使用同一密钥来分类。如果加 密和解密使用相同的密钥,称为对称加密算法,或共享密钥算法、秘密密钥算 法,因为双方持有的密钥必须保密。如果加密和解密使用不同的密钥,称为非 对称加密算法,或公开密钥算法,其中一个密钥公开,称为公钥,另外一个保 密,称为私钥。对称加密算法中既有块加密算法如d e s ,也有流加密算法如r c 4 。 而非对称加密算法中,现在使用的只有块加密算法,如r s a 算法。因此也可以 将块机密和流加密归并到对称加密算法中。 2 2 1 对称加密算法 对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出 来,反过来也成立。在大多数对称算法中,加密密钥和解密密钥是相同的。这 些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之 前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人 都能对消息进行加解密。只要通信需要保密,密钥就必须保密。 对称算法的加密和解密表示为: 臣( m ) = c ( 24 ) 眈( c ) = m ( 25 ) 7 第二章经典密码学简介 对称算法可分为两类。一次只对明文中的单个e e 特( 有时对字节) 运算的 算法称为序列算法或序列密码。另一类算法是对明文的一组比特进行运算,这 些比特称为分组,相应的算法称为分组算法或分组密码。现代计算机密码算法 的典型分组长度为6 4 比特这个长度大到足以防止分析破译,但又小到足以 方便使用( 在计算机出现前,算法普遍地每次只对明文的一个字符运算,可认 为是序列密码对字符序列的运算) 。 2 2 2 非对称加密 公开密钥算法( 也叫非对称算法) 是这样设计的:用作加密的密钥不同于 用作解密的密钥,而且解密密钥不能根据加密密钥计算出来( 至少在合理假定 的长时间内) 。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者 能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。在这些系统 中,加密密钥叫做公开密钥( 简称公钥) ,记作足。解密密钥叫做私人密钥( 简 称私钥) ,记作k 。私人密钥有时也叫秘密密钥。 用公开密钥丘加密表示为 ( m ) 2 c ( 2 6 ) 公开密钥和私人密钥是不同的,用相应的私人密钥髟解密可表示为: 酞。( c ) 2 m ( 27 ) 有时消息用私人密钥加密而用公开密钥解密,这用于数字签名,尽管可能 产生混淆,但这些运算可分别表示为: 氏( m ) 2 c ( 28 ) ( c ) - m ( 29 ) 第二章经典密码学简介 2 3 1 密码攻击手段 第三节密码攻击 当我们说密码破解人员破解了一个密码算法,究竟意味着什么呢? 最基础 的三种攻击包括已知密文攻击、已知明文攻击和选择明文攻击。 已知密文攻击 对于已知密文攻击,攻击者能够看到( 或预先保存) 一些密文并有足够的 时问对密文进行分析。般情况下,攻击者要获得密文并不难( 如果根本不可 能获得密文,那根本不必加密) 。 攻击者在只有密文的情况下如何破解出明文呢? 一种可能的方法是穷举所 有可能的密钥,用每个可能的密钥逐个对数据进行解密。这种方法能成功的关 键是攻击者必须能够判断解密是否成功。比如,如果内容是英文文本,那么用 错误密钥解密出可读的句子的可能性不大。由于攻击者可以区分正确的明文和 错误的解密结果,所以这种方法也称为可识别明文攻击。攻击者必须要有足够 多密文,太短的密文可能对应很多正确的明文,导致无法辨别。 通常无需穷举大量密钥,因为在一些常用加密系统中,是用公开的算法由 用户的口令生成密钥。而用户选择口令往往并不明智,比如从常用的单词、人 名、生日或其他相关信息中选取,那么攻击者就不必穷举所有的密钥,只需在 一个包含足够多常用词的字典中搜索即可。这种方法也称为字典攻击。 由于攻击者很容易获得密文,所以密码算法必须能够抵挡已知密文攻击, 这是最低要求。此外攻击者还可能获得更多信息,因此抵挡如下两种攻击也很 重要。 己知明文攻击 有时候攻击者能够获得更多的信息,比如一些 对。为什么 昵? 一种可能是密文不定是永远保密的。比如传送的密文是要攻击某地,一 旦某地受到攻击,则密文所对应的明文也就知道了。 对于基于多字母表替换的算法,如果有足够多的 对,攻击 者可以分析语言的统计概率,从而得到些常用字母的替换关系。一些算法在 已知密文攻击下是安全的,但并不能抵抗己知明文攻击。在这种情况下,如果 仍坚持使用该算法,必须尽量减少攻击者获得 对的可能性。 9 第二章经典密码学简介 选择明文攻击 攻击者可能获得更大的便利。选择明文攻击的意思是攻击者能够选择任意 的明文输入系统并得到相应的密文。假如电报公司提供的服务是加密用户要求 传送的信息并传送。如果攻击者想窃听加密的信息,他必须设法破解电报公司 的加密算法。 攻击者只需要付费给电报公司要求发送指定的明文就能够获得其相应的密 文。假如电报公司的算法是基于字母表替换的,则攻击者可以发送如下信息: t h eq u i c kb r o w nf o xj u m p so v e rt h e1 a z yd o g 这样攻击者就可以获得每个明文字母对应的密文字母,也就能解密任何信 息。 能够抵抗已知密文攻击和已知明文攻击的算法仍然有可能无法抵抗选择明 文攻击。仍以电报公司为例,假如攻击者能够猜到大概的明文内容,他可以要 求电报公司加密该信息,并与获得的密文比较即可知道消息的内容。 密码系统必须保证能够抵抗上述三种攻击,只有这样,用户才能够不用担 心攻击者是否能够获得明文或者选择明文。为保证安全性,多数使用密码算法 的系统都尽量减少出现任何选择明文攻击的可能性。 此外,还有其他一些攻击方法。比如, 自适应选择明文攻击 这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的明文,而 且也能基于以前加密的结果修正这个选择。在选择明文攻击中,密码分析者选 择一个大的明文数据块,然后取得对应的密文。而在自适应选择明文攻击中, 他可选取较小的明文块,然后再基于第一块的结果选择另一明文块,以此类推。 选择密文攻击 密码分析者能选择不同的密文,并可得到对应的解密的明文。例如密码分 析者可以访问一个防篡改的自动解密盒。在基于挑战响应的认证协议中,如果 协议实现不当,也可能给密码分析者实施选择密文攻击的机会。密码分析者的 任务是推出密钥。 这种攻击主要用于公开密钥体制。选择密文攻击有时也可有效地用于对称 算法( 有时选择明文攻击和选择密文攻击起称作选择文本攻击) 。 选择密钥攻击 这种攻击并不表示密码分析者能够选择密钥,只是表示密码分析者具有不 1 0 第二牵经典密码学镄余 同密钥间相互关系的知识。 当然还可能通过贿赂、威胁、盗窃等手段获得密钥,但这已不属于单缝的 密码学菠跨。应该扶瓣广晌程野,郄系绞安全的蠢度,审视这类翔题。 2 3 2 辣法的安全性 缀擒被玻译难翳程度,不嗣熬密强算法舆有不露懿安全簿缀。如采皴译算 法的代价大于加密数据的价值,那么你可能是安全的;如采酸译算法所需的时 问比加密数据保密的时间更长,那么你可能是安全的;如果用单密钥加密的数 据量比破译算法需要的数据量少缮多,那么你可能是安全的。 l a 摊k n u d s e n 簦蔽译算法分为不弱熬粪嗣,安全性翡递减颗序为: 全部破译。密码分析者找出密钥k ,这样d ,( c ) = p 。 全盘推导。密璐分上厅者找到一个代替算法a ,在不知道密锶k 的情况下, 等偷予0 。,( c ) = p 。 实例( 或局部) 推导。密码分析者从截获的密文中找出明文。 信怠推导。密弱分褥者获键一些有关密绸或唆文的信息。这些信息可链 是密锈麓凡个比特、肖关明文捂式的信息等等。 密码学更关心的鼹计算上不可破译的系统。如果一个算法用( 现在或将来) 可得到的资源都不可破译,这个算法被认为在计算上是安全的。 餐爨攻击方法笺杂性瓣标准有: 数据复杂性用作攻击输入所需的数据篷。 处理复杂性完成工作所需的时间。 存髓霉求遴行攻击蹶嚣要的存镰量。 乍为一个法嬲,攻击豹复杂慷取决于这三个嚣素豹最小化。有些数爨包括 这三种复杂性的折衷,可用的存储缀越大,攻击滚度越快。 第蹬带经典加密技术 在计算机出现前,密码学由基于字符的密码算法构成。不同的密码算法是 字符之阗至穗霞换或襞是互稳之瓣换位。当黠,努静密码冀法是结合这鼹耱方 第二章经典密码学简介 法,每次进行多次运算。 现在事情变得复杂多了,但原理并没有改变。重要的变化是算法对比特而 不是对字母进行变换,实际上这只是字母表长度上的改变,从2 6 个元素变为2 个元素。大多数好的密码算法仍然是代替和换位的复杂组合。 2 4 1 代替密码 代替密码就是明文中每一个字符被替换成密文中的另外一个字符。接收者 对密文进行逆替换就恢复出明文来。 在经典密码学中,有四种类型的代替密码: 简单代替密码,或单字母密码 明文的一个字符用相应的一个密文字符代替。报纸中的密报就是简单的代 替密码。这需要通信双方拥有相同的代替密码本。 多名码代替密码 与简单代替密码系统相似,唯一的不同是单个明文字符可以映射成几个密 文字符之一,例如a 可能对应于5 、1 3 、2 5 或5 6 ,“b ”可能对应于7 、1 9 、3 1 或4 2 ,等等。 多字母代替密码 多个字符被成组加密,例如“a b a ”可能对应于“r t q ”,a b b 可能对应于 “s l l ”等。通信双方保持的不再是单字符的对照表,而是字符块的对照表。 多表代替密码 由多个简单的代替密码构成。例如,可能同时使用5 个不同的简单代替密 码,单独的一个字符用来改变明文的每个字符的位置。 著名的凯撒密码就是一种简单的代替密码,它的每一个明文字符都由其右 边第3 个字符代替,a d ,b e ,c f ,x a ,y b ,z c 。它实际上 更简单,因为密文字符是明文字符的环移,而不是任意置换。 数学表示就是,p = ( m + 3 ) m o d 2 6 ( 2l o ) r o t l 3 是u n l x 系统上的简单加密程序,它也是简单的代替密码。在这种 密码中,a 被n 代替,b 被0 代替,。每一个字母是向右环移1 3 次后所对 应的字母。u n i x 下的编辑器就提供了r o t l 3 简单加密功能。 用r o t l 3 加密文件两遍便恢复出原始的文件: 1 2 第二章经典密码学简介 p = r o t l 3 ( r o t l 3 ( p ) )( 2 1 1 ) r o t l 3 并非为保密而设计的,它经常用在互联网u s e n e t 电子邮件列表中 隐藏特定的内容,以避免泄露一个难题的解答等等。 简单代替密码是很容易破译的,因为它没有把明文的不同字母的出现频率 掩盖起来。通过分析密文中每个字母的出现频率,并与大量明文的统计数据进 行比对,就可以大致猜到字符的替换规律。 多名码代替密码早在1 4 0 1 年最早由d u c h y m a n t u a 公司使用,这些密码比简 单代替密码更难破译,但仍不能掩盖明文语言的所有统计特性。用己知明文攻 击,破译这神密码非常容易。唯密文攻击要难一些,但在计算机上只需几秒钟。 多字母代替密码是字母成组加密,普莱费尔在1 8 5 4 年发明了这种密码。在 第一次世界大战中英国人就采用这种密码。希尔密码是多字母代替密码的另一 个例子。有时你会把h u f f h l a n 编码用作密码,这是一种不安全的多字母代替密 码。 多表代替密码由l e o nb a t t i s t a 在1 5 6 8 年发明,在美国南北战争期间由联军 使用。尽管他们容易破译( 特别是在计算机的帮助下) ,许多商用计算机保密产 品仍使用这种密码形式。维吉尼亚密码( 第一次在1 5 8 6 年发表) 和博福特密码 均是多表代替密码的例子。 多表代替密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。 筇一个密钥加密明文的第一个字母,第二个密钥加密明文的第二个字母等等。 在所有的密钥用完后,密钥又再循环使用,若有2 0 个单个字母密钥,那么每隔 2 0 个字母的明文都被同一密钥加密,这叫做密码的周期。在经典密码学中,密 码周期越长越难破译,使用计算机就能够轻易破译具有很长周期的代替密码。 滚动密钥密码( 有时叫书本密码) 是多表代替密码的另一个例子,就是用 一个文本去加密另一个文本,即使这种密码的周期与文本一样长,它也是很容 易被破译的。 2 4 2 换位密码 在古代,一个部落首领要奴隶去送一封信。由于路上要经过敌对部落控制 的地区,所以必须要隐藏信件的内容。于是,首领想出一个办法,将一条皮带 缠在木棍上,然后沿着木棍的方向,将信件内容写在皮带上。解下皮带,交给 1 3 第二章经典密玛学麓套 奴隶,让奴隶带着木棍去送信。敌人不知道信件被处理过,着到的是杂乱无章 的文字。而一旦到达目的地,只要将皮带缠到木棍上,就可以读出信件内容。 这也诲渡是最早懿换佼密码,这里兹本提起羞密锈兹 乍瘸。 在换位密码中,明文的字母保持稆同,但顺序被打乱了。在简单的纵行换 位密码中,明文以固定的宽度水平地写在一张图袭纸上,密文攘垂直方向读出, 解密就慧将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。 举铡来说,啜定明文如下, c o m u t e rg r a p h i c sm a yb es l o wb u ta tl e a s ti t se x p e n s i v e 按照每行1o 个字符排列如下, c o n 转u t e 爱g r a p _ h c s m a y b e s l o w b u t a t l e a s t l t s e x p 嚣n s l v e 从上到下,从左列右,一列一列的读出,就得到密文,如下所示: c a e l p o p s e e 妊弧。a n p i o s s u c w t l t s b i v e m u t e r 。a t s g y a e r b t x 圭予密文字符与明文字 专据嗣,对密文翡簇率分毒厅将揭示出每个字鸯释英 语有相似的概率值。遮给了密码分析者很好的线索,他就能够用各种技术去决 定字母的准确顺序,以得到明文。密文通过二次换位密码极大地增强了安全性。 甚至有受强的换位密码,但计算机几乎都能破译。 在第一次篷器大战中,德国人掰麓豹a d g v x 密码就慧一番孛换位密码与蔼 单代替密码的组合。在那个时代它是一个非常复杂的算法,但被法国密码分析 家g e o 璃ep a i n v i n 所破解。 虽然诲多璎饩密璐舞法龟镬鬟羧霞方法,餐蠢予它霹存鼹要求缀太,蠢瓣 还要求消息为某个特定的长度,因而比较麻烦。代替密码要常用得多。 2 4 。3 转轮机 在2 0 年代,人们发明各种机械加密设备用来自动处理加密。大多数是瑟于 转轮的概念,机械转轮用线连起来究成通常的密码代替。 转轮枫有一个键擞秘一系列转轮,它是g e n e r e 密码懿一秘实现。每个转 1 4 第二章经典密码学篱奔 轮是字母的任意组合,有2 6 个位鬣,并且完成一种简单代替。例如:一个转轮 可能被用线连起来以究成用“f ”代替“a ”,用“u ”代替“b ”,用“l ”代替 “c ”等莓,丽且转耱的蟪出旗连接到捆邻的输入斌。 喇掘,在4 个转轮的密码枫中,第一个转轮可能用“f ”代替“a ”,第二 个转轮可能用“y ”代替“f ”,第三个转轮可能用“e ”代替“y ”,第四个转 轮可能用“c ”代替“e ”,“c ”应该是输出密文。那么当转轮移动后,下一次代 替将不黼了。 为使机器更安全,可把几科,转轮和移动的齿轮结合起米。因为所有转轮以 不同的遮度移动,n 个转轮的机器的周期是2 6 。为进一步阻止密码分析,有些 转轮极在每个转轮上还有不困鲳位嚣号。 最著名的转轮装嚣是愚尼格马( n i 2 m a ) 。二战中德国入使用的就是这种装 置。其瑟本原理由欧洲的a n h u rs c h e r b i u s 和a r v i dg e r h a r dd a m n 发明,它由 a n h u rs c h e r b i u s 在荚爨申请了专利,德匡人为了战时使用,大大地加强了鏊本 设诗。怨忿疆马有三令转轮,觚五个转凳中选撵。转轮魂中有块鞘徽改交圈 文序列的插板,有一个反射轮导致每个转轮对每一个明文字母操作两次。 波兰密码小组最早破译了德围的恩尼格马,并告诉了英围人。于是德豳人 更改了设诗,翟最终锈狻破译。鼗军缛强成功挫黢德重多次军事行动。攘浚在 不列颠空战前期,英翻情报人员藏已经破解了德围的密码,并且得知德空军要 空袭考文垂。但为了麻痹德军,获得更多的德军机密,邱吉尔首相决定不通知 考文垂。予是考文垂缀受了德军猿烈的轰炸,造成极大人员和财产损失。 2 5 1 麓单异或 第五节简单界或和一次一密密码本 异或在c 语言中是“ ,操作,或者用数学符号。表示,是位操作。基本逻 辑是稳麓赠结果为o ,招买虽| l 结栗为l ,也成为终建或。冥或搽馋一个特点跫, 如栗进行连续两次异或,刚互相抵消。即a obo b = a 。因而曾经有过这棒的 算法,即用一串字符( 密钥) ,和明文异或,得到密文。接收方收到密文以后, 用相同的字符串再次进行异或,就可以褥到明文。这种方法实际没什么保密性, 饕誊容荔被酸译,帮傻没有诗算瓿惫可戳。 1 5 第二聋经典密码学镄分 假设明文是英文,假设密钥长度是一个较小的数,则有如下方法, 第步,用重合码计数法找出密钥长度。用密文异或相对其本身的各种字 节的位移,统计那些相等的字节数。如果移位是寝锈长度的馈数,那么超过6 的字节褥是辐等的。如果不是,剡只有不到o + 4 的字节是相簿的( 假设一髓杌 密钥加密标准的a s c i i 文本;其他的明文将有不同的数值) 。这叫做重合指数。 指出密钥长度倍数的最小位移就是密锅的长度。 第二步,按箨个长度移动警文,荠显察叠瑟舞或:这样魏酒除了密锾,蜜 下明文和移动了密钥长度的明文的异或结果。由于英语每字节有13 比特的实际 信息,有足够的冗余艘去测定唯一的解密结果。 2 5 2 一次一密密粥本 不管你是否相信它,有一种理想的加密方案,n q 做一次一密密码本,由m a i o r 王o s e p hm a 曲。疆n e 帮a 飘殳t 公司的锈辩e 难、色豫a m 在1 9 1 7 年发簧戆。典受圭瞧, 一次一密密码本不补乎是一个大的不重复的真隧机密钥字母察,这个密钥字母 集被写在几张纸上,并一起粘成一个密码本。它最初的形式怒将一次一密密码 本用于呶传打字机。发方用密码本中的每一密钥字母准确地加密一个明文字符。 翔密是明文字符帮一次一密密码本家锾字符酶羧2 6 翔法。 每个密钥仅对一个消息使用次。发送方对所发送的消息加密,然后销毁 密码本中用过的一页或用过的磁带部分。接收方有一个同样的密码本,并依次 傻曩密码本上懿每个豢锈去鳃密豢文黪每个字簿。接收方在瓣密滂患最镇羧密 码本中用过的一页或潮过的磁带部分。新的消息则用密码本中渐的密钥加密。 例如,如果消息魁:0 n e t i 匝r d , 两取囊密码本的密钥序列是:t b f r g f 越珂m , 那么密文就是:l p k l p s f h g q , 因为:o + t m o d 2 6 = i ,n + b m o d 2 6 = p ,e + f m o d 2 6 一k ,。 如柴窃听者不能得到用来加密消息的一次密密码本,这个方案是完众保 密的。绘出豹塞文瀵惑可麓对虚羁谨长麦豹 - 王秘霹戆熬明文溺怠。 由于明文消息是等概率的,所以密码分析者没有办法确定哪一明文消息是 正确的。随机密钥序列异或一条非随机的明文消息产生一条究全随机的密文消 息。再大的计算能力墩无能为力。 1 6 第二牵经典密码学麓奔 值得注意的是,密钥字母必须怒随机产生的。对这种方察的攻击将楚针对 用来产生密钥序列的那种方法。使用伪随机数发生器是不值得考虑的,它们通 露具毒棼夔褪性。妻爨繁体采月真隧撬源,它藏楚安全约。 勇个重要的事情是密钥序列不能重复使溺。即使你爝多兆字节酌密硒本, 如果密码分析家有多个密钥重叠的密文,他也能够重构明文。他把每排密文移 来移去,菇计算每个位露的适配爨。如果他们摊列正确,则邋配的比例会突然 署毫( 壤确兹吾努毖与甓文熬语静蠢关) 。双这点寒谎,誊粥分析是容荔籀, 它类似于重合指数法,只不过用两个“周期”作比较。所以千万别重复使用密 钥序列。 次一密密码本懿想法缀客荔聚广至二避摹l 数据翳热密,只纛将字母捩或 二迸翩数据,用异或代替明文字符加法就成。为了解密,用嗣样韵一次一密密 码本对密文异或,其他保持不变,保密性也很完落。 这嘶起来很好,假有几个闻题。因为密钥比特必须是随搬媳,并且绝不能 重复缓蠲,密锈穿捌豹长度要等予演惫的长菠,所戳密锾鹊分配帮存储楚急需 解决的问题。既要满足足

温馨提示

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

最新文档

评论

0/150

提交评论