Cryptographie - Techniques

Embed Size (px)

Citation preview

  • 8/14/2019 Cryptographie - Techniques

    1/52

    Grard FLORIN CNAM-Cedric 1

    LES TECHNIQUES DECRYPTOGRAPHIE

    G Florin

  • 8/14/2019 Cryptographie - Techniques

    2/52

    Grard FLORIN CNAM-Cedric 2

    Introduction

    Chiffrement (cryptage) = Transformationd'un texte pour en cacher le sens

    L'outil primordial de la scurit

    Chiffrement DchiffrementTexte

    en clair

    P

    crypt

    C=Ek (P)

    P

    cl de chiffrement k

    Emetteur Destinataire

    Texteen clair

    Texte

    Mthode E +cl de dchiffrement k'

    Mthode D +

    Dk'(C)=Dk'(Ek (P))C

    L'usage ancien du chiffre et l'usage

    actuel en informatique ont conduit auxcontraintes suivantes:

    - Ralisation rapide du codage et dudcodage.

    - La mthode de chiffrement est stable

    (on ne peut la changer que trs rarement)Elle est publiquement connue.- Elle dpend de paramtres secrets

    (cls de chiffrement ou de dchiffrement )qui doivent pouvoir tre modifis aismentet si possible frquemment.

  • 8/14/2019 Cryptographie - Techniques

    3/52

    Grard FLORIN CNAM-Cedric 3

    - C'est sur le secret des cls que doitreposer la scurit de la mthode.

  • 8/14/2019 Cryptographie - Techniques

    4/52

    Grard FLORIN CNAM-Cedric 4

    Diffrentes difficults d'attaqued'une mthode de cryptage

    Crypter ne se justifie que relativement l'existence d'attaquants ou cryptanalystesdont le travail est plus ou moins difficile.

    a) - L'attaque textes chiffrs

    On dispose seulement de textes chiffrs

    b) - L'attaque textes en clairconnus

    On dispose de quelques morceaux de texte

    en clair et de leur cryptagec) - L'attaque textes en clairchoisis

    On peut faire crypter ce que l'on veut par la

    mthode de cryptage et voir ce qu'elleproduit

    Remarque.

    Une bonne mthode doit rsister aux

    attaques de type c.

  • 8/14/2019 Cryptographie - Techniques

    5/52

    Grard FLORIN CNAM-Cedric 5

    Plan de l'exposLes approches principales

    Chapitre I

    - Les chiffres cls prives. Systmes classiques de cryptographie. Chiffres symtriques

    Chapitre II

    - Les chiffres cls publiques. Systmes modernes de cryptographie

    . Chiffres asymtriques

    Chapitre III- Les signatures numriques(fonctions de hachage sens unique).

  • 8/14/2019 Cryptographie - Techniques

    6/52

    Grard FLORIN CNAM-Cedric 6

    ILA CRYPTOGRAPHIE

    CLASSIQUE( cls prives)

    Principe gnral

    - La connaissance de la mthode et de la

    cl de chiffrement et celle de la mthode etde la cl de dchiffrement se dduisentfacilement l'une de l'autre .

    - Les deux mthodes et les cls sontconnues de l'metteur et du destinataire

    => L'metteur et le destinatairedoivent se mettre pralablementd'accord sur un secret (la cl) pour utiliserle chiffre.

    Deux problmes

    - L'change pralable toutecommunication scurise d'un secret("la distribution de cls)

  • 8/14/2019 Cryptographie - Techniques

    7/52

    Grard FLORIN CNAM-Cedric 7

    - Dans un rseau de N entits susceptiblesde communiquer secrtement il fautdistribuer N*(N-1)/2 cls.

  • 8/14/2019 Cryptographie - Techniques

    8/52

    Grard FLORIN CNAM-Cedric 8

    Les mthodes de chiffrement parsubstitution

    Principe gnral

    A chaque lettre ou groupe de lettres onsubstitue une autre lettre ou un autre groupede lettres.

    La substitution simple(substitution mono alphabtique)

    Pour chaque lettre de l'alphabet de baseon se donne une autre lettre utilise dans letexte chiffr.

    A B C D E F G H I J K L M N O P Q R S T U VW X Y ZA CDE F GHI J K LM NO PQ R ST U VW XY Z B

    Exemple historique: Le chiffre de Csar

    On dcale les lettres de 3 positions

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

  • 8/14/2019 Cryptographie - Techniques

    9/52

    Grard FLORIN CNAM-Cedric 9

    Les techniques d'attaque statistique

    - Analyse statistique des textes crypts.- Dtermination des frquencesd'apparition des symboles

    - Comparaison avec les frquences types

    caractristiques des langues

    Frquences d'apparition (en anglais)

    Lettres Digrammes TrigrammesE 13,05 TH 3,16 THE 4,72T9,02 IN 1,54 ING 1,42

    Une analyse statistique d'un textesuffisamment long permet de casser uncode mono ou mme poly-alphabtique

    Le problme est de disposer:

    - de puissance de calcul

    - de suffisamment de texte en regardde la longueur des cls utilises.

  • 8/14/2019 Cryptographie - Techniques

    10/52

    Grard FLORIN CNAM-Cedric 10

    La substitution poly-alphabtique

    - Une attaque est facile avec un seul

    alphabet.

    - On utilise une suite de chiffres monoalphabtiques.

    - La suite des chiffres mono alphabtiques

    est rutilise priodiquement.Exemple : le chiffre de Vigenere

    On prend les 26 chiffres de Csar.

    Les chiffres associs aux 26 dcalagespossibles sont reprsents par une lettre.

    Ex : chiffre avec dcalage de k associ la k ime lettre de l'alphabet

    A->B C D E F G H I J K L M N O P Q R S T U V W X Y ZB->C D E F G H I J K L M N O P Q R S T U V W X Y Z A BC->

    - On choisit une cl de rptitioncomme une suite de lettres: un mot ou unephrase ou un livre

    - Cette cl rpte indfiniment vis vis de chaque lettre d'un texte chiffrersert dterminer le chiffre utiliser.

  • 8/14/2019 Cryptographie - Techniques

    11/52

    Grard FLORIN CNAM-Cedric 11

    Autres substitutions

    Les substitutions homophoniques

    Au lieu d'associer un seul caractrecrypt un caractre en clair on disposed'un ensemble de possibilits desubstitution de caractres dans laquelle on

    choisit alatoirement.Les substitutions de polygrammes

    Au lieu de substituer des caractreson substitue par exemple des digrammes

    (groupes de deux caractres)- Au moyen d'une table

    (systme de Playfair)- Au moyen d'une transformation

    mathmatique (systme de Hill).

  • 8/14/2019 Cryptographie - Techniques

    12/52

    Grard FLORIN CNAM-Cedric 12

    Les chiffres de substitution longueur de cl gale celle dutexte (systmes cls jetables)

    - Pour viter les attaques statistique il faututiliser une substitution qui rend le textecrypt non analysable statistiquement.

    Exemple de solution:

    - Gnrer une cl qui est une suitebinaire parfaitement alatoire

    Phnomne physique alatoireLe bruit lectro magntique

    - Pour chiffrer un message faire le ouexclusif du message et de la cl .

    - Si chaque cl ne sert qu'une foisle chiffre est incassable .

    Difficults de la mthode

    - Volume des clsDevant tre connu aux deux bouts.

    - Problme de synchronisationSi l'on perd une seule donne on ne

    sait plus dcrypter.

  • 8/14/2019 Cryptographie - Techniques

    13/52

    Grard FLORIN CNAM-Cedric 13

    Les mthodes de chiffrement partransposition

    Principe gnral

    On procde un rarrangement del'ensemble des caractres (une transposition)qui cache le sens initial.

    La technique est trs peu rsistante auxattaques statistiques.

    ExempleLe plus souvent on utilise deux visions

    gomtriquement diffrentes du texte.

    T E X TE S

    EC R TE

    T E C E R X S E T E T

    - On enroule une fine langue de papyrusou de peau sur un tambour d'un diamtre

    donn (technique assyrienne 400 av JC).- On crit horizontalement un texte sur

    la lamelle enroule.- Quand la lamelle est droule les

    lettres sont incomprhensibles.- Pour dcrypter le message il faut un

    cylindre du bon diamtre.

  • 8/14/2019 Cryptographie - Techniques

    14/52

    Grard FLORIN CNAM-Cedric 14

    Exemple de transposition base matricielle

    - Le message en clair est crit dans unematrice.

    - La cl est la matrice.

    - La technique de transposition de base

    consiste lire la matrice en colonne.Exemple (6,5):

    M E S

    A

    T

    R N P O

    S

    S

    A G

    E S E C R

    E TA

    RS E

    Le message crypt est donc:

    MEERSE TAESS NRSEAS AC P GRTO

  • 8/14/2019 Cryptographie - Techniques

    15/52

    Grard FLORIN CNAM-Cedric 15

    Chiffre transposition avec chiffre substitution simple.

    - On combine la transposition avec unesubstitution et on rarrange l'ordre descolonnes selon une permutation qui estajoute la matrice pour former la cl.

    Exemple d'ordre d'exploration des

    colonnes 1 6 4 3 2 5, le texte crypt est:

    "MEERSGRTO SEAS SN NRE TAEAC P "

    - On peut gnrer et mmoriser simplementdes permutations en prenant une cl sous

    forme d'un mot qui ne comporte pas deuxfois la mme lettreOn numrote les colonnes dans l'ordre

    ou apparaissent les lettres du mot dansl'alphabet.

    Exemple ESPOIR correspond la

    permutation 1 6 4 3 2 5.

  • 8/14/2019 Cryptographie - Techniques

    16/52

    Grard FLORIN CNAM-Cedric 16

    Le DES "Data Encryption Standard"

    -Ds le dbut des annes 1960 la

    technologie des circuits intgrs permet detravailler des circuits combinatoirescomplexes permettant d'automatiser:

    la mthode de substitution.la mthode de transposition.

    => Ide d'appliquer ces techniques en

    cascade dans un produit de chiffres.- Mise au point partir de 1968 d'une

    mthode de cryptage base sur 16 tages desubstitutions et transpositions bass sur descls (IBM)

    - Appel d'offre NBS (1973) pour la miseau point d'un systme de cryptographie

    - Proposition IBM (1975)

    - Adoption dfinitive et normalisationdu DES d'IBM (1978) par le NBS("National Bureau of Standards").

    -Normalisation ANSI X3.92 connuesous le nom de DEA ("Data EncryptionAlgorithm").

  • 8/14/2019 Cryptographie - Techniques

    17/52

    Grard FLORIN CNAM-Cedric 17

    Principes Gnraux du DES

    Choix possibles pour la scurit

    - Mthodes simples de chiffrement etdes cls trs longues .

    Le DES

    - Produit de transpositions etsubstitutions nombreuses et compliquespour une cl relativement courte

    => facilit de transport.

    - Les chiffres substitution et

    transposition sont faciles raliser enmatriel.

    Les botes de transposition"P-Box"

    Les boites de substitution"S-Box"

  • 8/14/2019 Cryptographie - Techniques

    18/52

    Grard FLORIN CNAM-Cedric 18

    Bote de transposition(P - box "Permutation box")

    Exemple pour 8 bits (solution matrielle)

    1

    3

    Le bit 1 remplace le 3Facile raliser par simple cblageAutre solution (logicielle) par des tables

    Exemple de transposition sur 64 bits

    La permutation initiale du DES

    58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 462 54 46 38 30 22 14 6 64 56 48 40 32 24 16 857 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

    61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

    Le bit 1 remplace le 58

  • 8/14/2019 Cryptographie - Techniques

    19/52

    Grard FLORIN CNAM-Cedric 19

    Bote de substitution(S - box)

    Exemple de solution matrielle pour 3 bits

    1

    0

    0

    Demultiplexeur3 8 Transposition Multiplexeur38

    1

    0

    1

    - Trois bits slectionnent un fil en sortie- L'ensemble subit une transposition.- Le rsultat est remultiplex sur 3 bits

    Solution par consultation de tablePour une configuration d'entre onslectionne directement au moyen d'unetable la configuration de sortie.

    Exemple: Table S-1 du DESApproche particulire on substitue une

    valeur sur 6 bits une valeur sur 4 bits.Les deux bits faible et fort slectionnent

    la ligne, les 4 bits intermdiaires la colonne.14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70 15 7 4 14 2 13 1 10 6 12 11 9 5 3 84 1 14 8 13 6 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

  • 8/14/2019 Cryptographie - Techniques

    20/52

    Grard FLORIN CNAM-Cedric 20

    DES - Caractristiques

    Deux modes

    - Mode cryptage par bloc de 64 bits- Mode cryptage la vole ("stream")(octets par octets avec des registres

    dcalage)

    Utilisation d'une cl sur 56 bitsEn fait 8 fois 7 bits avec une parit(initialement 128 bits)

    19 tages de logique combinatoire

    Appliquent des transpositionssubstitutions sur des blocs de 2 x 32 bits

    - 1 tage amont, 2 en aval sont destranspositions simples fixes

    - 16 tages intermdiaires dpendent dela cl de faon complexe.

  • 8/14/2019 Cryptographie - Techniques

    21/52

    Grard FLORIN CNAM-Cedric 21

    Architecture gnrale du DES

  • 8/14/2019 Cryptographie - Techniques

    22/52

    Grard FLORIN CNAM-Cedric 22

    EntrePermutation Initiale In

    L O R O

    +K1

    F

    L 1 R O= L1R O= + F( RO,K1)

    +K2

    F

    L 2 R 1= L2R 1= + F( R1 ,K2). . . . . . .

    +Ki

    F

    L15 R 14= L15R 14= + F(R14,K )

    . . . . . . .15

    +K16

    F

    L16 R 15= L16R 15= + F(R15,K )16

    Permutation In InverseSortie

  • 8/14/2019 Cryptographie - Techniques

    23/52

    Grard FLORIN CNAM-Cedric 23

    Principe de ralisation d'un tage

    L(i-1) R(i-1)

    g

    +K

    L(i) = R(i-1)R(i)=L(i-1)

    (R(i-1))+ g

    i

    Ki

  • 8/14/2019 Cryptographie - Techniques

    24/52

    Grard FLORIN CNAM-Cedric 24

    Dtails de la fonction principaled'un tage

    L(i-1)32 bits

    R(i-1)32 bits

    Expansion de 32 48 bits

    E (R(i-1))

    AdditionModulo 2

    Ki

    48 bits

    S1 S8Substitutions

    (S-box)

    32 bits

    PermutationP(B)

    32 bits

    Additionmodulo 2(bit bit)

    +

    R(i) = P(B) + L (i-1)L(i) = R (i-1)32 bits

    +

    E(R(i-1)) + Ki = A

    B

    6 -> 4 6 -> 4

    . . .

  • 8/14/2019 Cryptographie - Techniques

    25/52

    Grard FLORIN CNAM-Cedric 25

    Dtail des boites de substitution

    R(i-1) 32 bitsExpansion de 32 48 bits

    E (R(i-1))

    Addition

    Modulo 2Ki

    48 bits

    S1

    32 bits

    Permutation P(B)

    Additionmodulo 2(bit bit)

    +

    R(i) = P(B) + L (i-1) 32 bits

    +

    E(R(i-1)) + Ki

    B

    6 -> 4

    S26 -> 4

    S36 -> 4

    S46 -> 4

    S5 S66 -> 4

    S76 -> 4

    S86 -> 4

    48 bits

    32 bits

    32 bits

    L (i-1)

    48 bits

  • 8/14/2019 Cryptographie - Techniques

    26/52

    Grard FLORIN CNAM-Cedric 26

    Mthode de calcul des cls

    Cl K

    Permutation PC-1

    CO DO

    Rotation gaucheLS1

    Rotation gaucheLS1

    C1 D1

    Rotation gaucheLS2

    Rotation gaucheLS2

    PC-2

    Permutation

    K1

    C2 D2

    Rotation gaucheLS3

    Rotation gaucheLS3

    PC-2

    Permutation

    K2

    . . . . . . . . . .

    C16 D16PC-2

    Permutation

    K16

  • 8/14/2019 Cryptographie - Techniques

    27/52

    Grard FLORIN CNAM-Cedric 27

    Complment sur le calcul des clsintermdiaires

    - La cl initiale K est sur 64 bits.

    - La permutation PC-1 enlve les bits deparit et opre sur les 56 bits restants.

    - On divise le rsultat en deux moitis C0

    et D0 de 28 bits.

    - On gnre une suite Ci, Di en oprant desdcalages gauche successifs:

    Ci = LSi (Ci-1)Di = LSi (Di-1)

    - Pour obtenir la cl Ki on regroupe Ci etDi et l'on opre sur les 56 bits unepermutation PC-2

    Ki = PC-2(Ci Di)

  • 8/14/2019 Cryptographie - Techniques

    28/52

    Grard FLORIN CNAM-Cedric 28

    DES Utilisation A la Vole

    Cl

    hOctet

    Texte enclair

    Voie physique+

    ou exclusif par octets

    h Texte encrypt

    DES

    Cl

    h

    DES

    Texte enclair

    +h

    +

    Registres dcalage

    64 bits

    - Un circuit DES de cryptage par blocs de64 bits est utilis octets par octets aumoyen de registre dcalage (octets)d'entre et de sortie.

    - Performances Excellentes - cryptage lavole dbits potentiellement trs levs(dizaine/ centaine de Mgabits/seconde).

    - Utilisation multiplesTransmission de donnes informatiques

    Cryptage de chanes de tlvision page.

  • 8/14/2019 Cryptographie - Techniques

    29/52

    Grard FLORIN CNAM-Cedric 29

    Controverse sur la scurit du DES

    Problme de longueur des cls

    - Initialement dfini avec une cl de 112bits le DES a t finalement dot par lesautorits amricaines d'une cl de 56 bits.

    => Le DES 56 est trs probablement

    attaquable par des moyens informatiquesplus ou moins lourds la porte des tats.

    Des puces spciales permettant l'essaide 106 cls par seconde ont t construitesElles peuvent tre organises en processeurs

    spciaux massivement parallles.Problme du choix des substitutions

    - Les principes de choix des S-box n'ontjamais t rendu public.

    Officiellement elles sont conues

    pour rsister une attaque particulire(la cryptanalyse diffrentielle).

    => Personne n'a jamais rien trouvconcernant d'ventuelles propritscaches des boites de substitution.

  • 8/14/2019 Cryptographie - Techniques

    30/52

    Grard FLORIN CNAM-Cedric 30

    Amlioration de la scurit du DES

    Utilisation de DES en cascade

    Premire proposition

    Avec deux cls K1, K2 (128 bits).Moins bon qu'un DES 128 bits

    DES

    K1

    DES DES

    K1K2

    Texteenclair

    Textecrypt

    -1

    Seconde proposition

    Avec trois cls K1, K2 , K3.

    DES

    K1

    DES DES

    K3K2

    Texteenclair

    Textecrypt

    -1

  • 8/14/2019 Cryptographie - Techniques

    31/52

    Grard FLORIN CNAM-Cedric 31

    Conclusion- DES -

    - Standard maintenant assez ancien ayantfinalement bien tenu.

    - Excellentes performances en vitesse decryptage.

    Un circuit ddi crypte 1 Gigabit/sEn logiciel on crypte 1 Mgabit/s

    - Niveau de scurit pour une solution cls prives trs correct pour desapplications ne ncessitant pas une

    confidentialit de haut niveau (militaire).

    Le DES 56 est probablement peu srpour un attaquant ayant de grosmoyens mais performant et trop

    coteux casser pour desapplications habituelles.

  • 8/14/2019 Cryptographie - Techniques

    32/52

    Grard FLORIN CNAM-Cedric 32

    IDEA: International DataEncryption Algorithm

    Autre solution de chiffrement par blocsde 64 bits bas sur huit tages facilementralisable en matriel ou en logiciel.

    Les oprations utilises sont desoprations arithmtiques:

    - ou exclusif

    - addition modulo 216- multiplicationmodulo 216 +1

    X1 X2 X3 X4

    Z1 Z2 Z3 Z4

    Z5

    Z6

    (1) (1) (1) (1) (1)

    (1) (1) (1) (1)

    (1)

    (1)

    UntageIDEA

    7 autres tages

    Clsgnres partirde la clinitialepardcoupage

    etdcalage

  • 8/14/2019 Cryptographie - Techniques

    33/52

    Grard FLORIN CNAM-Cedric 33

    Conclusion IDEA

    - IDEA est considr par les spcialistescomme l'un des meilleurs cryptosystme cl prive.

    - La longueur de cl est leve (128 bits).

    - La vitesse de chiffrement et dedchiffrement peut-tre leve au moyende circuits spciaux.

    Circuits 55 Mb/s et 177 Mb/sEn logiciel sur 386 33Mhz: 880 Kb/s

    - Les attaques semblent difficile mais lesystme est assez rcent (1990)

  • 8/14/2019 Cryptographie - Techniques

    34/52

    Grard FLORIN CNAM-Cedric 34

    Chapitre II

    LA CRYPTOGRAPHIE

    A CLS PUBLIQUES

    Deux problmes essentiels limitent lesmthodes de cryptographie cls privesdans les rseaux (utilises seules):

    - L'change de cls entre des sitesqui n'ont jamais t en relation

    => Il faut un moyen diffrent pourchanger des cls.

    - Pour communiquer dans un groupe den participants il faut n(n-1)/2 cls .

    1976 - Diffie et Hellman dfinissent lesprincipes d'une nouvelle approche encryptographie sans proposer de solution auproblme qu'ils posent.

    La cryptographie cls publique.

    1978 - R. Rivest A. Shamir L. Adelmandonnent une premire solution:

    La mthode RSA.

  • 8/14/2019 Cryptographie - Techniques

    35/52

    Grard FLORIN CNAM-Cedric 35

    Cryptographie cls publiques

    L'ide est de supposer que l'on saittrouver deux fonctions Ek et Dk' quidpendent de cls k et k'.

    Ek est la mthodes d'encryptage.Dk' est la mthodes de dchiffrage.

    Ayant les proprits suivantes :

    1- Dfinition mme de la cryptographie:le dchiffrage est l'inverse de l'encryptage.

    Dk' ( Ek (M) ) = M

    2- Il est trs trs difficile de dduireDk' de la connaissance de messagescrypts par Ek ou de Ek complte carcette fonction est diffuse tous.

    => Des milliers d'annes de calcul seraientncessaires dans l'tat des connaissances.

    3- Idalement Ek(M)et Dk'(M) devraienttre faciles calculer .

  • 8/14/2019 Cryptographie - Techniques

    36/52

    Grard FLORIN CNAM-Cedric 36

    Les cls publiques: une rvolutiondans l'approche cryptographique

    Un utilisateur a un couple ( Ek, Dk')

    - L'ide essentielle est que Ek (en fait k)peut-tre rendue publique par exempledans un annuaire (le nom vient de l).

    - Dk' est prive (en fait k' est prive etncessairement diffrente de k).

    - Tout le monde peut connatre Eket envoyer des messages secrets qu'unseul destinataire (celui qui connat Dk')

    peut comprendre.- D'o l'hypothse fondamentale d'un tel

    systme.=> On ne doit pas pouvoir trouver

    Dk' quand on connat Ek.

    Comme un attaquant connat Ek et desmessages crypts par Ek il ne doit paspouvoir casser Ek

    => Dcrypter des messages crypts parEk en essayant des messages connus.

  • 8/14/2019 Cryptographie - Techniques

    37/52

    Grard FLORIN CNAM-Cedric 37

    L'Algorithme RSA

    Fonction E Encodage (publique)

    - La cl publique est un couple d'entiers:

    k = (e, n)

    - L'encodage se fait au moyen de

    l'lvation la puissance e modulo n:

    Ek (M) = Me (mod n)

    Fonction D Dcodage (secrte)

    - La cl secrte est un couple d'entiers:

    k' = (d, n)

    - Le dcodage se fait au moyen de

    l'lvation la puissance d modulo n:

    Dk' (M) = Md (mod n)

    Remarque: Les entiers n, e, d doiventtre choisis selon des rgles prcise.

  • 8/14/2019 Cryptographie - Techniques

    38/52

    Grard FLORIN CNAM-Cedric 38

    Mthode de choix des cls

    1. Dtermination de n

    Trouver deux entiers premiers p et qtrs grands:

    Calculez n = p qDe prfrence dtruisez p et q.

    La scurit du systme repose sur ladifficult de factoriser un grand entier n endeux entiers premiers p et q (taille de n :320 bits, 512 bits, 1024 bits conditionnegalement la lenteur des algorithmes).

    2. Dtermination de dCalculez z = (p-1) (q-1)Choisir un entier e premier avec z.

    La cl publique est ( e , n )

    3. Dtermination de d

    Choisir un entier d tel que :e d 1 (mod z)

    (d inverse de e dans l'arithmtique mod z)La cl prive est ( d , n )

  • 8/14/2019 Cryptographie - Techniques

    39/52

    Grard FLORIN CNAM-Cedric 39

    Rversibilit de RSA

    Fonction d'EulerPour n entier z = (n) est le nombred'entiers premiers avec n.- si n est premier (n) = n-1- si n = pq avec p et q premiers

    (n) = (p-1)(q-1)

    Thorme d'EulerSi a et n sont premiers entre eux

    a (n) (mod n ) = 1

    Pourquoi RSA marche

    D ( E (M)) = ((M)e (mod n ) )d (mod n )= (Me)d (mod n ) = Me.d (mod n )

    Mais on a choisi e.d 1 (mod z)Soit en fait e.d = j z + 1Me.d Mj.z M (mod n) M (mod n)

    Parceque thorme d'Euler:Mj z(mod n) = (Mz)j (mod n) = (1)j = 1

  • 8/14/2019 Cryptographie - Techniques

    40/52

    Grard FLORIN CNAM-Cedric 40

    Remarques

    1. Le RSA doit toujours tre appliqu desblocs de chiffres d'amplitude infrieure npour faire des calculs modulo n.

    =>Dcomposition des messages enblocs

    2. On voit ici que l'on a aussi:

    D ( E (M)) = E ( D (M)) = M

  • 8/14/2019 Cryptographie - Techniques

    41/52

    Grard FLORIN CNAM-Cedric 41

    Exemple

    1 Soient deux entiers premiers p =47,q =71n = pq = 3337

    2 z= (p-1)(q-1)= 46 . 70 = 3220Choisissons e = 79 (premier avec n)

    3 Calcul de l'inverse de e modulo z

    Une solution possible: le thorme d'Eulere (n) = 1 = e e-1 = e e (n)-1 (mod z)

    Donc d = e-1 = e (n)-1 (mod z)Numriquement 7978 (mod 3220) = 1019Une autre solution plus simple:

    L'algorithme d'Euclide

    4 Crypter M = 6882326879666683Dcomposition en blocs de taille infrieure n= 3337 => Des blocs de 3 chiffres

    M= 688 232 687 966 668 3Crypter 688:

    68879 (mod 3337) = 1570E(M) = 1570 2756 2091 2276 2423 158Dcrypter 1570:

    15701019 (mod 3337) = 688

    Tir de "Cryptographie applique"

    B. Schneier

  • 8/14/2019 Cryptographie - Techniques

    42/52

    Grard FLORIN CNAM-Cedric 42

    Intuitions relatives au RSA

    Crypter = bousculer les informations pourrendre le sens inaccessible.RSA = l'utilisation de l'lvation lapuissance puis d'une congruence.

    - L'lvation a une puissance permet dechanger le registre des entiers choisis

    Exemple trs simple e = 3 et n = 41:Pour M = 27, M' = 28 peu diffrents.E(M) = 27 3 = 19683E(M') = 28 3 = 21952

    - Les congruences introduisent desdiscontinuits => il est trs difficile detrouver le logarithme d'un nombre dans unensemble d'entiers modulo n.

    E(M) = 273mod (41) = 19683 mod (41)

    E(M) = 480 x 41 + 3 mod (41)E(M) = 3E(M') = 283 mod (41) = 21952 mod (41)E(M') = 535 x 41 + 17 mod (41)

    E(M') = 17

  • 8/14/2019 Cryptographie - Techniques

    43/52

    Grard FLORIN CNAM-Cedric 43

    Attaque du RSA

    Solution de base

    - n tant public le cryptanalyste cherche trouver p et q pour calculer z.

    => Il doit factoriser un grand nombre endeux facteurs premiers.

    Ce problme est complexeMeilleurs algorithmes connus- En 1989 avec 400 Vax pendant 3

    semaines factorisation d'un nombre de 106chiffres (352 bits)

    - Actuellement factorisation possible denombres de 110 120 chiffres (350 400bits)

    - Si on a trouv p et q alors utiliserl'algorithme d'Euclide pour trouver e, d

    premiers avec (p-1) (q-1) = zD'autres attaques sont

    dcouvrir...

  • 8/14/2019 Cryptographie - Techniques

    44/52

    Grard FLORIN CNAM-Cedric 44

    Scurit et performances du RSA

    Utiliser des longueurs de cls deplus en plus importantes

    Valeurs envisages512 bits, 640 bits1024 bits (considr comme assez sr

    pour plusieurs annes)

    2048 bits

    Utiliser des circuits intgrs decryptage de plus en plus

    performants

    Actuellement une dizaine de circuitsdisponibles.Vitesse de cryptage de base pour 512

    bits:de 10 30 Kb/s

    volution en cours

    de l'ordre de 64 Kb/sA venirde l'ordre de 1 Mb/s

    Remarque: Compte tenu de la complexitdes traitements le DES doit tre environ

    toujours 100 fois plus rapide que le RSA.

  • 8/14/2019 Cryptographie - Techniques

    45/52

    Grard FLORIN CNAM-Cedric 45

    Problmes du RSA

    - Trouver de grands nombres premiers(on prend en fait des nombres premiers enprobabilit).

    - Choisir des cls secrtes et publiquesassez longues.

    - Raliser les oprations modulo nrapidement.

    RSA carte bancaire

    limitation des calculs du fait de lapuissance de calcul disponible.

    n sur 320 bits (de l'ordre de 95 chiffres)

    cl publique 3 pour tout le monde

  • 8/14/2019 Cryptographie - Techniques

    46/52

    Grard FLORIN CNAM-Cedric 46

    Conclusion RSA

    - Problme principalComplexit algorithmique de la

    mthode.

    Solution assez gnrale.

    Utiliser le RSA brivement au dbut

    d'un change pour changer des clssecrtes de session d'un algorithmeefficace cls prives.

    - Efficacit en scuritLa mthode est officiellement sre si

    l'on respecte certaines contraintes delongueur de cls et d'usage.Personne depuis 2500 ans n'a trouv de

    solution rapide au problme de lafactorisation ...

  • 8/14/2019 Cryptographie - Techniques

    47/52

    Grard FLORIN CNAM-Cedric 47

    IIILes fonctions de hachage

    sens unique

    Notion de fonction sens unique("one way function")

    C'est une fonction f(M) facile calculermais telle qu'il est extrmement difficile

    de dduire M de f(M).

    Exemple:Calcul modulo n (dans un corps fini)

    M2 est facile calculer modulo n (Me).M est difficile calculer (log M).

    Les fonctions sens unique sont utilespour garder sous forme inaccessible desmots de passe.

    Par contre pour la cryptographie ellessont peu utiles car une fois M chiffr on ne

    sait pas dchiffrer M.

    Notion de fonction sens unique brche secrte

    C'est une fonction f(M) facile calculertelle qu'il est extrmement difficile de

    dduire M sauf si l'on connat un secret K.

  • 8/14/2019 Cryptographie - Techniques

    48/52

    Grard FLORIN CNAM-Cedric 48

    Notion de fonction de hachage

    Une fonction de hachage est unefonction mathmatique qui a partir d'unmessage (d'une donne) gnre une autrechane (gnralement plus courte).

    Terminologie: fonction de contraction,digest, empreinte digitale, ...

    Exemples: Calcul de parit verticaleOn fait le ou exclusif de tous les octetsd'une chane de caractres.

    Calcul de code polynomial.

    Notion de fonction de hachage

    sens unique sans clC'est une fonction de hachage sens

    unique qui peut tre calcule par n'importequi (MD5).

    Notion de fonction de hachage sens unique avec cl

    C'est une fonction de hachage sensunique qui ne peut tre calcule que parune seule entit dtentrice de la cl.

  • 8/14/2019 Cryptographie - Techniques

    49/52

    Grard FLORIN CNAM-Cedric 49

    Nombreux exemples de fonctions dehachage sens unique avec cl.

  • 8/14/2019 Cryptographie - Techniques

    50/52

    Grard FLORIN CNAM-Cedric 50

    Signatures numriques

    Une signature manuscrite idale estrpute possder les proprits suivantes:

    - La signature ne peut-tre imite.Elle prouve que le signataire a

    dlibrment sign le document.

    - La signature authentifie le signataire.Seul le signataire peut avoir sign.

    - La signature appartient un seuldocument (elle n'est pas rutilisable).

    - Le document sign ne peut trepartiellement ou totalement modifi .

    - La signature ne peut-tre renie.

    Base de la signature numrique:

    L'existence d'une fonction de hachage sens unique avec cl.Une solution possible: une fonctions de

    hachage sens unique et une techniqueclassique de cryptographie (exemple leRSA)

  • 8/14/2019 Cryptographie - Techniques

    51/52

    Grard FLORIN CNAM-Cedric 51

    MD5 Message Digest version 5

    Une fonction de hachage sens unique.

    On gnre une signature sur 128 bits.

    Le message est dcompos en blocs de512 bits soient 16 sous-blocs Mj de 32 bits.

    Pour chaque bloc de 512 bits on ralise4 sries de 16 applications successives desfonctions de base FF, GG , HH, II quidpendent des sous-blocs Mj et deconstantes a, b, c, d, ti:FF(a,b,c,d,Mj,s,ti) a = b + ((a = F(b,c,d) + Mj+ ti) s)

    GG(a, b,c,d,Mj,s, ti) a = b + ((a = G(b,c,d) + Mj+ ti) s)

    HH(a,b, c,d,Mj,s,ti) a = b + ((a = H(b,c,d) + Mj + ti) s)

    II(a,b, c,d,Mj,s,ti) a = b + ((a = I(b,c, d) + Mj + ti) s)Dans les formules prcdentes s dsigneun dcalage gauche de s positions les

    fonctions F,G, H,I sont donnes par:F(X,Y,Z) = (X Y) (X Z)G(X,Y, Z) = (X Z) (Y Z)

    H(X,Y,Z) = (X Y Z)

    I(X,Y,Z) = Y (X Z)

  • 8/14/2019 Cryptographie - Techniques

    52/52

    Bibliographie

    A.S. Tannenbaum - Computer NetworksPrentice Hall

    B. Schneier - Cryptographie applique

    Thomson Publishing International France

    D.E. Denning - Cryptography and datasecurity Addison Wesley 1982