




已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)基于java的数据加密传输方案的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网络安全是信息安全中的重要研究内容之一,也是当前信息安全领域中的研 究热点。保护网络系统中的数据不受偶然或恶意原因的破坏、更改、泄露,是网 络安全的主要内容之一。目前比较实用的方法是对网络中传输的数据进行加密, 而数据加密要依赖于成熟的数据加密算法。 然而随着计算机性能的迅速提高,目前在安全性要求很高的场合下,d e s 已不再适用,本文以此为切入点,对影响d e s 算法安全性的因素进行了分析, 在此基础上提出了d e s 算法的一种改进方案。本文用j a v a 实现了这种改进的 d e s 算法以及其他几种分组密码算法并调试通过,通过将这几种算法对比分析 表明:改进的d e s 算法基本保持了d e s 算法的运算速度,但凭借加长的数据分 组与密钥长度,其混淆和扩散的效果比原算法好很多,因此其安全性得到了很大 的提高。 本文还根据对称加密算法和非对称加密算法的特点,讨论了对称加密算法和 非对称加密算法相融合的混合加密方法,提出了基于改进的d e s 算法和r s a 公 钥算法的混合加密方案,使混合加密算法在加密解密信息过程中发挥更有效的安 全作用。本文中所提出的混合加密算法首先对明文信息采用改进的d e s 加密算 法来进行加密,然后使用r s a 公钥加密算法对改进的d e s 加密算法的密钥进行 加密,同时发挥了对称加密算法速度快的优势和公钥加密算法安全性能高的优 势。该混合算法主要适合于对大量数据信息进行加密解密。本文最后还对基于改 进的d e s 算法和r s a 公钥算法的混合加密方案的速度特性和安全性进行了分 析,证明了该混合算法的实用性。 关键词:数据加密;改进的d e s 算法;r s a 算法;混合密码 a b s t r a c t t h es e c u r i t yo fn e t w o r ki so d eo ft h ei m p o r t a n ts t u d yc o n t e n to ft h es e c u r i t yo f i n f o r m a t i o n ,i ti st h er e s e a r c hh o t p o to ft h ei n f o r m a t i o ns e c u r i t yf i e l d t h es e c u r i t yo f d a t ai sm o s t l yc o n t e n to ft h en e t w o r k ss e c u r i t y a tp r e s e n tt h eq u i t ep r a c t i c a lm e t h o d i st h ed a t aw h i c ht r a n s m i t st ot h en e t w o r ki nc a r r i e so nt h ee n c r y p t i o n , b u tt h ed a t a e n c r y p t i o nm u s tr e l yo nt h em a t u r ed a t ae n c r y p t i o na l g o r i t h m h o w e v e r ,w i t ht h er a p i di n c r e a s ei nc o m p u t e rp e r f o r m a n c e ,d e si sn ol o n g e r a p p l i c a b l ei no c c a s i o n sw i t hh i g hs e c u r i t yr e q u i r e m e n t s f o rt h ef u t u r ew en e e da s t r o n g e rc i p h e r b u ti nt h ef a c tt h ea r i t h m e t i co fd e s i t s e l fi sg r e a t ,i ti sw e a k l yi ni t s 6 4 b i t sb l o c ka n d6 4 b i t sk e y b a s e do ft h i s ii n c r e a s e dt h el e n g t ho fd e s sb l o c ka n d k e ya n dd e s i g n e dan e wc i p h e rb a s e do nd e s ia l s ou s e dj a v ad e s i g n e da d a t a e n c r y p t i o ns o f t w a r ei n c l u d i n gaw i d er a n g eo fs y m m e t r i ce n c r y p t i o na l g o r i t h m t h ef a c ti st h ei n c r e a s e dl e n g t ho f b l o c ka n dk e ym a d et h ei m p r o v e dd e sa l g o r i t h m s d i f f u s i o nm u c hb e t t e rt h a nd e s ,a n da l m o s tt h es a m es p e e da sd e st oe n c r y p tt h e s a m es i z ef i l e 。 t h i sa r t i c l ei sa l s od i s c u s s e dt h eh y b r i de n c r y p t i o na l g o r i t h mc o m b i n e dw i t h s y m m e t r i ca n da s y m m e t r i ce n c r y p t i o na l g o r i t h mb a s e do nt h ec h a r a c t e r i s t i c so ft h e e n c r y p t i o na l g o r i t h m s i m p r o v e dt h em i x e dp r o g r a mb a s e do nd e sa l g o r i t h ma n d r s a p u b l i ck e ye n c r y p t i o na l g o r i t h m ,s ot h a tm i x e d - e n c r y p t i o na l g o r i t h mt op l a ya m o r ee f f e c t i v er o l ei nt h ep r o c e s so fe n c r y p t i o na n dd e c r y p t i o no fi n f o r m a t i o n s e c u r i t y i nt h i sp a p e r ,t h eh y b r i de n c r y p t i o na l g o r i t h mi n f o r m a t i o no nt h eu s eo f i m p r o v e dd e se n c r y p t i o na l g o r i t h mt oe n c r y p t ,a n dt h e nu s et h er s aa l g o r i t h mt o e n c r y p tt h ek e yo ft h ei m p r o v e dd e se n c r y p t i o na l g o r i t h m t h ea l g o r i t h mh a sv e r y g o o dp r a c t i c a l k e yw o r d s :d a t ae n c r y p t i o n ;i m p r o v e dd e s a l g o r i t h m ;r s aa l g o r i t h m ;m i x e d a l g o r i t h m 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 韵书 签字目期: 7 叩7 年彭月日 学位论文版权使用授权书 本学位论文作者完全了解墨洼盘堂有关保留、使用学位论文的规定。 特授权苤鲞基堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 签字嗍切7 年占月 导师硌莉敦i 秀 签字日期:加。罗年6 月,e t 第一章绪论 第一章绪论 在当前的社会里,随着计算机与通信技术的发展,越来越多的敏感信息通过 公共信道和计算机网络进行交换。信息己经不仅仅适用于学术研究,而且涉及到 军事、政府、电子商务等一系列应用领域。总而言之,信息己经和人们的日常生 活密不可分。随着信息量的增大和复杂度的增加,其安全性和高效性越来越受到 人们的关注。因此,研究信息安全中的关键技术一加密解密技术,尤其是研究加 密解密算法,具有重要的意义。本章介绍课题的背景及意义、研究现状,以及简 介本文的主要工作和文章组织结构。 1 1 课题研究背景 一般来说,数据的操作包括存储、传输、处理三个过程,数据在网络上传输 时可能会遇到的攻击手段有:非法用户冒充合法用户对系统进行非法访问;非法 窃听敏感数据;随意篡改窃听到的数据,使接收方接收到的数据失真甚至完全破 坏等。网络安全的服务主要包括:身份验证、访问控制、数据完整性、数据加密、 防抵赖和审计追踪等。迄今为止,对网络和数据传输安全的最重要的自动工具是 加密。数据在网络上传输时,其安全威胁主要来自于非法窃听,因此可将数据经 加密算法加密成密文,然后再将密文发送到网络上传输,这是一种十分有效的安 全保密手段。 对数据加密系统的研究,除了加解密算法本身作深入研究外,还包括密钥的 生成、分发和密钥本身的安全性。加密算法的安全性一方面依赖于算法内部的数 学结构的严密性,另一方面也依赖于密钥的保密性。密钥在加密算法中有着举足 轻重的地位,密钥一旦被泄露,则意味着任何人在这个加密系统中都能加密和解 密信息,加密算法也形同虚设。因此用什么样的数据作为密钥、如何将密钥分发 给数据传输双方及如何保存密钥都是十分重要的。所以建立一个安全的数据传输 系统是目前网络安全领域研究的重点之- - 1 1 。 1 2 研究现状 数据加密作为一种保障数据安全的技术源远流长,可以追溯到远古时代,如 第一章绪论 公元前2 0 0 0 年的古埃及人便使用一些方法来保护他们的书面信息。对信息进行 编码曾被j u l i a nc a e s a r ( 凯撒大帝) 使用,也曾用于历次战争中,包括美国独立战 争、美国内战和两次世界大战。最广为人知的是二战( 1 9 4 2 年) 中德国人用来加密 信息的编码机器g e r m a ne n i g m a ( 英尼格玛机) 。当初,计算机的研究就是为了破 解德国人的密码,当时人们并没有想到计算机给今天带来的信息革命。随着计算 机技术和通信技术的发展,运算能力的增强,过去的密码都变得十分简单了。于 是人们又不断地研究出了新的数据加密方式,如对称密码和非对称密码。可以说, 是计算机推动了数据加密技术的发展 2 - 4 。 数据加密研究作为一门新的学科是在2 0 世纪7 0 年代,在近代数据加密研究 中有两件大事值得一提:1 9 7 7 年美国国家标准局和美国国家标准协会a n s i 正式 公布实施m m 公司研究开发的数据加密标准d e s ,公开它的加密算法,用于非 机密单位和商业秘密通信:d i f f i e 和h e l l m a n 的文章“密码学的新方向”,掀起公 钥密码研究的序幕,各种公钥密码体制被提出,典型的公钥加密算法有r s a 、 e 1 g a m a l 、椭圆曲线密码等公钥密码体制。根据加密密钥和解密密钥在性质上的 差异,可以将密码体制分为对称密码和非对称密码两大类【5 】。 l 、对称密码。对称密码是指加密密钥和解密密钥相同的数据加密方法,对 称密码体制主要是基于复杂的非线性变换。常用的对称密码算法有d e s 、i d e a 、 r c 5 、a e s 等。目前使用最广泛的对称加密算法主要是数据加密标准d e s ( d a t a e n c r i p t i o ns t a n d a r d ) 。但是由于d e s 中使用的密钥只有“位,加密强度已经不 能满足需要,因此只有经过改进的具有更高加密强度的d e s 才能胜任未来的保 密通信6 。8 1 。 2 、非对称密码。非对称密码又称公钥密码,其基本思想是加密密钥和解密 密钥各不相同,并且从其中一个很难推断出另一个,用其中一个密钥加密的信息 只能用与之对应的另一个密钥解密。公钥密码采用公钥、私钥分别加、解密的方 法,使加密密钥和解密密钥相分离,从而保证保密性,能够很好地解决对称密码 所存在的问题,从技术上打破了对称密码体制的限制。公钥密码算法中,目前应 用最广泛的是r s a 算法( r i v e s t 、s h a m i r 、a d l e m a n 三人于1 9 7 8 年提出) 1 2 , 4 。 1 3 论文的主要研究内容 数据加密技术被认为是最基本的网络安全技术,在网络安全中发挥着越来越 重要的作用。本文针对密码学中的各种数据加密的数学方法、实现及其特点进行 了探讨,分析了目前各种数据加密技术存在的问题,并提出了基于改进的d e s 与r s a 公钥密码的混合密码体制,然后详细介绍了有关改进的d e s 算法以及 2 第一章绪论 r s a 公钥密码所涉及的数学原理,在本文的最后,给出了这种混合密码体制的 具体实现方法以及基本的工作流程。 第二章数据加密体系及其数学原理 第二章数据加密体系及其数学原理 2 1 密码学基础 为了内容的完整性,本章有必要对与后续章节有关的数论的基础知识和密码 学的基本概念做一些必要的介绍。 2 1 1 数论的基础知识 本节将简单的介绍有关整数集合z = - ,一2 ,一1 ,0 ,1 ,2 , 和自然数集合 n = o ,1 ,2 ,1 的最基本的数论概念9 , 1 0 。 1 、因子的概念 一个整数能被另一个整数整除的概念是数论中的一个中心概念,记号d i 口 ( 读作“d 除口”) ,意味着对某个整数k ,有口= 嬲。0 可被每个整数整除。如 果口 0 且d l 口则d i 口i 。如果d i 口,则我们也可以说以是d 的倍数。 如果d i 口并且d 0 ,则我们说d 是口的约数。注意,d i 口当且仅当( d t a ,因 此定义约数为非负整数不会失去一般性,只要明白口的任何约数的相应负数同样 能整除口。一个整数口的约数最小为1 ,最大为l a i 。例如,2 4 的约数有1 ,2 ,3 , 4 ,6 ,8 ,1 2 和2 4 。 每个整数都可以被其平凡约数1 和口整除。a 的非平凡约数也称为a 的因子。 例如:2 0 的因子有2 ,4 ,5 和1 0 。 2 、素数与合数 对于某个整数p 1 ,并且因子仅为l 和p ,则我们称p 为素数( 或质数) 。 素数具有许多特殊性质,在数论中举足轻重。按顺序,下列为一个小素数序列: 2 ,3 ,6 ,1 1 ,1 3 ,1 7 ,1 9 ,2 3 ,2 9 ,3 1 ,3 7 ,4 l ,4 3 ,4 7 ,5 3 ,5 9 , 不是素数的整数口 l 称为合数。例如,因为有3 3 9 ,所以3 9 是合数。整数 l 被称为基数,它既不是质数也不是合数。类似地,整数0 和所有负整数既不是 素数也不是合数。 亚里士多德和欧拉己经用反证法非常漂亮的证明了“素数有无穷多个”。 若不计素数的排列次序,任何大于1 的整数a 都能被因式分解为如下的唯一 形式,我们称为标准分解式: 口= p ,p ;2 p , 4 第二章数据加密体系及其数学原理 其中p ,为自然数中的第i 个素数, 意e i 可以为0 ) 。 例如:11 0 1 1 = 7 1 1 2 1 3 另外,如果p 表示所有素数集合, 式: 口= 丌p 4 其中口p 0 j p p 1 p 2 p ,- 目e i 为非负整数( 注 则任一正整数均可唯一的表示为如下形 上式右边是所有素数p 的乘积;对于任一特定的值a ,大多数分量口。均为0 。 例如:3 6 0 0 = 2 4 3 2x 5 2 常用的素数表通常只有几千个素数,这显然无法满足密码学的要求,因为 密码体制往往建立在极大的素数基础上。所以我们要为特定的密码体制临时计算 符合要求的素数。这就牵涉到素性检测的问题。 判断一个整数是不是素数的过程叫素性检测。目前还没有一个简单有效的 办法来确定一个大数是否是素数。理论上常用的方法有: ( 1 ) w i l s o n 定理:若亿一1 1 = 一l ( m o d n ) ) ,则,z 为素数; ( 2 ) 穷举检测:若,z 不为整数,且刀不能被任何小于,z 的正整数整除, 则n 为素数; 但是这些理论上的方法在n 很大时,计算量太大,不适合密码学中使用。现 在常用的素性检测的方法是数学家s o l o v a y 和s t r a s s e n 提出的概率算法。即在某 个区间上能经受住某个概率检测的整数,就认为它是素数。因子分解问题是n p 困难问题。如果以为2 0 0 位十进制数,那么对n 进行素数的因式完全分解大概要 花费几十亿年。所以,公钥密码体制都是建立在大数的因式分解的基础上。 3 、公约数与最大公约数 如果d 是a 的约数并且也是b 的约数,则d 是a 与b 的公约数。例如,2 4 与 3 0 的公约数为1 ,2 ,3 和6 。注意,l 是任意两个整数的公约数。 两个不同时为0 的整数a 与b 的最大公约数表示成g c d ( a ,b ) 。例如, g c d ( 2 4 ,3 0 ) = 6 ,g c d ( 5 ,7 ) = 1 ,g c d ( o ,9 ) = 9 。如果n 与b 不同时为0 ,贝l jg c d ( a ,6 ) 是 一个在1 与m i n ,之间的整数。我们定义g c d ( o ,0 ) 。下列性质就是g c d 函数的 基本性质: g c d ( a ,b ) = g c d ( b ,a ) g c d ( a ,b ) = g c d ( - a ,b ) g c d ( a ,b ) = g c d 咻 g c d ( a ,0 ) = l a l g c d ( a ,k a ) = i a i k z 第二章数据加密体系及其数学原理 如果口和b 是不都为0 的任意整数,则g e d ( a ,b ) 是a 与b 的线性组合集合 协+ 砂:z ,y z 中的最小正元素。 对任意整数口与b ,如果d i 口并且d p ,则d l g c d ( a ,b ) 。 对所有整数口和b 以及任意非负整数力,g o d ( a n ,拥) = n g c d ( a ,6 ) 。 对所有正整数胛,口和b ,如果n i a b 并且g c d ( a ,刀) = l ,则刀陋。 4 、互质数 如果两个整数a 与b 仅有公因数l ,即如果g c d ( a ,b ) = l ,则口与b 称为互质 数。例如,8 和1 5 是互质数,因为8 的约数为l ,2 ,4 ,8 ,而1 5 的约数为1 , 3 ,5 ,1 5 。 对任意整数a ,b 和p ,如果g e d ( a ,p ) = 1 且g c d ( 6 ,p ) - - l ,贝l jg c d ( a b ,p ) = 1 。 这说明如果两个整数中每一个数都与一个整数p 互为质数,则它们的积与p 互为 质数。 如果两个正整数都分别表示为素数的乘积,则很容易确定它们的最大公约 数。例如:3 0 0 = 2 2x3x5 2 ;1 8 = 2 x3 2 ;g c d ( 1 8 3 0 0 ) = 2 x3x5 0 = 6 ; 确定一个大数的素数因子是不容易的,实践中通常采用e u c l i d e a n 和扩展的 e u c l i d e a n 算法来寻找最大公约数和各自的乘法逆元。 对于整数,l l ,刀2 ,刀 ,如果对任何i j 都有g c d ( n ,刀,j 一1 ,则说整数 刀i ,n 2 ,以t 两两互质。 2 1 2 模算数运算 1 、模运算的基本概念 已知一个整数n ,所有整数都可以划分为是n 的倍数的整数与不是玎的倍数 的整数。对于不是n 的倍数的那些整数,我们又可以根据它们除以以所得的余数 来进行分类,数论的大部分理论都是基于上述分划的。 模算术运算也称为“时钟算术”。比如某人1 0 点到达,但他迟到1 3 个小时, 则0 0 + 1 3 ) m o d l 2 = 1 1 或者写成l o + 1 3 = l l ( m o d l 2 ) 。 对任意整数a 和任意正整数刀,存在唯一的整数口和厂,满足0 ,n ,并 且口= q n + ,值g = 【- 口柞j 称为除法的商,其中b j 表示小于等于z 的最大整数。 值,= a r o o d n 称为除法的余数,因此,对于任一整数,可表示为: 口= 【a n ,l + ( a r o o d n ) 或者a r o o d n = a l 口刀i n 例如:口= l1 ;行= 7 ;l1 = 1 7 + 4 ;,= 4 1 1 r o o d 7 = 4 如果( a m o d n ) = ( b r o o d n ) ,则称整数a 和b 模,z 同余,记为口毫b r o o d n 。 6 第二章数据加密体系及其数学原理 例如:7 3 三4 r o o d 2 3 ;2 1 耋一9 r o o d l 0 模运算具有如下的性质: ( 1 ) 、若1 a b ,则a 暑b m o d n ; ( 2 ) 、a m o d n ) = ( 6 m o d 咒) 等价于口三b m o d n ; ( 3 ) 、a 量b m o d n 等价于b 兰a m o d n ; ( 4 ) 、若a 兰b m o d n 且b 善c m o d n ,则a 暑c r o o d ; 2 、模运算操作与性质 从模运算的基本概念我们可以看出,模门运算将所有整数映射到整数集合 o ,l ,o 一1 ) ) ,那么,在这个集合内进行的算术运算就是所谓的模运算。 模算术类似于普通算术,它也满足交换律、结合律和分配律: ( 1 ) 、k m o d n ) + ( b r o o d n ) m o d n = ( a + b ) m o d n ; ( 2 ) 、【( 口m o d n ) 一( b m o d n ) m o d n = q b ) m o d n ; ( 3 ) 、m o d n ) x ( b m o d n ) m o d n = ( a x b ) m o d n 。 指数运算可看作是多次重复的乘法运算。 例如:为了计算1 1 7m o d l 3 ,可按如下方法进行: 11 2 暑1 2 1 三4 m o d l 3 1 1 4 兰4 2 暑3 m o d l 3 1 1 7 兰1 1 4 3 暑1 3 2 三2 m o d l 3 所以说,化简每一个模n 中间结果与整个运算求模再化简模n 结果是一样 的。 模运算的主要性质如表2 - 1 所示。 表2 - 1 模运算的主要性质 性质 表达式 交换律 结合律 分配律 恒等式 w + x ) m o d n = g + w ) m o d n w x x ) m o d n = x xw ) m o d n “w + x ) + y ) m o d n = ( w + g + y ) ) m o d ,l ( 【w x x ) x y ) m o d n = ( w x ( x x y ) ) m o d n ( w ( x + y ) ) m o d n = “w z ) + w xy ) ) m o d n f 0 + w ) m o d n = w m o d n 3 、费马定理和欧拉定理 费马定理和欧拉定理在公钥密码学中有重要的作用。 第二章数据加密体系及其数学原理 费马定理:如果p 为素数,口是不能被p 整除的正整数,则: a p - 1 三1 r o o d p 费马定理还有另一种等价形式:如果p 是素数,a 是任意正整数,则: a p 暑a r o o d p 欧拉定理:对于任何互质的整数a 和”,有: 口中【”) 兰1 m o d n 欧拉定理也有一种等价形式: 口巾n 卜1 兰a m o d n 费马定理和欧拉定理及其推论在证明r s a 算法的有效性时是非常有用的。 给定两个素数p 和g ,以及整数疗= p q 和m ,其中0 m k ,加密算法将确定一个具体的加密变 换,解密算法将确定一个具体的解密变换,而且解密变换是加密变换的逆过程。 对于明文空间m 中的每一个明文m ,加密算法在加密密钥k 。的控制下将m 加 1 0 第二章数据加密体系及其数学原理 密成密文c c = e 似,k 。) 而解密算法在加密密钥足。的控制下从密文c 中解出同一个明文m m = d ( c ,k 。) = d 仁似,k 。) ,k d ) 根据对明文的划分与密钥的使用方法不同可将密码体制分为分组密码( 块 密码) 和序列密码( 流密码) 体制。 设m 为明文,分组密码将m 划分为一系列明文块m 。,m :,m 。,通常每 块包含若干字符,并且对每一块m ,都用同一个密钥k ,进行加密。即 c = c ( c l ,c 2 ,c 。) 其中c i = e 似,k 。) i = 1 , 2 ,刀 而序列密码将m 划分成一系列的字符位m ,m :,m 。,而且对于这每一个 m ,用密钥序列k 。= 小吃:,k 。) 的第i 个分量k 来加密,即 c = ( c 。,c :,巳) 其中q = e 如f ,k “) i = 1 , 2 ,以 分组密码一次加密一个明文块,而序列密码一次加密一个字符或一个位。 两种密码在计算机系统中都有广泛应用【3 4 ,5 ,7 1 。 根据密钥的特点,s i m m o n s 将密码体制分为对称和非对称密码体制两种。 即如果图2 1 中的k ,= k 。,或由其中一个很容易推出另一个,则称为单密钥密 码体制、私钥密码体制,或者叫对称密码体制。否则,就称为非对称密码体制。 进而,如果在计算上k 。不能由k 。推出,这样,即使将k 。公开也不会损害k 。的 安全,于是便可以将k 。公开。这种密码体制称为公开密钥密码体制,简称公钥 密码体制。 对称密码和公钥密码都有自身的局限性,而彼此恰好可以由另一种密码体 制来弥补。比如对称密码加密效率高,但加密密钥和解密密钥相同,不利于在网 上传输;而公钥密码虽然加密效率低,但由于其加密密钥和解密密钥的不同,互 不存在推导性而不需要在网上传输解密密钥。因此,可以结合对称密码和公钥密 码进行信息加密,即利用对称密码体制的高效性,使用对称加密方法对大量传输 信息进行加密利用公钥密码体制的保密性好的特点,对对称加密方法中使用的密 钥进行加密,来达到保密通信的目的。如何取长补短,建立起有效系统,正是混 合密码体制研究的核心【h - 1 5 1 。 混合密码体制的出现对于i n t e m e t 上电子商务及电子政务的开展都具有非常 重要的意义。在由i b m 等公司联合推出的用于电子商务的协议标准s e t ( s e c u r e e l e c t r o n i ct r a n s a c t i o n ) 中以及多国联合开发p o p ( p r e t t yg o o dp r i v a c y ) 中,均 采用了混合密码体制,包含单钥密码、双钥密码、单向杂凑算法和随机数生成算 第二章数据加密体系及其数学原理 法等。由此可见,混合密码体制将成为密码学发展的一个重要方向,其应用前景 非常广泛 1 2 , 1 3 。 2 3 对称密钥密码体制 对称密钥密码体制,就是对数据进行加解密的密钥是相同的或相似的( 即 很容易从一个推出另一个) ,几乎所有成熟的对称钥密码算法的特点都是加密速 度快,加密强度高( 一般都只能强力破解,又称穷举破解) ,软硬件实现容易, 特别适合对大数据量加密,是几乎所有数据保密工作的第一步,可以说,在当今 计算机的计算能力下,没有对称钥密码算法,就没有数据的安全和加密。 对称钥密码根据对数据加密的方法不同,又分为分组密码和序列密码。 2 3 1 分组密码概述 分组密码的加密思想是将明文数据分成大小相等的组,然后利用密钥对各个 明文组进行加密得到密文组,密文组与明文组大小数量都相等,即通常加密之后 的数据没有大小的扩展和压缩。 大多数基于这种密码体制的密码算法的一个很大的特点就是迭代加密,迭代 加密就是指利用密钥生成多个密钥分组,并与明文数据进行多次运算,每一次运 算的步骤往往相同但密钥分组不同,多次运算后生成密文,充分实现了对明文的 混淆和扩散,使得明密文之间的关系非常复杂,从而使密文具有良好的抗统计分 析能力和抗差分攻击能力。 分组密码中另一个重要的概念是s 盒,在很多算法中s 盒实际上是一个代换 表,将输入的数据变换成相同字符集的输出数据,s 盒的代换往往不是随意安排 的,它不仅要保证输入输出数据的对应唯一性,还要保证达到良好的扩散和混淆 的功能,以抵抗各种密码分析的攻击,s 盒往往是一个加密算法的核心,对它的 设计的好坏与否往往决定一个算法的好坏,它往往存在于每一轮迭代之中【l6 】。 分组密码的安全性主要依赖于密钥,而不是加解密算法本身,在当今社会, 各种对数据解密的方法和计算机的计算能力不断提高,任何不公布加解密算法, 不经过所有人公开测试的加密体制都是不能信任其安全性的。 目前对于分组密码的破解分析方法大致有强力攻击、线性分析、差分分析、 统计分析等,设计成熟的分组密码算法必须要能够抵抗这几种攻击,使得攻击者 只能通过强力攻击法对算法进行攻击【6 ,8 ,1 6 】。 1 2 第二章数据加密体系及其数学原理 2 3 2 分组密码的设计要求 分组密码设计的首要要求就是一个密钥只能对应一个明文密文对,既对任意 给定的密钥k ,对任意的“,v g f ( 2 ) “,如果“v ,则一定有 e 。0 ) e 。) 。 其中e 。表示加密变换。密钥长度不能太大,否则难以实现,也不能太小, 否则不能有效的抵抗攻击,尤其是穷举攻击。 分组密码体制中另外两个重要的概念是扩散和混淆,这是s h a n n o n 提出的设 计密码体制的两种基本方法,也是分组密码设计的一个基本要求。我们知道,在 实际应用中,每个字的出现概率都是不一样的,密码破解的统计分析方法正是针 对这一特点而设计的。 所谓扩散即是让明文中的每一位都影响密文中的尽可能多的位,或者说使密 文中的每一位都受明文中尽可能多的位的影响,这样的设计在加密有着严格格式 的明文时可以很大程度上隐蔽明文的统计特性,例如,对于总是以“你好”开头, 以“此致敬礼”结尾的明文,如果密文不能实现很好的扩散,即使中间数据再变 化,“你好”和“此致敬礼”的密文也不变,这样很容易使得密码分析者掌握此 密文所对应的中文含意,从而增加了密文被破解的风险。 所谓混淆就是指使密文与密钥之间的关系尽可能的复杂,使得解密者即使知 道了一部分明文密文对,也无法根据现有的密文推测出密钥,从而破译其它明文, 在实际应用中,有效的利用乘积和迭代,可以取得比较好的混淆和扩散的效果, 达到增强算法安全性的目的6 】。 2 3 3 序列密码概述 序列密码又叫做流密码,也是对称钥密码体制中的一种,它的加密和解密思 想非常简单,就是用一个随机序列( 密钥) 与明文序列进行逐比特叠加( 异或) 来产生密文,用同一个随机序列与密文序列进行叠加来恢复明文,序列密码较多 的应用在政府和军事等能做到严格实时通信的部门中,在能做到实时通信的民用 领域如g s m 和数字电视条件接收等中也有其应用【2 4 】。 1 9 4 9 年s h a n n o n 证明了只有一次一密密码体制是绝对安全的,这给序列密 码技术的研究以强大的支持。利用异或原理的序列密码体制加密过程非常简单, 也正因为这样,所以其安全性不像分组密码那样来自密钥与明文的混淆和明文在 加密过程中的扩散,它的安全性是完全依赖于密钥的;根据香农的“次一密” ( 即每次加密都是用不同的密钥) 理论,我们知道在“一次一密”体系中,即便 是再简单的密钥与明文的运算,所得到的密文都是不可破译的,但除了在间谍、 第二章数据加密体系及其数学原理 外交或者军事部门等极其重大且数据量比较少的场合使用一次一密之外,在大多 数情况下实现这样的密钥是不现实的,这也是序列密码体制在政府军事部门应用 较多的原因。一次一密不仅仅是由于其实现的复杂度,还由于密钥储存的困难, 因此引出了伪随机序列的概念。 伪随机序列顾名思义就是看起来好像是随机的序列,但它是有一定周期的; 决定伪随机序列好坏的关键参数之一就是序列的周期,序列的周期越长,伪随机 性就越好,同时实现起来也就越复杂。对于序列密码来讲,其核心就是伪随机序 列的生成。 伪随机序列的生成通常是由一段较短的序列,通过计算( 通常是通过k 阶线 性反馈移位寄存器l f s r ,k 与密钥长度相等) 得出的,典型的计算框图如图2 2 所示: 图2 25 阶l f s r 示意图 输出 在该图中,序列x ,x 。x ,x :工,中的两位进行异或作为第一个输出,然后该两位 排至队列尾端,用新的两位异或生成第2 个输出,以此类推。 现举例说明如下: 设一个g f ( 2 ) 上的5 阶线性反馈移位寄存器如图2 2 所示,其反馈函数为 f ( x l ,x 2 ,x 3 ,工4 ,x 5j = j c lox 3 , 初始状态为= ( o ,1 ,0 ,0 ,1 ) 。 第一轮变化后,输出0 ,状态变为( 1 ,o ,0 ,1 ,0 ) ,第二轮变化后,输出1 ,状态 变为( o ,0 ,1 ,0 ,1 ) ,同理可以得出输出序列为: 0 1 0 0 1 0 11 0 0 11 l11 0 0 0 11 0 1 11 0 1 0 1 0 0 0 0 1 0 0 所以可以得出输出序列是一个周期序列,周期为3 1 。对序列的一个周期 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 分析可知,0 、1 出现次数近似相等( 0 出现 1 5 次,1 出现1 6 次,符合概率随机的性质,其周期也足够大,在这个简单的例 子里是3 1 ,是原来序列的6 倍m 。 1 4 第二章数据加密体系及其数学原理 2 3 4 序列密码的设计要求 从上面对于序列密码的分析可以看出,在实际应用中,单单靠一个线性反馈 移位寄存器生成的密钥序列其强度是远远不够的,这主要是其非线性程度不够, 容易受到己知明文的攻击,在实际应用中我们通常是对个或多个线性移位寄存 器序列进行非线性的组合,以获得安全性能良好的非线性序列。要达到这种目的, 一种方法是将线性移位寄存器的输出序列当作密钥的伪随机序列通过一个非线 性滤波函数厂,生成非线性序列;另一种方法是将几个线性序列通过一个非线性 组合函数厂进行非线性组合,生成非线性序y u t 2 , 4 , 7 j 。他们的运行框图如图2 3 、 2 - 4 所示: 伪随机序列 m _ _ 斗 非 线 _ +性 组 厶 口 函 数 一i 卜_ 图2 3 伪随机序列通过非线性滤波函数f图2 4 几个线性序列通过 一个非线性组合函数, 2 3 5 分组密码与序列密码的区别 分组密码与序列密码相比,有如下的不同: ( 1 ) 、从加密方法上讲,分组密码是逐组加密,每个分组可能是6 4 b i t s 、1 2 8 b i t s 或者2 5 6 b i t s 等等,而序列密码是逐位进行加密,当然,序列密码也可以看成是 分组非常大的分组密码,但它的分组是不固定的,可能是数据的总长,也可能是 用来作为密钥的伪随机序列的周期。 ( 2 ) 、他们的安全性来源于不同的两方面,分组密码主要依赖于加密过程的 复杂度,而序列密码主要依赖于密钥生成过程的复杂度。 ( 3 ) 、序列密码对加解密的实时性有很大要求,而分组密码没有这方面的要 求。相对于序列密码,分组密码因为没有实时性要求所以应用的场合更多一些, 又因为绝大多数分组密码算法都是公开的,所以对于分组密码算法的研究和分析 第二章数据加密体系及其数学原理 是最多的,提出的具体加密算法在各种加密算法体制中也是最多的,加上很多算 法的数量庞大的变形,其算法数量甚至达到了数百种之多 1 - 4 , 6 , 7 1 。 由于序列密码具有内部记忆并运用了非线性变换,加之很多序列密码算法并 没有公开,故序列密码一般是难于分析的,所以目前对于序列密码的分析和研究 较之分组密码很少,相对于分组密码的上百种的算法和变形,序列密码算法只有 有限的几种,而且很多算法是保密的,最多也是只有部分泄露了出来,并且具 体的结构各方面还在争论之中。而又
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人融资合同7篇
- 部队安全作业规程培训课件
- 部队全员安全培训总结课件
- 山东省淄博市淄川区2024-2025学年六年级下学期4月月考生物试题(含答案)
- 江苏省徐州树德中学2024-2025学年八年级上学期第一次月考数学试卷(含答案)
- 广东省湛江一中2024-2025学年九年级上学期期末语文试卷(含解析)
- 2024-2025学年湖南省长沙市开福区立信中学八年级(下)第三次月考数学试卷(含部分答案)
- 边缘智能课件
- 支付监管创新实践-洞察及研究
- 基于拓扑优化的分体式热管流道结构多目标协同设计方法
- (完整版)新概念英语第一册单词表(打印版)
- GB/T 10799-2008硬质泡沫塑料开孔和闭孔体积百分率的测定
- GA/T 1193-2014人身损害误工期、护理期、营养期评定规范
- FZ/T 81019-2014灯芯绒服装
- FCI测试试题附答案
- 博微配电网工程设计软件
- 【成都】麓湖生态城地产视角分析总结
- 教育科研:教师职业成长的阶梯课件
- The Wind and the Sun风和太阳的故事英语伊索寓言
- 《汽车维修企业安全生产培训》ppt
- C语言程序设计案例教程-完整版ppt全套教学教程(最新)
评论
0/150
提交评论