Feistel是将乘积加密法导入区块加密法的先趋，到目前为止，许多密码系统还是引用Feistel的基本架构。他的基本原理是利用XOR(⊕)的的基本特性，如下：
加密与解密都是相同的编码器，亦是，明文经由编码器处理后，则输出为密文；密文再经过编码器处理后，即还原明文。
不受取代装置F函数的影响，亦是，无论F函数为任何功能，都不会影响编码器还原明文的功能。
F函数取有取代加密的功能，越复杂则明文与密文之间的复杂度越高，亦是，越F函数越复杂，由密文猜测出明文越困难。
它将所欲编码的资料(64bits)分割成两群：右边(R，32bits)与左边(L，32bits)，再交叉换位，因此，也具有换位加密的功能。
图2-6仅使用一支钥匙加密或解密处理，多支钥匙连续处理也如同此道理，但输出转换仅会在最后支钥匙才会出现。左边是加密编码处理，它将n位元的明文区块（一般都64bits）分割成为左右两个子区块（n/2位元，32位元）：LEi和REi（{LEi||REi}，其中||符号表示排列的意思）；再使用钥匙Ki+1对左右子区块加密，而得到另外两个子区块LEi+1和REi+1。
经过该支钥匙加密编码后所得到为{LEi+1||REi+1}，如再经过输出转换（左右区块交换位置），则密文输出为C={REi+1||LEi+1}。上述中函数f(Ki+1，REi)表示Ri使用钥匙Ki+1加密，F()函数表示一个特殊处理的取代加密器，然而取代函数是依照钥匙来变化。另外，⊕符号表示Module-2的加法（XOR的运算）。
经过解密编码后输出为{REi||LEi}，再经过输出转换得到M={LEi||REi}，其与图2-7左边明输入相同，因此，Feistel编码系统具有加密与反向解密的功能。另一个更直得注意的重点是，编码过程中，不受加密钥匙与F()函数所影响。有就是说，不论钥匙是何值，编码函数F为何，Feistel编码皆具有加密与反向解密的功能。如以『取代加密法』与『换位加密法』概念而言，图2-7中将明文分割成左右两段并交换处理，即是『换位』；另外，经由F(Ki+1，REi)函数处理，即是『取代』处理。
我们用一个范例来验证Feistel架构是否可行。假设M={4,8}、ki=6、F=⊕。则加密过程为：
Feistel的构想是如能利用图2-7的加密程序，重复运算几次，并且每一次都给予不同的子钥匙，便能完全打散资料的关联性，达到复杂加密的效果。图2-8为Feistel密码系统的架构图，我们将重复加密的次数（假设16次），以相同的加密方块连结画出来；如此，就可以看出明文是经过多个加密方块连续的运算出密文来；值得一提的是，加密与解密均使用同样的演算法，但子钥匙分配的次序颠倒。
Feistel编码系统的运作程序是通讯双方皆拥有一把相同的秘密钥匙K，再利用某一钥匙产生函数，将此钥匙制作出多把子钥匙（Ki，i=1,2,..,16）。传送端将讯息利用子钥匙由K1,K2,….,k16，连续编码后再经由输出转换产生密文，发送给接收端。接收端收到密文后，也将秘密钥匙K，经过相同的钥匙产生函数，制造出相同的子钥匙序列，利用相同的Feistel编码器，将子钥匙序列倒过来，由K16,K15,…,k1，连续编码后再经过输出转换解码回原明文。
自从Feistel发表取代与重排所建立的『乘积加密法』之后，20多年来许多密码学专家，藉其基本架构发展出各种形式的加密演算法，譬如DES、IDEA等等。图3-1为秘密钥匙演算法的基本模型，其运作程序是：首先将输入的明文区块经过『初始排列』，使其适合接下来的加密运算；接着，为了增强明文与密文之间的复杂度（扩散能力），将明文经过多次的重覆排列（如DES为16次排列），不同的演算法都有各自的排列格式。另一方面，为了增加密文与钥匙之间的复杂度（混淆能力），首先将加密钥匙转换成若干个子钥匙（如DES为16把子钥匙），每一子钥匙作为加密函数的关键性输入，加密函数是将明文区段与子钥匙之间，做某些逻辑运作与替代转换的功能，也是加密演算法最主要的精髓所在，经由许多密码学专家研究出各种不同的操作方法，延伸出来许多加密验算法的规范。然而，明文（或称演算中的密文）重新排列与加密函数混合重覆执行多次，每次输入不同的子钥匙，来增加『混淆』与『扩充』的能力。密文经过多次的『取代-移位』之后，再经过最后的『输出排列』使其回復原来明文的格式，也就是说，『输出排列』是『初始排列』的反转换函数。
在实作或研究秘密钥匙演算法方面，可由图2-8的基本模型中设计及更改各种参数，来增加演算法的复杂度（或强度），相关参数如下：
区块大小：加密较大区块的资料，可增加密文的复杂度，但也会增加解密的时间。新的演算法多半提供128或192bits（DES为64bits），甚至可以使用变动长度来加密。
初始排列：一般初始排列的功能是为了配合编码处理，较常用的做法是将明文区块区分为若干个群组（DES为两群组），由这些群组作为重新排列的对象；至于如何将明文区块划分为群组的选取方法，各种演算法皆有其独特的技巧。
排列格式：一般情况，排列格式即是将上一回合加密的结果，重新排列（DES为左右交叉排列）后再给予本次加密（重复性），如此更可增加演算法的复杂度。
编码函数：这是各种演算法的精髓所在，它是将每个输入位元以取代方式转换成其它位元，而在替代过程当中，每一位元也会与子钥匙的相对应位元之间，做一些逻辑运算（如XOR或AND）。如何设计它，即是许多延伸密码系统的关键因素。
钥匙长度：较长的钥匙较为安全（抗拒暴力攻击），但相对的，演算法的复杂度就越高，DES所採用的56位元长度，其安全性已岌岌可危，128、192、256位元长度渐受青睐。
子钥匙的数量：由加密钥匙（或称主钥匙）所计算产生子钥匙数目的多寡，这牵涉到编码处理的次数，基本上，每回合的编码处理都需要一组子钥匙（一把或多把）。
重覆回合次数：重覆次数越多，所产生的密文也就越复杂（强度也就越高），但相对增加解码时间。
输出转换：一般都是『初始转换』的反函数，也就是，将相对应的位元回覆原来的位置。
以上是秘密钥匙演算法的基本参数，随着不同的需求，可由基本模型中演变出各式各样的演算法。