I am currently reading through *[Cryptography Engineering](http://rads.stackoverflow.com/amzn/click/0470474246)* 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?