https://1library.net/document/q2njj716-public-key-cryptography-and-rsaweek-cryptography.html