Source: http://perso.citi.insa-lyon.fr/afraboul/imsi/algo-imsi-2.pdf