块加密⼯作模式ECB、CBC、PCBC、CFB、OFB、CTR
块加密
块加密,英⽂Block Cyper,⼜称分组加密,是⼀种常见的对称加密,具有代表性的块加密有DES,AES,3DES等。块加密的⼯作模式允许使⽤同⼀个分组密码密钥对多于⼀块的数据进⾏加密,并保证其安全性。
ECB模式
⼜称电⼦密码本模式:Electronic codebook,是最简单的块密码加密模式,加密前根据加密块⼤⼩(如AES为128位)分成若⼲块,之后将每块使⽤相同的密钥单独加密,解密同理。
龙岩英语培训
缺点在于同样的明⽂块会被加密成相同的密⽂块;因此,它不能很好的隐藏数据模式。在某些场合,这种⽅法不能提供严格的数据保密性,因此并不推荐⽤于密码协议中。下⾯的例⼦显⽰了ECB在密⽂中显⽰明⽂的模式的程度:该图像的⼀个位图版本(左图)通过ECB模式可能会被加密成右图。merry
复韵母都有什么CBC模式harm
密码分组链接(CBC,Cipher-block chaining)模式,由IBM于1976年发明,每个明⽂块先与前⼀个密⽂块进⾏异或后,再进⾏加密。在这种⽅法中,每个密⽂块都依赖于它前⾯的所有明⽂块。同时,
为了保证每条消息的唯⼀性,在第⼀个块中需要使⽤初始化向量IV。
CBC是最为常⽤的⼯作模式。它的主要缺点在于加密过程是串⾏的,⽆法被并⾏化,⽽且消息必须被填充到块⼤⼩的整数倍。在加密时,明⽂中的微⼩改变会导致其后的全部密⽂块发⽣改变,⽽在解密时,从两个邻接的密⽂块中即可得到⼀个明⽂块。因此,解密过程可以被并⾏化,⽽解密时,密⽂中⼀位的改变只会导致其对应的明⽂块完全改变和下⼀个明⽂块中对应位发⽣改变,不会影响到其它明⽂的内容。
PCBC
填充密码块链接(PCBC,Propagating cipher-block chaining)或称为明⽂密码块链接(Plaintext cipher-block chaining),是⼀种可以使密⽂中的微⼩更改在解密时导致明⽂⼤部分错误的模式,并在加密的时候也具有同样的特性。
初一英语语法练习题
darkid>歌舞青春男女主角
对于使⽤PCBC加密的消息,互换两个邻接的密⽂块不会对后续块的解密造成影响。
CFB
密⽂反馈(CFB,Cipher feedback)模式与ECB和CBC模式只能够加密块数据不同,可以将块密码变为⾃同步的流密码;CFB的解密过程⼏乎就是颠倒的CBC的加密过程。rail
注意:CFB、OFB和CTR模式中解密也都是⽤的加密器⽽⾮解密器。
CFB的加密⼯作分为两部分:
1. 将⼀前段加密得到的密⽂再加密;
2. 将第1步加密得到的数据与当前段的明⽂异或。
由于加密流程和解密流程中被块加密器加密的数据是前⼀段密⽂,因此即使明⽂数据的长度不是加密块⼤⼩的整数倍也是不需要填充的,这保证了数据长度在加密前后是相同的。
OFB
OFB模式(输出反馈:Output feedback),OFB是先⽤块加密器⽣成密钥流(Keystream),然后再将密钥流与明⽂流异或得到密⽂流,解密是先⽤块加密器⽣成密钥流,再将密钥流与密⽂流异或得到明⽂,由于异或操作的对称性所以加密和解密的流程是完全⼀样的。
inuk
OFB与CFB⼀样都⾮常适合对流数据的加密,OFB由于加密和解密都依赖与前⼀段数据,所以加密和解密都不能并⾏。
CTR
CTR模式(Counter mode,CM)也被称为ICM模式(Integer Counter Mode,整数计数模式)和SIC模式(Segmented Integer Counter),与OFB相似,CTR将块密码变为流密码。它通过递增⼀个加密计数器以产⽣连续的密钥流,其中,计数器可以是任意保证长时间不产⽣重复输出的函数,但使⽤⼀个普通的计数器是最简单和最常见的做法。
CTR模式的特征类似于OFB,但它允许在解密时进⾏随机存取。由于加密和解密过程均可以进⾏并⾏处理,CTR适合运⽤于多处理器的硬件上。
注意图中的“nonce”与其它图中的IV(初始化向量)相同。IV、随机数和计数器均可以通过连接,相加或异或使得相同明⽂产⽣不同的密⽂。
少儿英语读物