Applied cryptography: protocals,algorithms and source code in C - Schneier, Bruce (Singapore John Wiley & Sons, 1996)