In crittografia, un cifrario Feistel è una struttura simmetrica utilizzata nella costruzione di cifrari a blocchi, che prende il nome dal crittografo tedesco della IBM Horst Feistel; è anche comunemente noto come rete Feistel. Un'ampia serie di cifratori a blocchi utilizza lo schema, compreso lo standard di cifratura dei dati

La struttura del Feistel ha il vantaggio che le operazioni di cifratura e decifratura sono molto simili, anche identiche in alcuni casi, e richiedono solo un'inversione del programma delle chiavi. Pertanto la dimensione del codice o della circuiteria necessaria per implementare un tale cifrario è quasi dimezzata.

La costruzione di Feistel è di natura iterativa, il che rende più facile l'implementazione del sistema di criptosistema nell'hardware.

Le reti Feistel e costruzioni simili sono cifrari di prodotti, e quindi combinano più cicli di operazioni ripetute, come ad esempio:

  • Bit-shuffling (spesso chiamate scatole di permutazione o P-box)
  • Semplici funzioni non lineari (spesso chiamate scatole di sostituzione o S-box)
  • Miscelazione lineare (nel senso di algebra modulare) utilizzando XOR per produrre una funzione con grandi quantità di ciò che Claude Shannon ha descritto come "confusione e diffusione".

Il bit shuffling crea l'effetto di diffusione, mentre la sostituzione viene utilizzata per creare confusione.