cours crypto

65
 Université d’Avignon et des Pays de Vaucluse CERI, M1-M2 Alternance, 2009-2010 Sécurité des Systèmes d’Information et des Réseaux : Cryptographie Khalil IBRAHIMI Laboratoire d’Informati ue d’Avi non LIA   1 Contact : [email protected]  Chapitre 1 : Concepts généraux et définitions; Chapitre 2 : Aspects techniques de la cryptographie symétrique; Chapitre 3 : Aspects techniques de la cryptographie ap re : u en ca on, ac age, s gna ure e gestion de clés; 2 HSCTDOC.blogspot.com

Upload: syrinebsheenee

Post on 05-Nov-2015

39 views

Category:

Documents


1 download

DESCRIPTION

Cours Crypto

TRANSCRIPT

  • Universit dAvignon et des Pays de VaucluseCERI, M1-M2 Alternance, 2009-2010

    Scurit des Systmes dInformation et des Rseaux : Cryptographie

    Khalil IBRAHIMI

    Laboratoire dInformatique dAvignon (LIA)Laboratoire d Informatique d Avignon (LIA)

    1Contact : [email protected]

    PlanPlanChapitre 1 : Concepts gnraux et dfinitions;

    Chapitre 2 : Aspects techniques de la cryptographie symtrique;

    Chapitre 3 : Aspects techniques de la cryptographie asymtrique;asymtrique;

    Ch it 4 A th tifi ti h h i t tChapitre 4 : Authentification, hachage, signature et gestion de cls;

    2

    HSCTDOC.blogspot.com

  • RfrencesRfrences

    1- Titre : Cryptographie applique : protocoles, algorithmes, et code yp g p pp q p , g ,source en C,Auteur : Bruce Schneier.

    2- Titre : Handbook of Applied Cryptography, Auteurs : A. Menezes, P. van Oorschot and S. Vanstone.http://www.cacr.math.uwaterloo.ca/hac/index.htmlhttp://www.cacr.math.uwaterloo.ca/hac/index.html

    Chapitre 1 : Concepts gnraux et dfinitionsChapitre 1 : Concepts gnraux et dfinitions

    4

    HSCTDOC.blogspot.com

  • Cryptologieyp g

    Cryptographie Cryptanalyse

    CryptosystmeSymtriques

    CryptosystmeAsymtrique

    Confidentialit desConfidentialit des informations transmises ou

    stockes

    5Schma gnral de la cryptologie

    Quelques applications civiles :Quelques applications civiles :

    Protocoles cryptographiques scuriss tels que : Protocole dIBM de gestion de cls secrtes,

    Kerberos Kerberos, SSL, IPsec,

    Systme de paiement scurisC t t t ti b i Carte puce et transactions bancaires

    change confidentiel de donnes mdicales, juridiques,

    Rseaux tlphoniques (Tlphonie fixe et mobile, fax, ) )

    HSCTDOC.blogspot.com

  • A quoi sert la cryptographie?A quoi sert la cryptographie?

    Confidentialit des informations stockes ou transmises. Seuls les utilisateurs autoriss peuvent accder linformation.

    Intgrit des informations stockes ou transmises. Seuls les utilisateurs autoriss peuvent modifier linformation.

    Authentification des utilisateurs. Lutilisateurs est-il ou non autoris ? L utilisateurs est-il ou non autoris ?

    Rendre une information incomprhensible.p

    Concepts gnraux et dfinitionsConcepts gnraux et dfinitions

    Objectif principal dun cryptosystme est de chiffrer un message en clair en un message chiffr appel cryptogramme. Ce message ne doit pas tre dchiffr par les cryptanalystesCe message ne doit pas tre dchiffr par les cryptanalystes, dcrypteurs, hackeurs,

    Il doit tre uniquement dchiffr par le destinataire lgitime Un Il doit tre uniquement dchiffr par le destinataire lgitime. Un cryptosystme est caractris par cinq composants :

    Un espace M = {M1 M2 } des messages en clair;Un espace M = {M1, M2, } des messages en clair;

    Un espace C = {C1, C2, } des messages chiffrs;

    Un espace K = {K1, K2, } des cls;

    8

    HSCTDOC.blogspot.com

  • Concepts gnraux et dfinitionsConcepts gnraux et dfinitions

    Un algorithme de chiffrement paramtr par une cl K dans Un algorithme de chiffrement paramtr par une cl K dans K

    Un algorithme de dchiffrement paramtr par une cl K dans K

    9

    Concepts gnraux et dfinitionsConcepts gnraux et dfinitions

    Cryptosystme :

    Message en clair (M) + algorithme de chiffrement (E) avec la cl K;ou bienou bien

    Algorithme de dchiffrement (D) + Message chiffr (C) + toutes les cls possibles K et K.

    Un cryptosystme moderne doit satisfaire les conditions suivantes :

    Les algorithmes de chiffrements (E) / dchiffrement (D) doivent tre oprationnels pour tout cl K stables ils sont publiquement connus (grandoprationnels pour tout cl K, stables ils sont publiquement connus (grand public, );

    La scurit de systme doit reposer uniquement sur le secret des cls K et K.

    => Ce qui donne naissance aux cryptosystmes usage gnral.

    10

    HSCTDOC.blogspot.com

  • Cryptosystmes usage gnraleCryptosystmes usage gnrale

    Les cryptosystmes modernes sont conus en tenant compte des conditions prcdentes. Ils forment deux classes de cryptosystmes : Symtrique et Asymtrique.

    Les cryptosystmes symtriques sont synonymes de systmes cryptographiques cls secrtes ou prives Une mme cl K est utilisecryptographiques cls secrtes ou prives. Une mme cl K est utilise pour le chiffrement et dchiffrement cest--dire K = K.

    G l t l l ith t tili l hiff t t l Gnralement un seul algorithme est utilis pour le chiffrement et le dchiffrement (D = E).

    Le secret de la cl de chiffrement / dchiffrement est donc partag entre metteur A et rcepteur B.

    11

    Cryptosystmes usage gnraleCryptosystmes usage gnrale

    Message en l i M

    Message en clair M

    Dchiffrement

    clair M clair M

    ChiffrementC = EK (M)

    DchiffrementM = DK (C)

    Canal de communication non scuris

    Message chiffr C

    tt A Rcepteur B

    Cl K Cl K

    metteur A Rcepteur B

    12Fig 1 : Synoptique gnrale dun cryptosystmes usage gnrale

    HSCTDOC.blogspot.com

  • Cryptosystmes usage gnraleyp y g g

    metteur A Rcepteur B

    Message en l i M

    metteur A p

    Message en clair M

    Dchiffrement

    clair M clair M

    ChiffrementC = EK (M)

    DchiffrementM = DK (C)

    Canal de communication non scuris

    Message chiffr C

    Cl K Cl K

    Canal de communication scuris pour changer la cl K

    13Fig 2 : Synoptique gnrale dun cryptosystmes cl symtrique

    Cryptosystmes cl symtriqueCryptosystmes cl symtrique

    Avantages Rapidit de chiffrement / dchiffrement,

    C fid ti lit l l l tili t ( t ti d fi hi d Confidentialit locale par un seul utilisateur (protection de fichiers dans une machine),

    Champs dapplication trs vaste (Banques, communications tlphoniques),

    Longueur de la cl relativement petite code entre 40 bits et 256 bits.

    Inconvnients Si la cl est compromise (vole, pirate, ) le systme nest plus fiable

    et donc plus de confidentialitet donc plus de confidentialit, Dans un rseau de N correspondants, il faut distribuer N (N-1)/2 cls

    par des canaux sr et donc problme de distributions des cls par des voies scurises

    14

    voies scurises.

    HSCTDOC.blogspot.com

  • Cryptosystmes cl symtriqueCryptosystmes cl symtrique

    Outils Substitution, Transposition,Transposition, Ou Exlusif, Dcalage logique,

    C bi i d f ti i d Combinaison des fonctions ci-dessus.

    Exemples de ralisationp DES, IDEA,

    MARS MARS, 3DES,

    15

    Cryptosystmes usage gnraleCryptosystmes usage gnrale

    L t d t t t i t i t d it 1976 Le concept de cryptosystmes asymtriques a t introduit, en 1976, par Delfie Hellman. Lide de base est repose essentiellement sur deux algorithmes Ek diffrent de Dk pour K diffrent de K (voir la figure 3 ci-aprs)aprs).

    Ce cryptosystme met en jeu deux cls, une pour le chiffrement (K) et une autre pour le dchiffrement (K). De ce fait, chaque utilisateur doit possder une paire de cl (K, K). La cl k est appele publique Kp : elle peut tre rendue publique dans un annuaire, une base de donne. Lautre cl K est

    l i K d i d dappele prive Kpr doit tre garder secrte et nest connue que de son propritaire.

    La cl Kp est utilise pour le chiffrement du message en clair M.

    La cl Kpr est utilise pour le dchiffrement du message chiffr C

    16

    La cl Kpr est utilise pour le dchiffrement du message chiffr C.

    HSCTDOC.blogspot.com

  • Cryptosystmes usage gnraleyp y g g

    metteur A Rcepteur B

    Message en l i M

    metteur A p

    Message en clair M

    Dchiffrement

    clair M clair M

    ChiffrementC = EK (M)

    DchiffrementM = DK (C)

    Canal de communication non scuris

    Message chiffr C

    Cl K Cl K

    17Fig 3 : Synoptique gnrale dun cryptosystmes cl asymtrique

    Aspects techniques de la cryptographie asymtrique

    Diffrente possibilits dutilisation de Kp et Kpr Diffrente possibilits dutilisation de Kp et Kpr

    1 Confidentialit (voir la figure 4)1. Confidentialit (voir la figure 4) Il sagit de garantir le secret de linformation transmise ou

    archive. S it A tili t l i d l i t K A l l Soit A un utilisateur avec la paire de cl suivante : KpA la cl publique, KprA la cl prive,

    Soit B un utilisateur avec la paire de cl suivante : KpB la cl bli K B l l i publique, KprB la cl prive,

    A est lmetteur du message chiffr et B est le rcepteur de ce message.

    18

    HSCTDOC.blogspot.com

  • Message en clair M

    Message en clair M

    Chiffrement DchiffrementCanal de communication non scurisChiffrementC = EKpB (M)

    M = DKprB (C)Canal de communication non scuris

    A chiffre le message M avec

    Message chiffr C

    KpBB dchiffre le

    message C avec sa

    message M avec la cl publique de B provenant dun

    centre de di ib i

    K A

    cl prive tenue secrte

    distribution

    KpA

    KpB Centre de distribution

    Canal de communication

    non scuris

    metteur A Rcepteur B

    de cls publiques

    19Fig 4 : Synoptique du mcanisme de confidentialit

    Aspects techniques de la cryptographieAspects techniques de la cryptographie asymtrique

    Dans ce schma, le chiffrement / dchiffrement est ralis uniquement en utilisant la paire de cl de B (K B K B)uniquement en utilisant la paire de cl de B (KpB, KprB).

    A chiffre le message M avec la cl publique B C = EkpB (M).g p q p ( )

    B dchiffre le message c avec sa cl prive M = DkprB (C).

    Linconvnient majeur est que lauteur du message nest pas forcment identifi et peut tre anonyme (que les cls publiqueforcment identifi et peut tre anonyme (que les cls publique

    qui sont connus).

    20

    HSCTDOC.blogspot.com

  • Aspects techniques de la cryptographie asymtrique

    2 Authentification (voir la figure 5)

    Il i d i l i i d i f i (l i Il sagit de garantir lorigine dune information (le courrier lectronique, un bon de commande transmis en ligne),

    A chiffre le message M avec sa cl prive tenue secrte A chiffre le message M avec sa cl prive tenue secrte

    (KprA) (C = EkprA(M),

    B dchiffre le message c avec la cl publique de A (kpA)

    M = DkpA(C) = DkpA[EkprA(M)],M Dkp (C) Dkp [Ekpr (M)],

    Dans ce schma, le chiffrement / dchiffrement seffectue en utilisant uniquement la pair de cl de A (kpA, kprA).

    21

    p p

    Aspects techniques de la cryptographieAspects techniques de la cryptographie asymtrique

    B identifie A en tilisant la cl p bliq e de A po r dchiffrer le B identifie A en utilisant la cl publique de A pour dchiffrer le message C ce qui donne lauthentification de A.

    Pas de confidentialit puisque la cl publique de A est connue etPas de confidentialit puisque la cl publique de A est connue et publique (nimporte qui peut dchiffrer le message C).

    3 Intgritg

    Il sagit de garantir la confidentialit et lauthenticit,

    A chiffre le message avec sa cl prive (kprA), puis le rsultat sera

    22

    HSCTDOC.blogspot.com

  • Aspects techniques de la cryptographie p q yp g pasymtrique

    ensuite chiffr par la cl publique de B (kprB),1. C = EkprA (M) p2. C = EkpB(C) = EkpB[ EkprA (M) ]

    B dchiffre le message c avec sa cl prive (kprB), puis le rsultat g p ( pr ) psera ensuite dchiffr par la cl publique de A (kprA),

    1. DkprB (C) = C2 Ek A(C) = Ek A[ Dk B (C)2. Ekp (C) Ekp [ Dkpr (C )

    = EkpA[ DkprB (EkpB[ EkprA (M) ]) ] = M

    Hypothse fondamentale : Hypothse fondamentale :On ne doit pas pouvoir trouver la cl prive partir de la cl publique (connue par tous le monde et circule sur des canaux non scuriss).

    23

    Message en

    metteur ARcepteur B

    Assure la confidentialitgclair M

    C = EKprA (M) C = DKprB (C)Canal de communication non scurisC = EKpB (C)

    Message hiff C

    M = EKpA (C)

    chiffr C

    Message en A l th ti it gclair MAssure lauthenticit

    24Fig 5 : Schma du mcanisme de confidentialit / authentification

    HSCTDOC.blogspot.com

  • Cryptosystmes cl asymtriqueCryptosystmes cl asymtrique

    Avantages change de cl publique sur un canal non scuris (pas besoin dun

    canal scuris), Possibilit de cration de base de donnes des cls publiques, Authentification du message grce la signature numrique, Nombre de cls crot linairement avec le nombre dutilisateurs N

    utilisateurs N pairs de clsutilisateurs N pairs de cls.

    InconvnientsTemps de calcul mathmatique et espace mmoire relativement Temps de calcul mathmatique et espace mmoire relativement important, donc moins rapides que les cryptosystmes symtriques,

    Sensible aux attaques message clairs choisis (cl publique), Validit des cls publiques problme de certifications des clsValidit des cls publiques problme de certifications des cls

    publiques confiance une tiers personne organisme de distribution des cls,

    Longueur des cls trs grandes : nombre premiers alatoires avec une certaine probabilit code entre 1024 et 4096 bits

    25

    certaine probabilit code entre 1024 et 4096 bits.

    Cryptosystmes cl asymtriqueCryptosystmes cl asymtrique

    O il Outils Thorie des grands nombres premiers, Fonctions dexponentiation modulaires.p

    Exemples de ralisationRSA Diffi H ll RSA, Diffie-Hellman,

    El Gamal,

    Cryptosystme hybridesLide de base consiste utiliser un cryptosystme asymtrique pour changer les cls dun cryptosystme symtrique Ce systme combinechanger les cls d un cryptosystme symtrique. Ce systme combine donc tous les avantages des deux cryptosystmes symtriques et asymtriques.

    26

    HSCTDOC.blogspot.com

  • Cryptosystmes hybride

    Cryptosystmes hybride

    La cl de

    metteur A Rcepteur B

    Ks = DKprB (C)La cl de

    session KsCanal de communication non

    scurisC = EKpB (Ks)

    La cl de session Ks

    B dchiffre la cl de session Ksen utilisant sa cl priv

    A chiffre la cl de session Ks en tili t l l bli d B

    Fi 6 S h d t t h b id h d l d i

    en utilisant sa cl privutilisant la cl publique de B

    27

    Fig 6 : Schma dun cryptosystme hybride : change de cl de session (cryptosystme asymtrique)

    Cryptosystmes hybrideCryptosystmes hybride

    metteur A Rcepteur B

    Message en clair M M = DKs(C)Canal de communication non scurisC = EKs (M)

    Message en clair M

    Fig 7 : Schma dun cryptosystme hybride : communication (cryptosystme

    clair M

    symtrique)

    Exemple de ralisation :

    28

    pPGP (Pretty Good Privacy)

    HSCTDOC.blogspot.com

  • Chapitre 2 : Aspects techniques de laChapitre 2 : Aspects techniques de la cryptographie symtrique

    29

    Cryptographie classiqueCryptographie classique

    Substitution SubstitutionUne substitution est un remplacement dalphabet. A chaque caractre ou groupe de caractres du message en clair on substitue un autre caractre ou groupe de caractres Ce procd doit augmenter la confusion de faon groupe de caractres. Ce procd doit augmenter la confusion de faon compliquer la liaison entre le message en clair. La substitution inverse redonne le message en claire.

    1 Substitution monoalphabtique

    S { }Soient A = {a0, a1, , an-1} les caractres alphabtiques ordonns dans le message en clair et C = {f(a0), f(a1), , f(an-1)} les caractres alphabtiques utiliss dans le message chiffr. La fonction f t l f ti d hiff t S it M { 0 1 1} lf est la fonction de chiffrement. Soit M = {m0, m1, , mr-1} le message en clair o mi sont les caractres du message M de A.La cl et lalgorithme de chiffrement sont combins et reprsents par

    30C = Ek(M) = f(m0) f(m1) f(mr-1)

    HSCTDOC.blogspot.com

  • Cryptographie classiqueCryptographie classique

    Les substitutions monoalphabtiques dcaler de K positions modulo le nombre de caractre de A. La forme explicite de la fonction f est donne par :

    f(a) = (a+K) mod nOO a: caractre chiffrer K: nombre de dcalage, cl de chiffrement

    n: dimension de A n: dimension de A.

    Exemple :

    A : ABCDEFGHIJKLMNOPQRSTUVWXYZ (les caractres alphabtiques majuscule du franais standard)

    M : RENAISSANCE

    n: 26

    31K :3 (chiffrement de Jule Cesar)

    Cryptographie classiqueCryptographie classique

    Exercice :Exercice :

    Trouvez lensemble de lalphabets de substitution C?

    Chiffrez le message en clair M?

    Dchiffrez le message chiffr C = Ek(M)?Dchiffrez le message chiffr C = Ek(M)?

    Vrifiez que la redondance dans le message en clair apparat dans le message chiffr et aussi si lensemble C est choisie alatoirement?chiffr et aussi si l ensemble C est choisie alatoirement?

    32

    HSCTDOC.blogspot.com

  • Cryptographie classiqueCryptographie classique

    2 S b i i l l h b i2. Substitution polyalphabtique

    Dans la substitution monoalphabtique la frquence de distribution desp q qcaractres du message en clair est prserve dans le message chiffr(redondance ce qui donne la possibilit de lanalyse statistique). Pour

    di bl l b tit ti l l h bti i t tiliremdier ce problme, la substitution polyalphabtique consiste utiliserplusieurs alphabets de substitution. Son principe est bas sur une cl (unmot, une phrase, ) et dune matrice dalphabets de substitution C1, ,)Cn avec la fonction de chiffrement associe Ci :

    fi(A) = Ci pour i = 1, , nfi(A) Ci pour i 1, , n

    33

    Cryptographie classiqueCryptographie classique

    E ti l b d l h b t tili d l hiff t t lEn pratique le nombre dalphabets utilises dans le chiffrement est galeau nombre utiliss dans la cl. De ce fait, la cl de chiffrement doit donctre constitue de d caractre, chaque caractre de la cl on attribut unqalphabet de substitution Ci. Donc, cette cl sera rpte autant de fois quencessaire pour chiffrer le message M.

    M = m1, , md, md+1, , m2d, ,Cl = k1, , kd, k1, , kd, ,Ek(M) = f1(m1), , fd(md), f1(md+1), , fd(m2d), ,

    Les fonctions fi peuvent tre dcalage :Les fonctions fi peuvent tre dcalage :fi(mi) = (mi + ki) mod n,OKi (i 1 d) l d hiff t t l l d d l d l i

    34

    Ki (i=1, , d) cl de chiffrement, est la valeur de dcalage de la imealphabet de substitution par rapport lalphabet standard A.

    HSCTDOC.blogspot.com

  • Exemple : Chiffrement de Vignere dcalage (1863)La matrice de lalphabet est obtenue en choisissant la valeur de Ki gale la kime position du caractre dans lalphabet A. Cette matrice propose 26 alphabets de substitution :

    35

    Exemple en utilisant la matrice de lalphabets de substitutionExemple en utilisant la matrice de l alphabets de substitution

    K = K1 K2 K3 K4 (d=4, 4 alphabets de substitution parmi 26)K1 = 1 (mod 26)K1 = 1 (mod 26)K2 = 0 (mod 26)K3 = 13 (mod 26)K4 = 3 (mod 26)K4 = 3 (mod 26)

    La cl est donc gale K = BAND

    Message en clair

    M = INFO RMAT IQUE S

    K = BAND BAND BAND BMessage chiffrg

    C = Ek(M) = JNSR SMNW JQHH T

    36

    HSCTDOC.blogspot.com

  • 3 Substitution par polygrammes Cette technique permet de chiffrer les carctres par blocs de deuxcaractres (bigramme) ou trois caractres (trigramme) Lalgorithme lecaractres (bigramme) ou trois caractres (trigramme), . L algorithme leplus connu est play fair Wheastone (1854) qui a tutilis par les anglais durant la premire guerre mondiale.

    Dans cet algorithme, bas sur la substitution bigramme, on utilise unematrice alphabtique carr (5x5) de 25 caractres dont les caractresp q ( )dpendent du choix dune cl K.

    ffa- Prparation du message chiffrer1- Elimination des signes, ponctuation et on groupe les lettres par

    groupe de deuxg p2- Si une paire se compose de deux lettres identiques la 2me lettre

    sera remplace par X.3- Le caractre J est trait comme I3 Le caractre J est trait comme I.

    37

    b- Construction de la matrice carrLe mot cl, choisi, est inscrit horizontalement sans rpter aucun caractre p

    puis les caractres restants de lalphabet sont crits en respectant leur ordre alphabtique et en traitant I et J comme IJ.

    c- Rgle suivre pour chiffrer le bigramme mi mj dun message Mc Rgle suivre pour chiffrer le bigramme mi mj d un message M1- Si mi et mj occupent la mme ligne ci et cj sont les caractres de

    substitution situs respectivement droite de mi et mj.2 Si i t j t d l l i t j t l t2- Si mi et mj sont dans la mme colonne ci et cj sont les caractres

    de substitution situs respectivement en dessous de mi et mj.3- Si mi et mj, se trouvent dans des lignes et colonnes diffrentes ci

    ( j) l t i t li t ti d l li i(ou cj) sera le caractre qui se trouve lintersection de la ligne mi(ou mj) et de la colonne de mj (ou mi).

    d-Exemple :Avec la cl K = SPART, trouvez le message chiffr C du message en clairM = INFORMATIQUES

    38

    HSCTDOC.blogspot.com

  • 3 M j bl ( i P d)3. Masque jetable (one time Pad)Pour viter les attaques statistiques, cette technique consiste utiliser une cl,appel masque, constitue de K caractres tries au hasard et de mme longueurappel masque, constitue de K caractres tries au hasard et de mme longueurque le message en clair. Le chiffrement est effectu par :Ci = f(mi) = (mi + Ki) mod nOOmi : le caractre chiffrerKi : caractre de la cl (masque) gnr alatoirement pour chiffrer min : dimension de lensemble de lalphabets An : dimension de l ensemble de l alphabets A.

    Cette fonction est identique au systme de vignere avec une gnration alatoiredes caractres de la cl dont la taille est celle du message en clairdes caractres de la cl dont la taille est celle du message en clair.Exemple :n = 26K = TBFRGFARFMIKLK = TBFRGFARFMIKLM = MASQUEJETABLECalculer le message chiffr C = Ek(M)?

    39

    Cryptographie classiqueCryptographie classique

    T iti TranspositionLe chiffrement par transposition est bas sur les permutations des caractresdu message en clair De ce fait les caractres sont toujours mais dans undu message en clair. De ce fait, les caractres sont toujours mais dans unAutre ordre pour augmenter les diffusions dans le message en clair. Ceprocd est fond essentiellement sur des matrices dordres nxp.

    Lecture du

    Message en clair M

    Matrice de taille

    n x p

    Lecture du message chiffr

    partir de la

    Message chiffr C

    n x p partir de la matrice

    Fi 6 P i i d l t iti40

    Fig 6. Principe de la transposition

    HSCTDOC.blogspot.com

  • 1 T i i i l l1. Transposition simple par colonnes Dans la matrice, le message en clair est crit horizontalement et le message chiffrest obtenu en lisant la matrice verticalement. De ce fait, lordre de la matriceest obtenu en lisant la matrice verticalement. De ce fait, l ordre de la matricereprsente la cl de chiffrement K.

    Exemple :Exemple :K = 4 x 4M = INFORMATIQUESDonc nous avons une matrice de 4 lignes et 4 colonnesDonc nous avons une matrice de 4 lignes et 4 colonnes.X est pour complter la matrice.

    1 2 3 4I N F OR M A T

    D l hiff t

    I Q U ES X X X

    Do le message chiffr estC = IRISNMQXFAUXOTEX 41

    Le dchiffrement seffectue en crivant le message C en colonnes Le message enLe dchiffrement seffectue en crivant le message C en colonnes. Le message enclair est obtenu en lisant horizontalement la matrice. La transposition par colonnepeut tre complique si on lit les colonnes dans autre ordre. La cl K sera

    t l d d l t i t l t d l l t d lreprsente par lordre de la matrice et le squencement de la lecture des colonnes.Exemple :K = 4 x 4, lecture des colonnes 2-4-1-3M INFORMATIQUESM = INFORMATIQUES

    1 2 3 4I N F OR M A TI Q U ES X X X

    Do le message chiffr estC = NMQXOTEXIRISFAUX

    42

    HSCTDOC.blogspot.com

  • 1 T i i l l1. Transposition complexe par colonnes Dans la transposition complexe par colonnes, le nombre de colonnes (p) de lamatrice est fix par le nombre de caractres dune cl K (tous les caractres sontmatrice est fix par le nombre de caractres d une cl K (tous les caractres sontdiffrents les uns aux autres), le nombre de ligne (n) dpendra de la longueur dumessage en clair. Le classement dans lordre alphabtique des caractres de la clpermet de fixer le squencement de la lecture des colonnes de la matricepermet de fixer le squencement de la lecture des colonnes de la matrice.

    Exemple :K = GATS p = 4K = GATS, p = 4M = INFORMATIQUES

    G A T SI N F OR M A T

    QI Q U ES X X X

    43

    Classement par ordre alphabtique des caractres de KClassement par ordre alphabtique des caractres de K

    A G S TN I O FM R T AQQ I E UX S X X

    Message chiffr estC = NMQX IRIS OTEX FAUX

    44

    HSCTDOC.blogspot.com

  • Cryptographie moderneCryptographie moderne

    L t hi t i l i t it i t d t t b La cryptographie symtrique classique traitaient des cryptosystmes bassur des caractres. Les diffrents algorithmes remplaaient outransposaient les caractres. Les meilleurs systmes combinaient les deuxp yoprations plusieurs fois.Actuellement la cryptographie symtrique moderne utilise la mmephilosophie La diffrence est que les algorithmes associs manipulent desphilosophie. La diffrence est que les algorithmes associs manipulent desbits au lieu des caractres. Donc, il y a un passage dun alphabet de 26caractres un alphabet de 2 caractres (base 2).La plus part des algorithmes combinent galement des substitutions avecdes transpositions en plus des deux fonctions logiques : ou-exclusif et dcalage logique.exclusif et dcalage logique.

    45

    Cryptographie moderneCryptographie moderne

    1 O E l if i l1. Ou Exclusif simpleLa fonction logique ou-exclusif ou XOR est une opration classiquesur les bits, est note ^ en langage C et (+) en mathmatique binaire.sur les bits, est note en langage C et ( ) en mathmatique binaire.La table de vrit ou a et b sont cods sur un bit est

    Entre a Entre b Sortie S0 0 00 1 11 0 11 0 11 1 0

    La fonction canonique est

    Table de vrit

    46

    HSCTDOC.blogspot.com

  • Considrons n bloc M d message en clair et ne cl K de chiffrement IlsConsidrons un bloc M du message en clair et une cl K de chiffrement. Ilssont cods lintrieur dune machine informatique en code ASCII, et lechiffrement se ralise en effectuant un XOR entre les diffrents bits de Met C :et C :

    ci : ltat logique du ime bit du message chiffr,ci : l tat logique du ime bit du message chiffr,mi : ltat logique du ime bit du message en clair,Ki : ltat logique du ime bit de la cl K.

    Le dchiffrement bit bit est

    Le message dchiffr est

    47

    2. Masque jetable (one time Pad)Lide du masque jetable peut tre facilement tendue au chiffrement ded bi i C tt th d t li ti d XORdonnes binaires. Cette mthode reprsente une gnralisation de XORsimple. On utilise donc un masque compos de bits au lieu des caractreset au lieu de laddition, on utilise le XOR. Pour dchiffrer, on applique aumessage chiffr le XOR avec le mme masque jetable. On rappel que lataille du masque jetable est gale celle du message en clair, et que lemasque doit tre gnr alatoirement et utilis une seul foismasque doit tre gnr alatoirement et utilis une seul fois.Linconvnient majeur du masque jetable est la synchronisation entrelexpditeur et le destinateur sur le canal de transmission. Si ledestinataire est dcal de quelques bits (bits perdu durant la transmission)et donc le message dchiffr naura aucun sens. Malgr cela, lesmasques jetables ont encore leur utilit essentiellement pour des canauxq j pde communications ultra-secrets et faible dbit. Le chiffrement esteffectu par lopration :M t l l i K t l l d hiff t t C t l

    C = M KM est le message en clair; K est la cl de chiffrement et C est le messagechiffr. 48

    HSCTDOC.blogspot.com

  • Modes cryptographiquesyp g p q

    Il i t d d d b d f ti t d l ithIl existe deux modes de base de fonctionnement des algorithmes symtriques ou cl secrte : les algorithmes de chiffrement par blocs et les algorithmes de chiffrement en continu. Les algorithmes de g gchiffrement par blocs manipulent des blocs de texte en clair et de texte chiffr. Les algorithmes de chiffrement en continu manipulent des flux de texte en clair et de texte chiffr bit par bit ou octet par octetde texte en clair et de texte chiffr bit par bit ou octet par octet.

    Modes de chiffrement par blocsModes de chiffrement par blocs Carnet de codage lectronique (ECB : Electronic Code Blook)Chaque bloc de n bits du message en clair est chiffr indpendamment des autres blocs du message en clair. Le mme bloc sera donc toujours chiffr en un mme bloc de mme taille en utilisant la mme cl.

    Bloc M1 Bloc M2 Bloc MnMessage en clair M

    Ek Ek EkCl K

    Bloc C1 Bloc C2 Bloc CnMessage chiffr C

    Fig 7 : Mode ECB

    Le chiffrement par ECB est : Ci = Ek(Mi) et le dchiffrement est Mi = Dk(Ci).

    50

    HSCTDOC.blogspot.com

  • Modes cryptographiques

    Modes de chiffrement par blocs Modes de chiffrement par blocs Chanage de blocs (CBC : Cipher Block Chaining)Dans le mode CBC, le chiffrement seffectue par un mcanisme de chanage Ainsi le rsultat du chiffrement du bloc prcdent est combinchanage. Ainsi, le rsultat du chiffrement du bloc prcdent est combin, par un ou exclusif, avec le bloc courant du message en clair. De ce fait, le rsultat de chiffrement de ce bloc dpendra non seulement du bloc en clair qui la engendr mais aussi du bloc du message en clair qui le prcdequi l a engendr mais aussi du bloc du message en clair qui le prcde. Le chiffrement du dernier bloc dpendra du rsultat de chiffrement de tous les blocs qui le prcdent.

    Un message en clair M est dcompos en blocs de mme taille n que celle de la cl K en nombre de bits (n=64 bits (8caractres), n=128 (16 caractres), ). Aussi le bloc chiffr Ci est de mme taille n. ), )Pour chiffr le premier bloc M1 un vecteur dinitialisation VI est utilis comme bloc prcdent et sa valeur peut tre alatoire.

    C1 = Ek(M1 VI) Ci = Ek(Mi Ci-1)

    Message en clair M

    Bloc M1 Bloc M2 Bloc Mi-1

    Vecteur dinitialisation VI

    Message chiffr C

    VI

    Ek Ek Ek

    Bloc C1 Bloc C2 Bloc Ci-1

    Fi 8 M d CBC Chiff t52

    Fig 8 : Mode CBC : Chiffrement

    HSCTDOC.blogspot.com

  • Mi = Dk(Ci) Ci-1M1 = Dk(C1) VI

    Message chiffr C

    Bloc C1 Bloc C2 Bloc Ci-1

    Dk Dk Dk

    V tVecteur dinitialisation VI

    Message Bloc M1 Bloc M2 Bloc Mi-1

    Fi 9 M d CBC D hiff t

    gen clair M

    53

    Fig 9 : Mode CBC : Dchiffrement

    Modes cryptographiques

    M d d hiff t ti Modes de chiffrement en continu Chiffrement rtroaction (CFB : Cipher Feed Back )En mode CBC, les donnes peuvent tre chiffres par units de m , p pbits plus petite ou gale la taille dun bloc chiffrer de n bits. La figure suivante montre un exemple de chiffrement en mode CFB 8 bits appliqu un algorithme de chiffrement par bloc de 64 bits (n = 64 et m =appliqu un algorithme de chiffrement par bloc de 64 bits (n 64 et m 8). Un algorithme de chiffrement par bloc en mode CFB manipule une file dattente de la taille dun bloc dentre. Initialement, la file est initialise par un bloc quelconque de mme taille que le bloc chiffrer : vecteurun bloc quelconque de mme taille que le bloc chiffrer : vecteur dinitialisation VI. Ensuite, la file est chiffre par un algorithme de chiffrement par bloc Ek et les 8 bits les plus gauche du rsultat de hiff t t bi l if l i t d 8chiffrement sont combins par ou exclusif avec le premier caractre de 8

    bits du message en clair pour former les 8 premiers bits du message chiffr.

    HSCTDOC.blogspot.com

  • Modes cryptographiques

    Les 8 bits sont placs dans les 8 bits les plus droite de la file dattente et les autres bits sont dcals de 8 positions vers la gauche Les 8 bits les pluset les autres bits sont dcals de 8 positions vers la gauche. Les 8 bits les plus gauche sont ignors. Les autres caractres sont chiffrs de la mme manire jusqu la fin du bloc de 64 bits.

    File dattente de 64 bits (8 octets)File d attente de 64 bits (8 octets)

    Octet 1Octet 2Octet 3Octet 4Octet 5Octet 6Octet 7Octet 8

    EkCl K

    Octet le plus gauche

    Chiffrement

    Mi (8 bits) Ci (8 bits)

    Chiffrement

    Ci = Mi Ek(Ci-1)

    DchiffrementDchiffrement

    Mi = Ci Ek(Ci-1)Fig 8 : Mode CFB

    Modes cryptographiques

    Mode de rtroaction de sortie (OFB : Output-Feed Back)Ce mode est similaire au mode CFB, sauf que n bits chiffrs sont rangs , q gdans les 8 positions les plus droite de la file dattente. Le rsultat de chiffrement peut tre transmis et ne contribue pas au chiffrement du caractre suivantcaractre suivant.

    File dattente de 64 bits (8 octets)

    Octet 1Octet 2Octet 3Octet 4Octet 5Octet 6Octet 7Octet 8

    EkCl K Ek

    Octet le plus gauche Si-1 Chiffrement

    Mi (8 bits)Ci (8 bits) peut tre

    transmis

    gauche Si 1 Chiffrement

    Ci = Mi Ek(Si-1)

    DchiffrementDchiffrement

    Mi = Ci Ek(Si-1)Fig 10 : Mode CFB

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES (Data Encryption Standard)

    Historique : Ds le dbut des annes 1960 la technologie des circuitsintgrs permet de travailler des circuits combinatoires complexesintgrs permet de travailler des circuits combinatoires complexespermettant d'automatiser:

    la mthode de substitution et la mthode de transposition Un chercheurla mthode de substitution et la mthode de transposition. Un chercheurDes laboratoires dIBM, Feistal Horst, propose lide dun algorithme dechiffrement trs fiable dont les composantes simples permettent le codaget f il t i it l t i L j t E t t ttrs facilement sur un circuit lectronique. Le projet Est retenu et seradvelopp sous le nom de code LUCIFER.

    En 1972, la recherche de lalgorithme le plus sr possible, le NBS lance unappel doffre travers un cahier de charge. Vu les traits de ressemblanceavec le projet LUCIFER, IBM apporte quelques modifications afin desatisfaire la norme propose.

    Le standard des algorithmes de chiffrement de donnes : le DES

    1977 : Lalgorithme de chiffrement conu par IBM est retenu par le NBS (National Bureau of Standards) sous le nom de DES.

    1978 : LANSI valide son tour cet algorithme sous le nom du DEA (Data E ti Al ith )Encryption Algorithm).

    Principe : Lalgorithme DES est un cryptosystme de chiffrement p g yp ysymtrique par blocs (mode ECB). Le principe de base du DES est fond essentiellement sur la transposition binaire ou permutation pour insrer le mcanisme de diffusion et sur la substitution binaire pour intgrer lemcanisme de diffusion et sur la substitution binaire pour intgrer le mcanisme de confusion.

    Dans un premier temps, le message en clair est dcoup en plusieurs blocs de 64 bits (8 caractres). Chaque bloc est chiffr par une cl de 64 bits. Le bloc chiffr a la mme taille que le bloc initial du message en clair de 64bloc chiffr a la mme taille que le bloc initial du message en clair de 64 bits.

    HSCTDOC.blogspot.com

  • Bloc 64 bits Bloc 64 bits Bloc 64 bitsMessage en clair M

    DES DES DESCl K de 64 bits

    Bloc 64 bits Bloc 64 bits Bloc 64 bitsMessage chiffr C

    Figure 11 : Principe du DES en mode ECB

    59

    Le standard des algorithmes de chiffrement de donnes : le DES

    Chiff t P hiff bl d 64 bit l f ti i i l dChiffrement : Pour chiffrer un bloc de 64 bits, la fonction principale du DES est fondue sur un processus itratif compos de 16 itrations. De ce fait, partir de la cl de chiffrement on gnre 16 sous cls Ki (i=1, 2, ,16). A chaque itration correspond une sous cl Ki et chaque itration estA chaque itration correspond une sous cl Ki et chaque itration est compose de 5 tapes comme le montre la figure 12.

    Le message en clair de 64 bits constitue donc lentre de la premire itrationLe message en clair de 64 bits constitue donc l entre de la premire itration.

    1 2 3 4 5 6 7 8

    Bloc T

    9 10 11 12 13 14 15 16

    17 18 19 20 12 22 23 24

    25 26 27 28 29 30 31 32

    33 34 35 36 37 38 39 40

    41 42 43 44 45 46 47 48

    49 50 51 52 53 54 55 56

    57 58 59 60 61 62 63 64

    Indices des bits dun bloc T de 8 octets du message en clair M.

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES

    Avant la premire tape dune itration i, ce bloc va subir unepermutation initiale comme suit. Cette permutation consiste dplacerles 4 colonnes paires vers les 4 premires lignes tout en inversant lesp p gindices des bits dune colonne. Ensuite, les 4 colonnes impaires restantssont dplacs vers les 4 lignes en inversant galement lordre des bits.Voir les tableaux dans la page suivanteVoir les tableaux dans la page suivante.

    Le nouveau bloc gnr par cette permutation est divis en deux partiesde 32 bits chacune. La partie droite note R(i-1), constitue uniquementdes bits pairs de la permutation. La partie gauche note L(i-1) estconstitue par les indices des bits impairs restantsconstitue par les indices des bits impairs restants.

    Le standard des algorithmes de chiffrement de donnes : le DES

    P t ti i iti l IPPermutation initiale IP

    Indices des bits dun bloc T permut par IP.

    HSCTDOC.blogspot.com

  • Figure 12 : Principe de fonctionnement dune itration

    58 50 42 34 26 18 10 2 57 49 41 33 25 17 9 1

    Partie droite R(i-1) Partie gauche L(i-1)

    58 50 42 34 26 18 10 2

    60 52 44 36 28 20 12 4

    57 49 41 33 25 17 9 1

    59 51 43 35 27 19 11 3

    62 54 46 38 30 22 14 6

    64 56 48 40 32 24 16 8

    61 53 45 37 29 21 13 5

    63 55 47 39 31 23 15 7

    Aprs cette division les 5 tapes de litration i sont:Aprs cette division, les 5 tapes de l itration i sont:

    tape 1: Les 32 bits de R(i-1) entrent dans une table de permutation expansive not E(Ri-1). Elle change lordre des bits et rpte certains bits

    li i d 32 48 bi C itout en ralisant une extension de 32 48 bits. Cette prsentation reprsente de la manire suivante :

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES

    La table correspondante E(Ri-1) de 48 bits est :

    Bloc E(Ri-1)

    32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2520 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 128 29 30 31 32 1

    Le standard des algorithmes de chiffrement de donnes : le DES

    tape 2: E(Ri-1) a une taille de 48 bits, elle sera transforme par un XOR avec la sous cl Ki gnre pour litration i partir de la cl K et elle doit avoir galement une mme taille de 48 bits. Etape 3: Le rsultat de ltape 2 est de 48 bits, il sera divis en 8 sous blocs de 6 bits chacun. Chaque sous bloc subira une substitution binaire compressive qui gnre un bloc de 4 bits. Ainsi, cette substitution gnrera 8 blocs de 4 bits chacun et donc un bloc de 32 bits. Ceci gpermet de couper dfinitivement tout rapport entre le bloc du message en clair et le bloc chiffr correspondant. De ce fait, il y a 8 tables de substitutions. Voir la figure 13.substitutions. Voir la figure 13. Etape 4: Les bits du bloc B vont tre ensuite permuts selon la table P Suivante : Les bits changent de position, aucun bit nest utilis deux fois et aucun bit nest ignoret aucun bit n est ignor. Une table Sj (j=1,,8) est constitue de 4 lignes, 16 colonnes. Llment gnral de cette table est cod sur 4 bits.

    HSCTDOC.blogspot.com

  • b1b2b3 Table de

    b1b3b4b5b6

    Table de substitution

    S1b2b3b4 B

    b6

    b1

    B = S

    (E(R

    b1b2b3b4

    Table de substitution

    b5b6b7

    Ri-1) XO

    Rb4b5b6

    S2 b7b8

    RK

    i) de 3

    b43

    32 bits

    b44b45b46

    Table de substitution

    S8

    b29b30b31

    b47b48

    S8b32

    Figure 13 : Substitution compressive

    Le standard des algorithmes de chiffrement de donnes : le DES

    M iMcanisme:Substitution pour le bloc b1b2b3b4b5b6. Les deux bits faible et fort slectionnent le numro de la ligne b6b1 =X, les 4 bits intermdiaires le gnumro de la colonne b2b3b4b5 =Y. La position (X,Y) permet de substituer le bloc b6b5b4b3b2b1 par un autre bloc de 4 bits comme intersection de la ligne X et colonne YX et colonne Y. Exemple : G = 101110. Les premiers et derniers bits donnent 10, c'est--dire2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le rsultat de la fonction de slection est donc la valeur situ la ligne n2=X, dans la colonne n7=Y. Il s'agit de la valeur 11=(X,Y), soit en binaire 1011.

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES

    Les tables de substitutions :

    Le standard des algorithmes de chiffrement de donnes : le DES

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES

    Le standard des algorithmes de chiffrement de donnes : le DES

    Etape 5: Dans cette tape lopration suivante est effectue : P(B) XOR L(i-1) et elle va constituer la nouvelle partie droite de litration suivante Ri Et la nouvelle partie gauche de litration suivante sera lasuivante Ri. Et la nouvelle partie gauche de l itration suivante sera la partie droite avant le chiffrement du bloc Li = Ri-1. Ainsi, sachve une itration Ri = P(B) XOR Li et Li = Ri-1 constituent les

    i d i h d li i i A l fi d l 16parties droite et gauche de litration suivante. A la fin de la 16me

    itration on obtient le bloc L16, R16 de 64 bits qui subira une permutation finale (inverse de la permutation initiale et constitue le bloc chiffr T du ( pmessage en clair M.).

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : le DES

    Le bloc chiffr est

    La figure 14 suivante prsente le synoptique gnrale pour chiffrer un g p y p q g pbloc T du message M.

    Dchiffrement : Procder exactement de la mme manire en appliquant les cls en sens inverse (de k16 k1).

    Figure 14 : Architecture gnrale du DES

    HSCTDOC.blogspot.com

  • Domaine dutilisation:Sur limplmentation matrielle, le DES est actuellement capable de chiffrer et de dchiffrer jusqu 1 Gegabits /seconde. Il est donc ligible pour chiffrer etde dchiffrer jusqu 1 Gegabits /seconde. Il est donc ligible pour chiffrer et dchiffrer sans surcot dchange sur un rseau ou sur un bus. Ila t utilis dans tous les domaines dsirant une scurit acceptable : Banque, industrie et galement il a t envisag pour les communications tlphoniques et pour les g g p p q psignaux vido de haute dfinition.

    Niveau de scurit du DES : La qualit dun cryptosystme est value par le temps ncessaire et le cot du matriel utilis pour trouver le message en clair partir dun message chiffr. Depuis sa naissance, le DES a t soumis toutes les techniques imaginables d t l (li i diff ti ll ) R li t l i dde cryptoanalyse (linaire, diffrentielle, ). Rgulirement, loccasion des confrences internationales sur le chiffrement (CRYPTOxx, EUROCRYPT, AUSTCRYPT ), des experts ont cherch les faiblesses de ce code qui, rappelons le est act ellement le pl s rpand s r le march Les rs ltats derappelons le, est actuellement le plus rpandu sur le march. Les rsultats de ces recherches ont mis jour quelques faiblesses savoir : la taille de la cl, le nombre ditrations et le schma de conception des tables-S.

    75

    Taille de la cl :Les experts ont estim que la taille de la cl utilise est trs faible. Leursarguments tournaient principalement autour de la possibilit dune attaqueexhaustive Le DES code des messages en clair grce une cl de taille 56exhaustive. Le DES code des messages en clair grce une cl de taille 56bits. Donc, le nombre des cls possibles est de 256=7,2*1016 cls. Enimaginant un ordinateur capable de tester la validit dune cl parmicroseconde (attaque directe), et en supposant que la bonne cl est ladernire teste, le temps de calcul approcherai 2258 annes. Mais cessuppositions sont toutes prises par excs Certains mathmaticiens estimentsuppositions sont toutes prises par excs. Certains mathmaticiens estimentque pour que le code soit inviolable la cl doit avoir la taille de 300 bits. Audbut IBM a propos une cl de 128 bits mais la NSA la rduit 64 bits. Laraison dune telle rduction na pas t rendue publique..

    76

    HSCTDOC.blogspot.com

  • Tables-S (S-Box) :Lexistence de ces tables-S permettent dimposer au message chiffr uncaractre non linaire des bits entre eux. Classifis par la NSA, lescritres de ralisation des fonctions S(i) nont jamais t rendus publics.Aussi est-il difficile de se prononcer sur le caractre fortement nonlinaire de leur comportement. De plus, travers plusieurs articles critsd l ti li d f d th ti idans les parutions rgulires des confrences, deux mathmaticiens(Diffie & Hellman) ont mis en vidence la structure quasi-linaire de cesfameuses fonctions. Cette considration pourrait rduireconsidrablement le temps de cryptoanalyseconsidrablement le temps de cryptoanalyse.

    Nombre ditration :La scurit du DES avec 16 itrations est grande et rsiste lheureLa scurit du DES avec 16 itrations est grande et rsiste l heure actuelle toutes les attaques effectues avec des moyens financiers et temporels raisonnables (i.e. moins de 10 millions de dollars et moins dun mois) Plusieurs versions du DES avec 3 4 6 itrations ont t toutsmois). Plusieurs versions du DES avec 3, 4, 6, itrations ont t touts casses.

    77

    Modes opratoires : Le DES peut tre utilis avec les 4 modescryptographiques : ECB, CBC, OFB et CFB. Le mode le plus utilis, causede simplicit est ECB et il ne protge pas contre la prsence des blocsredondants. Le mode CBC est occasionnellement utilis.

    C l iConclusion:

    Ancien standard ayant tenu plus de 20 ans.Excellentes performances en vitesse de chiffrement : 1 G bit / s en matrielExcellentes performances en vitesse de chiffrement : 1 G bit / s en matrielet 1 M bits / s en logiciel.Niveau de scurit trs raisonnable pour les applications civiles.Il est probablement peu sr pour un attaquant de gros moyens mais trsIl est probablement peu sr pour un attaquant de gros moyens mais trssuffisant pour les applications habituelles.

    78

    HSCTDOC.blogspot.com

  • Variantes du DES :

    Un grand nombre dalgorithmes ont vu le jour ces dernires annes pourrenforcer la scurit et dessayer de surmonter les inconvnients du DES(taille des cls tables-S et le nombre ditration)(taille des cls, tables-S et le nombre d itration).Triple DESLes mcanismes de chiffrement et dchiffrement sont raliss par troisutilisations successives du DES en impliquant trois cls diffrentes : K1, K2p q ,et K3 comme suit:

    DES DES-1 DES

    Message chiffr

    Message en clair K2

    K3K1

    DES DES-1DES-1

    79

    Le standard des algorithmes de chiffrement de donnes : AES (Advenced Encryption Standard)

    Historique : Le 2 janvier 1997 le NIST a lanc un processus de remplacement de DES :Le 2 janvier 1997, le NIST a lanc un processus de remplacement de DES :Advanced Encryption Standard, (AES). Un appel doffre a t lanc le 12Septembre 1997. Il y tait requis quAES possde une longueur de bloc gale 128 bits et quil supporte des longueurs de clef gales 128, 192 et 256 bits. De128 bits et qu il supporte des longueurs de clef gales 128, 192 et 256 bits. Deplus, Il tait ncessaire quAES soit libre de droits dans le monde entier.Les soumissions devaient tre rendues le 15 juin 1998. Des vingt-et-un systmescryptographiques soumis, quinze remplissaient tous les critres ncessaires et ontyp g p q , q pt accepts en tant que candidats AES. Le NIST a prsent les quinze candidatslors de la First AES Candidate Conference le 20/08/1998. Une second AESCandidate Conference sest tenue en mars 1999. En aot 1999, cinq candidats ontt choisis par le NIST comme finalistes : MARS, RC6, Rijndael, Serpent etTwofish. En avril 2000, une Third AES Candidate Conference a eu lieu. Le 2octobre 2000, Rijndael a t choisis comme standard avanc de chiffrement.

    80

    HSCTDOC.blogspot.com

  • Le standard des algorithmes de chiffrement de donnes : AES (Advenced Encryption Standard)

    Critres principaux dvaluation dAES: 1 Scurit :1. Scurit :

    La scurit des algorithmes proposs tait absolument essentielle et nimporte quel algorithme prsentant des faiblesses de scurit aurait t limin.limin.

    2. CotLe cot se rapporte lefficacit en termes de calculs (vitesse et besoin en mmoire) sur divers types de plates-formes, que ce soit en logiciel, en ) yp p , q g ,matriel ou sur une carte puce.

    3. Caractristiques de lalgorithme et de son implmentation.Elles incluent la flexibilit et la simplicit de lalgorithme.

    81

    Le standard des algorithmes de chiffrement de donnes : AES (Advenced Encryption Standard)

    Description dAES: AES est un algorithme de chiffrement symtrique itr; le nombre dtages ou de

    ronde, quon le note Ne, dpend de la longueur de la clef. Ne = 10 si la cl al d 128 bi N 12 d l d l d l 192 biune longueur de 128 bits; Ne=12 dans le cas dune cl de longueur 192 bits et

    Ne =14 si la cl comporte 256 bits.

    L fi 15 t i t t l d l t d hiff t ChLa figure 15 montre succinctement le droulement du chiffrement. Chaqueronde/tage est compos comme suit :

    1. BYTE_SUB (Byte Substitution) est une fonction non-linaire oprantindpendamment sur chaque bloc partir d'un table dite de substitutionindpendamment sur chaque bloc partir d un table dite de substitution.

    2. SHIFT_ROW est une fonction oprant des dcalages (typiquement elle prendl'entre en 4 morceaux de 4 octets et opre des dcalages vers la gauche de0 1 2 et 3 octets pour les morceaux 1 2 3 et 4 respectivement)0, 1, 2 et 3 octets pour les morceaux 1, 2, 3 et 4 respectivement).

    3. MIX_COL est une fonction qui transforme chaque octet d'entre en unecombinaison linaire d'octets d'entre et qui peut tre exprimemathmatiquement par un produit matriciel sur le corps de Galois (28)

    82

    mathmatiquement par un produit matriciel sur le corps de Galois (2 ).4. Le + entour d'un cercle dsigne l'opration de OU exclusif (XOR). Ki est la

    ime sous-cl calcule par un algorithme partir de la cl principale K.

    HSCTDOC.blogspot.com

  • MK

    BYTE_SUB

    SHIFT ROW

    Etage 1

    SHIFT_ROW

    MIX_COL

    k1

    Etage 2

    Etage 9

    Etage 10

    BYTE_SUB

    SHIFT_ROW

    g

    k10

    C

    83Figure 15 : Chiffrement selon lalgorithme AES.

    C

    Chapitre 3 : Aspects techniques de laChapitre 3 : Aspects techniques de la cryptographie asymtrique

    84

    HSCTDOC.blogspot.com

  • Le concept de la cryptographie asymtrique a t introduit pour la premire fois par Diffie Hellman en 1976fois par Diffie Hellman en 1976.

    Utilise lexponentielle modulaire, le problme dchanges des cls des algorithmes symtriquesalgorithmes symtriques.

    Lide neuve dans le domaine tait dutiliser deux cls diffrentes pour chiffrer et dchiffrer un message. Une des cls sera publie et lautre doitchiffrer et dchiffrer un message. Une des cls sera publie et l autre doit tre maintenu secrte.

    Cryptosystmes asymtriques ou cl publique.yp y y q p q

    A la mme poque une nouvelle approche cl publique a t propose par Rivest, Shamir et Aldeman appele RSA.

    Les algorithmes RSA, ElGamal et Rabin seront la fois pour le chiffrement et les signatures numriques.

    Utilise galement lexponentielle modulaire.

    Chiff t t d hiff t l h d l t i t85

    Chiffrement et dchiffrement, lchange des cls symtriques et lauthentification des messages.

    Les algorithmes cl publique sont conus pour rsister aux attaques texte en clair choisi; leur scurit dpend la fois de la difficult de dduire la cl prive partir de la cl publique et la difficult de dduire le texte en clair partir du texte chiffr.

    Inconvnient majeur de ces algorithmes

    La vitesse de chiffrement et de dchiffrement sont nettement plus faible que pour les algorithmes de la cryptographie symtrique. Habituellement sont trop lent pour le chiffrement de donnes en massetrop lent pour le chiffrement de donnes en masse.

    Avantage

    Chiffrement et le dchiffrement

    Authentification des messages (sorte de signature numrique)Authentification des messages (sorte de signature numrique).

    Chiffrer et changer des cls de session des algorithmes symtrique dans un rseau non scurise.

    86

    un rseau non scurise.

    HSCTDOC.blogspot.com

  • I- RSA

    Le principe de base de cet algorithme est fond sur des fonctions appartenant la famille des fonctions trappes ou piges. Elles sont appeles des fonction sens unique brche secrte : facile calculerappeles des fonction sens unique brche secrte : facile calculer dans un sens et difficile voir impossible calculer dans le sens inverse sans la connaissance de la brche secrte.

    I- 1. Principe Lutilisation du RSA consiste gnrer tout dabord des cls publiques et prives et ensuite effectuer le chiffrement, le dchiffrement des messagesprives et ensuite effectuer le chiffrement, le dchiffrement des messages ou lauthentification (signature numrique des messages).

    Etape 1 : Gnration des cls pPour gnrer les cls publique et prive dun utilisateur, cette tape est base sur une multiplication de deux grands nombres premiers faciles calculer et sur la difficult de factoriser le rsultat de cette multiplication. Sous cette condition, cette tape consiste calculer trois nombres e, d et npermettant de dfinir :

    Une cl publique Kp = ( e , n )

    87Une cl prive Kpr = ( d , n )

    Etape2 : Chiffrement et dchiffrementLe chiffrement/ dchiffrement des messages est base sur lexponentielleLe chiffrement/ dchiffrement des messages est base sur lexponentielle modulaire de base a et dexposant b modulo n :

    a b mod na b mod n

    Elle est facile calculer dans un sens et elle est difficile inverser ( leElle est facile calculer dans un sens et elle est difficile inverser ( le logarithme discret)

    ChiffrementChiffrement

    C = Ekp (M) =Me mod n avec Kp= (e, n)

    Dchiffrement

    M = D kpr (C) = Cd mod n avec Kpr = (d, n)

    88

    HSCTDOC.blogspot.com

  • Pour que les deux mcanismes soient rversibles il faut que

    (Me mod n)d mod n = (Med mod n) mod n = M(Me mod n)d mod n = (Med mod n) mod n = M

    Ainsi, les cls publiques et prives sont lies par lquation suivante :

    ed mod n = 1 calcul de linversion modulaire

    Si on fixe e on calcul d ou inversementSi on fixe e on calcul d ou inversement

    II- Outils mathmatiquesLa cryptographie asymtrique utilise essentiellement la thorie des yp g p y qnombres et plus particulirement les outils suivants :

    1. Gnration de trs grands nombres premiers,

    2. Arithmtique modulaire de base n,

    3. Exponentielle modulaire de base n,

    4. Inversion modulaire de base n,

    895. Fonction dEuler et thorme dEuler.

    1. Gnration de trs grands nombres premiers

    Un nombre premier est un entier dont les seuls facteurs soit 1 et lui-mme. Deux nombres entiers sont premiers entre eux si leurs PGCD = 1.Lalgorithme le plus utilis pour tester la primalit dun entier de grandeL algorithme le plus utilis pour tester la primalit d un entier de grande valeur est celui de Rabin-Miller.

    2. Arithmtique modulaire de base n2. Arithmtique modulaire de base n

    b = a mod n a b (mod n) a est congrue b modulo n

    a = kn + b

    a, b, k et n sont des entiers. Si a et b>0 et b

  • 3. Exponentielle modulaire de base n

    ax mod n

    Il existe plusieurs techniques qui permettent de calculer lexponentielleIl existe plusieurs techniques qui permettent de calculer l exponentielle modulaire sans engendrer des rsultats dmesurs. Le meilleur algorithme est celui de Montgomery.

    4. Inversion modulaire de base n

    Le calcul de linverse modulaire est un problme difficile rsoudre par p prapport linversion classique ( ax = 1, x=1/a a -1)

    ax mod n =1 avec a et x [ 0 , n-1]

    Cette quation a une solution unique a-1 si :

    a et n sont premiers entre eux PGCD(a , n)=1, sinon pas de solution.

    91

    Si n est premier, chaque entier de lensemble des rsidus [0 ,n-1] est premier par rapport n et chacun a un inverse dans lensemble des rsiduspremier par rapport n et chacun a un inverse dans l ensemble des rsidus calcul par :

    x = a-1 mod nx = a mod n

    appel linverse multiplicatif modulo n de a.Lalgorithme d Euclide tendu ou le thorme dEuler permettent de calculerL algorithme d Euclide tendu ou le thorme d Euler permettent de calculer x.

    5. Fonction dEuler

    Le thorme dEuler permet de calculer linverse modulaire dun entier modulo n en utilisant lensemble restreint des rsidus modulo not (n).( )

    Si n est premier alors (n) est le cardinal de lensemble des rsidus {0, 1, 2, , n-1}-{0} : ensemble restreint des rsidus(n) = n -1 reprsente le cardinal de lensemble dentiers premier avec n.Si n = p x q avec p et q nombre premiers alors

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

    92La fonction (n) est appele fonction totient dEuler.

    HSCTDOC.blogspot.com

  • Si PGCD (a ,n) = 1 alors a(n) mod n =1

    Thorme dEuler

    La rsolution de ax mod n =1 est

    1 a a(n)-1 mod n =11. a a ( ) mod n 12. a-1 = a(n)-1 mod n3. x = a-1 mod n4. x = a(n)-1 mod n4. x a mod n

    Par la gnralisation du thorme dEuler, linversion de ax mod n = b est calcule par :p

    x = b a(n)-1 mod n

    Factorisation

    La factorisation dun nombre consiste chercher tous les facteurs premiers

    93qui le compose (252 = 41* 61*101).

    III- Gnration des cls publique et prive dun correspondant A

    1- Calcul des nombres nA, eA et dA

    1 Trouver deux entiers premiers pA et qA dont les valeurs sont1. Trouver deux entiers premiers pA et qA dont les valeurs sont extrmement grandes, valeurs usuelles sont codes sur 2048 et 4096 bits. Puis calculer

    nA =pA qA.nA pA qA.1. Calculer la fonction dEuler

    A (nA) = (pA -1)*(qA-1)1. Calculer les nombres eA et dA.

    Condition pour avoir le chiffrement par (eA , nA) et le dchiffrement par (dA , nA))

    (MeA mod nA)dA mod nA = MeAdA mod nASi eAdA mod nA = 1 M mod nA = M

    Par consquent, M mod nA = M impose la dcomposition du message chiffrer ou dchiffrer sous la forme de blocs dont la taille est infrieur

    ll d A94

    celle de nA.

    HSCTDOC.blogspot.com

  • 2- Calcul du nombre eA

    Pour que eA dA mod (nA) = 1 possde une solution unique il faut que le PGCD (eA , (nA) ) = 1

    De ce fait, eA doit appartenir lensemble restreint des rsidus (nA) de nA.

    Choisir eA dans [2, nA - 1]. (eA , nA) reprsente la cl publique KAp publier.

    3- Calcul du nombre dA

    Linversion dA de eA peut tre calcul par le thorme dEuler :

    eA (nA) mod nA =1

    dA = eA-1 = eA (nA)-1 mod nA

    dA 1 ( A) 1 d A95

    dA = eA-1 = eA (nA)-1 mod nA.

    Remarque : e-1 peut tre galement calcul par lalgorithme dEculide tendue 1 peut tre galement calcul par l algorithme d Eculide tendu dA = eA-1 mod (nA)

    dA [ 2 nA 1 ]dA [ 2 ,nA 1 ](dA , nA) reprsente la cl prive KApr garder secrte

    Important : Les nombres pA, qA et (nA) doivent tre dtruits.Important : Les nombres pA, qA et (nA) doivent tre dtruits.

    Ainsi, le chiffrement dun message M est effectu par C=MeA mod nA et le dchiffrement du message C par M = CdA mod nA.g p

    III. Exemples

    Exemple 1Chiffrement / dchiffrement du message M=8 reu par A

    Gnration des cls publique et prive de Achoix de deux nombres premiers pA =3 et qA= 5 nA = pAqA =15 (nA) = (pA-1)(qA-1) = 8C l l d A t dA

    96

    Calcul de eA et dA.

    HSCTDOC.blogspot.com

  • Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA =11.

    KAp = ( 11 , 15 )

    dA = 11 (nA)-1 mod 15 = 3dA = 11 ( ) mod 15 = 3

    KApr = ( 3 , 15 )

    Chiffrement de MUn correspondant B chiffre M = 8 avec la cl publique de A

    C = 811 mod 15 =2

    Dchiffrement de C

    A reoit C et le dchiffre avec sa cl prive

    M = 23 mod 15 =8

    97

    Exemple 2Chiffrement / dchiffrement du message M couleurs reu par AChiffrement / dchiffrement du message M couleurs reu par A

    Gnration des cls publique et prive de A

    1. Choix de deux nombres premiers pA = 53 et qA = 17 nA = pAqA = 9012. (nA) = (pA - 1) (qA - 1) = 8323. Calcul de eA et dA3. Calcul de eA et dA

    4. Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA =83

    KAp = ( 83 , 901 )Ainsi, dA = 83 (nA)-1 mod 901 = 411

    KApr = ( 411 , 901 )

    Chiffrement de M

    B chiffre le message M avec la cl publique de A : (83, 901)Le message M = m1 m2 m3 m4 m5 m6 m7 m8 = c o u l e u r s est cod en ASCII 099 111 108 101 11 7 114 115

    98

    ASCII par 099 111 108 101 11 7 114 115.

    HSCTDOC.blogspot.com

  • Le message M est dcoup sous la forme de blocs dont le nombre de chiffre est infrieur ou gale celui de n 3 chiffresest infrieur ou gale celui de n 3 chiffres

    Blocs mi Chiffrement Bloc ci

    m1 09983 mod 901 789

    m2 11183 mod 901 797

    m3 11783 mod 901 196

    m4 10883 mod 901 233

    m5 10183 mod 901 475

    m6 11783 mod 901 196

    m7 11483 mod 901 198m7 114 mod 901 198

    m8 11583 mod 901 378

    C = c1c2c3c4c5c6c7c8 = 789 797 196 233 475 196 198 378.

    99

    Dchiffrement de C

    A reoit C et le dchiffre avec sa cl prive :

    Blocs ci Chiffrement Bloc mi

    c1 789411 mod 901 099

    c2 797411 mod 901 111

    c3 196411 mod 901 117

    c4 233411 mod 901 108

    c5 475411 mod 901 101

    c6 196411 mod 901 117

    c7 198411 mod 901 114c7 198 mod 901 114

    c8 378411 mod 901 115

    M = 099 111 117 108 101 117 114 115 = c o u l e u r sOn peut remarquer que lutilisation de llvation la puissance puis lutilisation du modulo permet de changer la base des registres choix et di t d i di ti it

    100

    dintroduire une discontinuit.

    HSCTDOC.blogspot.com

  • Exemplem7 = 114 et m8 = 115 valeurs peu diffrentsm7 = 114 et m8 = 115 valeurs peu diffrentsc7 = 198 et c8 =378 valeurs trs diffrents

    Authentification des messagesAuthentification des messages

    Lauthentification dun message peut tre considr comme une signature numrique. En effet, A signe son message M en utilisant sa cl prive : KAprnumrique. En effet, A signe son message M en utilisant sa cl prive : K pr

    C = D KApr (M) = MdA mod nA

    B dchiffre C en utilisant la cl publique de A : KAp

    M = E KAp (C) = MeAdA mod nA( )

    Linconvnient majeur est que M peut tre dchiffrer par nimporte qui puisque eA et nA sont publiques.

    101

    Chiffrement/dchiffrement et authentification des messages entre A et BB

    Scnario 1 : A chiffre le message M avec sa cl prive puis chiffre le rsultat avec la cl publique de Brsultat avec la cl publique de B

    C = EkBp(DkApr(M)) = (MdAeB mod nA )mod nBB dchiffre le message C en utilisant sa cl prive, ensuite avec la cl publique de A :publique de A :

    M = EkAp(DkBpr(C)) = (CdBeA mod nB )mod nA

    Scnario 2 : A chiffre le message M avec la cl la cl publique de B et le rsultat avec sa cl prive

    C = DkApr(EkBp(M)) = (MdAeB mod nB )mod nA( ( )) ( )B dchiffre le message C en utilisant la cl publique de A, ensuite avec sa cl prive :

    M = DkBpr(DkAp(C)) = (CeAdB mod nA )mod nB

    Pour avoir un mcanisme rversible il faut que :A B l i 1

    102

    nA < nB pour le scnario 1nB < nA pour le scnario 2.

    HSCTDOC.blogspot.com

  • Attaque de RSA :Les nombres n et e sont publiques, de ce fait il y a une possibilit de chercher p et q puis (n) en se basant sur la factorisation de n en deuxchercher p et q puis (n) en se basant sur la factorisation de n en deux nombres premiers. Si on arrive lalgorithme sera cass car le calcul de e et de d devient trs facile.

    Scurit de RSA : La scurit de RSA rside au niveau de la longueur des nombres p et q. Ces deux nombres ont t cods sur 512 bits, 640 bits et 1024 bits.Ces deux nombres ont t cods sur 512 bits, 640 bits et 1024 bits. Actuellement sont cods sur 2048 et 4096 bits.

    Performances :Le RSA est moins rapide que le DES cause des calculs des puissances modulo. Dans les ralisations matrielles le RSA est environ 1000 fois plus lente que le DES. Au niveau logiciel, le chiffrement de RSA est bien plus grapide si vous choisissez bien la valeur de e (les plus courants sont 3, 17 et 65537).

    Conclusion :Le RSA est le plus populaire parmi les algorithmes cl publique. Vu la complexit de calculs, le RSA est souvent utilis au dbut des

    i i h d l d i (f ibl i 103

    communications pour changer des cls de session (faible quantit dinformation communiquer) des algorithmes symtriques qui seront utiliss pour effectuer des communications en diffr ou en temps rel.

    Algorithme de Diffie et Hellman :Diffie et Hellman ont t les fondateurs de la cryptographie cls publiques. Leur algorithme a permis de rsoudre le problme dchange des cls de laLeur algorithme a permis de rsoudre le problme d change des cls de la cryptographie cl symtrique. Son principe est bas sur lexponentielle modulaire. La fonction utilise est

    gm mod ng mod n,O g et n sont deux grands entiers premiers entre eux et sont publiques, m est un entier alatoire gard secret.

    Le protocole dchange des cls secrtes se droule comme suit :1. Au dbut deux correspondants A et B se mettent daccord sur n et g,2. A choisit un grand nombre entier alatoire X gard secret et calcul : gXg g g

    mod n et envoie le rsultat B,3. B choisit un grand nombre entier alatoire Y gard secret et calcul : gY

    mod n et envoie le rsultat A,4. A reoit gY mod n, puis calcul (gY mod n) X mod n = gYX mod n,5. B reoit gX mod n, puis calcul (gX mod n) Y mod n = gXY mod n,

    Ainsi, la valeur K = gYX mod n reue par les deux parties devient leur secret partag et par consquent, elle peut tre utilis comme cl de session pour communiquer en utilisant un algorithme cl symtrique.

    104

    HSCTDOC.blogspot.com

  • KA p = gX mod n est la cl publique de A et sa cl prive est KA pr = X. KB p = gY mod n est la cl publique de B et sa cl prive est KB pr = Y.Pour trouver les cls prives X et Y un attaquant doit rsoudre linverse dePour trouver les cls prives X et Y un attaquant doit rsoudre l inverse de gX mod n ou gY mod n. Cette rsolution reste un problme trs redoutable en mathmatique.

    Algorithme dElGamal

    La version de base de cet algorithme, publie en 1985, a t utilise pourLa version de base de cet algorithme, publie en 1985, a t utilise pour effectuer des signatures numriques. Elle tire galement sa scurit sur la difficult de calculer les logarithmes discrets. Une autre version modifie a t propose pour le chiffrement et le dchiffrement des messages.p p p g

    3.3.1 Signature numrique des messages

    Pour gnrer une paire de cl, un correspondant doit choisir un nombre premier n et deux nombre alatoire g et x < n. Ensuite, il doit calculer :

    y = gx mod n

    Ce qui permet de gnrer :U l bli K ( )

    105

    Une cl publique Kp =(y, g, n)Une cl prive kpr = x

    La signature dun message M ncessite le choix dun nombre alatoire k telLa signature d un message M ncessite le choix d un nombre alatoire k tel que k et n-1 soient premiers entre eux. Cette signature sera compose de deux parties. La premire partie de la signature est exprime par :

    a = gk mod n

    La deuxime partie de la signature est obtenue en rsolvant lquation ci-p g qdessous avec lalgorithme dEuclide tendu:

    M = (xa + kb) mod ( n-1)( ) ( )

    La signature de M sera donc reprsente par a et b

    Pour vrifie une signature, un correspondant B reoit M, aA et bA. Il utilisera la cl publique de A : Kp (yA, gA, nA ) pour confirmer lgalit suivante :

    A bA MyaA abA mod nA = gMA mod nA

    106

    HSCTDOC.blogspot.com

  • Exemple :

    1- Cl publique et prive de A nA = 11 gA = 2 < nA xA < nA , xA = 8 yA = gAxA mod nA = 28 mod 11 =3

    KA (3 2 11) KA 8KAp = (3, 2, 11) KApr = 8

    2- signature de M=5

    Choix de kA = 9, nA 1 = 10, PGCD(9,10) = 1 Calcul de aA = gkA mod nA = 29 mod 11 =6 Rsolution de M = yaA abA mod nA = gM mod nA Rsolution de M = yaAA abAA mod nA = gMA mod nA

    5 = (8*6 + 9*bA) mod 10Lalgorithme dEuclide tendu donne bA = 3, Signature de M = (6,3)

    3- La correspondant B reoit M = 5et (6 ,3), pour confirmer la signature de A, il calcul : yaAAabAA mod nA = gMA mod nA

    10736 .63 mod 11 = 25 mod 11 = 10

    Il est sr que cest A qui a sign le message M.

    Chiffrement de dchiffrement Un correspondant B envoie un message M A, en utilisant la cl publique de A :KAp = ( yA, gA , nA). Le message chiffr sera compos de deux parties comme suit :

    C1 = gkBA mod nAC2 = ykBA mod nA

    kB est un nombre alatoire choisi par B tel que PGCD (kB, nA 1) =1

    C = C1C2 le message chiffr dont la taille est le double de celle de MC = C1C2 le message chiffr dont la taille est le double de celle de M.

    Le correspondant A reoit C et le dchiffre avec sa cl prive xA en utlisant lexpression suivante :l expression suivante :

    M = C2 /CxA1 mod nA

    En effet,

    C2/ CxA1 mod nA = ykBA mod nA / [gxAkBA mod nA] mod nA

    108

    C2/ C 1 mod nA y A mod nA / [g A mod nA] mod nA= (gxAkBA mod nA) M mod nA / [gxAkBA mod nA] mod nA= M.

    HSCTDOC.blogspot.com

  • Exemple

    Cls publique et prive de A : KAp = (yA, gA, nA) = ( 3, 2, 11) et KApr = xA =8

    B chiffre M=5 en utilisant kB = 3, PGCD( 3,10 ) =1C1 = 23 mod 11 = 8C2 = 33. 5 mod 11 =25

    B envoie A C1C2, A utilise sa cl prive xA = 8,M 25 / 88 d 11 25 / 5 5M = 25 / 88 mod 11 =25 / 5 =5.

    Conclusion

    Le chiffrement / dchiffrement, lauthentification et la signature dElGamal ne peuvent tre effectus que sur des messages dont la taille est entre 8 64 caractres ( de 64 bits 512 bits) Ceci est d la complexit du calcul decaractres ( de 64 bits 512 bits). Ceci est d la complexit du calcul de lexponentielle modulaire qui utilise des cls publiques ou prives reprsentes par des nombres de grandes valeurs de 100 500 chiffres (de 512 bits 2048 bits)512 bits 2048 bits).

    109

    Exemple de cl publique sur 1024 bits en Hexadcimal :

    3081 8902 8181 00CF 8424 B08C CD71 9110 7E44 2B2E 8014 35F0 49CE 8C3E 8CA9 3516 5FC7 9EB8 B4D2 9A89 637C 20C4 DB30 97AF ECB3 37F2 A000 00E8 E350 BA90 2B20 EEE5 9D5B 4A87 E0D5 895A B6A4 05A6 B2C4 2715 555F 6699 0A68 95AD 3963 6071 4C00 8431 7693 7EC0 20F9 8C31 EC2A 8585 9054 3478 4DD1 366B 9024 67B1 E8C8 C812 6EE9 E35B 5D04 700D 7C28 2702 0301 0001

    Les algorithmes asymtriques sont trs coteux en temps de calcul

    Utilisation courante : Echange des cls de session des algorithmes symtriques (8 caractres (64 bits) 32 caractres (256 bits)) en utilisant le service de chiffrement / dchiffrementservice de chiffrement / dchiffrement.

    Signature et lauthentification des messages plus longs nest possible que sur des rsums des messagessur des rsums des messages

    Solution adopte :

    110Fonction de hachage rsum signature et authentification

    HSCTDOC.blogspot.com

  • Chapitre 4 : Authentification hachage signature etChapitre 4 : Authentification, hachage, signature et gestion de cls

    111

    1 Signature numrique :1. Signature numrique :

    La signature numrique doit avoir les mmes caractristiques quune signature manuscrite savoir :signature manuscrite savoir : Elle ne peut tre limite pour prouver que la signataire a dlabrement sign son document. Elle doit authentifier la signatureg Elle nappartient qu un seul document : pas rutilisable Un document sign ne peut tre modifi (intgralit) Elle ne peut tre renie (non rpudiation).

    Existence dune relation biunivoque entre un document sign et la signature qui laccompagne.

    Les algorithmes asymtriques permettent une signature numrique des messages trs court (

  • - Notion de fonction de hachage sens unique (one way hach function)Cest une fonction mathmatique facile calculer dans un sens (chiffrementCest une fonction mathmatique facile calculer dans un sens (chiffrement facile) et est extrmement difficile calculer dans le sens inverse (dchiffrement difficile).

    M H(M) empreinte digitaleM H(M) empreinte digitaleProprit de H(M) :

    M est de taille variable empreinte h=H(M) de taille fixe M est de taille variable empreinte h H(M) de taille fixe Il est facile de calculer h partir de M Impossible de calculer M partir de H(M) Rapidit du calcul de lempreinte Rapidit du calcul de l empreinte Impossible de gnrer deux documents diffrents ayant la mme empreinte. (H(M) est sans collision) Il est trs difficile de trouver deux messages alatoires qui donnent la g qmme signature.

    113

    Principe de fonctionnement :

    Le message M = M0 M1 MN-1 les blocs Mi sont de mme taille. Chaque bloc Mi subira un hachage : H(Mi) = f(Mi, H(Mi-1))

    M0Mi

    M1 H = fonction de hachage sens

    M0

    H(Mi)

    H(Mi-1).

    MN-1

    unique

    Pour le premier bloc M0, une constante sera utilise comme valeur initiale, pour le bloc M1, H(M0) reprsente une valeur dinitiation et ainsi de suite. A

    114la fin du hachage H (MN-1) reprsente lempreinte digitale du message.

    HSCTDOC.blogspot.com

  • - M de taille quelconque H(M) de taille fixe (valeurs standards 128 ou 160 bits)bits)Particularit des fonctions de hachage :

    Algorithmes associs sont publiques Une fois M hach on ne peut plus restitu M (sens unique) Une fois M hach on ne peut plus restitu M (sens unique)

    - Assure lintgralit mais ne peuvent pas authentifier lauteur de M

    - Ncessit de la cryptographie asymtrique qui offre le service dauthentification

    - H(M) et RSA ou ELGAMAL == signature numrique

    - Fonction de hachage sens unique avec cl (ou brche secrte) g q ( )

    115

    Cration dune signature numrique

    Le correspondant A signe un message M en utilisant une fonction de hachage H(M) et en chiffrant le rsultat avec sa cl prive KApr le rsultat est transmis un correspondant Btransmis un correspondant B.

    S(M)=DKApr(H(M))

    Remarque :

    Le message M peut tre clair ou chiffr avec un algorithme symtrique dontLe message M peut tre clair ou chiffr avec un algorithme symtrique dont la cl a t pralablement change entre A et B en utilisant un algorithme asymtrique. Dans ce cas B reoit C= EKBp(M) et S(M)

    116

    HSCTDOC.blogspot.com

  • Vrification dune signature numrique

    Le correspondant B reoit Mr et S(M) . Il utilise la cl publique de A (KAp) pour dchiffrer la signature S(M).

    H(M)=EKAp(S(M))=EKAp(DkApr(H(M))

    Et hache Mr pour calculer H(Mr)Et hache Mr pour calculer H(Mr)

    Si H(Mr)=H(M) la signature est valide sinon M est jet

    Inconvnient majeur du protocole de la signature numrique : certification de la cl publique du correspondant A.

    117

    Exemples dutilisation

    Signature en utilisant :

    Un algorithme de hachage :Un algorithme de hachage : MD4 : Message Digist version 4 (produit des empreintes de 128 bits)MD5 : Message Digist version 5 (produit des empreintes de 128 bits) SHA2 : Hach Algorithm version 2SHA2 : Hach Algorithm version 2 RIPEMD 160 : Ripe Message DigestEt un algorithme asymtrique :

    RSARSAELGAMAL

    - ou lutilisation du :Standard de signature numrique (DSS) g q ( )DSA Digital Signature

    118

    HSCTDOC.blogspot.com

  • Description de lalgorithme de hachage MD5

    MD5 est une version amliore de MD4. Le principe de base de cetMD5 est une version amliore de MD4. Le principe de base de cet algorithme, conu par R. Rivest, est fond sur la manipulation de blocs de 512 bits chacun ( 64 caractres). Chaque bloc est dcompos sous la forme de 16 sous blocs de 32 bits chacun. Ces sous blocs constituent une des entres de lalgorithme. 4 fonctions non linaires sont utilises. Chaque fonction est utilise dans une ronde (MD5 possde 4 rondes). Chaque ronde effectue 16 itrations. La sortie de lalgorithme est un ensemble de 4 variables de 32 bits. De ce fait, le rsultat de hachage est cod sur 128 bits.

    tape 1 : pr traitement du messageLe message M peut avoir une taille quelconque, il doit tre complt de manire ce que sa taille soit multiple de 512 bits (M mod 512 =0)Message multiple de 512 bits est M.

    Message M initial Complment de M taille de M

    119b0b1.bi..bn1 1000000000000000000000 b0b1..b63

    Le complment de M reprsente un remplissage qui commence avec 1 seul p p p g qet dautant de 0 que ncessite et ensuite la taille initiale de M est code sur 64 bits et est place la fin du message.- Dcoupage de M en blocs de 512 bits chacun

    B0 B1 .. Bm

    Chaque bloc Bi dcoup en 16 sous blocs de 32 bits chacunBi M[0], M[1], , M[15]

    t 2 I iti li ti l t it t d B0tape 2 : Initialisation pour le traitement de B0On dfinit 4 variables (variables de chanage) A,B,C,D de 32 bits initialises par :A 01 23 45 67A = 01 23 45 67B = 89 AB CD EFC = FE DC BA 98D = 76 54 32 10D = 76 54 32 10Ces 4 variables sont copies dans 4 autres variables :AA = A, BB = B, CC = C, DD = D

    120

    HSCTDOC.blogspot.com

  • tape 3 : Calcul itrative des 4 rondes (4*16=64 itrations)Dans chaque ronde on calcul de nouvelles valeurs des variables A B C DDans chaque ronde , on calcul de nouvelles valeurs des variables A, B, C, D partir des anciennes valeurs en utilisant dans chaque ronde une fonction non linaire (pour voluer ces variables de manire non-linaire, et d'assurer les proprits de sens unique)d assurer les proprits de sens unique).

    Ronde 1F(X Y Z)=(X AND Y) OR ( NOT(X) AND Z)F(X,Y,Z) (X AND Y) OR ( NOT(X) AND Z)

    Ronde 2G(X,Y,Z)=(X AND Z) OR (Y AND NOT(Z))

    Ronde 3Ronde 3H(X,Y,Z)=(X XOR Y XOR Z)

    Ronde 4I(X,Y,Z)=Y XOR (X XOR NOT(Z)) ( , , ) ( ( ))

    O X, Y et Z dnotent lun des variables A, B,C ou D. Ces fonctions renvoient des valeurs sur 32 bits qui seront ajoutes la 4 eme variable ( non implique dans le calcul), et au sous bloc considr et une constante T. Ce nouveau rsultat sera ensuite dcal circulairement vers la gauche de S positions. Enfin, le rsultat de ce dcalage est ajout lune des variables

    121A,B,C ou D.

    Dtails du calcul de A,B,C et DDtails du calcul de A,B,C et DM[j] : j (0 15) me blocT[i] : constante calcule litration i par 429467296 . abs(sin[i]) (i en radian).S[i] : nombre de dcalages correspondant litration i.

    Ronde 1A = B + [(A + F(B,C,D) + M[j] + T[i])

  • R d 4Ronde 4A = B + [(A + I(B,C,D) + M[j] + T[i])
  • Ch i l t i d K 1xA= 12496 < qAyA= 1008325512496 mod 124540019 = 119946265une cl publique KpA = (qA,yA,gA,nA)une cl publique Kp (qA,yA,gA,nA)une cl prive KprA=xASignature par A de lempreinte HA(M) dun message MChoix alatoire de KA=9557
  • Vrification de la signatureLe correspondant B reoit dun correspondant A lempreinte HA(M) (leLe correspondant B reoit dun correspondant A lempreinte HA(M) (le message en clair ou chiffr et (RA=34, SA=13049). Il utilisera la cl publique de A pour calculer :W= 34-1 mod 117389 = 1799W= 34 1 mod 117389 = 1799U1=(5246*1799) mod 117389 = 12716U2 = 13049* 1799 mod 117389 = 8999V=((1008325512716A*y8999A) mod nA) mod 117389 =34V ((10083255 A y A) mod nA) mod 117389 34V=RA=34 alors la signature est valideA a bien sign le message M en utilisant HA(M) avec sa cl prive xA = 12496 et le nombre KA= 9557.12496 et le nombre KA 9557.

    Gestion des cls et certificat numriqueLe problme majeur de la cryptographie asymtrique est la publication des p j yp g p y q pcls publiques des diffrents utilisateurs. Cette publication doit offrir lassurance que :

    Les cls publiques sont bien celles des utilisateurs qui elles sont associes. Lorganisme qui publie les cls publiques doit tre digne de confiance (tiers de confiance).

    127 Les cls publiques sont valides.

    Pour cela, on a recours un certificat numrique. Un certificat numrique t d t i fi t l l ti i i t t t lest un document numrique fixant les relations qui existent entre une cl

    publique et son propritaire ( un utilisateur, une application, un site, une machine).La gestion technique et administrative de ces certificats sont assures parLa gestion technique et administrative de ces certificats sont assures par une infrastructure de gestion des cls IGC ou Public Key Infrastructure (PKI). Une PKI repose sur les organismes suivants :

    Lautorit de certification AC dont la fonction est de dfinir la L autorit de certification AC, dont la fonction est de dfinir la politique de certification (PC) et de la faire appliquer, garantissant ainsi un certain niveau de confiance aux utilisateurs. Lautorit denseignement (AE) dont la fonction est de vrifier queL autorit d enseignement (AE), dont la fonction est de vrifier que le demandeur est bien la personne quil prtend tre, conformment aux rgles dfinies par lautorit de certification. Elle garantit la validit des informations contenues dans le certificat. Lautorit denseignementdes informations contenues dans le certificat. L autorit d enseignement est le lien entre loprateur de certification et labonn. Loprateur de certification (OC), dont la fonction est dassurer la fourniture et gestion du cycle de vie des certificats. Son rle consiste g ymettre en uvre une plate forme oprationnelle, fonctionnelle, scurise, dans le respect des exigences nonces dans la politique de certification (PC) et dont les modalits sont dtailles dans la

    128dclaration des pratiques de certification (DPC).

    HSCTDOC.blogspot.com

  • Annexe : Norme X.509X 509 est un standard de cryptographie de lUnion international desX 509 est un standard de cryptographie de l Union international destlcommunications pour els infrastructures cls publique. X509 tablitentre autres les formats standard de certificats lectronique et un algorithmede validation de chemin de certification.de validation de chemin de certification.X509 a t cr en 1988 dans le cadre du standard X500. Il repose sur unsystme hirarchique dautorits de certifications.

    Un certificat X.509 est dcompos en deux parties : La partie contenant les informations (version, n de srie du certificat, algorithme utilis , nom, date de validit, cl publique du propritaire du certificat, ) La partie contenant la signature de lautorit de certification

    Exercice :Discuter les cas suivants:1. Deux certificats diffrents contiennent la mme cl publique.2 D tifi t diff t t l i t2. Deux certificats diffrents ont la mme signature.

    129

    HSCTDOC.blogspot.com