Network security and cryptography - Menezes, Bernard (Cengage Learning, 2010)