Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Feistel cipher
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Design== A Feistel network uses a ''round function'', a function which takes two inputs{{snd}} a data block and a subkey{{snd}} and returns one output of the same size as the data block.<ref>{{cite book |title=Handbook of Applied Cryptography |first1=Alfred J. |last1=Menezes |first2=Paul C. van |last2=Oorschot |first3=Scott A. |last3=Vanstone |edition=Fifth |year=2001 |page=[https://archive.org/details/handbookofapplie0000mene/page/251 251] |publisher=Taylor & Francis |isbn=978-0849385230 |url-access=registration |url=https://archive.org/details/handbookofapplie0000mene/page/251 }}</ref> In each round, the round function is run on half of the data to be encrypted, and its output is XORed with the other half of the data. This is repeated a fixed number of times, and the final output is the encrypted data. An important advantage of Feistel networks compared to other cipher designs such as [[substitution–permutation network]]s is that the entire operation is guaranteed to be invertible (that is, encrypted data can be decrypted), even if the round function is not itself invertible. The round function can be made arbitrarily complicated, since it does not need to be designed to be invertible.<ref>{{cite book |last=Schneier |first=Bruce |date=1996 |title=Applied Cryptography |location=New York |publisher=John Wiley & Sons |isbn=0-471-12845-7}}</ref>{{rp|465}} <ref name="stinson">{{cite book |first=Douglas R. |last=Stinson |date=1995 |title=Cryptography: Theory and Practice |location=Boca Raton |publisher=CRC Press |isbn=0-8493-8521-0}}</ref>{{rp|347}} Furthermore, the [[encryption]] and [[decryption]] operations are very similar, even identical in some cases, requiring only a reversal of the [[key schedule]]. Therefore, the size of the code or circuitry required to implement such a cipher is nearly halved. Unlike substitution-permutation networks, Feistel networks also do not depend on a substitution box that could cause timing side-channels in software implementations.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)