Cryptography and Network Security - William Stallings (Pearson Education, 2014)