4.3对称密码技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

对称密码技术4.3对称密码技术原理1DES对称加密算法2IDEA算法3高级加密标准AES4现代密码算法不再依赖算法的保密,而是把把算法和密钥分开。其中,密码算法可以公开,但是密钥是保密的,密码系统的安全性在于保持密钥的保密性。如果加密密钥和解密密钥相同,或实质上等同(即从一个可以推出另外一个),我们称其为对称密钥、私钥或单钥密码体制。对称密码技术又可分为分组密码和序列密码两大类。分组加密:是指对一个个定长的数据块进行加密,数据块之间的关系不依赖于加密过程,即当两个数据块内容一样时,加密后所得到的密文也完全一样。序列加密:是指数据流的加密,加密过程带有反馈性,即前一个字节加密的结果作为后一字节加密的密钥。可见,流加密方式具有更强的安全性。加密和解密过程均采用同一把秘密钥匙(密钥)。Alice发送加密的信息给Bob的情况:(1)Alice和Bob协商用同一密码系统。(2)Alice和Bob协商同一密钥。(3)Alice用加密算法和选取的密钥加密她的明文信息,得到了密文信息。(4)Alice发送密文信息给Bob。(5)Bob用同样的算法和密钥解密密文,然后读它。利用对称密码体制通信4.3.1对称密码技术原理在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。1949ClaudeShannon提出了代换置换的思想,现代代换-移位乘积密码的基础S-P基于两个经典密码技术:代换(S-box)置换(P-box)消息的混乱和扩散代换/替代Substitution:制造混乱(confusion),使得确定消息和密钥是怎样转换成密文的尝试变得困难。置换Transposition:重新排列消息中的字母,将消息或密钥外的信息扩散(diffusion)到整个密文,从而打破密文的结构特性。多阶段混合使用替代和置换加密能够产生使密码分析极为困难的算法。需要密码完全掩盖原始消息的统计特性一次一密钥的密码本掩盖了统计特性实际上Shannon建议综合使用各种技术和原理以实现:扩散–在大量的密文中消除明文的统计结构混乱–使密文与密钥的关系尽可能复杂化对称密码系统的安全性依赖的因素加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性。对称加密算法的优点算法公开;计算量小;加密速度快;加密效率高。对称加密算法的缺点密钥分发和管理困难;可扩展性差;只提供有限的安全。4.3.2DES对称加密算法–DES的产生1973年5月15日,NBS(NationalSecurityAgency)开始公开征集标准加密算法,并公布了它的设计要求:(1)算法必须提供高度的安全性(2)算法必须有详细的说明,并易于理解(3)算法的安全性取决于密钥,不依赖于算法(4)算法适用于所有用户(5)算法适用于不同应用场合(6)算法必须高效、经济(7)算法必须能被证实有效(8)算法必须是可出口的第三条商用密码技术属于国家秘密。国家对商用密码产品的科研、生产、销售和使用实行专控管理第六条商用密码的科研成果,由国家密码管理机构组织专家按照商用密码技术标准和技术规范审查、鉴定第七条商用密码产品由国家密码管理机构指定的单位生产。未经指定,任何单位或者个人不得生产商用密码产品《商用密码管理条例》DES的产生1974年8月27日,NBS开始第二次征集,IBM提交了算法LUCIFER,该算法由IBM的工程师在1971~1972年研制1975年3月17日,NBS公开了全部细节1976年,NBS指派了两个小组进行评价1976年11月23日,采纳为联邦标准,批准用于非军事场合的各种政府机构1977年1月15日,“数据加密标准”FIPSPUB46发布(DES,DataEncryptionStandard)对称算法,加密和解密用的是同一种算法,只是加密和解密时所采用的密钥编排不同分组算法,以64-位为分组混乱和扩散的组合,一次加密或解密总共有16轮,也就是要完成一次加密(解密)过程,必须在明文(密文)分组上实施16次相同的组合技术密钥长度:56位,密钥通常表示为64位的数,但每个字节的第8位都用作奇偶校验,可以忽略分组对称加密算法DESDES主要特点DES的安全性不依赖于算法的保密,安全性仅以加密密钥的保密为基础;提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有足够的复杂性,使得破译非常困难;容易实现,可以以软件或硬件形式出现;DES的应用1979年,美国银行协会批准使用1980年,美国国家标准局(ANSI)赞同DES作为私人使用的标准,称之为DEA(ANSIX.392)1983年,国际化标准组织ISO赞同DES作为国际标准,称之为DEA-1该标准规定每五年审查一次最近的一次评估是在1994年1月,已决定1998年12月以后,DES将不再作为联邦加密标准DES的具体应用领域计算机网络通信电子货币系统保护用户文件用户识别分组密码的一般设计原理分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列设计原则--混淆(confusion)混淆(confusion):密文的统计特性与密钥的取值之间的关系尽量复杂密码算法应当保证密钥、明文和密文的依赖关系相当复杂,混淆程度主要用非线性度来度量非线性度的概念最初由Pieprzyk等1988年引入,它是密码安全代换盒的主要设计准则之一,它决定了基于s盒的密码算法抗击Matsul线性分析的能力设计原则--扩散(Diffusion)扩散(Diffusion):明文的统计结构被扩散消失到密文的长程统计特性,使得明文和密文之间的统计关系尽量复杂密码算法应保证有语言多余度的明文的统计结构散射到相当长的一段统计中算法应使明文的简单结构和密文的简单结构之间不存在统计关系不同的加密函数之间不存在简单关系扩散程度通常用明文和密钥的雪崩特性(有时用扩散特性)来度量在相同明文条件下,密钥的1比特改变将根本改变密文在相同密钥条件下,明文的1比特改变也将根本改变密文根本改变,一般指改变整个密文块的一半比特实现原则软件实现使用子块和简单的运算。密码运算在子块上进行,要求子块的长度能自然地适应软件编程,如8、16、32比特等应尽量避免按比特置换,在子块上所进行的密码运算尽量采用易于软件实现的运算最好是用处理器的基本运算,如加法、乘法、移位等硬件实现加密和解密的相似性,即加密和解密过程的不同应仅仅在密钥使用方式上,以便采用同样的器件来实现加密和解密,以节省费用和体积尽量采用标准的组件结构,以便能适应于在超大规模集成电路中实现DES算法的五个函数加密算法涉及五个函数:(1)初始置换IP(initialpermutation)(2)复合(轮)函数fk1,它是由密钥K确定的,具有置换和替代的运算(3)转换函数SW(4)复合(轮)函数fk2(5)初始置换IP的逆置换IP-1加密算法的数学表示加密算法的数学表式IP-1*fk2*SW*fk1*IP或:密文=IP-1(fk2(SW(fk1(IP(明文)))))其中K1=P8(移位(P10(密钥K)))K2=P8(移位(移位(P10(密钥K))))解密算法的数学表示:明文=IP-1(fk1(SW(fk2(IP(密文)))))第一步:变换明文。对给定的64位比特的明文X,首先通过一个置换IP表来重新排列X,从而构造出64位比特的X0,X0=IP(X)=L0R0,其中L0表示X0的前32位,R0表示X0的后32位。DES算法的实现步骤第二步:按照规则迭代。规则为:Li=Ri-1Ri=Li-1异或f(Ri-1,Ki)(i=1,2,3,…,16)其中f表示一种置换,又S盒置换构成,Ki是一些由密钥编排函数产生的比特块。第三步:对L16R16利用IP-1作逆置换,就得到密文y。初始置换(IP)-16轮完全相同的运算-初始置换的逆(IP-1)每一轮DES:Li=Ri-1,Ri=Li-1XORf(Ri-1,Ki)Li-1Ri-1F+LiRiKiFDES算法总体过程描述DES算法具体的描述Li=Ri-1Ri=Li-1XORf(Ri-1,Ki)明文IPL0R0fK1L1=R0R1=L0f(R0,K1)fK2L2=R1R2=L1f(R1,K2)L15=R14R15=L14f(R14,K15)fR16=L15f(R15,K16)L16=R15K16IP-1密文IP重新排列输入数据比特结构上很有规律(易于实现硬件加密)例如:IP=1234567826314857IP-1=1234567841357286易见IP-1(IP(X))=X输入(64位)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157输出(64位)L0(32位)R0(32位)置换码组输入(64位)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725输出(64位)逆初始变换IP-1初始变换IP函数f的细节:数据右半部分通过扩展(expansionpermutation)由32位扩展为48位,并通过一个异或操作与经过移位和置换的48位密钥结合,其结果通过8个S-盒(substitutionbox)将这48位替代成新的32位数据,再将其置换一次长度为32的比特串R(32bits)作第一个输入,以长度为48的比特串K(48bits)作第二个输入。产生的输出为长度为32的位串。Li-1Ri-1密钥移位移位压缩置换扩展置换S-盒代替P-盒置换LiRi密钥扩展置换EP盒置换S盒代替A32位3212345456789891011121312131415161716171819202120212223242524252627282928293031321选择运算E选择运算E的结果48位明文或密钥的细微变化将对密文产生很大的影响,特别地,明文或密钥的某一位发生变化会导致密文的很多位发生变化,这种现象就是雪崩效应。使得穷举试凑成为不可能DES的扩展置换使其具有很强的雪崩效应雪崩效应(1)把E函数的输出结果写成连续的8个6位串,B=B1B2B3B4B5B6B7B8(2)使用8个S盒,每个Sj是一个固定的416矩阵,它的元素取0~15的整数。给定长度为6的比特串,如Bj=b1b2b3b4b5b6计算Sj(Bj)如下:b1b6两个比特确定了Sj的行数,r(0=r=3);b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c),得Cj=Sj(Bj)。1234567891011121314151611441312151183106125907201574142131106121195383411481362111512973105041512824917511314100613DES的核心是S盒,除此之外的计算都是线性的。S盒作为该密码体制的非线性组件对安全性至关重要。1976年美国NSA提出了下列几条S盒的设计准则:S盒的每一行是整数0,…,15的一个置换没有一

1 / 77
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功