【0325】分组密码

分组密码

体制概述

分组密码体制(Block cipher)是在密钥k控制下一次变换一个明文数据块(又称分组)的密码体制。

特点:速度快,易于标准化和便于软硬件实现等特点

设计原则和评估

针对安全性的两个基本原则:扩散和混淆(对抗统计分析)

扩散原则:将明文的统计规律和结构规律散射到相当长的一段统计中去。

混淆原则:将明文,密文,密钥三者统计关系尽可能复杂。

使用复杂的非线性代替变换效果较好,迭代和乘积效果较好。

针对实现的设计原则:【软件实现】使用子块和简单的运算。【硬件实现】加密和解密的相似性,尽量使用规则结构。

乘积密码体制

只讨论明文空间和密文空间相同

S=(M,C,K1xK2,E,D)

乘积密码,就是以某种方式连续执行两个或多个密码,以使得所得到的最后结果或乘积比其任意一个组成密码都更强。

迭代密码体制

S^n=SxSxSx…S,称为是n次迭代密码体制。

如果S**2=S,则称为密码体制是幂等的,否则称为非幂等密码体制。

对于幂等密码,有E1(E2(m))=E3(m),密钥k3属于原本的密钥空间,不会提高安全性。

评估

(1)安全性:抗密码分析的强度,可靠的数学基础,随机性

(2)性能:计算效率和存储需求

(3)算法和实现特性:灵活性、硬件和软件适应性、算法的简单性等

分析

(1)差分密码分析:通过两个明文差值和密文差值的影响来推断某些密钥比特

(2)线性密码分析:寻找近似算法

(3)差分-线性密码分析

基本结构:SPN和Feistel 费斯特

SPN分为两层:替换Substitution–S盒【非线性变换,起到混淆作用】,P置换—P盒【本质属线性变换,起扩散作用】。

S盒分为3部分:解码、P盒及编码

SPN结构也是一种特殊的迭代密码 ,SPN结构和 Feistel结构相比,可以得到更快速的扩散,但是SPN密码的加解密运算通常不完全相同。

Feistel:分成两部分,一次加密一半

主要参数与特征:分组大小,密钥长度,循环次数,子密钥产生算法复杂度,轮函数F复杂度

结构特性:

优点:

(1)设计容易:F函数不要求可逆,加、解密算法结构相同

(2)强度高:如果F函数是随机的,则连续若干轮复合形成的函数和随机置换是无法区分的。

缺点:

(1)每轮加密时输入有一半没有改变;

(2)左右块的加密处理不能并行实施

Feistel模型至少需要3轮才可以实现完全性。

F函数需要T轮迭代才能实现完全性,则Feistel模型经T+2轮迭代可实现完全性。

F函数的设计准则:

(1)严格雪崩效应准则:输入比特i变化了,输出比特j有1/2可能性变化

(2)比特独立准则:输出比特i,j应当相互独立地变化
在这里插入图片描述

数据加密DES

DES是分组加密算法,数据分组长度位64位,密文分组64位,密钥64位,有效密钥长度为56位(8位用于奇偶校验,密钥空间2的56次方),16轮迭代.解密算法和加密算法相同但子密钥的使用顺序相反

基本操作置换选择,替换【唯一非线性】,循环移位与异或

(1)初始置换IP

(2)E-扩展运算

(3)S盒运算

S1((h1h6), ( h2h3h4h5 ) ),6位输入,4位输出

(4)P置换

算法过程

在这里插入图片描述

在这里插入图片描述

子密钥生成:56分为两组28位的,分别向左循环移1或2位,再合起来进行置换。

安全性分析

(1)S盒的设计准则

(2)56位有效密钥太短

(3)弱密钥和半弱密钥

弱密钥:Ek(Ek(m))=m,则称k为弱密钥;DES中共有4个

半弱密钥:Eka(Ekb(m))=Ekb(Eka(m))=m,则称Ka,Kb为半弱密钥,DES中共有12个

(4)DES算法的互补特性:C=Ek(M),则有-C=-Ek(-M),取补集

在这里插入图片描述

暴力攻击法:2**55次尝试

差分密码分析法:2**47次尝试

线性密码分析法:2**43次尝试

二重DES很难抵挡住中间相遇攻击法【一起从双方的各自起点出发,一端加密,一端解密,然后中间相遇,就破解了】,

分组密码的操作方式

分组加密如何应用于大数据(如文件)加密?

1.电子密码本模式ECB:这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。相同的明文块总被加密成相同的密文块,没有误码扩散(一组出错影响其他组)。优点:算法简单,有利于并行计算,且误差不会被传送;缺点:电子编码薄模式用一个密钥加密消息的所有块,如果原消息中重复明文块,则加密消息中的相应密文块也会重复,容易对明文进行主动的攻击。所以,电子编码薄模式适于加密小消息

2.密码块链接模式CBC:CBC 模式的加密首先也是将明文分成固定长度的块,然后将前面一个加密块输出的密文与下一个要加密的明文块进行异或操作,将计算的结果再用密钥进行加密得到密文,有误码扩散。优点:不容易主动攻击,安全性好于ECB,**适合传输长度长的报文,**是SSL、IPSec的标准,小字节时会浪费信道空间。缺点:密文不利于并行计算,容易造成误差传递,且需要初始化向量IV。

在这里插入图片描述

3.CFB密文反馈模式:同样需要一个初始向量,使用移位寄存器,加密后的密文进入移位寄存器,形成一个新的R与k进行异或,**存在误码扩散(**仍有字同步特性,即可以恢复正确),加密效率比前两项低

在这里插入图片描述

4.OFB输出反馈模式:没有误码扩散,输出反馈模式与 CFB 相似,惟一差别是,CFB 中密文填入加密过程下一阶段,而在 OFB 中,初始化向量加密过程的输入(PS(E®异或k),这里的结果代替R)填入加密过程下一阶段。应用时要求一次一密优点:分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。缺点:密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,且对明文的主动攻击是可能的。

5.CTR计数器模式:CTR模式是一种通过将逐此累加的计数器进行加密来生成密钥流的流密码。CTR模式中,每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥流。也就是说,最终的密文分组是通过将计数器得到的比特序列,与明文分组进行XOR而得到的。
在这里插入图片描述
随机访问特性:可以随机的对任意一个密文分组进行解密,对该密文分组的处理与其它密文无关。
高效率:能并行处理,即能对多个分组的加解密同时进行处理,而不必等到前面分组处理完才开始;而且,可以提前进行预处理,这也可以极大的提高处理效率。
可以处理任意长度的数据,而且加解密过程仅涉及计数器的加密运算,不涉及解密运算,因此不用实现解密算法。

6.CSM密文窃取模式:扔掉倒数第二个密文分组的填充字节

IDEA国际加密算法

IDEA加密算法是一个分组长度为64比特的分组密码算法,密钥长度为128比特,由8轮迭代操作实现。每个迭代都由三种函数:mod(216+1)加法、mod(216+1)乘法和逐位异或算法组成。整个算法包括子密钥产生、数据加密过程、数据解密过程三部分。该加密算法规定明文和密文块均为64比特,密钥长度为128比特,加解密相同,只是密钥各异

任意两种运算均不满足分配律与结合律

每一轮都是:轮变换+乘加结构MA

IDEA与DES的比较:

共同点:同属分组密码体制(分组长度也为64比特)

不同点: (1)IDEA密钥长度128位;

(2) IDEA的加解密子密钥不完全相同(但可相互导出, 仍属对称密码体制);

(3) IDEA可用软硬件实现,但倾向于软件实现;

(4) DES为Feistel结构,而IDEA不是

其他加密算法

针对DES的弱点,给出以下解决办法:

(1)对DES进行复合

(2)开辟新的算法

三重DES

DES不是幂等算法,二重DES容易被中间相遇法破解。

三重DES的4种模式:

(1)双密钥DES-EDE2:加密,解密,加密,K1=K3

(2)双密钥DES-EEE2

(3)三密钥DES-EDE3

(4)三密钥DES-EEE3

RC5

对称加密算法,运算速度快,面向字的操作,适用于软件或者硬件实现;能适用于不同字长的处理器;加密的轮数可以变化,密钥长度可以变化。参数是w(字的位数),r(轮数),b(主密钥长度,字节长度),对存储空间要求不高

基本运算:模2**w加法运算,逐比特异或运算,字的循环左移运算

RC6

与大多数加密算法不同,RC6 算法在加密过程中不需要查找表,加之算法中的乘法运算也可以用平方代替,所以该算法对内存的要求很低。这使得 RC6 特别适合在单片机上实现。比
用于软件或者硬件实现;能适用于不同字长的处理器;加密的轮数可以变化,密钥长度可以变化。参数是w(字的位数),r(轮数),b(主密钥长度,字节长度),对存储空间要求不高

基本运算:模2**w加法运算,逐比特异或运算,字的循环左移运算

RC6

与大多数加密算法不同,RC6 算法在加密过程中不需要查找表,加之算法中的乘法运算也可以用平方代替,所以该算法对内存的要求很低。这使得 RC6 特别适合在单片机上实现。比
如 IC 卡,它内部集成的高速缓行,代价高昂,算法所需的内存少,能大大降低制作成本。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值