❶ 分组密码加密模式选择有哪些
分组密码工作模式的应用背景:多次使用相同的密钥对多个分组加密,会引发许多安全问题。为了应对不同场合,因而需要开发出不同的工作模式来增强密码算法的安全性。ECB特别适合数据较少的情况,对于很长的信息或者具有特定结构的信息,其大量重复的信息或固定的字符开头将给密码分析者提供大量的已知明密文对。若明文不是完整的分组,ECB需要进行填充。CBC(Cipher Block Chaining)由于加密算法的每次输入和本明文组没有固定的关系,因此就算有重复的明文组,加密后也看不出来了。为了配合算法的需要,有一个初始向量(IV)。与ECB一样有填充机制以保证完整的分组。CFB(Cipher Feedback)和OFB,CTR模式一样,均可将分组密码当做流密码(实际是将分组大小任意缩减)使用。
❷ 分组密码加密模式选择有哪些
1、在分组加密算法中,有ECB,CBC,CFB,OFB这几种算法模式。ECB(ElectronicCodeBook)/电码。
2、常见的分组密码工作模式有ECB、CBC、CFB、OFB、CTR五种,下面通过流程图分别展示了5大模式的分组密码工作加解密的流程。
3、最简单的模式是电子密码本(ECB)。但千万不要在iOS应用中使用该模式。最常见的分组加密模式是密码分组链模式(CBC)。填充的作用是在加密前将普通文本的长度扩展到需要的长度。关键在于填充的数据能够在解密后正确的移除。
4、分组密码算法本身是为了使数据安全,但是如果多次使用相同的密钥对多个分组加密的话,会引发许多数据安全的问题。
5、CBC,CFB,ECB,OFB,PCBC;支持三种填充:NoPadding,PKCS5Padding,ISO10126Padding。不支持SSL3Padding。不支持“NONE”模式。其中AES/ECB/NoPadding和我现在使用的AESUtil得出的结果相同(在16的整数倍情况下)。。
6、电码本模式(ElectronicCodebookBook(ECB)这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。
❸ 04.现代常见分组加密算法
1.Triple DES
2.IDEA
3.RC6
4.RC6
5.ASE
其实就是有3个密钥k1,k2,k3,如果m表示明文,C表示密文,他们是这样操作的:
DES1(m)=>C1
DES2(C1)=>C2
DES3(C3)=>C3
DES密钥太短是其短板,3DES密钥长度为k1+k2+k3 = 56*3 = 168bit
既然都Triple自然就有double,为什么不用Double DES呢?
我们先来看下double des:
首先根据DESC密钥太短的特点,的确是有了double desc,可用中间相遇攻击破解(老师坑爹没讲什么是中间相遇攻击,日后补上),经过加密有2^64个可能的密文,密钥长度为112bit(56+56),所以选择密钥的可能性达到2^112,于是对给定一个明文P加密成密文有2^112/2^64 = 2^48种可能,对于给定两个明文密文对,虚警率降为2^(46-64)=2^-16,用中间相遇攻击大概可用2^57 可暴力破解
那么如何解决中间相遇攻击呢?于是设计出了Triple des,它一共有四种模式:
1.DES-EEE3:3个不同的密钥,顺序用三次加密算法
2.DES-EDE3:3个不同的密钥, 加密-解密-加密
3.DES-EEE2:两个不同的密钥,k1,k2,k1,依次k1加密,k2加密,k1加密
4.DES-EDE2:两个不同的密钥,k1,k2,k1,依次k1加密,k2解密,k1加密
这里我们着重介绍第四种,DES-EDE2
同DES相比有如下特点:
1.3DES安全性高,密钥长度大于DES
2.3DES可抵抗中间相遇攻击
3.可向下兼容,我们设k2=k1,则密钥均为k1,上图中A过程加密后在B过程解密,最后在C过程又加密,相当于仅用k1加密一次,兼容了DES,解密同理
4.相比于DES效率低些
要求:1.效率比3DES高
2.至少和3DES一样安全,数据分组长度128bit
它有如下特点:
1.不属于Feistel结构,属于SP网络
2.加密,解密相似但不对称
3.支持128/32=Nb数据块大小
4.支持128/192/256(/32=Nk)密钥长度
5.结构简单速度快
什么是Feistel结构?
Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半
什么是SP网络结构?
在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用,S和P分别被称为混乱层和扩散层,主要起混乱和扩散作用
通过置换和替换迭代加密(最后一轮没有列混淆)