I am currently reading through *[Cryptography Engineering][1]* and came across this definition of block cipher security: > Definition 2 An attack on a block cipher is a non-generic method of > distinguishing the block cipher from an ideal block cipher. Reading further, I find myself struggling to understand what the authors mean by a "non-generic attack" (and, conversely, a "generic attack"), which may be explained by what they say near the end of the relevant section: > That's why nobody has been able to formalise a definition of generic > attacks and block cipher security. Would anyone like a shot at attempting a definition of a generic attack and of a non-generic attack, particularly with respect to block ciphers? [1]: http://www.amazon.com/Cryptography-Engineering-Principles-Practical-Applications/dp/0470474246