A Feistel network (the design behind DES) splits a block into two halves L and R and runs identical rounds that never need to be invertible themselves — only the overall swap-and-XOR structure does:
L(i+1) = R(i)
R(i+1) = L(i) XOR F(R(i), K(i))
Here the 16-bit block is L8‖R8 (8 bits each). F rotates R left by 3 bits, XORs with the round key, substitutes each 4-bit nibble through a fixed S-box, then reverses the bit order:
F(R,K) = P( SBOX4( ROL3(R) XOR K ) )
K(i) = ROL8(masterKey, 3·i mod 8) XOR (i · 0x1B mod 256)
This 2D build renders the same bit-exact math two ways a 3D cube grid cannot: a pannable circuit schematic that shows every stage of the round pipeline as flowing signal, and a 16×16 Monte-Carlo matrix — for every possible flipped input bit (rows), how often each output bit (columns) actually flips across many random plaintexts. A well-mixed cipher pushes every cell in that matrix toward 50% within a handful of rounds.
- Circuit panel — drag to pan, scroll/pinch to zoom. Each column is one round; the highlighted column is the current step.
- Matrix panel — brighter cells mean that (input bit, output bit) pair flips together more often over the sampled trials. Independence of rows/columns from each other is exactly the avalanche property.
- Master key slider — the schedule that derives each round's key; changing it re-keys every round without touching the plaintext.
Real-world relevance: DES (1977) used exactly this L/R-swap structure with a 32-bit half-block and 16 rounds; 3DES, Blowfish and Twofish all extend the same idea. AES, by contrast, is a substitution-permutation network, not a Feistel network — an AES round updates the whole block at once instead of swapping halves.