Cryptography and network security - Stallings, William (Prentice Hall, 2003)