Applied cryptography Protocols,algorithms and source code in C - Schneier, Bruce (John Wiley and sons, 1996)