Feistel and non feistel ciphers
While googling I could find only feistel ciphers and didn't find any relevant information on开发者_运维百科 non-feistel ciphers. Can someone suggest me some good non-feistel ciphers?
And yes this is homework.
There's way more than Feistel ciphers. :)
The simple answers: No stream ciphers, such as rc4, are Feistel ciphers. No Public Key ciphers, such as RSA or El Gamal are Feistel ciphers.
And the perhaps-surprising counter-example: Rijndael (the new AES), despite being a block cipher, isn't Feistel.
If you're really interested in Cryptography, I strongly recommend reading Handbook of Applied Cryptography, freely available and significantly better than most undergraduate texts. Schneier's "Applied Cryptography" is decent enough, an excellent introduction, but doesn't get into as much detail as one might like.
Rijndael, Square, Serpent, IDEA, Noekeon, etc. Wikipedia has a list of blockciphers, and the structure (Feistel, Feistel-like (unbalanced Feistel, e.g.), Substitution-Permutation network (SPN), etc. is mentioned in each lemma. SPN and Feistel are the most common, as the design makes it obvious that the function will be invertible. Designs other than these are rarer, but do occur. All the ciphers in the standards (like SSL/TLS, SSH, etc.) are of one of these 2 types.
I suggest putting in a little more effort. Even a cursory on-line search turns up definitions of "Feistel cipher", as well as descriptions of a wide variety of cipher procedures- It should not be too hard to tell which are clearly not Feistel ciphers.
I further recommend finding a good book on the subject, such as Bruce Schneier's "Applied Cryptography" (either edition).
精彩评论