Source: http://x.heurtebise.free.fr/Enseignements/ATER/S4/Crypto/PDF/Crypto_CM_chap1.pdf