版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
按算法的不同,对称密码体制又分为两类:序列密码体制
分组密码体制3.1两种对称密码体制
序列(流)密码(StreamCipher):明文信息逐位(或逐字符)和一个永不重复的随机密钥序列异或,且密钥的长度等于明文的长度。
算法描述:
Ci=Pi⊕ki
Pi=Ci⊕ki
3.1.1序列密码体制如:
加密过程
解密过程明文(P):11010密文(C):00111⊕密钥(K):11101⊕密钥(K):11101--------------------------------------------------------------
密文(C):00111明文(P):11010
本例中,序列流的长度为5位,则密钥长度也应为5位,而其密钥空间应为?序列密码的优点:计算简单,效率高,保密性好。
缺点:密钥管理困难(因为需要有可靠的密钥传输渠道和密钥保存方法)。25,即可能的加密密钥为
32个。
分组密码:
在密钥的控制下一次变换一个明文分组。
3.1.2分组密码体制
--分组长度要足够长,密钥量应足够大以防止穷举密钥空间的攻击。
--密码算法应足够复杂使破译者除了穷举法攻击之外,找不到其它简洁的数学破译方法。分组密码设计要求基于加密的基本方法――代替和换位.(代替:用以实现扩散;换位:用以实现混乱)Diffusion(扩散)
明文的的统计结构被扩散消失在密文中,明文一位影响密文的多位,增加密文与明文之间关系的复杂性。Confusion(混乱)
强调密钥的作用,使得密文的统计特性与密钥的取值之间的关系尽量复杂。分组密码的工作机制首先要将一个明文消息M分成若干块,
M=M1,M2,…..,Mi分别对每一块进行加密:基于密钥替换一次再换位一次,构成一轮;这个过程重复多次构成循环,循环的正向进行构成加密,反向进行构成解密。(目前,使用最多的对称密码体制就是分组密码体制)分组密码算法的基本思想
有几种分组密码使用模式:(1)电子密码本(ECB)C=C1C2…..Ci其中Ci=E(Mi,k)
特点:每个明文分组的加密是独立的。分组的长度是64位,每一个明文分组与264个密文分组中的一个相对应。在早期流行的商业软件产品中,它曾经是最常用的方式。出于安全考虑,该方式目前已很少使用。分组密码的应用模式
优点:实现简单。缺点:易于遭受攻击。攻击者可以根据已知的“明文—密文对”建立一个自己的密码本来实施攻击。(2)密码分组链接(CBC)(目前多采用这种模式)
特点:
前后分组有关联,即前一分组的加密结果被用于后一分组的加密,这样,每一个分组的密文不仅依赖于该分组的明文,而且还受前面所有分组的影响。
C1=E(M1⊕V,k),V--初始向量
….
Ci=E(Mi⊕Ci-1,k)
,i=1,2,…,s
最后一块|Mi|若不满64位,则应补齐,以保证密文与明文长度相等。(3)输出反馈(OFB)(4)密文反馈(CFB)
这两种模式的特点都是将分组用流密码方式加密,目前不常用。常用的分组密码算法包括:DES,3DES,IDES,RC5,….,AES(Rijndael)3.2DES3.2.1DES概述DES(数据加密标准)为feistel密码。H.Feistel是IBM的一个专家,最初设计了一个128位密钥的分组密码,70年代因不需要128位长的密钥,太浪费,降为64位(8个字节),其中每个字节的最后一位为奇偶校验,因此,实际密钥长度为56位。
DES的密钥空间为256,即对一个分组的可能加密密钥为256个。对DES攻击的唯一有效方法是:“穷举法”。
穷举法:
逐个试验所有的密钥k,直到C=Ek(m)。由于DES的256的密钥空间,通过猜测256个可能的密钥破译一个分组,按当时的计算机水平,使用穷举法需要2283年。该标准1977年由美国国家标准局(NBS)颁布,1981年,被美国商业组织所采纳,作为美国国家标准数据加密算法,之后,很快被用于政府、金融等领域。并成为事实上的国际标准。NBS规定:每5年对DES进行一次重新审查和修订。
1983年
--没有任何修改
1987年
--NBS认为DES已不够安全,宣布不再对其进行认证,但仍宣布过渡5年。
1993年
--由于NSA没有提出新的民用加密算法,而且DES也没有被攻破的公开声明,因此要继续过度5年。
1998年--
1997年人们通过穷举密钥破译了它,(通过网络,利用集体的力量,用了大约100天左右的时间)。它的主要缺陷就是密钥太短。关于DES的另一个争论焦点是,DES中是否存在陷门。但由于当时还没有更好的算法来代替它,所以1998年的情况依然如此,DES仍然继续使用。
2000年10月,NIST(美国国家标准和技术协会)宣布将从15种侯选算法中选出一项新的加密标准。新的标准将会代替旧的DES算法。Rijndael被选中成为将来的AES(高级加密标准AdvancedEncryptionStandard)。Rijndael这个名字是从它的两个发明者Rijmen和Daemen的名字得来的。从2001年开始,美国政府开始使用DES的“接班人”--AES。在其他国家,DES还在广泛使用。
DES是一个分组加密算法,它以64位为一个分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。由于它是对称体制,加密解密使用同一算法。DES算法的原理:简单地说,算法只不过是加密的两个基本技术―混乱(confusion)和扩散(diffusion)的组合。实现混乱和扩散的方法是:代替和换位。
3.2.2DES的基本原理
它基于密钥作用于明文,运算一次为一轮,共进行16轮相同的运算,即在明文分组上16次实施相同的组合运算,最后输出密文。为什么要进行16轮迭代运算?轮数越多越安全,但代价与轮数成正比,16轮是一个合适的选择。
算法流程:
首先,通过一个初始置换将64位的明文分组分成左右两部分,各32位长,然后进行16轮完全相同的运算。这些运算被称为f函数,在运算过程中,数据与密钥结合。
f函数的作用是将32比特的0,1打乱,即实现混乱。每一轮中的密钥K不同。
1.算法的描述:
输入X=x1,x2,…….,x64(明文)
初始换位L(0)=L1,….,L32
R(0)=R1,…R32
L(1)=L1,….,L32
R(1)=R1,…R32L(16)=L1,….,L32
R(16)=R1,…R32Y=y1,y2,……,y64(密文)k1ffk16逆换位
⊕
⊕┋┋┋
示意图:2.DES的加密和解密过程
令i表示迭代次数,
表示逐位模2求和,f为加密函数。加密过程:解密过程:初始置换IP和初始逆置换IP-1
:3.每一轮的简单描述
每一轮:(如下图)简单描述:K(48位)32位8个S盒
⊕
48位
32位在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位(实现扩散),并通过一个异或操作与48位密钥结合,再通过8个S盒将这48位替代成新的32位数据(实现混乱)
,再将其置换一次。这四步运算为一轮,称为函数f
。
DES的安全性主要依赖于S盒,而且S盒是唯一的非线性部分。
解密过程与加密过程一样,只是所使用的密钥次序为逆序。Li-1(32比特)Ri-1(32比特)Li(32比特)48比特寄存器选择扩展运算E48比特寄存器子密钥Ki(48比特)32比特寄存器选择压缩运算S置换运算PRi(32比特)Li=Ri-1DES的一轮迭代4.函数f
扩展:32->48S-box(进行压缩):48->32P盒置换(1)扩展:Ri从32->4832|01020304|0504|05060708|0908|09101112|1312|13141516|1716|17181920|2120|21222324|2524|25262728|2928|29303132|0132位48位(2)S-Box选择压缩运算48比特被分成8个6比特的子块(B1,B2,B3,B4,B5,B6,B7,B8),输入到相应的S盒(S1,S2,S3,S4,S5,S6,S7,S8)。对每个盒,6比特输入中的第1和第6比特组成的二进制数确定“S-Box表”的行,中间4位二进制数用来确定表的列。表中相应行、列位置的十进制数的4位二进制数表示作为输出。例如:若子块B2=101001,输入到S2,则S2对应“S-Box表”的行数和列数的二进制表示分别是:?
11和0100,即第3行和第4列,查表知:对应的十进制数为3,用4位二进制数表示为0011,即S2的输出为0011。所以,可用0011代替101001。表S-Box(3)P盒置换1607202129122817011523260518311002082414322703091913300622110425输入输出数据的位置置换。如:将输入的第16位放到输出的第1位上,将输入的第23位放到输出的第?
位上?
115.子密钥的产生置换选择64位密钥C0(28位)D0(28位)循环左移循环左移C1(28位)D1(28位)(56位)(48位)压缩置换K1Ki(48位)压缩置换(56位)循环左移循环左移Ci(28位)Di(28位)
密钥每轮移动位数轮数:123456789…位数:112222221…
密钥置换表压缩置换6.数据的变位
64位的数据在加密之前和加密之后各进行一次重新变换,其目的?
目的不是为了增加保密强度,而是为了增加软件实现的难度,降低计算效率。
(1)DES的设计思想有利于硬件的实现设计者希望对加密技术能够适当控制,利用硬件实现的复杂性使得只有少数国家和少数厂家才有能力设计和生产这种芯片,并将其实用化。由于其算法的简单性,软件实现容易,所以算法的设计者尽可能降低其计算效率,以提高硬件实现的优势。
随着计算机系统性能提高
DES的软件实现越来越多。7.对DES讨论软硬件实现的比较:硬件实现方面:DEC公司,DES芯片处理速度可达1Gb/s(每秒1000Mb),每秒可处理1680万个分组;美国VLSI公司,6868商用芯片处理速度为512Mb/s。软件实现方面:基于8048/66MHz的处理速度为2.7Mb/s;基于SunSparc10/52的处理速度为3.4Mb/s。(2)密钥长度的争论关于DES算法的另一个最有争议的问题就是担心实际56比特的密钥长度不足以抵御穷举式攻击,因为密钥量只有256≈1017
个每秒测试100万个密钥的机器大约需要一天就可以搜索整个密钥空间。估计制造这样的机器大约需要2000万美元。
(3)S-Box问题
在DES中,其他算法都是线性的,只有S盒运算是非线性的,它提供了密码算法所必须的混乱作用,改变S盒的一个输入至少要引起两位的输出改变。S盒不易于分析,它提供了更好的安全性,所以S盒是算法的关键所在。但F函数(S-Box)设计原理未知,是否存在密码分析的捷径(人们怀疑S盒中可能存在着不安全的因素)?另外,是否留有陷门?3.3DES算法的程序实现(自选)根据DES算法的原理,利用C语言,VC++6.0环境下,实现其加密和解密算法。3.4其它对称加密算法有多种,只简介其中的3种:1.IDEA:国际数据加密算法
该算法是由两个瑞士人于1991年提出的,其算法在形式上与DES类似,也是使用循环加密方式,把64位的明文加密成64位的密文。所不同的是,IDEA使用128位的密钥,强度高于DES。加密和解密时使用的密钥不同,但它们是从同一个密钥派生出来,所以仍属于对称密码体制。使用128位密钥加密64位明文分组,穷举分析需要1038次试探。算法本身倾向于软件实现,加密速度快。到目前为止,尚未找到破译它的方法。但IDEA没有代替DES,其中一个可能的原因是它有专利,另一个原因是人们一直在等待密码分析家分析该算法的安全强度。2.三重DES
以DES为基本模块,通过组合分组方法设计出分组加密算法,是DES的的多重加密方法,即:
加密—>解密—>加密
所以也称三重DES。使用3DES得到的密文更难用穷举法破译。
设:Ek()和Dk()代表DES算法的加/解密过程,K为密钥,P代表明文,C代表密文,则
加密过程:C=Ek3(Dk2(Ek1(P)))
解密过程:P=Dk1((EK2(Dk3(C)))
其中:K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。3DES的具体实现:
若数据对安全性要求不很高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。例如:
选用两个56位密钥(加上校验位后为64位),要加密的数据先后三次通过DES进行加密。数据先通过第一个56位密钥进行加密。再通过第二个密钥,然后再次通过第一个密钥。到目前为止,还没有人给出攻击三重DES的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大为2112=5×1033,这实际上是不可行的。若用差分攻击的方法,相对于单一DES来说复杂性以指数形式增长。虽然目前还没有针对两个密钥三重DES的实用攻击方法。但对两个密钥三重DES的攻击有一些设想,以这些设想为基础将来可能设计出更成功的攻击技术。另外,随着Internet、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新疆五家渠市政府采购评审专家测试题库及参考答案
- 土建专业考试试题及答案
- 油漆修补二级技能理论考试题(附答案)
- 2026年固定收益试题及答案
- 2026年新村干部考试题及答案
- 2026年深圳市盐田区社区工作者招聘考试模拟试题及答案详解
- 2026年四川省眉山市社区工作者招聘考试模拟试题及答案详解
- 2026年汕头市潮南区事业编单位人员招聘笔试参考试题及答案详解
- 河北省名校联合体2026届高三一模生物试题
- 2026年绥化市北林区社区工作者招聘考试备考试题及答案详解
- 2024江苏苏州高新区枫桥街道招聘社区人员及人员笔试历年典型考题及考点剖析附答案带详解
- 煤矸石充填塌陷区复垦技术规程-编制说明
- Python少儿编程全套教学课件
- 国电南瑞员工手册
- 小学生女生健康教育课件
- 2023硅铁多元素含量的测定电感耦合等离子体原子发射光谱法
- 三江能源有限公司煤矿矿山地质环境保护与土地复垦方案
- 关于腹腔镜胆囊切除手术的护理配合
- 重体力劳动评估程序(RBA健康安全)
- GB/T 21380-2008行人反光标识夜间光度性能及测试方法
- 中国药典2005版一部
评论
0/150
提交评论