A block cipher是一种允许我们加密固定长度的块的算法。
他提供了一个加密函数E,可以通过使用密钥K将明文P转变成密文C。
block cipher函数
明文和密文的大小是相同的。大小有block cipher决定。
解密算法D,通过使用之前的加密密钥把密文C转变成原来的明文P。
解密D
加密解密全过程
。block cipher是对称加密的一个例子
这意味着相同的密钥用于加密和解密。
block cipher 就是一个置换,将一个块映射到另一个块。
密钥决定哪个块映射到哪个块。
(从数学上来说)
block的大小决定了有多少种不同种类的block。比如一个block是4 bit,那么就有16种可能的块存在。
所以也就是说如果有16个块,那么就有16!种映射关系存在,而具体哪种关系是由key决定。
AES, DES, 3DES
当前最普遍使用的block cipher是AES(Advanced Encryption Standard)。
与他的前辈DES相比,AES是在公开征求建议书之后,通过公开的、同行评审的竞争而被选中的。
目前还没有针对AES的实际攻击。
数据加密标准(DES)是被广泛使用的最古老的block cipher之一。
它不再被认为是安全的,主要是因为它的小密钥大小为56位。
它不应该在新系统中使用。在现代的硬件上,DES可以在不到一天的时间里被强力强制。
为了延长DES算法的寿命,以允许花很多钱开发的硬件重新使用的方式,人们使用3DES来实现:首先加密输入的方案 ,然后解密,然后再次加密:
3DES
即使使用block cipher,仍然存在一些尚未解决的问题。例如,我们只能发送非常有限的消息:块密码的块长度。显然,我们希望发送更大的消息,或者,理想情况下,发送不确定大小的流。











网友评论