Understanding Cryptography: A Textbook For Students And Practitioners 2010