Practical Cryptography in Python - Seth James Nielson, Christopher K. Monson (Springer, 2019)