‘壹’ 分组密码加密模式选择有哪些
分组密码工作模式的应用背景:多次使用相同的密钥对多个分组加密,会引发许多安全问题。为了应对不同场合,因而需要开发出不同的工作模式来增强密码算法的安全性。ECB特别适合数据较少的情况,对于很长的信息或者具有特定结构的信息,其大量重复的信息或固定的字符开头将给密码分析者提供大量的已知明密文对。若明文不是完整的分组,ECB需要进行填充。CBC(Cipher Block Chaining)由于加密算法的每次输入和本明文组没有固定的关系,因此就算有重复的明文组,加密后也看不出来了。为了配合算法的需要,有一个初始向量(IV)。与ECB一样有填充机制以保证完整的分组。CFB(Cipher Feedback)和OFB,CTR模式一样,均可将分组密码当做流密码(实际是将分组大小任意缩减)使用。
‘贰’ sm4中ECB加密密钥长度为什么可以是32个字节
SM4是一种分组密码算法,其分组长度为128位(即16字节,4字),密钥长度也为128位(即16字节,4字)。其加解密过程采用了32轮迭代机制(与DES、AES类似),每一轮需要一个轮密钥(与DES、AES类似)。加密过程分为两步,由32次轮迭代和1次反序变换组成。
SM4的解密过程与加密过程完全相同,也包括32轮迭代和一次反序变换。只是在轮迭代的时候,需要将轮密钥逆序使用。
SM4的 S 盒是一种以字节为单位的非线性代替变换,它的密码学作用是可以起到混淆的作用。 S 盒的本质是8位的非线性置换输入和输出都是8位的字节 。
‘叁’ ecb模式不同明文分组的加密可进行实时硬件实现速度快
咨询记录 · 回答于2021-11-03
‘肆’ DES和AES加密的ECB模式到底有多脆弱,不能在商业项目中使用吗 - PHP进阶讨论
破解是相对的,如果开锁的代价大于箱子里面的东西,就没有必要去开锁了每个算法都有其适用的地方的des比较简单,运算快速,对机器要求小aes可防止传错,且加密后,体积不会太大,可用于传输大量数据
‘伍’ 计算机网络原理中,比较常见的分组密码有哪3个
分组密码算法本身是为了使数据安全,但是如果多次使用相同的密钥对多个分组加密的话,会引发许多数据安全的问题。那么,为了能确保数据安全以及方便高效地使用分组密码,人们定义了很多分组密码的工作模式,以便于运用到不同环境当中的实际应用。而分组密码的主要工作模式分为
1、电码本模式ECB
2、密码分组链接模式CBC
3、输出反馈模式OFB
4、密码反馈模式CFB
5、计数器模式CTR。
‘陆’ 在DES加密里边,ECB和CBC有什么区别
一、优点不同:
ECB模式
1、简单;
2、有利于并行计算;
3、误差不会被传送;
CBC模式:
1、不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。
二、缺点不同:
ECB模式
1、不能隐藏明文的模式;
2、可能对明文进行主动攻击;
CBC模式:
1、不利于并行计算;
2、误差传递;
3、需要初始化向量IV
三、概念不同
1、ECB模式又称电子密码本模式:Electronic codebook,是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块,之后将每块使用相同的密钥单独加密,解密同理。
2、密码分组链接(CBC,Cipher-block chaining)模式,由IBM于1976年发明,每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量IV。
(6)分组算法ecb扩展阅读:
1976年,IBM发明了密码分组链接(CBC,Cipher-block chaining)模式。在CBC模式中,每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。
若第一个块的下标为1,则CBC模式的加密过程为:
Ci = Ek (P ⊕ Ci-1), C0 = IV.
而其解密过程则为:
Pi = Dk (Ci) ⊕Ci-1, C0 = IV.
CBC是最为常用的工作模式。它的主要缺点在于加密过程是串行的,无法被并行化,而且消息必须被填充到块大小的整数倍。解决后一个问题的一种方法是利用密文窃取。
注意在加密时,明文中的微小改变会导致其后的全部密文块发生改变,而在解密时,从两个邻接的密文块中即可得到一个明文块。因此,解密过程可以被并行化,而解密时,密文中一位的改变只会导致其对应的明文块完全改变和下一个明文块中对应位发生改变,不会影响到其它明文的内容。
‘柒’ 即使分组加密算法是安全的,为什么说采用ecb方式加密依然存在不安全性
加密算法在传输过程中就会有数据报文输出,输入,这个过程中被嗅探工具探知以后,在大数据服务器上进行解密算法, 算出后,就可进行拦截,伪造,等手法,让你不知不觉中招,
所以说没有那种加密算法是完全安全的,只有不停的更新算法,才能保证不被破解。这是一个长期的工作, 只有一些国际企业才有这种实力,长期进行加密算法更新,ps(国际常用的加密算法也就那么几种,自己网络搜搜)
‘捌’ 分组密码的算法要求
分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。 加密速度慢,错误扩散和传播。
分组密码将定长的明文块转换成等长的密文,这一过程在秘钥的控制之下。使用逆向变换和同一密钥来实现解密。对于当前的许多分组密码,分组大小是 64 位,但这很可能会增加。
明文消息通常要比特定的分组大小长得多,而且使用不同的技术或操作方式。这样的方式示例有:电子编码本(ECB)、密码分组链接(CBC)或密码反馈(CFB)。ECB 使用同一个密钥简单地将每个明文块一个接一个地进行加密;在 CBC 方式中,每个明文块在加密前先与前一密文块进行“异或”运算,从而增加了复杂程度,可以使某些攻击更难以实施。 “输出反馈”方式(OFB)类似 CBC 方式,但是进行“异或”的量是独立生成的。 CBC 受到广泛使用,例如在 DES(qv)实现中,而且在有关密码术的技术性方面的相应书籍中深入讨论了各种方式。请注意:您自己建立的 密码系统的普遍弱点就是以简单的形式来使用某些公开的算法,而不是以提供了额外保护的特定方式使用。
迭代的分组密码是那些其加密过程有多次循环的密码,因此提高了安全性。在每个循环中,可以通过使用特殊的函数从初始秘钥派生出的子密钥来应用适当的变换。该附加的计算需求必然会影响可以管理加密的速度,因此在安全性需要和执行速度之间存在着一种平衡。天下没有免费的午餐,密码术也是如此;与其它地方一样,应用适当方法的技巧中有一部分是源于对需要进行的权衡以及它们与需求平衡的关系如何的理解。
分组密码包括DES、IDEA、SAFER、Blowfish和 Skipjack — 最后一个是“美国国家安全局(US National Security Agency,NSA)”限制器芯片中使用的算法。
‘玖’ aes加密算法有多少种模式
一般的加密通常都是块加密,如果要加密超过块大小的数据,就需要涉及填充和链加密模式,文中提到的ECB和CBC等就是指链加密模式。这篇文档比较形象地介绍了AES加密算法中的一些模式转载过来。注意,还缺一种CTR的模式。
同时在文章的最后,贴出几对利用ECB and CBC模式得标准算法得到的码流串。
对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)