I am currently reading through *Cryptography Engineering* 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?