密码学中,Feistel密码是一种用于构造块密码的对称结构,以德国IBM密码学家Horst Feistel的名字命名,它也通常被称为Feistel网络。一大套块密码都使用了该方案,包括数据加密标准的

Feistel结构的优点是加密解密操作非常相似,甚至在某些情况下完全相同,只需要颠倒一下密钥表。因此,实现这种密码所需的代码或电路的大小几乎减半。

Feistel结构具有迭代性,这使得在硬件中实现密码系统更加容易。

费斯特尔网络和类似的构造都是产品密码,所以结合了多轮重复运算,如。

  • 洗箱
  • 简单的非线性函数(通常称为替换盒或S盒
  • 线性混合(在模块代数的意义上)使用XOR来产生一个具有大量Claude Shannon所描述的"混淆和扩散"的函数。

位洗牌会产生扩散效应,而替换则是用来混淆的。