A Generic Algorithm for Efficient Key Recovery in Differential Attacks – and its Associated Tool (Lecture notes in computer science)