Practical cryptography in Python : learning correct cryptography by example - Nielson, Seth James; Monson, Christopher K. (Apress, 2019)