What is Block Cipher
下面抛出Block Cipher的具体定义:
In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called a block, with an unvarying transformation that is specified by a symmetric key.
其中,block cipher具有以下几条性质:
- 输入和输出的空间是一致的
- 算法是确定的( deterministic )
- 对于每一个加密算法 来说,都存在一个逆过程
这里有两个经典的例子
- 3DES: n = 64 bits, k = 168 bits;
- AES: n = 128 bits, k = 128,192,256 bits;
系统框图如下:
Architecture of Block Cipher
在这里,原来的伪随机函数(PRF)就变成了伪随机排列(Pseudo Random Permutation,PRP)。它定义在 (K, X)空间中,,并且满足条件:
- 算法是确定的( deterministic );
- 函数E(k,)是一对一的;
- 对于每一个加密算法 来说,都存在一个逆过程 ;
观察PRP和PRG不难得出,PRP是伪随机函数的一种特殊的形式,其中满足和能够做逆变换。
直观的来讲,如果伪随机函数(PRF)是安全的,那么它就应该和真正随机函数是不可分辨的。按照现在攻击者的算力,大概率无法辨认这两种函数,便称为不可辨认性。同理,PRP也是如此。
网友评论