Cryptography and Network Security: Principles and Practice - William Stallinngs (Prentice Hall, 2003)