Codage et Cryptanalyse linéaire - rocq.inria.fr .Codage et Cryptanalyse linéaire Application au

  • View
    212

  • Download
    0

Embed Size (px)

Text of Codage et Cryptanalyse linéaire - rocq.inria.fr .Codage et Cryptanalyse linéaire Application au

  • Codage et Cryptanalyse linaireApplication au DES

    B. Grard Le Bobinnec - J-P. Tillich

    C2 - 18 mars 2008

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 1 / 24

  • Plan

    1 Cryptanalyse linaire

    2 Modlisation pour lutilisation de plusieurs quations

    3 Utilisation dalgorithmes de dcodage

    4 Conclusion

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 2 / 24

  • Plan

    1 Cryptanalyse linaire

    2 Modlisation pour lutilisation de plusieurs quations

    3 Utilisation dalgorithmes de dcodage

    4 Conclusion

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 3 / 24

  • Rappels sur le DES

    Entres :Message de 64 bits : P = (L0||R0).Cl de 56 bits K (K1, . . . ,K16) sous cls de 48 bits.

    Sorties :Chiffr de 64 bits : C = (L16||R16).

    Schma de FeistelPour 0 i 15 calculer :

    Li+1 = Ri , Ri+1 = Li F (Ri ,Ki+1).

    Renvoyer C = (L16||R16).

    RemarquePour dchiffrer C il suffit de lui appliquer le DES en inversant lordredes sous-cls.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 4 / 24

  • Philosophie de lattaque linaire

    Attaque clairs connus.Exploite le manque de non-linarit dun chiffrement.

    Equation

    probabiliste

    P (

    P, C, c = K ,

    ) =12

    + .

    A,B =

    k

    Ak .Bk .

    F642 : masque dentre. F642 : masque de sortie. F562 : masque de cl.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 5 / 24

  • Philosophie de lattaque linaire

    Attaque clairs connus.Exploite le manque de non-linarit dun chiffrement.

    Equation probabiliste

    P (P, C, c = K , ) = 12

    + .

    A,B =

    k

    Ak .Bk .

    F642 : masque dentre. F642 : masque de sortie. F562 : masque de cl.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 5 / 24

  • Attaque directe [Matsui EUROCRYPT93]

    P(P, C, c = K , ) = 12

    + .

    Rcuprer N = O(1/2) couples de messages.Calculer T le nombre de couples pour lesquels la partie gauchede lquation vaut 1.Si T > N/2 alors on devine que K , = 1, 0 sinon.

    RemarqueNe permet de retrouver quun bit dinformation sur la cl.

    Une des motivations pour utiliser plusieurs quations.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 6 / 24

  • Attaque par distingueur [Matsui EUROCRYPT93]

    P(P, C, F (P,K1), c = K , ) =12

    + .

    F (P,K1), est en fait une fonction de C et de K , K tant composede 6 bits de K .

    Pour chacune des 26 possibilits pour K calculer T le nombre decouples pour lesquels la partie gauche de lquation vaut 1.Parmi les T reprer celui qui maximise |T N/2|.On devine que la cl partielle utilise est le K correspondant.De plus, si T > N/2 alors on devine que K , = 1, 0 sinon.

    RemarquePermet de retrouver 7 bits dinformation sur la cl.

    Impose des contraintes sur lquation utilise.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 7 / 24

  • Schma gnral dune cryptanalyse linaire

    Cryptanalyse en 3 tapes :Extraction de linformation.Analyse de linformation.Recherche exhaustive (sur les bits restants).

    Attaque par distingueurCalcul des compteurs.Tri des compteurs (et donc des candidats pour K ).Recherche des 56 7 bits non devins.

    On va sintresser la phase danalyse de linformation en casdutilisation de plusieurs quations.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 8 / 24

  • Plan

    1 Cryptanalyse linaire

    2 Modlisation pour lutilisation de plusieurs quations

    3 Utilisation dalgorithmes de dcodage

    4 Conclusion

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 9 / 24

  • Etat de lart

    Masques de supports disjoints [Matsui CRYPTO94] .Plusieurs quations avec le mme masque de cl[Kaliski, Robshaw CRYPTO94] [Choi, Hong, Hong, Lee 2005] .Plusieurs quations avec un masque de cl quelconque[Biryukov, De Cannire, Quisquater CRYPTO04] .

    Problmatique de la cryptanalyse linaire multiple

    K (K , j)1jn = Kextraction (P(Kj = 0))1jn

    analyse

    Notre point de vue : problme de dcodage sur un canal gaussien.K C, code de longueur n et dimension k .

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 10 / 24

  • Canal Bruit Blanc Additif Gaussien

    Modle

    (Xj)1jncanal (Yj)1jn

    Xj = (1)Kj , Yj = Xj + Nj , Nj N (0,1

    4N2j)

    Les Nj sont indpendants.

    Soit :Tj =

    (P,C)

    < j ,P > < j ,C > bj .

    Alors la cryptanalyse correspond ce modle si on considre :

    Yj =N 2Tj

    2Nj.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 11 / 24

  • Etude du nombre de couples ncessaires

    Etude du nombre de candidats plus vraisemblables que la bonne cl.

    Junod : 21 attaques par distingueur [Junod SAC01] :

    We observe [...] a pessimistic rank expected value.

    Phnomne connu en thorie des codes correcteurs :Avec une probabilit exponentiellement faible la taille de lensembleest exponentiellement grande.

    La taille de lensemble varie entre 1 et 2k alors que le logarithme de lataille varie entre 0 et k .

    Il est donc prfrable de calculer lesprance du logarithme de la taille.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 12 / 24

  • Solution : Entropie

    X et Y deux variables alatoires discrtes valeurs dans X et Y.On note p(x)(resp. p(y)) loi de proba de X (resp. Y ).

    Lentropie de X correspond au nombre de bits dincertitude sur X :

    H(X ) = xX

    p(x) log2(p(x))

    H(X |Y ) =

    xX ,yYp(x |y).p(y) log2(p(x |y))

    I(X ; Y ) =

    xX ,yYp(x |y).p(y) log2

    (p(x |y)p(x)

    )= H(X )H(X |Y )

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 13 / 24

  • Borne sur lentropie

    Ingalit essentielle

    Si p(K|Y) =n

    j=1

    p(Kj |Yj) :

    I(K; Y) n

    j=1

    I(Kj ; Yj) , H(K | Y) H(K)n

    j=1

    I(Kj ; Yj).

    Application lattaque directe

    K = (K)j =< K, j > , H(K | Y) k n

    j=1

    Cap(2j ) , 2j =

    14N2j

    Cap(2) = 11

    2(1 t2)

    e

    (1 2tanh1(t))2

    22 log2(1 + t)dt .

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 14 / 24

  • Domaine de pertinence de la borne

    0

    2

    4

    6

    8

    10

    12

    15 16 17 18 19 20 21

    H(K

    |Y)

    log(N)

    Entropie empiriqueBorne th.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 15 / 24

  • Entropie et taille de liste

    0

    20

    40

    60

    80

    100

    15 16 17 18 19 20

    Tau

    x de

    ru

    ssite

    log(N)

    l = 2^H

    l = 1

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 16 / 24

  • Plan

    1 Cryptanalyse linaire

    2 Modlisation pour lutilisation de plusieurs quations

    3 Utilisation dalgorithmes de dcodage

    4 Conclusion

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 17 / 24

  • Phase danalyse

    K X =((1)

    )j

    canal Y = (Xj + Nj)jdcodage K

    Dcodage au maximum de vraisemblance

    K C qui maximise P(K = K | Y = Y ).

    Algorithme naf :

    Calculer les 2k mots de code.Calculer leurs vraisemblances.Renvoyer le mot le plus vraisemblable.

    Algorithme naf mthode actuelle de cryptanalyse.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 18 / 24

  • Solution : algorithme de dcodage

    Algorithme de dcodage par rsonnance stochastique[Valembois 2000] .

    AvantagesNe regarde que peu de mots de code typiques.Efficace (utilisation de tables de hachage).

    DsavantagePas de rsultat thorique sur sa complexit.

    Pour retrouver 23 bits sur 8 tours :Algorithme naf : 223 mots de codes.Rsonnance stochastique : 212 mots de code.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 19 / 24

  • Recherche dapproximations

    Branch and bound Algorithm.Dcodage des Reed-Muller dordre 1 [Loidreau, Tavernier] .

    Avantages des Reed-MullerFonctionne mme en cas de Key Scheduling non linaire.Pas de Hull Effect.

    DsavantagesNcessit davoir un bon masque de sortie (dsavantage ?).Actuellement : trop long et volumineux pour des quations sur 16tours.

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 20 / 24

  • Approximations trouves

    0

    500

    1000

    1500

    2000

    2500

    0 1e-08 2e-08 3e-08 4e-08 5e-08 6e-08 7e-08 8e-08 9e-08 1e-07

    Nom

    bre

    dap

    prox

    imat

    ions

    Biais

    ?

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 21 / 24

  • Potentiel de ce type dattaque Vs distingeurs

    0

    10

    20

    30

    40

    50

    40 41 42 43 44 45

    Info

    rmat

    ion

    mut

    uelle

    I(K

    ;Y)

    log(N)

    Attaque Matsui (distingueur)MK1 (3714 quations)

    B. Grard Le Bobinnec - J-P. Tillich (INRIA) Codage et Cryptanalyse linaire 2008 22 / 24

  • Plan

    1 Cryptanalyse linaire

    2 Modlisation pour lutilisation de plusieurs quations

    3 Utilisation dalgorithmes de dcodage

    4 Conclusi