Applied cryptography: protocols, algorithms, and source code in C