Practical Cryptography in Python Learning Correct Cryptography by Example - Nielson, Seth James; Nielson, Seth James; Monson, Christopher K. (Apress : Imprint: Apress, 2019)