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