Applied Cryptography: Protocols, Algorithms and Source Code in C - Schneier, Bruce (New York Wiley, 2015)