Introduction
Voici différents algorithmes en lien avec le gouvernement, comme par exemple le numéro d'assurance sociale.
NAS
Abréviation de Numéro d'Assurance Sociale. Système de code par trois groupes de trois chiffres permettant l'identification d'un citoyen au Canada. Bien qu'il existe des pages mentionnant le NAS et son algorithme comme la page de Wikipedia suivante, voir le lien http://fr.wikipedia.org/wiki/Numéro_d'assurance_sociale, je me suis efforcé d'écrire à ma façon l'algorithme permettant d'y arriver. L'algorithme de validation pour l'authentification de se code est le suivant :
MODULE NAS Correcte ( valeur message ) Nombre ← ( ( Message [ 1 ] - '0' ) x 1000 + ( Message [ 4 ] - '0' ) x 100 + ( Message [ 6 ] - '0' ) x 10 + ( Message [ 9 ] - '0' ) ) / 2 Chaine1 ← Nombre Intercal ← ( Message [ 0 ] - '0' ) x 1000 + ( Message [ 2 ] - '0' ) x 100 + ( Message [ 5 ] - '0' ) x 10 + ( Message [ 8 ] - '0' ) Chaine2 ← Intercal N1 ← 0 BOUCLE POUR I ← 1 JUSQU'A Longueur Chaine1 N1 ← N1 + ( Chaine1 [ I ] - '0' ) FIN BOUCLE POUR N2 ← 0 BOUCLE POUR I ← 1 JUSQU'A Longueur Chaine2 N1 ← N1 + ( Chaine2 [ I ] - '0' ) FIN BOUCLE POUR N3 ← N1 + N2 SI N3 Modulo 10 <> 0 ALORS N3 ← ( ( N3 / 10 ) + 1 ) x 10 FIN SI Retourne ( N3 - ( N1 + N2 ) ) = ( Message [ 10 ] - '0' ) |