https://alandroidnet.com/related/number theory and cryptography