Codage, Compression et Cryptologie - Rapports/Knoff... · Le codage de l’information est la première

  • View
    215

  • Download
    0

Embed Size (px)

Text of Codage, Compression et Cryptologie - Rapports/Knoff... · Le codage de l’information est la...

  • Universit de Nice-Sophia Antipolis Licence dInformatique 3me anne

    Codage, Compression et Cryptologie

    tudiantsFabien GARGNEChristian KNOFFGatan LECOURTOIS

    EncadrantHeikel BATNINI

    Anne 20042005

  • Table des matires

    I Le Codage dans linformatique 6

    1 Le codage des informations 81.1 Pourquoi coder ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2 Lhistoire du codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Le codage des caractres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3.1 Codage ASCII tendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.2 Autres codes existants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2 Le contrle derreurs : codes de contrle 112.1 Les Codes dtecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1 Principe du contrle CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.2 Algorithme pour le calcul du CRC . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.3 Un exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.1.4 Les polynmes gnrateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2 Les Codes correcteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.1 Le codage triple rptition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.2 Codes de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.3 Les codes de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.4 Les codes de Goppa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    II La compression dans linformatique 20

    3 Les mthodes rversibles 223.1 Un exemple simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Shanon-Fano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3 RLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4 Lempel-Ziv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    4 Les mthodes irrversibles 264.1 Un petit exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2 JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4.2.1 Lalgorithme JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    III La cryptologie dans linformatique 32

    5 Cryptographie 345.1 Quelques dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.1.1 Quest-ce que le cryptage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1.2 Quentend-on par cl ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1.3 Quels sont les usages de la cryptographie ? . . . . . . . . . . . . . . . . . . . . . 35

    2

  • 5.2 Systmes cl prive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.1 Crytographie par substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.2 Le chiffrement de Csar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.3 La mthode du ou exclusif simple . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.4 Le chiffrement de Vigenre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.3 Systmes cl publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.3.1 Algorithme de Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.3.2 Le systme RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.4 Systmes hybrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.4.1 Pretty Good Privacy (PGP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    6 Cryptanalyse 446.1 Brve description de quelques attaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.2 Cryptanalyse par frquence dapparition . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.3 Vaincre le chiffre de Vigenre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    6.3.1 Attaque du systme RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    3

  • Introduction

    4

  • Ltude de la transmission de messages entre un metteur et un destinataire via un canal de communi-cation introduit les questions suivantes :- Le canal permet de transmettre des signaux(souvent un signal lectrique binaire). Il sagit alors de trans-former le message mettre (par exemple un texte en franais) en une squence de signaux : on parlede codage. Le destinataire doit tre capable de dcoder la squence de signaux reus pour pouvoir lire lemessage mis.- Dans un souci dfficacit, la squence de signaux doit tre la plus courte possible. On sintresse donc des codages qui minimisent la taille de la squence mise : on parle de compression.- Le mdium peut introduire des erreurs : certains signaux mis peuvent tre perdus ou altrs lors dela transmission. Dans ce cas, pour que le destinataire puisse dcoder correctement le message reu, onutilise des codages spcifiques, permettant de dtecter, voire corriger les erreurs. On parle de code dtec-teur/correcteur.- Le canal est gnralement partag par plusieurs metteurs et destinataires. Pour quun metteur puisse en-voyer un message qui ne puisse tre lu que par un destinataire spcifique (bien que la squence de signauxassocie soit visible par dautres individus), le message doit tre crypt grce un codage spcifique. Lacryptographie tudie des codages et des protocoles permettant de communiquer des messages de maniresecrte, de signer des documents ou dauthentifier un metteur.Le premier chapitre de ce rapport va donc sintresser au codage des informations puis nous verrons lacompression de ces dernires et comment gagner en taille puis pour finir la cryptographie avec les sys-tmes de scurits devenant de plus en plus importants avec le nombre croissant de transactions effectuespar le Web.

    5

  • Premire partie

    Le Codage dans linformatique

    6

  • Introduction

    FIG. 1 Schma fondamental du codage

    Vers la fin des annes 30, Claude Shannon dmontra qu laide de "contacteurs" (interrupteurs) fermspour vrai et ouverts pour faux il tait possible deffectuer des oprations logiques en associant le nombre 1pour vrai et 0 pour faux.Ce codage de linformation deux tats est nomm base binaire. Cest grce ce codage que fonctionnentles ordinateurs. Il consiste utiliser deux tats lectriques diffrents pour diffrencier les deux tats, le 0 etle 1, et ainsi coder les informations.Nous allons tout dabord faire un bref historique sur lvolution du codage et ses applications puis nousnous interesserront aux diffrents codes prsents de nos jours sur nos ordinateurs comme le codage descaractres, les codes dtecteurs derreurs et les codes correcteurs.

    7

  • Chapitre 1

    Le codage des informations

    1.1 Pourquoi coder ?La communication ncessite la comprhension entre les deux entits communicantes. Lmetteur envoie

    de linformation au rcepteur qui doit savoir linterprter pour la comprendre. Le codage de linformationest la premire tape de toute communication. Ainsi pour comprendre les 0 et les 1 de nos machines, il abien fallu un codage et dcodage pour que linformation arrive jusqu nos crans de manire comprhen-sible, linformation a t traduite.

    1.2 Lhistoire du codageDepuis toujours le codage des informations a eu une trs grande importance pour lhomme ; de lap-

    prentissage des signes, de la parole puis de lcrit. Au dbut, lcrit consistait essentiellement dans desdessins puis vint un alphabet plus simple utiliser qui offrait de multiples combinaisons pour une plusgrande richesse de lexpression. En ralit, les caractres de lcrit ne sont que des symboles interpr-tables.Le morse a t le premier codage permettre une communication longue distance. Cest Samuel F.B.Morsequi la mis au point en 1844. Ce code est compos de points et de tirets (equivalent un codage binaire). Ilpermit deffectuer des communications beaucoup plus rapides que ne le permettait le systme de courrierde lpoque aux Etats-Unis : le Pony Express. Linterprteur tait lhomme lpoque, il fallait donc unebonne connaissance du code.De nombreux codes furent invents dont le code Baudot du nom de son inventeur Emile Baudot, et appelMurray Code par les anglais.Le 10 mars 1876, le Dr Graham Bell met au point le tlphone, une invention rvolutionnaire qui permetde faire circuler de linformation vocale dans des lignes mtalliques.Ces lignes permirent lessor des tlscripteurs, des machines permettant de coder et dcoder des caractresgrce au code Baudot (les caractres taient alors cods sur 5 bits, il y avait donc 32 caractres unique-ment...).Dans les annes 60, le code ASCII1 est adopt comme standard. Il permet le codage de caractres sur 8 bits,soit 256 caractres possibles. Nous allons donc voir dans cette partie tout dabord comment sont cods lescaractres, puis comment se droule le contrle derreurs lors de transmissions grce aux codes dtecteurset correcteurs.

    1.3 Le codage des caractresLa mmoire de lordinateur conserve toutes les donnes sous forme numrique. Il nexiste pas de m-

    thode pour stocker directement les caractres. Chaque caractre possde donc son quivalent en code nu-

    1pour American Standard Code for Information Interchange

    8

  • mrique : cest le code ASCII . Le code ASCII de base reprsentait les caractres sur 7 bits, cest--dire128 caractres possibles, de 0 127.