Jelaskan Desain dari Sandi Feistel

Jaringan Feistel menggunakan fungsi ronde, yaitu fungsi yang menerima dua masukan, blok data dan subkunci, serta mengembalikan satu keluaran yang berukuran sama dengan blok data. Pada tiap ronde, fungsi ronde dilakukan pada setengah data yang akan dienkripsi, lalu keluarannya dikenai operasi XOR dengan setengah data yang lain. Hal ini diulangi beberapa kali dalam jumlah yang tetap. Hasil akhirnya adalah data yang telah dienkripsi.

Keuntungan jaringan Feistel dibandingkan desain penyandian lain, misal jaringan substitusi–permutasi, adalah bahwa seluruh operasi dijamin dapat dibalik, yaitu hasil enkripsi dapat didekripsi, meski fungsi ronde tidak memiliki inversi. Fungsi ronde dapat dibuat serumit mungkin karena tidak harus memiliki inversi. Terlebih lagi, operasi enkripsi dan dekripsi sangat mirip, bahkan sama pada beberapa kasus, serta hanya membutuhkan pembalikan penjadwalan kunci. Karena ukuran kode atau rangkaian jaringan ini dapat dipotong setengahnya.