În criptografie, un cifru Feistel este o structură simetrică utilizată în construcția cifrului bloc, denumită astfel după criptograful german Horst Feistel de la IBM; este, de asemenea, cunoscută sub numele de rețea Feistel. Un set mare de blocuri de cifrare utilizează această schemă, inclusiv Data Encryption Standard

Structura Feistel are avantajul că operațiunile de criptare și de decriptare sunt foarte asemănătoare, chiar identice în unele cazuri, necesitând doar o inversare a programului de chei. Prin urmare, dimensiunea codului sau a circuitelor necesare pentru implementarea unui astfel de cifru este aproape înjumătățită.

Construcția Feistel este de natură iterativă, ceea ce face mai ușoară implementarea criptosistemului în hardware.

Rețelele Feistel și construcțiile similare sunt cifrări de produs și, prin urmare, combină mai multe runde de operații repetate, cum ar fi:

  • Bit-shuffling (adesea numite cutii de permutare sau cutii P)
  • Funcții neliniare simple (adesea numite cutii de substituție sau cutii S)
  • Amestecul liniar (în sensul algebrei modulare) folosind XOR pentru a produce o funcție cu cantități mari de ceea ce Claude Shannon a descris ca fiind "confuzie și difuzie".

Amestecul de biți creează efectul de difuzie, în timp ce substituția este utilizată pentru confuzie.