斯坦福大学密码学公开课——Block Ciphers (1)

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也是如此。

你可能感兴趣的:(斯坦福大学密码学公开课——Block Ciphers (1))