Vous êtes sur la page 1sur 19

Tle S - TD M.

Delgado

I Les Codes-Barres
Les codes-barres sont omniprsents dans la vie courante. Ils trouvent leurs applications dans des domaines aussi varis
que la gestion des prts dune bibliothque, les caisses enregistreuses lecture optique ou le contrle de la production dans
lindustrie. Les codes EAN 13 (European Article Numbering 13 chiffres) sont des codes-barres utiliss dans le monde entier
sur lensemble des produits de grande consommation. Ils comportent 13 chiffres :
les deux premiers chiffres correspondent au pays de provenance du produit ou une classe normalise de produits ;
les quatre chiffres suivants correspondent au codage du fabriquant ;
les six suivants forment le numro darticle ;
le treizime chiffre est une cl de contrle calcule en fonction des douze prcdents.
La cl de contrle sert la vrification de la bonne saisie du code. Nous allons nous intresser son calcul.
Dfinition : la cl R est calcule de telle sorte que rsultat de la formule ci-dessous soit un multiple de 10.

somme des chiffres de rangs impairs + 3 somme des chiffres de rangs pairs + R

Exemple : (9 + 8 + 0 + 3 + 0 + 9) + 3 (7 + 8 + 7 + 4 + 0 + 7) = 29 + 3 33 = 128 on pose donc R = 2 pour obtenir 130 qui est un


multiple de 10.
ISBN 9788073400972

9 788073 400972

1. Dterminer la cl R associe aux code-barres suivant :

(a) 505008349443R (b) 167234567890R (c) 761234567890R

2. Le systme de lecture optique dune caisse enregistreuse tant dfectueux, un employ doit saisir les codes la main.
Parmi les codes saisis, lesquels comportent coup sr une erreur ?

(a) 9 782940 199617 (b) 9 782940 199167 (c) 3 782940 199617

3. Toutes les erreurs de saisie peuvent-elles tre dtectes grce la cl de contrle ?

1
Tle S - TD M. Delgado

II Ensemble des diviseurs


1) Partie entire

Dfinition : pour tout rel x, il existe un unique entier relatif n tel que n x < n + 1. Lentier n est appel la partie entire de
x et est not E (x).
Remarque : la partie entire dun rel est donc lentier relatif qui lui est directement infrieur.
Exemples : E (10, 5) = 10 ; E (5) = 5 ; E (2, 3) = 3.

2) Recherche des diviseurs


Pour trouver tous les diviseurs dun entier n 2, on Diviseurs Diviseurs
commence crire dans deux colonnes 1 et n puis on teste 1 120
si les nombres partir de 2 sont diviseurs de n en sarrtant 2 60
lorsque de nombre de la colonne de gauche est plus petit 3 40
que la colonne de droite. Pour 120, cela donne : 4 30
... ...

1. Complter le tableau prcdent et tablir ainsi la liste de tous les diviseurs de 120.
2. Ecrire un algorithme suivant ce procd et le programmer.
3. On considre lalgorithme suivant :

Variables : N , K , I des entiers L 1 (1) L 1 (2) L 1 (3) L 1 (4) L 1 (5) ...


L 1 , L 2 des listes Liste 1
Initialisation : Saisir N L 2 (1) L 2 (2) L 2 (3) L 2 (4) L 2 (5) ...
0K
Liste 2
1I
p
Tant que I N faire (a) A laide du tableau suivant, appliquer lalgorithme
Traitement : :
N N prcdent avec N = 120.
Si E = alors : p
I I N = 120 N = ...
K +1 K
K I
I L 1 (K )
N
L 2 (K )
I
I +1 I
Pour I allant de 1 K faire :
L 2 (K I + 1) L 1 (K + I ) (b) Programmer cet algorithme sur ordinateur ou sur
Sortie : Afficher L 1 calculatrice.

Remarque : il nest pas ncessaire dutiliser des


Remarque : L 1 et L 2 sont des listes de nombres que lon listes, on peut simplement afficher les diviseurs au
peut schmatiser comme ci-contre. fur et mesure.

4. On peut aussi utiliser un tableur : vous de continuer la programmation.


A B C ...
1 Diviseurs Nombre ?
2 =1 =SI(ENT($C$2/A2)=$C$2/A2, ... , ... )
3 =A1+1
...
5. Donner tous les diviseurs de 148, 256 et 843.

2
Tle S - TD M. Delgado

III Division euclidienne


Pour faire comprendre la division dun entier naturel 32-5 = 27
par un entier naturel non nul lcole primaire, on pro- 27-5 = 22
cde par soustractions successives. Cest dire que si lon 22-5 = 17
veut diviser 32 par 5, on soustrait 5 32 autant de fois que 17-5 = 12
cela est possible. On a ainsi enlev 6 fois 5 et il reste 2, on 12 - 5 = 7
peut donc crire que 32 = 5 6 + 2. 7-5=2

1. crire un algorithme permettant de trouver le quotient q et le reste r de la division dans N de a par b 6= 0 par cette
mthode. Tester cet algorithme avec :

(a) 32 divis par 5 ; (b) 12 divis par 13 ; (c) 1412 divis par 13.

2. Amliorer cet algorithme de faon ce quil puisse trouver le quotient q et le reste r de la division dun entier relatif a
par un entier naturel b 6= 0.
3. Programmer lalgorithme et le tester avec -114 divis par 8.
4. Programmer plus simplement la division euclidienne sur un tableur en utilisant la fonction "Partie Entire".

Remarque : sur un tableur la fonction MOD(,) donne directement le reste.

IV Numro INSEE
Toute personne ne en France mtropolitaine et dans les dpartements doutre-mer est inscrite au rpertoire national
didentification des personnes physiques (RNIPP). Linscription ce rpertoire entrane lattribution du numro dinscrip-
tion au rpertoire (NIR) par lI.N.S.E.E. (Institut National des Statistiques et des Etudes Economiques). Ce numro est utilis
notamment par les organismes dassurance maladie pour la dlivrance des "cartes vitales". Le NIR est communment appel
"numro de scurit sociale" ou "numro INSEE". Ce numro est constitu de 15 chiffres. En lisant de gauche droite :
le premier chiffre est 1 sil sagit dun homme et 2 sil sagit dune femme ;
les deux chiffres suivants dsignent les deux derniers chiffres de lanne de naissance ;
les deux chiffres suivants dsignent le mois de naissance ;
les cinq chiffres suivants dsignent le lieu de naissance : en gnral, les deux chiffres du numro de dpartement de
naissance suivis des trois chiffres rpertoriant la commune de naissance ;
les trois chiffres suivants dsignent le numro dinscription sur le registre dtat civil ;
les deux chiffres suivants rsultent dun calcul servant dtecter une erreur de saisie.
1. Quel sera le numro de scurit sociale dun garon n le 26 juillet 2011 dans le dpartement de Seine-et-Marne (77)
dans la commune de Meaux (284) et enregistr au registre des naissances de ltat civil sous le numro 136 ?
2. On considre les quatre numros de scurit sociale suivants :

2 77 08 44 109 048 91 1 16 10 17 192 162 26 2 26 04 29 189 222 66 votre numro

Calculer le reste r de la division euclidienne des 13 premiers chiffres des numros de scurit sociale prcdents par
97 puis calculer 97 r . Que constatez-vous ?
3. Parmi les numros de scurit sociale suivants, dterminer ceux qui ne sont pas corrects :

2 85 07 86 183 084 15 2 85 07 86 183 048 15 2 85 07 86 183 049 15

Remarque : ce systme ne permet pas de dceler toutes les erreurs mais il dtecte les erreurs les plus courantes.

3
III. Les faiblesses du cryptage mono-alphabtique : Lanalyse frquentielle

Lanalyse frquentielle consiste examiner la frquence des lettres employes dans un message chiffr. Cette mthode
Tle S - TD M. Delgado
est base sur le fait que, dans chaque langue, certaines lettres ou combinaisons de lettres apparaissent avec une certaine
frquence.

V Le code Csar
Exemple : Le tableau suivant donne les frquences dapparition en % des lettres en franais. La rpartition des frquences obtenues
peut tre utilise pour dcrypter
Le Chiffre de Csar un
est message cod.
la mthode de cryptographie la plus ancienne communment admise par lhistoire. Il est bas
sur une substitution mono-alphabtique (chaque lettre est code chaque fois par une lettre et toujours la mme). Le texte
chiffr sobtient en dcalant chaque lettre dun nombre fixe de rangs dans lordre de lalphabet. Pour les dernires lettres, on
reprend au dbut. Il sagit dune permutation circulaire de lalphabet.
Exemple : si le dcalage est de 3 rangs, on dit que la cl est 3. On remplace A par D, B par E et ainsi jusqu W qui devient Z
puis X devient A etc...

Exercice Outil de cryptage


On peut fabriquer une Roue pour dchiffrer les messages cods avec le chiffre de Csar. On dcoupe deux cercles sur
1) Calculer, dans un autre tableau, les frquences de chaque lettre du message cod ci-dessous.
lesquels on inscrit toutes les lettres de lalphabet. Dsormais, si on veut transcrire un cryptographe o lalphabet a gliss de
BKSMAMZCZMTFY KF de
19 rangs, il suffit OKATOCFZ
mettre leZHKY CYZIAMKIYKUKFZ
A et le T en face lun deAK UKYYCLK
lautre et onATOK
peutRTIY CRKPleBHCFADM
traduire message. IF XCY OKAMYMB RKHY SC
YTSIZMTF BMFCSK OCFY AKZZK CAZMRMZK UCZDKUCZMGIK CI SCX
1. Coder le mot CHAMPION avec la cl 13.
2) En observant les correspondances entre les deux tableaux, dcoder le message.
2. Avec la mme cl de cryptage, crypter votre prnom.
3. dcoder le message ci-dessous, chiffr par la mthode de Csar avec la cl 9.
LQDLTWXAARBLXWWJRCUJMNAWRNANMNLRVJUNMNYR
4. Programmer le codage de Csar avec loutil qui vous semble le plus appropri.

4
Tle S - TD M. Delgado

VI Le codage Affine
A chaque lettre est associe un nombre entier n selon son rang dans lalphabet, de 0 pour la lettre A 25 pour la lettre Z.
Deux nombres entiers a et b sont choisis comme cls. Au nombre n de dpart, on associe le nombre m = an + b. Ce nombre
m ntant pas toujours compris entre 0 et 25, il ne permet pas de chiffrer une lettre. Pour rsoudre ce problme, le codage se
fait en associant au nombre n de dpart le nombre entier p, reste de la division euclidienne de m par 26. Puis on retranscrit
p en lettres.
Dfinition : la fonction f (x) = ax + b est appel fonction de codage.
Exercice 1 : par exemple, si on prend et a = 3 et b = 7. La lettre X est remplace par n = 23, on a m = 3 23 + 7 = 76. Or 76 nest
pas compris entre 0 et 25, on pose alors la division de 76 par 26 : 76 = 26 2 + 24. Donc le reste de la division euclidienne de
76 par 26 est p = 24. Or 24 correspond la lettre Y. Donc, on code X par Y.

Lettre A B C D E F G H I J K L M N
n 0 1 2 3 4 5 6 7 8 9 10 11 12 13
m
p
Lettre code
Lettre O P Q R S T U V W X Y Z
n 14 15 16 17 18 19 20 21 22 23 24 25
m 76
p 24
Lettre code Y

1. Complter sans justifier le reste du tableau.


2. Coder votre prnom.
3. Dcrypter ce message :
DPTOOTTJMOHQFWWTGTUNTTUMGTPUQFHRTMGTTMPUGHBXUGTAXUJTOTQXPKOT

Exercice 2 : la fonction de codage est dfinie par le fonction f dfinie par f (x) = 11x + 8
1. Coder la lettre W.
2. Le but de cette question est de dterminer la fonction de dcodage.
(a) Montrer que pour tous nombres entiers relatifs x et j , on a 11x j [26] si et seulement si x 19 j [26].
(b) En dduire que la fonction de dcodage est f 1 (y) = 19y + 4.
(c) Dcoder la lettre L.

Exercice 3 : La fonction de codage est dfinie par la fonction f telle que f (x) = 21x + 11.
1. Coder le mot INFINI.
2. On cherche la fonction de dchiffrage.
(a) Dmontrer que pour tous relatifs x et z, on a : 21x z[26] si et seulement si x 5z[26].
(b) En dduire que la fonction de dcodage est f 1 (y) = 5y + 23.
(c) Dcoder le message LDXUXR.

Exercice 4 : on a reu le message suivant JWPNWMRCFWMY. On sait que le chiffrement est affine et que la lettre E est code
par la lettre E et que la lettre J est code par la lettre N . Soit la fonction affine f dfinie par f (x) = ax + b o a et b sont des
entiers naturels compris entre 0 et 25.

4a + b 4 [26]
1. Dmontrer que a et b vrifient le systme suivant .
9a + b 13 [26]
2. (a) Dmontrer que 5a 9[26], puis que a 7[26].
(b) En dduire que b 2[26] et que f est dfinie par f (x) = 7x + 2.
(c) Dmontrer que pour tous relatifs x et z, on a : 7x z[26] si et seulement si x 15z[26].
(d) En dduire que la fonction de dcodage est f 1 (y) = 15x + 22.
(e) Dcoder le message.

5
Tle S - TD M. Delgado

VII Chiffrement de Hill


Exercice 1 : Inverse de 23 modulo 26
On considre lquation (E ) : 23x 26y = 1, o x et y dsignent deux entiers relatifs.
1. Vrifier que le couple (9; 8) est solution de lquation (E ).
2. Rsoudre alors lquation (E ).
3. En dduire un entier a tel que 0 a 25 et 23a 1[26].

Exercice 2 : Chiffrement de Hill


Le chiffrement de Hill a t publi en 1929. Cest un chiffre polygraphique, cest dire quon ne chiffre pas les lettres les
unes aprs le autres, mais par "paquets". On prsente ici un exemple "bigraphique", cest dire que les lettres sont regroupes
deux deux.
Etape 1 : chaque lettre est remplace comme dhabitude par un entier de 0 25 (A par 0, B par 1, etc.). On regroupe les
lettres par 2. On obtient des couples dentiers (x 1 ; x 2 ) o x 1 correspond la premire lettre et x 2 correspond la deuxime
lettre.
y 1 11x 1 + 3x 2 [26]
Etape 2 : chaque couple (x 1 ; x 2 ) est transform en (y 1 ; y 2 ) tel que (S 1 ) avec 0 y 1 25 et
y 2 7x 1 + 4x 2 [26]
0 y 2 25.
Etape 3 : chaque couple (y 1 ; y 2 ) est transform en un couple de deux lettres en utilisant la correspondance de ltape 1.
On regroupe ensuite les lettres.
Exemple : le couple de lettres en clair TE devient (19 ;4), puis (13 ;19) et devient alors NT en cod.

1. Coder le couple ST.


2. Dterminer un algorithme permettant le codage dun couple de deux lettres.

3. On dcide de construire un algorithme permettant dal- Variables : X , Y , Z , T des entiers


ler plus vite. On propose lalgorithme ci-contre. Coder Initialisation : Lire X , Y
les mots PALACE et RAPACE laide de cet algorithme. Traitement : 11X + 3Y Z
Quen pensez-vous ? 7X + 4Y T
Z E (Z /26) 26 Z
T E (T /26) 26 T
Sorties : Afficher Z , T

4. On veut maintenant dterminer la procdure de dcodage.


(a) Montrer que tout couple (x 1 ; x 2 ) vrifiant le systme (S 1 ) vrifie les quations du systme :

23x 1 4y 1 + 23y 2 [26]
(S 2 )
23x 2 19y 1 + 11y 2 [26]
(b) A laide de lexercice 1, montrer que tout couple (x 1 ; x 2 ) vrifiant les quations du systme (S 2 ) vrifie les quations
du systme :

x 1 16y 1 + y 2 [26]
(S 3 )
x 2 11y 1 + 5y 2 [26]
(c) Montrer que tout couple (x 1 ; x 2 ) vrifiant les quations du systme (S 3 ), vrifie les quations du systme (S 1 ).
(d) crire un algorithme sur le mme principe que lalgorithme de chiffrage pour dcoder un mot.
(e) Dcoder le mot PFXXKNU. Ce mot tant de 7 lettres, ajouter la lettre W la fin du mot pour avoir des paquets de
deux lettres. Le dcodage termin, on supprimera la lettre dont le code est W.

6
Tle S - TD Activit : Cryptage et dcryptage poly alphabtique M. Delgado

I. Le chiffre de Vigenre
VIIILe diplomate
Le codage de Vigenre
franais Blaise de Vigenre inventa au XVIe sicle un nouveau moyen de codage appel chiffre de Vigenre.
La mthode consiste franais
Le diplomate utiliser Blaise
non pasdeun alphabet
Vigenre pour coder,
inventa mais
au XVIe plusieurs.
sicle un nouveau moyen de codage appel chiffre de Vigenre.
La mthode consiste utiliser non pas un alphabet pour coder, mais plusieurs. En pratique un message se code laide dune
En pratique,
clef tenueonsecrte
utilise videmment
un carr de Vigenre comme
en utilisant ci-dessous
un carr :
de Vigenre comme ci-dessous :

Le texte chiffr s'obtient en prenant l'intersection, de la ligne qui commence par la lettre coder, avec la colonne qui commence
par Exemple
la premire: on utilise
lettre delalacl ROUGE
cl , et ainsi de suite. Ds que l'on atteint la fin de la cl, on recommence la premire lettre.
Texte en clair A P P E L E R N O R D T R O U P E S V I L L E
Exemple :
Clef rpte R O U G E R O U G E R O U G E R O U G E R O U
Texte crypt R D J K P V F H U V U H L U Y G S M B M C Z Y
Texte en clair APPELERNORDTROUPESVILLE
Mot cl proviennent
Les deux phrases suivantes rpt ROUGEROUGEROUGEROUGEROU
dun tlgramme envoy par lAllemagne au Mexique mais intercept et dcrypt
par les Anglais et qui a pes pour beaucoup
Texte crypt dans lentre des Etats-Unis dans la premire guerre mondiale.
RDJKPVFHUVUHLUYGSMBMCZY
1. Coder la premire ligne du message suivant laide du chiffre de Vigenre et du mot-clef CODAGE :
Exercice 1
"Nous avons le projet de lancer une guerre sous marine totale."
Les deux messages suivants forment un tlgramme envoy par lAllemagne au Mexique mais intercept et dcrypt par les Anglais
2. Dcoder la premire ligne du message suivant dans
et qui a pes pour beaucoup dans lentre des Etats-Unis laideladupremire
chiffre de Vigenre
guerre et du mot-cl
mondiale. Coder laCODAGE
premire: ligne du message
X C X S O R H C U M K V GCODAGE
suivant laide du chiffre de Vigenre et du mot-clef N O E V :VGNous
GL Davons
K R VleRprojet
H C K de
P Clancer
R D Nune
Y P guerre
GG H Csous
X I Vmarine totale .

Remarque : la grande caractristique du code de Vigenre est que chaque lettre peut tre code de plusieurs faons. Rcipro-
Exercice 2 : Dcoder la premire ligne du message suivant l'aide du chiffre de Vigenre et du mot-cl CODAGE :
quement, dans un texte crypt, une lettre peut correspondre plusieurs lettres. Impossible par une analyse frquentielle de
retrouver o sont les E.
XCXSORHCUMKVGNOEVVGGLDKRVRHCKPCRDNYPGGHCXIV

II. Dcrypter le chiffre de Vigenre

La grande caractristique du code de Vigenre est que chaque lettre peut tre code de plusieurs faons.
Rciproquement, dans un texte crypt, une lettre peut correspondre plusieurs lettres. Impossible par une analyse frquentielle de
retrouver o sont les E.

Le systme poly-alphabtique de Vigenre rsista pendant environ 3 sicles, jusqu' ce que le mathmaticien britannique
Charles Babbage labore la thorie de son dcodage, vers 1854.

7
Tle S - TD M. Delgado

IX Lanalyse frquentielle
Lanalyse frquentielle consiste examiner la frquence des lettres employes dans un message chiffr. Cette mthode
est base sur le fait que, dans chaque langue, certaines lettres ou combinaisons de lettres apparaissent avec une certaine
frquence. Le tableau suivant donne les frquences dapparition en pourcentage des lettres en franais. La rpartition des
frquences obtenues peut tre utilise pour dcrypter un message cod.

Lettre A B C D E F G H I J K L M
Pourcentages 7,68 0,8 3,32 3,6 17,76 1,06 1,1 0,64 7,23 0,19 0 5,89 2,72
Lettre N O P Q R S T U V W X Y Z
Pourcentages 7,61 5,34 3,24 1,34 6,81 8,23 7,3 6,05 1,27 0 0,54 0,21 0,07

1. Pourquoi les lettres K et W ont-elles des frquences dapparition nulles ?


2. Un mme texte en franais a t chiffr en utilisant le chiffrement de Csar puis le chiffrement de Vigenre. Voici le
rsultat obtenu et la frquence dapparition des diffrentes lettres de lalphabet. Que constatez-vous ? Quel semble
tre le code le plus robuste ?
Chiffrement de Csar
Lettre A B C D E F G H I J K L M
Pourcentages 6,5 5,8 5,8 2,1 0 0 0,1 0,1 10,1 0,3 2,2 2,8 18,1
Lettre N O P Q R S T U V W X Y Z
Pourcentages 0,2 0,2 0,2 8,2 1,8 0 7,6 4,2 5,9 5,8 2,4 1,2 6

Chiffrement de Vigenre

Lettre A B C D E F G H I J K L M
Pourcentages 3,8 2,4 3,8 3,6 5,8 3,9 3,8 3,6 6,4 2,6 3,4 4 5,4
Lettre N O P Q R S T U V W X Y Z
Pourcentages 2,6 2,2 4 3 2,8 4,6 4 3,6 4,2 5,6 4 3,9 3,6

3. Quelle lettre semble coder le "E" dans le texte chiffr par le code de Csar ? En dduire la longueur du dcalage et
dchiffrer la premire ligne.

8
Tle S - TD M. Delgado

Chiffrement de Csar Chiffrement de Vigenre


TMAWQ ZUIZQ MMABD MVCMU MKPMZ KPMZM
LYTCC KPUEU SQWGO NRMYU WTLXF WYRVZ XDSOE
BUILM UIVLM AQRMD WCTIQ AUMUI ZQMZI DMKMT
BLNJI WBSIH SMFIA EUWMM RZGYE MGGXL TXUEU
TMRIQ LQBYC MKMTI UMBIQ BMOIT MBYCM VWCAX
HUXUW PCXPM QRMRW NKKSF VEUME OZYDP AYIYI
WCZZQ WVATM NIQZM AQMTT MTMDW CTIQB MTTMI
ZRLLM YDMKS MBIWL VPWKW LLTQH RCLTI YSYEY
DWCTC AIDWQ ZITWZ AAQRM TIQUI QARIQ ZMXWV
LOPTN VEOSJ WKXNX TTMEV IYDEA AIBOE FBCWE
LCKWU UMRMT IDIQA LMRIN IQBCV MNWQA YCMKM
XIWXP MZNBN HVBLJ SZHWU IWGML ZYWGR EAVWE
TIVMA QOVQN QIQBZ QMVUI QAYCM AIVAL WCBMR
WTSZT VTAXX WRSXE ZKEOW DEFGO SCEXX YGINE
MVMTI QUIQA XIAXW CZYCW QUMXW CAMZI TW-
BFEKZ PLWJF MRFJI GMMIG OJQFI PHJGP ISDLM WIFXR
ZAI BMTTM LQBRM TCQIQ MFXTQ YCMYC MKMTI VI-
LPINK IBINP QKYUZ SKWBU RJZSM GTUKM FSVSG
DIQ BICKC VMQUX WZBIV KMMBY CMAQM TTMTM
OEWSB WJJEU WLSCH DFVXS QZAAR GMCRG YJGOC
LMAQZ IQBVW CAXWC DQWVA VWCAU IZQMZ LIQTT
NTSFV RBNKV EWMVD DIAWP WJFAP KLDIG WWPWF
MCZAK MBIQB MTTMY CQTML MUIVL IQBMB UWQRM
IKSIV HQMBQ PIGXT XCVSI YIVSA WEVLT WMWIQ BZIFJ
UMKWV BMVBI QALML QZMWC QMTTM IWJAM ZDMIT
WYCEV ICNHL VMHUD CCWYF IEHQC VBTKM ZKEAL
WZAYC MTMUI ZQIOM MBIQB CVMKP WAMOZ IDMRI
YBTCX IWUAZ LHIME DVVHO VWUPV NUFPI HIWWX
QZMXW VLCVW VMTTM AMABB CMCVU WUMVB
FYGVQ FQNNB PEMPO YEASP KDLQG SDMQW PNIIQ
MBMTT MUIZM OIZLM MVAQT MVKMX CQAMT TMIXI
FIFGS TSUSU EOIFC TWYSP PRZXE MEBLG TSVKW
ZTMMT TMDWC TIQBA QUXTM UMVBA IDWQZ AQ-
SNSKI AAYAC VNBBA KOEGV LPLAR SXTDD HOMJH
RIC ZIQAI KKMXB MTIUM UMXZW XWAQB QWVDM
CHQPR ZOZXQ NWISO BJVJX AGVNU PMAWD EGLIY
VIVBL CVMIC BZMNM UUMIY CQRMA MZIQA IBBIK
EXMJG TIVYT SYMEE RATQU NRKHB TVTEY DIXPI
PMLMT IUMUM NIKWV RIQLQ BVIBC ZMTTM UMVBM
OPNMI XPRLV GNJIE UEOIS LPCWD IQPCL MLMFA
TTMAM ABLMU IVLMI TWZAA QMTTM UIQUI QBMBU
QMHXF CCCIY EGSMK IZSKQ SAJAK WLVWN VVSJT
WQRMV MXWCD IQAZQ MVAID WQZAC ZKMXW QVBIX
NRXDT JIKJR TCMVW HOSYR LMIEI CGUCM WWPRT
ZMACV ICBZM UWUMV BLMAQ TMVKM MTTMI UCZUC
QGVZN MIHMP NWKOK ZFZRE KAIIY RELME MWZFZ
ZMYCM RMBIQ AJQHI ZZMYC MTTMU IQUIQ BAIVA
HFTFW JCHYP ETSIM WOIUS WEULB GKNIR INMIV
LWCBM IKICA MLMKM TIUIQ AYCMX MCBMB ZMCVR
YEFRD FMRYT FYDMZ GOKQF IMLHC JGZWS UXMQG
WCZRM TILMO WCBMZ IQAXW CZTMA UMUMA ZIQAW
EADSB PWGHO TEZYQ JHIAI UMBRS CNGTZ AWBNG
VAKWU UMRMU MBIQA IQAVI GIVBZ QMVII RWCBM
AOHWW FYQQP QCWRC VDYSD OFZVK OAVRE FXVKE
ZMTTM UIXZQ ATMJZ IAMVA WCZQI VBMBM TTMIL
TDPEV HGYTJ NUZIC XEDGF PSXHA RSSUI RJLZW RA-
MKTIZ MYCMT TMDWC TIQBA MUIZQ MZIDM KUWQR
QPN SLVQD BCDHJ UPBBD WXIYI ELOVK WSMJY RE-
IQZMX WVLCY CMVWC ATMNM ZQWVA LMAYC MTTMT
TIC TJILW IIWFY LPLLU ADLVT PEERV UHXEE XMFTG
MDWCL ZIQBR MTCQI QXIZT MITWZ ALMTI XZWXW
KMHXO DXYFU BCARH XHEIA EUTDK AQKYP PTEMP
AQBQW VLCXI BZWVM BUIZQ MUILQ BYCMT TMIQU
ICUUB GFRWA QECMT DLASK PPXCN KOFJZ TD-
MZIQB KWVVI QBZMX IZQAR MTCQI QIXXZ QAYCM
QAI KJAIC PAJYF OQDRT LVLHQ KWVKI XPWYA FLAIE
RGIDI QADMK CLIVA CVBMU XAMBM TTMUI LMUIV
HWUSO DMFIC MXNBC JMXUZ CPHTH PKLXE PDECM
LMKWU UMVBK MBIQB RMTCQ IQLQB KMABA ITMQT
MUWHM CUUQS ALNXV YAUFY KGHFV VZWCW DG-
GILMA XQOMW VAMBL MAKWC ZAVWQ ZMATM AOMVA
TYS URXEJ TQEMV TSZKZ EBUZU USLUE OOVLX EDGTI
WVBTI XMICJ TIVKP MXCQA VWCAI DWVAU IZKPM
IVERT ZQVFX COPOP DYGLV KETRV LNPIJ YUPWE
MBBZI DMZAM TIDQT TMXIZ AMAOZ IVLMA ZCMAT
EAYHQ FSMXX LIVRL QMCLX ASGAA XLHQE GHXOG FW-
MANMU UMAMB IQMVB JMTTM AMBRI QLMUI VL-
MIV MWPDT PXZXQ SMQAU MLNPX EDCKI BIFIB NM-
MIU IZQMA QMTTM TMZMU IZYCI QBMTT MUILQ
QXD NZPCW XIUFA RYIES MMYIF HNGTC FYCZJ EHAHM
BYCMW CQMBY CMTTM UMKWU XZMVI QBXMV LIVBC
WTOIT YWGDI MHLVD SUIDZ NZUBW EIIXR FHNEU
VUWUM VBVWC AVIDW VAXTC AXIZT MRMDW CTIQA
OVDLT GYQTM TNYTY CQIMB SAJWS ILBTC IRNJU FR-
KMXMV LIVBY CMTTM ZMABM IDMKU WQMBR MTCQI
SYO KVNIX MSSZW DMIVF DIPAE HUWZR YKERO DSYSF
QLQBY CMVWC AXWCD QWVAL QVMZM VAMUJ TMKPM
GEKAB CHFYE HWRHI ASKPU ISZRZ TIXLM JHRBN
HKMTM ABMMT TMMVI DIQBJ QMVMV DQMUI QAMTT
KNXNS EEPZW DHWRV MMSGL EGBPP MXOKK ML-
MIDIQ BINIQ ZMVWC AMBQW VAXZM ALMKP MHUWQ
DYD SIDIE XLWSZ JVQKT VQHTC FXJYN BCTAW RKCCI
MBRMT CQIQL QBICZ MDWQZ MTTMU IZMOI ZLMBC
VVYIQ YHMRI UAFPN MGSNO EKWUB IVGVW SNSWG
VMDMC FXIAA IDWQZ KMYCM RIQIN IQZMR MDWCT
MQCWZ YVJMZ DMNTR KPMGS GLTSY WXRIU XIWFQ
IQAJQ MVTMA IDWQZ UIQAR MVGID IQAXI AXMVA
IZRMC LITCL IPYJE QCSFB RTOBI ZDOEB EOEMB PHQFY
MMBKM ABKMY CMTTM IDIQB TIQZL MUMZM XZWKP
PJRWV FVTDH EZRTF VQVAQ TGSZM RIMNI TJUGX UV-
MZITW ZALMD IVBUW VIQZM UXMBZ MMTTM IMVKW
QBN EEUQN KFLXZ IGRXG AGHSJ PILFH NRZRD IFTKS
ZMZQM BMTTM IMCDM ZAUWQ CVUWC DMUMV
MWPW
BLMBW CBTMK WZXAX WCZUM BMVLZ MAIJW CKPM

9
Tle S - TD M. Delgado

X Dcryptage du code de Vigenre


Le systme poly-alphabtique de Vigenre rsista pendant environ 3 sicles, jusqu ce que le mathmaticien britannique
Charles Babbage labore la thorie de son dcodage, vers 1854.
Exercice 1 : on souhaite dcrypter le message suivant.

CS AZZMEQM, CO XRWF, CS DZRM GFMJECV. XIMOQJ JC LB NLFMK CC LBM WCCZBM KFIMSZJSZ CS URQIUOU. CS
ZLPIE ECZ RMWWTV, SB KCCJ QMJ FCSOVJ GCI ZI ICCKS, MK QMLL YLCV ECCJ OKTFWTVM JIZ CO XFWBIWVV, IV ACCI
CC COCKFM, JINWWB UOBKSVUFM.

1. Trouver la longueur de la clef.


Lide est danalyser les squences de 3 lettres rptes dans le texte cod et de se dire que ces rptitions ne sont pas
fortuites. Si une squence de 3 lettres est rpte dans le message cod avec une distance , on peut en dduire quil
sagit de la mme squence de 3 lettres du texte initial, code avec la mme squence de lettres de la cl. On trouve
ainsi les longueurs de la cl possible. Par exemple, dans le texte ci dessus, on retrouve deux fois le trigramme CCJ.
(a) Reprer le trigramme CCJ et lencadrer en rouge.
(b) En comptant la distance qui les spare, expliquer pourquoi la longueur de la clef peut-tre 33 (mais ce nest pas la
seule possibilit).
(c) La longueur de la cl peut-elle tre gale 5 ?
(d) La longueur de la cl peut-elle tre gale 11 ?
(e) Quelles sont toutes les longueurs possibles de la cl ?
2. Dans le texte crypt, on retrouve aussi deux fois le trigramme CLB.
(a) Quelle est la distance entre les deux trigrammes CLB ?
(b) Pouvez-vous en dduire la longueur de la cl ?
3. Supposons que lon ait trouv que la longueur de la cl est 3. Alors, la 1re lettre, la 4me, la 7me, etc... ont toutes t
codes par le mme procd : un dcalage de Csar. On spare le texte cod en 3 parties : la premire comporte les
lettres n1, n4, n7,... la seconde les lettres n2, n5, n8,... la troisime les lettres n3, n6, n9,.... comme ci-dessous :
CZECRCZ... SZQOWSR... AMMXFDM...
Pour chaque ligne, il suffit ensuite de faire une analyse statistique dautant plus facile quil sagit dun simple dcalage
de Csar. Lanalyse frquentielle consiste examiner la frquence des lettres employes dans un message chiffr. Cette
mthode est base sur le fait que, dans chaque langue, certaines lettres ou combinaisons de lettres apparaissent avec
une certaine frquence. En particulier, en franais la lettre la plus courante est le E.

(a) Pour la premire srie de lettres, celle qui apparait le plus frquemment est le V. Expliquer pourquoi la premire
lettre de la cl est R.
(b) Pour la deuxime srie de lettres, celle qui apparait le plus frquemment est le S. Quel est la deuxime lettre de la
cl ?
(c) Pour la troisime srie de lettres, celle qui apparait le plus frquemment est le M. Retrouver la cl.
(d) Dcrypter les deux premiers mots.

Exercice 2 : dcrypter le message suivant.


NGSHD LGPKD TMEHA MUSUG WPJVO GQBIS STUQH LGCTA CHAXF FSWPT
HMGLB DMDAS ODFEI AFJAA CVGCW RJLGG WQCIG TLQRJ UBAZT DXTSF
DAPTX MXJQE JQJNQ SAYPY UCSFX GZEGG GUDTW DJFFT PFTWF AWOGQ
BIWDH WXDFX TUTXX RGWYT FFSWO TKMGD QRJKE LMVWM UXUCW
AJDQR ZUUXD TVQKA STFQG W

10
Tle S - TD M. Delgado

XI Systmes de numration
Dfinition : notre systme de numration est un systme dcimal de position. Il est constitu de 10 chiffres dont la position
indique le nombre dunits de la puissance de 10 correspondante.
Exemple : 3405 = 3 103 + 4 102 + 0 101 + 5 100 .
Remarque : il a fallu attendre le XIIe sicle pour que ce systme invent en Inde arrive en occident.
Dfinition : dans un systme de position en base b, on note un nombre N par a n a n1 a 1 a 0 b . Ce nombre N scrit dans notre
systme dcimal de position par N = a n a n1 a 1 a 0 b = a n b n + a n1 b n1 + ... + a 1 b 1 + a n b 0 avec a n , a n1 , ..., a 0 des
chiffres strictement infrieur b. En base b, il ne peut y avoir que b chiffres.
2 5 12 7
Exercice 1 : dterminer les critures dcimales des nombres 110111 , 231 , 1A6 et de 2013 .
Remarque : en base 12, nous ne disposons pas assez de chiffres, on prend donc A pour le "chiffre 10" et B pour le "chiffre
11".

Exercice 2 : Proprit : pour dterminer lcriture dun nombre dans


1. Programmer lalgorithme suivant : notre systme de numration dans un systme en base b,
Variables : Q, B , N , I , R des entiers on effectue des divisions successives de ce nombre par b.
Initialisation : Saisir Q et B On obtient le nombre en base b en prenant le dernier quo-
0N tient et en remontant tous les restes de ces divisions.
0I
Exemple : on cherche lcriture de 496 en base 7.
Traitement : Tant que Q > 0 faire :
Q
Q 10E R
10 496 7 70 7 10 7
Q

E Q 6 70 0 10 3 1
10
N +R BI N 7
I +1 I Donc 496 = 1 73 + 3 72 + 0 71 + 6 70 = 1306 .
Sortie : Afficher N
2. Ce programme ne peut fonctionner avec une base
suprieure 10, comment peut-on le modifier pour
palier ce problme ?

Exercice 3 :
1. Donner lcriture de 2278 en base 12.
2. Donner lcriture de 149 en base 2.
3. Donner lcriture de 2013 en base 5.

Exercice 4 : Exercice 5 :
1. Programmer lalgorithme ci-dessous. 1. N est le nombre qui scrit 68 425 dans le systme
Variables : N , B , Q, I , R des entiers dcimal. Ecrire ce nombre dans le systme base 8,
Initialisation : Saisir N et B puis dans le systme en base 12.
0Q
0I 2. M est le nombre qui scrit 16 524 dans le systme
Traitement : Tant que N > 0 faire : base 7. Ecrire ce nombre dans le systme base 2.
N

3. P est le nombre qui scrit 10AB dans le systme
N B E R
B base 12. Ecrire ce nombre dans le systme dcimal.
N

E N
B Exercice 6 : un nombre de trois chiffres scrit x y z dans
Q + R 10I Q
le systme en base 7 et z y x dans le systme en base neuf.
I +1 I
Quel est ce nombre ?
Sortie : Afficher Q
2. Ce programme ne peut fonctionner avec une base Exercice 7 : soit N un entier naturel dont lcriture en base
suprieure 10, comment peut-on le modifier pour 10 est aba7. Montrer que si N est divisible par 7 alors a + b
palier ce problme ? est divisible par 7.

11
Tle S - TD M. Delgado

XII Stnographie
La stnographie est lart de cacher un message dans un autre : les mthodes les plus anciennes consistaient par exemple
crire avec une encre invisible qui rapparaissait sous la chaleur. Avec linformatique, la stnographie sest nettement d-
veloppe.

1) le langage binaire
Lcriture dcimale utilise 10 chiffres : 0, 1, 2, 3, 4, 6, 7, 8 et 9. Il est possible dcrire les nombres avec deux chiffres
seulement : le 0 et le 1. Le terme "bit" signifie "binary digit", cest--dire 0 ou 1 en numrotation binaire. Par exemple, grce
2 bits, on peut obtenir 4 tats diffrents : 00 ; 01 ; 10 ou 11. Avec 8 bits, il est possible dobtenir 256 tats diffrents. Cet
ensemble de 8 bits est appel un octet.
Ecriture Dcimale 0 1 2 3 4 5 ...
Ecriture binaire 0 1 10 11 100 101 ...
En rgle gnrale, on dcompose un nombre laide dadditions utilisant seulement les nombres 128 ; 64 ; 32 ; 16 ; 8 ; 4 ; 2
et 1. Par exemple 235=128+64+32+8+2+1 et on utilise le tableau suivant :
128 64 32 16 8 4 2 1
1 1 1 0 1 0 1 1
Lcriture binaire de 235 sur un octet est donc 11101011.
Exercice 1 :
1. Ecrire 35 et 106 en nombre binaire.
2. Quel nombre dcimal correspond au nombre 00010110 ?

2) Le code ASCII
Le code ASCII (American Standard Code for Information Interchange) est lun des plus anciens codes utiliss pour repr-
senter du texte en informatique. Il se base sur un tableau contenant les caractres les plus utiliss en langue anglaise : les
lettres de lalphabet en majuscule (de A Z) et en minuscule (de a z), les dix chiffres arabes (de 0 9), les signes de ponctua-
tion (point, virgule, point- virgule, guillemet, parenthses, etc.), quelques symboles et certains caractres spciaux invisibles
(espace, retour-chariot, tabulation, retour-arrire, etc.). Les crateurs de ce code ont limit le nombre de ses caractres pour
quils puissent tre cods avec un octet. Chaque caractre dun texte cod en ASCII occupe alors un octet.

12
Exemple : Le caractre A est cod en ASCII par le nombre 65 (dans notre systme dcimal habituel), qui correspond en binaire au
Tle S - TD M. Delgado

Exemple : le caractre A est cod en ASCII par le nombre 65 (dans notre systme dcimal habituel), qui correspond en binaire
au nombre 01000001.
Exercice 2 : coder votre prnom avec le code ASCII en utilisant des octets pour chacune des lettres qui le compose.
Remarque : sur un tableur, la fonction CODE("lettre") renvoie le code ASCII de la lettre demande. Rciproquement, la fonc-
tion CAR("code ASCII") renvoie la lettre correspondant au code ASCII demand.
Exercice 3 : voici maintenant une exclamation code en binaire : 01000010 01110010 01100001 01110110 01101111 00100001.
Retrouver cette exclamation.

3) Le codage des images


Les images sur les crans des premiers ordinateurs taient composs de pixels 1 monochromes qui pouvaient tre soit
allums (en vert ou en orange par exemple), soit teints. Le codage de telles images tait plutt simple : pour reprsenter un
pixel allum, on utilisait un 1, et pour un pixel teint, ctait un 0 ; soit un bit pour un pixel. Ces images occupaient trs peu
de place et leur acheminement sur un rseau tait trs rapide. Mais une fois les ordinateurs capables dafficher des couleurs,
il a fallu coder les pixels sur plusieurs bits.
Un pixel se dfinit partir de 3 octets correspondants lintensit de 3 couleurs
1 octet consacr la teinte primaire rouge ;
1 octet consacr la teinte primaire vert ;
1 octet consacr la teinte primaire bleu.
On lappelle codage RVB en franais et RGB en anglais. Cest le codage utilis dans de nombreux priphriques num-
riques (Scanners, appareils photos, crans...).
Exemples :
Le blanc se code (0 ; 0 ; 0) soit (00000000 ; 00000000 ; 00000000) ;
le rouge vif se code (255 ; 0 ; 0) soit (11111111 ; 00000000 ; 000000000) en binaire ;
un violet clair se code (67 ; 0 ; 54) soit (01000011 ; 00000000 ; 00110110) ;
le noir se code (255 ; 255 ; 255) soit (11111111 ; 11111111 ; 11111111).
Exercice 4 : dterminer un codage RVB possible, puis en binaire, pour la couleur jaune.

4) Cacher une information dans une image


On remarque que les 4 derniers chiffres en binaire ninfluent pas beaucoup sur la teinte dune couleur : par exemple
10010000 pour le rouge correspond une intensit de 144 et 10011111 correspond une intensit de 159 ce qui est difficile-
ment visible lil nu. Lide est donc de remplacer les 4 derniers bits de chacune des couleurs de chaque pixel par dautres
fragments de bits qui correspondent un message.
Exercice 5 : les couleurs de 4 pixels dune image sont dfinis ci-dessous.
Rouge 231 118 71 0
Vert 15 35 241 70
Bleu 2 7 40 116
1. A laide dun convertisseur RGB (facilement trouvable sur internet ou sur nimporte quel logiciel de dessin), dcrire
les couleurs de chacun de ces pixels.
2. En voulant cacher un mot de passe dans ces pixels, on obtient 4 nouvelles couleurs dcrites ci-dessous. Comparer les
couleurs de ces 4 nouveaux pixels par rapport aux prcdents.
Rouge 229 112 68 1
Vert 4 46 244 68
Bleu 4 1 37 115
3. Reproduire le tableau prcdent en y reportant les nombres en binaire.
4. Reproduire encore le tableau en ne gardant que les 4 derniers bits de chaque octet.
5. En regroupant les deux premires colonnes et les deux dernires on obtient une srie de 6 octets.
6. A laide du code ASCII retrouver le mot de 6 lettres cach dans les 4 premiers pixels de cette image.

Remarques :
Le nombre de pixels dans une image tant trs important, on peut facilement y stocker de multiples informations !
Bien entendu on peut modifier le sens de lecture des pixels ce qui complique la tache de dcryptage pour quelquun
qui lintercepte.
les modes de compression comme le JPG manipulent eux aussi les octets, le message risque donc dtre altr si on
compresse limage.
13
Tle S - TD M. Delgado

XIII Problmes de calendrier


On se propose de trouver le jour de la semaine associ une date donne. Pour cela on utilise le calendrier utilis en
France depuis le 20 dcembre 1582.
On rappelle que le mois de fvrier comporte 28 ou 29 jours selon que lanne est bissextile ou non. Une anne est bissextile
quand son millesime A est un multiple de 400 ou lorsque A est un multiple de 4 sans tre un multiple de 100 (par exemple
1900 nest pas bissextile ni 1902).
Remarque : les annes bissextiles ne sont pas forcment tous les 4 ans car le cycle terrestre est de 365,2422 jours et non pas
365,25 jours...
Exercice 1 :
1. a et b dsignent
a deux entiers naturels avec b 6= 0, q est le quotient de la division euclidienne de a par b. Dmontrer
que q = E .
b
2. On situe lorigine des dates la date fictive du 1er janvier de lan 1. On considre une anne A et note B le nombre
dannes bissextiles qui se sont alors coules strictement avant A.
A 1 A 1 A 1

(a) Dmontrer que B = E E +E .
4 100 400
(b) Dmontrer que le nombre N de jours dans les annes qui prcdent lanne A est donn par N = B + 365 (A 1).
(c) On note (J , M , A) une date : J entre 1 et 31, M entre 1 et 12 et A lanne (avec A 1582). Comment calculer le
nombre R de jours entre les dates (1, 1, A) et (J , M , A) (ces deux jours compris) ?
(d) Vrifier que le nombre N de jours entre les dates (1, 1, 1) et (J , M , A) est N = R + B + 365 (A 1) et que N A 1 +
B + R[7].
(e) En sachant que le 1er janvier 2003 tait un mercredi, vrifier que le nombre N associ nimporte quel mercredi
vrifie N 3[7].

Exercice 2 :
1. De 1600 2100, quelles sont les annes bissextiles ?
2. Si le 1er janvier dune anne est un dimanche, indiquer le nombre de dimanches dune anne normale puis dune
anne bissextile.
3. A quelle condition une anne bissextile comptera-t-elle 53 dimanches ?
4. Combien y a-t-il de dimanches dans une anne normale ?
5. A quel jours de la semaine correspondent les dates suivantes ?

(a) le 14 juillet 1789 (c) votre date de naissance (e) le 1er janvier 2000
(b) le 21 juillet 1969 (d) le 12 juillet 1998 (f) le 1er janvier 2016

6. Ecrire un algorithme permettant de rpondre la question prcdente.


7. Peut-on avoir la mme anne, le premier jour du printemps et Nol un dimanche ?
8. Dterminer le jour correspondant au premier dimanche de 2016.
9. En 1994, Nol tait un dimanche, en quelle anne cela sest-il reproduit ou cela va-t-il se reproduire ?

14
Tle S - TD M. Delgado

XIV Equations
On appelle E lensemble des entiers naturels qui peuvent scrire sous la forme 9 + a 2 o a est un entier naturel non nul ;
par exemple 10 = 9 + 12 ; 13 = 9 + 22 , etc. On cherche alors des lments de E qui sont des puissances de 2 ; 3 ou 5.
1. Etude de lquation dinconnue a N : a 2 + 9 = 2n o n N et n 4.
(a) Montrer que si a existe, a est impair.
(b) En raisonnant modulo 4, montrer que lquation propose na pas de solution.
2. tude de lquation dinconnue a N : a 2 + 9 = 3n o n N et n 3.
(a) Montrer que, pour tout entier naturel n, 3n est congru 1 ou 3 modulo 4.
(b) Montrer que si a existe, a est pair et en dduire que ncessairement n est pair.
(c) On pose n = 2p o p est un entier naturel, p 2. Dduire dune factorisation de 3n a 2 , que lquation propose
na pas de solution.
3. tude de lquation dinconnue a N : a 2 + 9 = 5n o n N et n 2.
(a) En raisonnant modulo 3, montrer que lquation na pas de solution si n est impair.
(b) On pose n = 2p. En sinspirant du 2.c., dmontrer quil existe un unique entier naturel a tel que a 2 + 9 soit une
puissance entire de 5.

XV Division par 9
Exercice 1 :
1. Dmontrer que pour tout entier naturel non nul n : 10n 1[9].
2. On dsigne par N un entier naturel, on appelle S la somme de ses chiffres.
3. Dmontrer que N est divisible par 9 si, et seulement si, S est divisible par 9.

Exercice 2 : sur les billets de banque en euros figure un code de 11 chiffres prcd dune lettre. On remplace la lettre par son
rang dans lalphabet habituel comportant 26 lettres. On obtient ainsi un nombre 12 ou 13 chiffres et on cherche le reste de
la division euclidienne de ce nombre par 9. Ce reste est le mme pour tous les billets authentiques et vaut 8.
Exemple : Code : X27385267637
Rang dans lalphabet de la lettre X : 24
Nombre obtenu : 2427385267637
Reste pour ce billet : 8
1. Le code U01308937097 figure sur un billet de banque.
(a) Donner le nombre 13 chiffres correspondant ce code.
(b) Calculer le reste de la division euclidienne par 9 de la somme des 13 chiffres de ce nombre.
(c) Que peut-on dire de ce billet ?
2. Sur un billet authentique figure le code S0216644810x, x pour le dernier chiffre illisible. Montrer que x +42 est congru
8 modulo 9. En dduire x.
3. Sur un autre billet authentique, la partie du code form par les 11 chiffres est 16122340242, mais la lettre qui les
prcde est efface. On appelle n le rang dans lalphabet de la lettre efface.
(a) Dterminer les valeurs possibles de n.
(b) Quelles sont les possibilits pour la lettre efface ?

15
Tle S - TD M. Delgado

XVI Lalgorithme dEuclide


Variables : a, b, q, r des entiers naturels
Entres : a a et b
Lire
E q
b
a bq r
Traitement : Tant que r 6= 0 faire :
ba
r ab
E q
b
a bq r
Sorties : Afficher b

XVII Thorme de Bzout


Il sagit de dterminer un couple (u; v) dentiers relatifs sachant que les entiers a et b sont premiers entre eux. On doit
donc avoir au + bv = 1.
Pour cela on doit avoir au = b(v) + 1, on reconnat alors lexpression dune division euclidienne dans laquelle le reste
est 1.
On commence avec u = 0.
A chaque tape, on effectue la division euclidienne de au par b et si le reste nest pas gal 1, on recommence avec u + 1.
1. Tester cette mthode avec a = 59 et b = 27.
2. Ecrire et programmer lalgorithme correspondant.
3. Tester cette mthode avec a = 59 et b = 27. Que se passe-t-il ?
4. Amliorer lalgorithme pour tenir compte du fait que b soit ngatif.

16
Tle S - TD M. Delgado

XVIII Nombres premiers


Exercice 3 : tude dalgorithmes
1. Algorithme 1 : Variables : N et d deux entiers naturels
Entre : Saisir N un entier naturel suprieur ou gal 2
Traitement : Pour d allant de 2 N 1 faire
Si d divise N
afficher d et sarrter
Sinon
d prend la valeur d + 1

(a) Tester cet algorithme avec des nombres plus grands que 100.
(b) Que fait donc cet algorithme ?
(c) Que peut-on en dduire lorsque rien ne saffiche ?

2. Algorithme 2 : Variables : N et d deux entiers naturels


Entre : Saisir N un entier naturel suprieur ou gal 2
Traitement : Pour d allant de 2 E (N ) faire
Si d divise N
afficher d et sarrter
Sinon
d prend la valeur d + 1

(a) Tester cet algorithme avec des nombres plus grands que 100.
(b) Quapporte donc cet algorithme par rapport au premier ?
(c) Modifier cet algorithme pour quil affiche tous les diviseurs de N .

Exercice 4 : Crible dEratosthne

1. 0 possde une infinit de diviseurs, il nest donc pas 7. Jusqu quand doit-on poursuivre le processus pour
premier, on le raye. obtenir tous les nombres premiers ?

2. 1 ne possde quun seul diviseur, il nest donc pas 0 1 2 3 4 5 6 7 8 9


premier, on le raye. 10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
3. 2 possde exactement deux diviseurs (1 et 2), on en-
30 31 32 33 34 35 36 37 38 39
toure 2 et on raye tous les multiples de 2.
40 41 42 43 44 45 46 47 48 49
4. 3 possde ... 50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
5. on continue ainsi de suite en considrant le pro-
70 71 72 73 74 75 76 77 78 79
chain nombre qui na pas t ray.
80 81 82 83 84 85 86 87 88 89
6. Quels seront les nombres entours ? 90 91 92 93 94 95 96 97 98 99

17
Tle S - TD M. Delgado

XIX Systme de cryptage RSA


Rivest-Shamir-Adleman (presque toujours abrg en RSA) est un algorithme de chiffrement trs utilis pour changer
des donnes confidentielles sur Internet, notamment dans le commerce lectronique. Cet algorithme a t dcrit en 1977
par Ronald Rivest, Adi Shamir et Leonard Adleman. Le fonctionnement de RSA repose sur une ide simple : il est facile de
multiplier deux grands nombres premiers entre eux alors quil est trs difficile de retrouver les facteurs premiers du nombre
ainsi obtenu. RSA est un algorithme de chiffrement cl publique. Cela signifie que la cl de codage et lalgorithme de calcul
ne sont pas cachs : nimporte quel metteur peut envoyer un message au destinataire. Par contre, seul le destinataire peut
le dchiffrer grce une cl de dcodage prive quil tient secrte. Le systme est dit dissymtrique car les cls de codage et
dcodage sont diffrentes.
Remarque : on notera e la cl de codage publique comme "encode" qui veut dire en anglais "coder et d la cl de dcodage
prive comme "decode" qui veut dire en anglais "dcoder".

1) Etude dun exemple


a) Codage

Les cls publiques de cryptage sont n = 1457 et e = 71. On souhaite coder le mot "SPE"
1. On transforme chaque lettre en un nombre deux chiffres de manire classique :
S devient 19, P devient 16 et E devient 05.
2. On obtient ainsi le nombre 191 605 transmettre. Celui-ci tant plus grand que 1 457, on le transforme en deux
nombres : 191 et 605.
3. On rduit maintenant 19171 et 60571 modulo 1457, vous de jouer soit la main soit laide dun algorithme.
4. En collant vos deux rsultats vous obtiendrez votre message cod envoyer sous forme dune srie de chiffres.
5. Le destinataire doit prsent dcoder votre message.

b) Dcodage

La cl de dcryptage est 311. Vous recevez le code 750 064.


1. On rduit 750311 et 064311 modulo 1457. A vous de jouer.
2. En collant vos deux rsultats vous obtiendrez nouveau trois nombres deux chiffres qui correspondront trois
lettres et qui constitueront votre message dcod.

2) Explication du processus
Thorme : Petit thorme de Fermat
Soit p un nombre premier et a un entier naturel non multiple de p, alors on a a p1 1[p].
Corollaire : Thorme de Fermat
Soit p un nombre premier et a un entier naturel, alors on a a p a[p].
Thorme : soient p et q deux nombres premiers distincts et suprieurs ou gaux 3. On pose n = pq et m = (p 1)(q 1).
Si on peut trouver un nombre entier e premier avec m, alors il existe un entier d strictement positif tel que ed 1[m].
De plus, pour tout entier naturel a, on a a ed a[n].
Dmonstration : Complter la dmonstration suivante.
Soit donc e un entier premier avec m.
Daprs le thorme de .................................., il existe un couple dentiers relatifs (u; v) tel que eu + (p 1)(q 1)v = ... .
On a alors eu ...[(p 1)(q 1)] ; mais u nest peut-tre pas strictement positif !
On peut donc remplacer u par d = u +............................... o k est un entier relatif sans que rien ne change la congruence
modulo (p 1)(q 1).
On choisit donc k de telle sorte que d = u + ................................ > 0.
On pose alors V = v + ke.
Montrer que ed = 1 + V (p 1)(q 1).

Ainsi ed 1[(p 1)(q 1)].


18
Tle S - TD M. Delgado

De plus, soit a un entier naturel. Deux possibilits :


si p divise a, alors a ...[p] ;
si p ne divise pas a, p tant premier, p et a sont ...........................................
On peut alors utiliser le petit thorme de Fermat et on obtient a p1 ...[p].
Ainsi a ed 1 = a v(p1)(q1) .........[p] .......[p] et en multipliant par a, on obtient a ed ...[p].
Par un raisonnement quivalent, on peut obtenir a ed ...[q].
Ainsi a ed a est un multiple de p et de q. p et q tant premiers, cela implique que a ed a est un multiple de ...... et donc
que a ed ...[n].
Remarques : si lon sait factoriser n sous la forme n = pq, connaissant e, on trouve d sans problme et le dcryptage se fait
trs facilement. De mme, on montre que, connaissant n, e et d , on trouve rapidement p et q. La scurit du systme tient
pour lessentiel dans :
la construction de nombres premiers "grands" (on sait faire) ;
la difficult de dcomposer un nombre grand (300 chiffres, par exemple) en produit de deux nombres premiers.
Mais personne ne sait si une attaque du R.S.A. qui viterait la factorisation est impossible !
En 1999, un nombre de 155 chiffres (qui servait de clef un systme R.S.A.) a t dcompos en produit de deux facteurs
premiers de 78 chiffres chacun ; le temps cumul de calculs a t valu 8 000 Mips (8 000 millions dinstructions par
seconde pendant un an ! ). Depuis, la Socit R.S.A. Data Security recommande des nombres de 309 chiffres, voire 617 chiffres.
Enfin, rien nassure a priori que le message reu vienne bien de la bonne personne ! Sauf quon peut ajouter au systme
RSA une fonction de cryptage de signature, mais ceci est une autre histoire...

3) Exercices

Exercice 1 : on se donne les entiers premiers p = 13 ; q = 31 et e = 37. Chaque lettre sera remplace par son rang dans
lalphabet (A > 001 ; B > 002, etc.) et on fera des blocs de trois chiffres.
1. Chiffrer le message "TOM".
2. Calculer la cl prive du dchiffrement RSA d avec 0 d n.
3. Dchiffrer le message "005 054 001".

Exercice 2 : on prend les nombres p = 41, q = 53 et e = 1427. On voudrait transmettre le mot "salut".
1. On transforme chaque lettre laide du code ASCII en des nombres quatre chiffres. Le S devient alors 0115 (voir code
ASCII), puis 1151427 1064[2173], le S est donc cod par 1064. Coder les autres lettres.
2. Dcrypter le message suivant : 1402 - 145 - 1116 - 2012 - 2013 - 0119 - 0950 - 1322 - 1305 - 0544

19