(计算机应用技术专业论文)基于算子库的密码系统研究.pdf_第1页
(计算机应用技术专业论文)基于算子库的密码系统研究.pdf_第2页
(计算机应用技术专业论文)基于算子库的密码系统研究.pdf_第3页
(计算机应用技术专业论文)基于算子库的密码系统研究.pdf_第4页
(计算机应用技术专业论文)基于算子库的密码系统研究.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于算子库的密码系统研究.pdf.pdf 免费下载

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

文档简介

擒要 , 一f 随着诗簿极技术懿毽遽发震,绩怠网终已经戏努 会笈最弱黧要傈证。骞缎 多敏感信息,甚至是国家机密在网络上传递。保障这些信息安全的重要性,正随 着企球信惑纯步傻静热使弼交交怒来越重要。露蹲终中豹数据一般露静态数据帮 动态数据。静态数据泛指各网站存贮的数据,既包含可供访问的数据又包含不得 随意公开的保密数据;而动态数攒猁泛指在网上佟输的数据。针对这二类数据, 目前的安全手段亦可分二类,以防火墙为主结合其它如口令、人体特征识别等技 术的安全体系常用于静态数据的保护,以数据加密解密为主的安全体系常用于 动态数据的保护。作为一个实用的网络,动态数攥流的安全保护显褥茏为突出。y 本文主要围绕动态数据的安全保护,研究相关舶密码机制和体制发展的现状 蠢戆势,尝试鼠已发表款鸯效算法串提取拔,0 餐分一雾予,重搦簇懿算法;在 此簸础上掇出了一种基于算子库的密码系统,并给出了一个最小实现。 算子露密褥系统是一耪安全、灵活、可扩充酌密鹃系统,它主爱色藉掰大部 分:算予库和算子照构模型。算予库( o p e r a t o rl i b r a r y ) 是该系统的基础,它包含 瑟商可供蘸构豹算子,都从己发表算法中提取酌核心单元;算子重构模型 ( o p e r a t o r r e b u i l dm o d e l ) 是霪构算予成为掰算法的綦本结构模型,本系统采用一 种赫于f e i s t e l 网络的变形结构作为算予重构模型。算子库与算子煎构模型相互 作用,相互关联。纂子库为冀予重掏提供冀予,两舅子重槐模型决定算子的选取 范瀚。 , 皤对予已有懿冬毒孛趣爨 毒素l ,该方案的主要黪点懿下: 、引入了算子簿子库的概念,使得已发表的各种有效算法( 不仅包括分组 熬寮算法,遵毽括公钥算法等) 中翡孩心部侔可暾羧重焉: 2 每次煎构算子随机选择,保证了重构后的算法具有随机性,攻击者将强对 整个算子瘁,丽不麓单一算法; 3 算子按照一定标准划分等级,允许用户根据不同需要或安全等级重构算 法; 4 允许用户按照烧范叁定义耨救算孑添搬到库中,这为今后吸纳更多基主生 成的算子提供了广阔的空间。 算子摩密码系统采强j a v a j a v a b e a n 技术来实域,可达到中粒凌缓 孛鲎瘸, j 以保证在今后版本更新时软件的重用性。,7 文章最后指出只有算子库密码系统是不够的,还需一个可视化、简单易操作、 友好的安全用户代理( u a ) 供用户使用。不但如此,u a 还起着管理用户密钥 和每次加密特征值的重要作用。这将是本课题需要继续研究,发展的地方。 关键词:网络安全,算子,重构模型,分组加密算法 a b s t r a c t t h e r ea r em u c hi l f f o r m a f i o n 批a n s f e r r e di ni n t e m e t , a n ds o m eo ft h e ma r e i m p o r t a n t n o w a d a y st h en e t w o r k t a k e st h e l e a d i n gr o l eo f c o m m u n i c a t i o n , s ow e m u s t k e e p i n f o n u a t i o nt r a n s f e r r i i l gs e c r e t 。t h e r e 瓣s t a t i cd a t aa n dd y n 赫cd a t ai ni n t e m e t 。 t h es t a t i cd a t ai st h ed a t as t o r e di ne v e r y w e b s i t e , i n c l u d er e a c h a b l ed a t aa n ds e c r e td a t a ; t h ed y n a m i cd a t ai st h ed a t at r a n s f e r r e di ni n t e m e t t h e r ea f et w ok i n d so f m e t h o dt ot h e t w ok i n d so fd a t a :t h es e c u r i t ys y s t e mb a s e do i lf l r e w a r ef o rs t a t i cd a t aa n dt h e s e c u r i t y s y s t e mb a s e do ne a a c r y p f i n g d e c r y p t i n gf o rd y n a m i c d a t a b e i n g a n a p p l i e dn e t w o r k , t h e s e c u r i t yo f d y n a m i c d a t ai sv 日y i m p o r t a n t i nt h i sa r t i c l e ,w e s t u d yt h e s t a t u sq u oa n d d e v e l o p d i m 甜优l o f s o m e 秭y p t os y s t e m i nc r y p t o g r a p h y w e a t t e m p t t op i c k - u pt h ek e r n e lo f t h er e l e a s e da r i t h r n c f i ca n dr e b u i l d n e wa r i t h m e t i c f r o mt h es t u d y , w ep u tf o r w a r dac r y p t os y s t e mb a s e do no p e r a t o r l i b r a r y , a n d f i n i s ha m i n i m u m i m p l e m e n t a t i o n t h e c r y p t os y s t e mb a s e do no p e r a t o rl i b r a r yi sas e c l l r e ,a g i l ea n de x t m s i b l e c r y p t os y s t e m 。t h es y s t e mi n v o l v e st w op a r t s :o p e r a t o rl i b r a r ya n do p e r a t o rr e b u i l d m o d e l - o p e r a t o rl i b r a r yi st h ef o u n d a t i o no ft h es y s t e m i ti n v o l v e sa l lt h eo p e r a t o r s w h i c hc a nb e r e b u i l t ;o p e r a t o r r e b u i l dm o d e li st h eb a s i cm o d e l o f r e b u i l d i n go p e r a t o r s i nt h i sa r t i c l e , w ec h o o s e as t r u c t u r eb a s e do nf e i s t e ln e t w o r kt ob e t h e o p e r a t o r r e b u i l d m o d e l t h e o p e r a t o rl i b r a r ya n do p e r a t o rr e b u i l dm o d e la r er e c i p r o c a la n di n t e r r e l a t e d t h e o p e r a t o rl 南r a r ys u p p l yo p e r 缸o v sf o rr e b u i l d i n ga n dt h eo p e r a t o rr e b u i l dm o d e l d e c i d et h e r a n g eo f o p e r a t o rs e l e c t i n g t os o m eo t h e r c r y p t os y s t e m , t h e r e i ss o m ec h a r a c t e r i s t i c : 1 p u t t i r 增f o r w a r dt h ec o n c e p to f o p e r a t o ra n d o p e r a t o rl i b r a r y s ot h ek e m do f r e l e a $ o da d 也m e r i cc a nb er e u s e d 2 w h e nr e b u i l d i n g , t h ec h o i c eo f o p e r a t o r i ss t o c h a s t i c s ot h ea t t a c k e rw i l lf a c e t h ew h o l eo p e r a t o rl i b r a r y , b u t n o ta s i n g l e a r i t h m e t i c 3 t h eo p e r a t o r sa r ec a r v e du pn 3 m el e v e l sa c c o r d i n g t os t a n d a r d ,t h el a s e r sa r e a l l o w e d t o r e b u i l da r i t h m e t i c a c c o r d i n g t o d i f f e r e n t r e q u e s t 4 露玲u s e a sa r ea l l o w e da d dt h en e wo p e r a t o ri n t oo p e r a t o rl i b r a r y t h e c r y p t os y s t e mb a s e do no p e r a t o rl i b r a r yi m p l e m e n tw i t h j a v 却q a v a b e a n i t r e a c b st h em e d i u m g r a n u l a r i t yo f c o m p o n e n t r e u s e d a tt h ef i n a l i t yo ft h ea r t i c l e , t h ec r y p t os y s t e mb a s e do i lo p e r a t o rc a nn o tw o r k w i t h o u tas i m p l e , f r i e n d l y u s e ra g e a t ( u a ) a l s o ,t h eu a m a n a g eu s 黼k e ya n d 卿越 n u m b e r a l lo f t h i si st h ep r o b l e mr e q l 1 i l e dt os t u d y o f t h i sa r t i c l e k e y w o r d s :n e t w o r ks e c u r i t y , o p e r a t o r , r e b u i l d m o d e l , b l o c kc r y p t o a r i t h m e l i e 第一章引言 1 1 加密算法发展背景 第一章引言 密码学是一门重要的科学,自有人类历史以来,密码信息就无处 不在。早在几千年前,人们就已经开始交换秘密信息。公元前4 8 0 年, 一位古希腊人就曾利用腊板将波斯人要入侵的消息送回国,而最古老 的加密方法之一可以追溯到朱利叶斯凯撒( 公元前i 0 0 年) 古罗马 的政治家和统帅“1 。几千年来,密码已从作为一种信息传递的技巧, 发展至今成为一种学科理论。尤其是七十年代中期,为适应网络化信 息安全要求,密码学以空前的速度发展着。近年来,亦有不少国内外 学者在拓展密码算法研究领域作出了十分有效的工作,如结合生物学 的d n a 密码算法研究“,结合量子光学的密码研究曲3 等,尽管都还 处于理论或实验研究阶段,但无疑对推动密码学的发展有着十分积极 的作用。同时,密码理论与技术不再是仅为少数人掌握的服务于政府、 军事及外交领域的学科,密码应用范围日益扩大,密码研究领域拓宽, 密码的研究和应用已走向社会,所有这些,均大大促进了密码学和密 码算法的发展。 正是有了长期的应用需求与发展,密码算法至今已是一个十分庞 大的家族,公开的加密算法成千上万,并且正在以几何级数快速递增。 然而,一个十分遗憾的现象是,任何一种加密算法,一旦它被认定或 证明是可靠的、安全的,便广泛采用,如d e s ;而一旦被怀疑其有缺 陷( 或速度,或其它) ,便被弃之不用,如m c e l i e c e 密码体制。事实 上,每一种加密算法,均有其一定的优点与长处,在不同的应用范围, 有它相应的作用,如何将几千年发展起来的密码算法相互沟通,保留 其精华,去其糟粕,使之适应网络信息快速的发展和应用需求,已提 到人们的面前。 归纳密码算法的应用,有几方面的欠缺: 真正的用户在实际中由于对密码理论与密码算法了解不足,往 往不知道在何场合采用何种算法更为合理和有效。 第一章引言 从已有的各种算法看,均有其一定的局限性,往往不能以一概 全,即一种算法不能解决信息安全中各不同安全内涵的需求,如信息 加密,认证,知识证明等。 即便是古典密码算法,如代换,乘数,仿射等,由于具有一定 的隐蔽性和扩散性,至今仍是设计现代密码算法不可缺少组成部分, 如何使前人己创造的各种算法为后人所充分利用,即每一算法的有效 核心部分是否可成为后人构造新算法的一个基元,亦是一大难题。 鉴于上述,从网络信息安全应用的现状、问题和解决方案来看, 集成已发表的有效密码算法,使之成为系统解决方案的最有效的、最 基本的工具,是本文主要探讨的内容。 目前已有的工具或应用解决是零散的,不够自然的,也不是很好 用。如p g p 和v e r i s i o n 等提供了个体之间交换信任的手段,而s e t 协议的实现也仅仅解决的是电子付帐单一的应用。p k i 身份证明的框 架基础,以第三方的方式去做c a ,与客观的组织行为和运作方式不 一致,很难被广泛的应用所接受。因此,从用户的角度看,期望的是 能方便地把自然存在的关系映像到网络数字世界中,能有工具为其从 事的电子活动提供无缝的安全支持,即在p k i 和p k i 应用之间架起桥棵实现无缝连接,要结合智能代理 ( a g e n t ) 技术和密码算法,构建一个清晰的应用安全体系结构,在 这一体系结构中,加密算法库与系统其它部分的关系如图1 1 所示。 图1 1 基于算子库密码体系的应用安全体系结构 如上图所示,由于有了算子库,及安全代理,用户只需将其安全 需求提交给代理,并由代理从算子库中选取最适合的加密算子,通过 一定的结构组合出适合的算法于应用中,又因算子库是动态可增、删 的,因此,结合加密算子库的安全代理这种智能的,自动的软件代理 程序,无疑是安全电子商务和解决p k i 问题的一个较有效的解决方 案,亦是跨越应用和安全技术之间距离的关键,能使用户真正摆脱重 负,这一系统思想的完善与实现,必将成为网络信息安全的强有力工 具。 1 2 研究内容 1 2 1 本文主要研究内容 本文的提出的基于加密算法的算子库研究,其最终目标是在网络 电子商务、电子政务应用中,能向用户提供一个更广泛的加密算法的 第一章引言 选择,用户应能根据自己信息安全的强度( 或等级) 需要,在用户代 理的帮助下,自主选择加密算子并重构新的加密算法。若算子库共存 放i 1 个算子,以每2 个算予重构一个新的加密算法,则有( n 一1 ) ! 个算法可供用户选择,这就为随机变更加密算法防范攻击创造了十分 宽松的环境。因此,本文的主要研究内容如下: 分析、研究分组加密算法的设计原理和基本结构,提出基于算 子的可重构算法模型; 以d e s 、i d e a 等为例,分析算子的构造、提取方法,给出满足 算子可重构算法模型的条件; 依据j a v a j a v a b e a n 技术,创建可重用算子组件对象模型,这 其中包括:算子库对象接口的定义,算子库的逻辑组织形式, 算子的动态链接方式。 1 2 2 本文结构 第一章引言指出了研究背景及目标。 第二章分析综合了研究算子库密码系统的密码学基础。 第三章第五章是关于算子库密码系统各主要研究内容的详 细讨论。第三章分析比较了几种可能的可重构算法模型,提出了基于 f e i s t e l 网络的算法模型,并以此为算子重构的基础模型;第四章是 关于算子的定义、提取、构造等算子基础研究;第五章描述了以 j a v a j a v a b e a n 技术为基础的一个简单的软件模拟。 第六章是对本文研究内容总结和对算予库密码系统发展的展望。 第三章算子重构模型研究 第二章密码学基础 现实世界中系统的安全往往是通过各种各样的手段来保障的,如 确定使用者的身份、将重要信息锁在保险柜离、审核各种信息等等; 在信息世界中保障系统安全的主要手段就是各种各样的安全机制,如 加密机制、签名机制、访问控制、认证机制等等。本章主要分为两部 分,首先介绍密码学研究中已有的各种算法以及当前在分组加密算法 领域的研究内容和方向,然后介绍用这些算法各种安全机制中的应 用。 所有前人研究的加密算法和安全机制是探讨算子库密码系统的 基础。 2 1 各种算法 本节介绍密码学中保护主信息安全的算法和保护密钥安全的算 法,在i n t e r n e t 中,主要的加密算法可分以下三类: 对称密钥加密算法 公开密钥加密算法 散列( h a s h ) 函数 保护密钥的安全,这里采用了一种秘密共享算法。 2 1 1 对称密钥加密技术 2 1 1 1 基础 一基本概念 对称式密钥加密技术是指加密和解密均采用同一把秘密钥匙,而 且通信双方必须都要获得这把钥匙,并保持钥匙的秘密。当给对方 发信息时,用自己的加密密钥进行加密,而在接收方收到数据后, 用对方所给的密钥进行解密。故它也称为秘密钥匙加密法。它又可以 分为序列密码体制和分组加密机制。 第三章算子重构模型研究 在序列密码机制中,每一字符数据的加密与报文的其他部分无 关,从理论上讲,真正实现了“一次一密”的密码是可靠的密码,原 则上是不可破译的“。 在分组加密机制中,明文按固定长度分组,对各组数据用不同的 密钥加密( 或解密) ,这类密码按分组进行加密变换,一个字符数据 不仅与密钥有关,而且还与其他字符数据有关,密码分析的穷尽量很 大n 4 3 。 二加密算法 实现对称式密钥加密技术的加密算法有很多,下面以d e s 和i d e a 为例,简单介绍这两种算法: ( 1 ) d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 算法“儿朝哺1 d e s 即数据加密标准,是1 9 7 7 年美国国家标准局宣布用于非国 家保密机关的数据保护。这种加密算法是由i b m 研究提出来,它综 合运用了置换、代替、代数多种密码技术,把信息分成6 4 位大小的 块,使用5 6 位密钥,迭代轮数为1 6 轮的加密算法。 ( 2 ) i d e a ( i n t e r n a t i o n a ld a t ae n c r y p t i o na l g o r i t h m ) 算法儿“ i d e a 是一种国际信息加密算法。它是1 9 9 1 年在瑞士e t hz u r i c h 由j a m e sm a s s e y 和x u e i i al a i 发明,于1 9 9 2 年正式公开,是一 个分组大小为6 4 位,密钥为1 2 8 位,迭代轮数为八轮的迭代型密码 体制。此算法使用长达1 2 8 位的密钥,在效地消除了任何试图穷尽搜 索密钥的可能性。 三对称式密钥加密技术的优缺点 对称式密钥加密技术具有加密速度快,保密度高等优点。但也有 其缺点: ( 1 ) 密钥是保密通信安全的关键,发信方必须安全、妥善地把 钥匙护送到收信方,不能泄露其内容,如何才能把密钥安全地送到 收信方,是对称密钥加密技术的突出问题,可见,此方法的密钥分 发过程十分复杂,所花代价高。 ( 2 ) 多人通信时密钥的组合的数量,会出现爆炸性的膨胀,使 密钥分发更加复杂化,n 个人进行两两通信,总需要的密钥数为 第三章算子莺构模型研究 瓣( n 圭) 2 。 ( 3 ) 。通信双方必须统一寮钥,才能发送保密的信息。如果发信 纛与收信人是素不相识的,这就无法向对方发送秘密信息了。 2 。1 。1 。2d e s ( d a t ae n c r y p t o rs t a n d a r d ) 算法 d e s 翔密有1 6 轮,下匿戳第一轮为例介绍d e s 豹加密步骤。 1 任何给定骧文将装分割成8 4 佼长懿明文组,逐一热密。 2 。慰绘定明文组x 邋过一个规定的初始置换l p 来重毅接到x 中的比特( 即打乱原先的排序) ,令i p ( x ) = x o = l o 凡,l 。 表示置换后x 。的前3 2 位,r 0 表示后3 2 位。 3 通过扩展函数对r 。运算,使r 0 由3 2 位变为4 8 位,其算法核 心是对原3 2 位的菜1 6 位重复取值,记为e ( r 0 ) 。 4 将e ( r o ) 与第一轮密镅k 1 进行异缄运算,此处飘为任意4 8 为二避制率,记为e ( o k 。产生的4 8 位琵特以6 位为 一组,记为e ( ) $ k ,= 转( 4 8 ) = b ,b ? 转3 b 。b $ b , b ,b 。 5 。将每一段分别通过对应的s ,置换。走于s 金是事先设计好麴, 它是一个阈定的4 行1 6 列矩阵,每l 亍中所有的元素取遍o 1 5 。对给定长度为6 的比特串,b ,一b 。b 。b 。b 。b s b 。,计算s ,( b ;) 如下:由b l b 6 两比特确定s ,的行t 的二进制表示( 0 t 3 ) , 而b 2 b 3 b 4 b 5 确定s ;的列1 的二迸制表示( o l 1 5 ) ,由行 坐标和列坐标所唯一确定的4 1 6 矩阵的元素,记为c ,c 懿取傻范圈为0 1 5 ,数其长度为4 眈将,嗣有c ;= s ;( 基。) , ( 1 i 8 ) 。 6 。由于每个b i 经过s i 置换簸出6 位变成4 俊,故由艨先船 位b 经置换产生3 2 位比特串c = c ;g c 。c ;c 。c 。c ,c 8 ,再将c 经p 转换后得到比特串p ( c ) ,记为f ( r 。,k ,) 。 7 计算r l = l o o f ( r o ,k ,) ,l i = r o 。 l ,r 1 做为第一轮的输出,是蒴二轮的输入,如此循环,经过1 6 轮,当 最后l ,。r m 经过i p l 置换后,便是可厢来传递的密文。 第三耄冀予燕擒搂壁磺究 圈2 - i 一轮d e s 加密网 2 - 3i d e a ( i n t e r n a t i o n a l d a t a e n c r y p t i o na l g o r i t h 鞭) 算法 i d e a 算法基于“不阏代数群之间的漓和运算的概念,它把明 文按6 4 位分块输入,在1 2 8 位密钥的控制下,将明文转换为等块长 的6 4 位密文输出,其密镪空问为2 。i d e a 加密算法的藻本工作原 理霹耀瑟3 - - 2 接述如下: 第三章算子重构模型研究 图2 - 2 i d e a 加密过程 由图3 - - 2 可见,x - ,x z ,x 。,x 4 作为某一轮的输入( o 轮数 9 ) ,每个 x 二进制长度为1 6 位,每个z ,。为1 6 位长的密钥,每一轮1 6 6 : 9 6 位密钥取自1 2 8 位总密钥,且密钥的选取每轮根据密钥变换表而 定,每一轮的输出则作为下一轮的输入。 表2 1u 真值表 表2 2o 真值表 运算符。为异或运算,田为模2 0 加,o 为2 “+ 1 乘,田,o 的真值表 如表2 一l ,表2 - - 2 。 分析i d e a 算法,其核心是将输入数据再划分为若干子块,在子 块问两两交互运算,且运算的结果再作下一运算的输入,数据从输入 到输出( 第一轮) 一共要经过多次运算,这样,便达到了完全混淆和 第三章算子重构模型研究 新的加密算法r i j n d a e l 是出两位比利时工程师提交,分别是 p r o t o nw o r l di n t e r n a t i o n a l 的j o a nd a e m e n 和天主教大学电子工程系的 v i n c e n tr i j m e n 。这两位在密码学界都有一定的知名度。该算法的原形 是s q u a r e 算法,它的设计策略是宽轨迹策略( w i d et r a i ls t r a t e g y ) 。 砌j n d a e l 算法是一个数据块长度和密钥长度均可变的迭代分组密码, 数据块和密钥长度都可分别为1 2 8 、1 9 2 或2 5 6 位。 数据块要经过多次变换操作,每次变换操作所产生的中间结果称 为“状态”。状态可由一个4 行、n b 列的二维字节数组表示,n b 等 于数据块长度除以3 2 ,如表2 3 所示。 表2 - 3n b = 6 时的状态编辑表 a ooa 0 1a o2a o3a o4a o5 a loa 1 1a 1 2a 1 3a 14a 1 5 a 2oa 2 1a 2 2a 23a 2 4a 25 a 3oa 3 1a 32a 33a 34a 35 密钥也可类似地由一个4 行、n k 列的二维字节数组表示,n k 等于密钥长度除以3 2 ,如表2 4 所示。在某些情况下,可以认为这 些数据块是4 字节向量的一维数组,每个向量包含数的个数与相应的 二维数组表述中的列数相等。 表2 - 4n 3 ( = 4 时的密钥编排表 k o0k 0 1k o 2k o 3 k 1 0k 1 1k l ,2k l3 k z 。0k 2 1k 2 ,2k z 3 k 30k 3 1k 32k 33 砌j n d a e l 在它的外部接口所用的输入输出被认为是从0 4 * n b 1 个8 位字节的一维数组。密钥被认为是从0 4 * n k 一1 个8 位 字节的一维数组。因此,这些数据块和密钥分组长度都分别为1 6 , 2 4 或3 2 ,数组下标分别为0 3 5 ,o 2 3 ,o 3 1 。密码输入f 原文) 字节按a 0 0 、a 1 0 、a 2 0 、a 0 1 、a 1 1 、a 2 1 、a 3 1 、a 4 1 一的顺序映 射为状态中的字节密钥按k 0 0 、k 1 0 、k 2 0 、k 3 0 、k 0 1 、k 1 1 、k 2 1 、 第三章算子重构模型研究 k 3 1 、k 4 1 、的顺序映射为状态中的字节。加密操作结束时,密码 输出( 密文) 按同样的顺序从状态中取出。因此,如数据块的一维数组 和二维数组下标分别为n 和( i ,j ) ,则有: i = nr o o d 4 ;j = r 以】;n 气+ 4 木j 轮数n r 由n b 和n k 决定,它们的关系如表2 5 。 表2 - 5 轮数n r 的取值 n rn b = 4n b = 6n b = 8 n k = 11 21 21 4 n k = 61 21 21 4 n k = 81 41 41 4 r i j n d a e l 算法的加密过程由4 个变换组成: f 1 ) b y t e s u b 变换 b y t e s u b 变换是作用在状态中每个字节的非线性字节置换,这个 置换表( 或称s 盒) 是可逆的,并由以下两个变换组成:在域g f ( 2 8 ) 中取字节的乘法逆,0 0 的乘法逆是它自己;在域g f ( 2 ) 中进行如 下定义的仿射变换: + ( 2 ) s h i f t r o w 变换 s h i f t r o w 变换是将状态行循环移位,0 行不移,第1 行移c 1 字 节,第2 行移c 2 字节,第3 行移c 3 字节,移位量c 1 、c 2 、c 3 与数 据块长度n b 有关,如表2 6 所示。 她订也砖舛砖娟卯 加坨坨m m 埯 表2 - 6 移位量与数据块长度的关系 n bc 1c 2c 3 4l23 6123 8134 ( 3 ) m i x c o h m n 变换 m i x c o l u m n 变换是将状态列看作域g f ( 2 5 ) 中的多项式与一固定多 项式c ( x ) 相乘然后模x 4 + 1 ,c ( x ) 为:c ( x ) = 03 x ”+ 01 x 2 + 0 l x + 02 这个多项式与x 4 + 1 互质,因此是可逆的。令b ( x ) = c ( x ) 。a ( x ) , 则用矩阵表示如下: b o 6 l 6 2 b 3 a o a l a 2 a 3 ( 4 ) 轮密钥加 在这个操作中,轮密钥被简单地异或到状态中,轮密钥根据密钥 表得出,它的长度等于数据块的长度n b 。 图2 3 描述了a e s 的操作模式。首先密匙k o 和待加密信息按位 相与。然后所有要加密的分组都用一个函数f 进行迭代计算,计算用 的子密匙是由一个密匙扩展函数产生的,初始的密匙是主密匙。对于 a e s 函数f 要迭代1 0 次。 k q 砥 再 图2 - 3a e s 迭代 y 图2 - 4 描述的是加密过程中函数f 是如何被迭代的。一个1 2 8 位的分组转换成1 6 个字节,作为下面处理的输入。首先,每一个 字节分别经过替换函数s 的处理,然后,用第二个置换函数p 对1 6 叭叭眈叭叭吃叭叭眈叭m 第三章算子重构模型研究 个字节进行处理。然后这个结果就和匙扩展函数产生的子匙进行位 与。 e 啦r 醣1 窘b l 耄8 中 幸 l l t i o nl i 堪蝣持p l i l 遁 卜汹谢l 鹅 卜钿 l s 啪t 秘1 2 8 b ;协 图2 4 函数f 匙k i 是用匙扩展函数从第k ( i 一1 ) 轮的子匙和第k 0 的密匙得到 的。图2 5 描述了匙扩展函数。1 6 个字节的被分成4 组,每组4 个 字节,来进行处理。最后的一组的4 个字节由替换函数s ( 这个s 和 用f 函数进行迭代处理时的s 是一样的) 来进行替换处理。最初的4 个字节的结果和q 系数相加,这个系数是与轮数相关的,它是预先 定义的。最后,为了得到k i ,把得到的4 个字节的结果和k ( i _ 1 ) 匙 的最初4 个字节按位相加,然后得到的结果又和k ( i - 1 ) 匙的下面的4 个字节按位相加,如此类推。 因为a e s 仅仅在基于简单的位操作运算,这有两个主要的优点: 即使是纯粹的软件实现,a e s 也是很快的。例如,用c h 在奔 腾2 0 0 的电脑上实现的a e s 的加密速度可达到7 0 m 位秒: a e s 并不依赖于s - b o x 的选择( 根据n s a ,d e s 里的s - b o x e s 可能包含后门) ,对分析算法抗击差分密码分析及线性密码分 第三章算子重构模型研究 析具有能力。 磊j :舯黼d 6 d q 蛳时 图2 - 5 匙扩展 2 1 2 公开密钥加密技术 2 1 2 1 基础 一基本概念 1 9 7 6 年斯坦福大学的d i f f i e 和h e l l m a n ,以及加利福尼亚大学的 m e r k l e 提出了“公开密钥密码体制”e 4 j 6 。它的基本思想是使用使用 不同的加密密钥和解密密钥,并且解密密钥不能从加密密钥基中推导 出来。这样加密算法e 和解密算法d 必须满足下列要求: 1 d ( e ( p ) ) = p 2 从e 导出d 极其困难 3 由一段明文不可能破译出e 第三章算子重构模型研究 图2 6 公开密钥加密体制 公开密钥密码体制在加密和解密时使用不同的密钥,一个公开密 钥可供所有人使用,加密传送给收方的信息;一个秘密密钥,收方用 它来解密收到的信息。因而它不需要进行密钥的秘密分配,即它的公 开密钥是公开的,在不保密的信道即可传送。如图3 4 所示,在使 用公开密钥密码体制经进行通讯时,明文p 用公开密钥k e 进行加密, 收方用秘密密钥k 。进行解密,因为公开密钥和秘密密钥是一一对应 的, 所以用公开密钥k 。加密的信息只能用秘密密钥k d 解密,但要从 公开密钥k e 中推出秘密密钥k 。是不可能的。 二加密算法 公开密钥加密算法主要是r s a 加密算法。此算法是美国m i t 的 r i v e s t 、s h a m i r 和a d l e m a n 于1 9 7 8 年提出的,它是第一个成熟的、 迄今为止理论上最为成功的公开密钥密码体制,它的安全性基于数 论中的e u l e r 定理和计算复杂性理论中的下述论断:求两个大素数的 乘积是容易的,但要分解两个大素数的乘积,求出它们的素因子则 是非常困难的,它属于n p 一完全类。r s a 加密、解密过程由密钥生 成、加密过程和解密过程组成。 在e d b s m a i l 中使用r s a 算法作为公钥算法来产生签名、加密对 称加密算法的密钥,下一节介绍了r s a 算法。 三公开密钥加密技术的优缺点 公开密钥加密技术的优点是: 1 密钥少便于管理,网络中的每一用户只需保存自己的解密密钥, 则n 个用户仅需产生n 对密钥。 2 密钥分配简单,加密密钥分发给用户,而解密密钥则由用户自 第三章算子重构模型研究 己保管。 3 不需要秘密的通道和复杂的协议来传送密钥。 4 可以实现数字签名和数字鉴别。 公开密钥加密技术的缺点是加、解密速度慢。 2 1 2 2r s a 算法 r s a 公开密钥密码体制的理论基础建立在与“大数分解和素数检 测”这一已知的著名数论难题有关的论断上,即:将两个大素数相乘 在计算上是容易实现的,但将该乘积分解为两个大素数因子的计算量 相当巨大,甚至在实际计算上不可能实现。 r s a 算法运用数论中的e u l e r 定理,即:若a 、r 是互索的两个 正整数,则a 2 1 ( m o dr ) ,其中z 为与r 互素且不大于r 的正整数的 个数。该算法取用一个合数( 该合数为两个大素数的乘积) 而不是取 用一个大素数作为其模数r ,使之具备幂剩余函数的单向陷门特性功 能。 r s a 公开密钥密码体制的实施步骤为: i 、设计密钥:要生成一对公开密钥( e ,n ) 和秘密密钥( d ,n ) , 则( 1 ) 选择两个质数,p 和q ( 典型地应大于1 0 ”o ) ( 2 ) 计算n = p q 和z = ( p - 1 ) ( q - 1 ) ( 3 ) 求正整数d ,满足g c d ( d ,z ) = l ( 4 ) 求正整数e ,使得e d = im o dz 这样求得公开密钥( e ,n ) 和秘密密钥( d ,i i ) 。 2 、加密明文:加密明文m ,将m 变换为0 一n 一1 之间的数,用公 开密钥( e ,n ) 以n 为模对m 进行计算求m 。,得到密文c 。 密文:c - - - - m 。( m o dn ) 3 、解密密文:解密密文c ,用秘密密钥( d ,n )以n 为模对c 进行计算求c o ,得到明文m 。 明文:m - - - - c “( m o dn ) 下面证明采用r s a 方式将明文m 加密( e ) 后,若解密( d ) 则可 还原为原来的明文m ,或将明文m 解密( d ) 后再加密( e ) 也可得到 第三章算予重构模型研究 原来的明文m ,即: d ( e ( m ) ) = m e ( d ( m ) ) = m 设密钥的设计如上,则e d :k z + 1 ,那么 d ( e ( m ) ) i ( e ( m ) ) oi ( m 8 ) o ! m ”“( m o dn ) e ( d ( m ) ) i ( d ( m ) ) 。i ( m “) 。im “( m o dn ) p 为素数,若g c d ( m ,p ) = l ,则根据费尔玛( f e r m a t ) 小定理: m ”1i 1 ( m o d p ) 将两边求k ( q - 1 ) 次方,再乘以m 倍,则得 m 。+ 1im ( m o d p ) 显然,当p 为m 的因子时也成立,因而,当p 为素数时,对任意整数 m m “一9 1 + 1 i m ( m o d p ) 均成立。 同理,q 为素数,对任意整数m m “”o 州n 1im ( m o d q ) 均成立。 因为p ,q 都为素数,所以即使以p ,q 的乘积的1 3 为模,也有 m 。州+ 1im ( m o dn ) 成立。所以m “6 一m ( m o dn ) 。这就证明了对于0 4m n 的所有m , 加密,解密都成立。 2 1 3 混合加密机制 鉴于对称密钥和公开密钥加密技术的特点,在实际应用中将两种 加密技术相结合,即结合使用d e s i d e a 和r s a ,对于网络中传输的 数据用d e s 或i d e a 加密,而加密用的密钥则用r s a 加密传送,此方 法既保证了数据安全又提高了加密和解密的速度。d e s i d e a 和r s a 结合使用如图2 7 所示。 首先发信者使用d e s i d e a 算法用对称钥将明文原信息加密获得 密文,然后使用接收者的r s a 公开钥将对称钥加密获得加密的d e s 或 第三章算子重构模型研究 i d e a 密钥,将密文和加密的密钥一起通过网络传送给接收者。接收 方接收到密文信息后,首先用自己的密钥解密而获得d e s 或i d e a 密 钥,再用这个密钥将密文解密而最后获得明文原信息。由此,起到了 对明文信息保密的作用。 图2 7 混合加密机制示意图 著名的p g p ( p r e t t yg o o dp r i v a c y ) 软件就是使用r s a 和i d e a 相 结合进行数据加密。 在实现算子库密码系统时就是使用了混合加密机制来处理密钥 的安全问题。 2 1 4 散列( h a s h ) 函数 h a s h 函数有很多名字:压缩函数、缩短函数、消息摘要、指纹、 密码校验和、信息完整性检验( d i e ) 、操作检验码( m d c ) 。不管你怎 么叫,它是现代密码学的中心。h a s h 函数是许多协议的一个结构模 块川邮“。 一基本概念 h a s h 函数是计算起来相对容易,但求逆却非常困难的函数。也 就是说,已知x ,我们很容易计算f ( x ) 。但已知f ( x ) ,却难于计 算出x 。如果严格地按数学定义,不能够证明单向函数的存在性,但 是有很多函数看起来和感觉像单向函数。例如,在有限域中x 2 是很容 易计算的,但计算x v 2 却难得多。 单向函数不能用作加密。用单向函数加密的信息是毫无用处的, 无人能解开它。 第三章算子重构模型研究 密码学上的h a s h 函数是一种将任意长度的消息压缩到某一固定 长度的消息摘要的函数。h a s h 函数可用于数字签名、消息的完整性 检测、消息的起源认证检测等。安全的h a s h 函数的存在性依赖于单 项函数的存在性。也就是说,己知h a s h 函数值,构造一个消息,使 其h a s h 函数值相同,应具有计算复杂性意义下的不可行性。 二算法 现在比较常用的散列函数算法是m d 5 和s h a ,m d 5 可把任意长度 的信息生成1 2 8 位的摘要,s h a 可把任意长度的信息生成1 6 0 位的摘 要。虽然m d 5 生成的摘要长度小于s h a 生成的摘要长度,但是它的速 度非常快,并且是m d 散列函数系列不断改进的产物,所以在安全性 上并不弱于s h a 。实质上两者在技术上大致类似的,均以一种充分复 杂的方式将各比特打乱,每个输出比特都受到每一个输入比特的影 响。下面以m d 5 算法为例阐明散列函数的实现。 给定一个消息x ,首先产生一个阵列m = m 0 m 1 - me n 一1 ,这 里每一个m i 是一个长度为3 2 的比特串且n om o d1 6 ,称每一个 m e i 为一个字,从x 中构造m 使用如下算法: 1 、d = 4 4 7 一( ixim o d5 1 2 ) 2 、l 代表j x i m o d2 6 4 的二进制表示,il f = 6 4 3 、m = xi 1 ilo “ii l 在m 的构造中,x 的后面被附上一个1 ,然后并上足够多的0 使 得长度变成与4 4 8 模5 1 2 同余,最后并上6 4 个比特,它包含了x 的 长度的二进制表示。产生的m 有被5 1 2 整除的长度,所以当把m 划分 成3 2 比特长的字时,产生的字数记为n ,将被1 6 整除。 下一步是生成1 2 8 比特的消息摘要,它的算法描述如下: l 、a ,b ,c ,d 初始化 2 、对i - - - - - 0 到n 1 6 1 做 3 、对j = o 到1 5 做x j - - - - m 1 6 i + j 4 、a a - - - - ab b = bc c

温馨提示

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

评论

0/150

提交评论