Source: https://www.amsi.org.au/teacher_modules/pdfs/Maths_delivers/Encryption5.pdf