Source: https://perso.univ-rennes1.fr/dimitri.petritis/enseignement/crypt/exam-crypt-2017-12-19.pdf