Cryptography and Coding - Smart, Nigel (Springer Berlin Heidelberg, 2020)