Applied Cryptography: Protocols, Algorithms, and Source Code in C