introduction à la cryptologie - lig...
TRANSCRIPT
Introduction à la cryptologie
Clément PERNET
M1 INFO, UFR-IM2AG, Université J. Fourierhttp://membres-liglab.imag.fr/pernet/M1INFO_Crypto.html
Plan du cours
Introduction
Chiffres historiquesTranspositions, substitutions mono-alphabétiquesSubstitutions poly-alphabetiques
Théorie de l’information
Chiffrement par flotGénérateurs pseudo-aléatoiresLinear Feedback Shift Register (LFSR)
Codes correcteurs
Plan du cours
Introduction
Chiffres historiques
Théorie de l’information
Chiffrement par flot
Codes correcteurs
Notion of Code
Source DestinationChannelencoding decoding
Change of representation of the information forI efficiency: compressionI security: cryptography, authentication, ...I integrity: error correcting codes
Cryptologie
Cryptographie: l’art d’encoder une information pour la gardersecrète
I Stéganographie: incorporer secrètement uneinformation dans une autre (son existencen’est pas décelable)
I Cryptographie: transforme un message clairen un message chiffré
Cryptanalyse: L’analyse des messages chiffrés pour trouvé lemessage clair
StéganographieL’information n’est pas chiffrée:
Connaissance de l’existence⇔ connaissance de l’information
I Encre invisible (Spline, 1BC)I Tatouage sur le crâne du messager (couvert par les
cheveux)
coder une image sur les 2 bits de poids faible d’une image
Toujours utilisé de nos jours:I 2010: Services des renseignements Russes (images)I Watermarking (JPEG, MP3-MPEG)
StéganographieL’information n’est pas chiffrée:
Connaissance de l’existence⇔ connaissance de l’information
I Encre invisible (Spline, 1BC)I Tatouage sur le crâne du messager (couvert par les
cheveux)
coder une image sur les 2 bits de poids faible d’une image
Toujours utilisé de nos jours:I 2010: Services des renseignements Russes (images)I Watermarking (JPEG, MP3-MPEG)
Cryptographie
L’information est cryptée:
connaissance de l’existence < connaissance de l’information
Alice BobChannel
encoding decoding
Oscar
Algorithmes pour la cryptographie
Propriétés requises:Confusion: Aucun biais statistiques ne doit aider à retrouver le
message clairDiffusion: Un petit changement dans le message clair produit
un changement total dans le message chiffré
Terminologie
Message clair: le message initial M, compréhensible, que Aliceveut transmettre à Bob
Encodage/chiffrement: transformation du message clair en unmessage équivalent non compréhensible.
I fonction de chiffrement: EI qui génère le message chiffré: C = E(M)
Décodage/Déchiffrement: reconstruction du message clair àpartir du chiffré
I fonction de déchiffrement DI D(C) = D(E(M)) = M: E doit être injective, D
surjective
Types de Cryptographie
En pratique, les fonctions E et D sont paramétrées par unepaire de clés KE et KD.
Cryptographie symétrique: I La clé reste secrète des deuxcotés
⇒cryptographie à clé privéeCryptographie asymétrique: KE 6= KD
I la clé d’encodage KE est publiéepubliquement
I clé de décodage KD reste privée⇒cryptographie à clé publique
Deux façon de traiter l’information:chiffrement par flot: flux de bitschiffrement par blocs: découpage en blocs et traitement
spécifique pour chaque bloc
Principes de Kerckhoffs
En 1883: Kerckhoffs fixe les principe de la cryptographiemoderne
1. Decoder sans la clé doit être impossible (at échellehumaine)
2. Trouver la clé à partir du chiffré doit être impossible (àéchelle humaine)
3. La sécurité doit reposer sur le secret de la clé et non lesecret de l’algorithme
Role de la cryptographie
L’acronyme: CAIN
Confidentialité: seuls les personnes autorisées peuventaccéder à l’information
Authentification: certifier l’identité d’une personneIntegrité: l’information a été corrompue
Non repudiation: protéger les utilisateurs les uns des autres:impossible de contester avoir dit quelque chose
Jusque récemment, la cryptographie concernait principalementla confidentialité, et les protocoles symétriques.
I nouvelles tendances⇒besoin d’authentification et de non-répudiation
I explosion combinatoire du nombre de clés⇒motive les clés publiques
Role de la cryptographie
L’acronyme: CAIN
Confidentialité: seuls les personnes autorisées peuventaccéder à l’information
Authentification: certifier l’identité d’une personneIntegrité: l’information a été corrompue
Non repudiation: protéger les utilisateurs les uns des autres:impossible de contester avoir dit quelque chose
Jusque récemment, la cryptographie concernait principalementla confidentialité, et les protocoles symétriques.
I nouvelles tendances⇒besoin d’authentification et de non-répudiation
I explosion combinatoire du nombre de clés⇒motive les clés publiques
Attaques
Passives: en écoutant sur le canal de communication⇒menace la confidentialité
Actives: modification du message⇒menace l’intégrité, l’authenticité
Texte chiffré connu: Oscar connaît seulement C
Texte clair connu: Oscar connaît C et M
Texte clair choisi: Oscar peut choisir M et obtient le chiffré Ccorrespondant
Texte chiffré choisi: Oscar peut choisir C et obtient le texte claircorrespondant M
Attaques
Passives: en écoutant sur le canal de communication⇒menace la confidentialité
Actives: modification du message⇒menace l’intégrité, l’authenticité
Texte chiffré connu: Oscar connaît seulement C
Texte clair connu: Oscar connaît C et M
Texte clair choisi: Oscar peut choisir M et obtient le chiffré Ccorrespondant
Texte chiffré choisi: Oscar peut choisir C et obtient le texte claircorrespondant M
Attaques
Algorithmes pour les attaques:
Attaque par force brute: exploration de de l’espace des clésAttaque par séquences connues: une partie du message clair
est connue (ex. :en-tête d’un e-mail)Forced sequence attack: force Alice à chiffrer une séquenceDifferential analysis attack: petite difference entre deux textes
clairs
Plan du cours
Introduction
Chiffres historiquesTranspositions, substitutions mono-alphabétiquesSubstitutions poly-alphabetiques
Théorie de l’information
Chiffrement par flot
Codes correcteurs
Histoire des codes
Apperçu historique:I Cryptographie antique:
I transposition: Sparte (500 av-J.C.)I substitutions mono-alphabetiques: César (100 av-J.C.)I substitutions poly-alphabetiques: Vigénère (XIXth)
I Cryptanalyse des substitutions mono etpoly-alphabetiques: El Kindi (IXth), Babbage/Kasiski(XIXth)
I Mecanisation de la cryptographie: Enigma (2ème guerremondiale)
I vers un codage parfait: Vernam et théorie de l’information
Outline
Introduction
Chiffres historiquesTranspositions, substitutions mono-alphabétiquesSubstitutions poly-alphabetiques
Théorie de l’information
Chiffrement par flot
Codes correcteurs
TranspositionBâton de Scytale: 500 BC
Principe général des transpositions:I mélange des lettres d’un message suivant une permutationI Bonne sécurité en théorie: pour un message de 35 lettres,
35! = 10333147966386144929666651337523200000000chiffrés possibles)
Inconvénients:I clé complexe (la permutation)I maintient la fréquence des lettres (biais statistique)
Substitutions
Substitutions mono-alphabetiques:
Remplace systématiquement chaque lettre d’un message parune autre. La clé est la permutation de l’alphabet.
Désormais, c’est une permutation de l’alphabet:
a b c d e f g h ... zu f j k a m s w ... t
I Securité: 26! = 1.3× 1088 clés possibles
Le chiffre de CésarCas particulier quand la permutation est un décalage de klettres k lettres dans l’alphabet:
Fonction de chiffrement:
Ek : Z/26Z → Z/26Zn 7→ n + k
Fonction de déchiffrement:
Dk : Z/26Z → Z/26Zn 7→ n− k
ExempleA → 0,B → 1,C → 2, ...
E3(THIS CIPHER IS WEAK) = WKLV FLSKHU LV ZHDN
D17(NV NZCC JVV DLTY SVKKVI) = WE WILL SEE MUCH BETTER
Le chiffre de CésarCas particulier quand la permutation est un décalage de klettres k lettres dans l’alphabet:
Fonction de chiffrement:
Ek : Z/26Z → Z/26Zn 7→ n + k
Fonction de déchiffrement:
Dk : Z/26Z → Z/26Zn 7→ n− k
ExempleA → 0,B → 1,C → 2, ...
E3(THIS CIPHER IS WEAK) = WKLV FLSKHU LV ZHDN
D17(NV NZCC JVV DLTY SVKKVI) = WE WILL SEE MUCH BETTER
Securité du chiffre de César
I Petit espace des clés: 26I Méthode efficace pour retrouver la clé:
C = FTQCGUOWNDAIZRAJVGYBEAHQDFTQXMLKPAS
D0(C) = FTQCGUOWNDAIZRAJVGYBEAHQDFTQXMLKPAS
D1(C) = ESPBFTNVMCZHYQZIUFXADZGPCESPWLKJOZR...
...
D12(C) = THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG...
...
D25(C) = HVSEIWQYPFCKBTCLXIADGCJSFHVSZONMRCU
Amélioration du chiffre de César
Pour a, b ∈ Z/26Z, avec gcd(a, 26) = 1.Fonction d’encodage:
EK : Z/26Z → Z/26Zm 7→ a · m + b
Fonction de décodage:
DK : Z/26Z → Z/26Zn 7→ a−1(c− b)
Exercice
I Encoder le message clair GRENOBLE avec a = 3, b = 8.I Décoder le message chiffré KNUBZ avec a = 5, b = 13.
Cryptanalyse des substitutions mono-alphabetiques
[El Kindi (IXe S)]:
I Supposer un langage cibleI Compter les fréquence de
chaque lettre dans le messagechiffré C
I faire correspondre lesfréquences des lettre aveccelles du langage pour leslettres les plus fréquentes
I fixer les autres occurrences pardes suppositions
Exemple:
WYSKBO KT CZWJB RCBTKAJSJA WC HJ WIJ ZGWIJS CZ MCAJSB RCMDYWJSTRKJBRJ. WYSKBO DSCFKAJA GB KBZLYJBWKGL ZCSMGLKTGWKCB CZ WIJ RCBRJDWCZ WIJ GLOCSKWIM GBA RCMDYWGWKCB NKWI WIJ WYSKBO MGRIKBJ. NKWI WIJWYSKBO WJTW, IJ MGAJ G TKOBKZKRGBW GBA RIGSGRWJSKTWKRGLLX DSCFCRGWKFJRCBWSKHYWKCB WC WIJ AJHGWJ SJOGSAKBO GSWKZKRKGL KBWJLLKOJBRJ: NIJWIJSKW NKLL JFJS HJ DCTTKHLJ WC TGX WIGW G MGRIKBJ KT RCBTRKCYT GBA RGBWIKBV. IJ LGWJS NCSVJA GW WIJ BGWKCBGL DIXTKRGL LGHCSGWCSX, RSJGWKBOCBJ CZ WIJ ZKSTW AJTKOBT ZCS G TWCSJA-DSCOSGM RCMDYWJS, GLWICYOI KWNGT BJFJS GRWYGLLX HYKLW
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
Essayer W → T et J → E
tYSKBO KT CZteB RCBTKAeSeA tC He tIe ZGtIeS CZ MCAeSB RCMDYteSTRKeBRe. tYSKBO DSCFKAeA GB KBZLYeBtKGL ZCSMGLKTGtKCB CZ tIe RCBReDtCZ tIe GLOCSKtIM GBA RCMDYtGtKCB NKtI tIe tYSKBO MGRIKBe. NKtI tIetYSKBO teTt, Ie MGAe G TKOBKZKRGBt GBA RIGSGRteSKTtKRGLLX DSCFCRGtKFeRCBtSKHYtKCB tC tIe AeHGte SeOGSAKBO GStKZKRKGL KBteLLKOeBRe: NIetIeSKt NKLL eFeS He DCTTKHLe tC TGX tIGt G MGRIKBe KT RCBTRKCYT GBA RGBtIKBV. Ie LGteS NCSVeA Gt tIe BGtKCBGL DIXTKRGL LGHCSGtCSX, RSeGtKBOCBe CZ tIe ZKSTt AeTKOBT ZCS G TtCSeA-DSCOSGM RCMDYteS, GLtICYOI KtNGT BeFeS GRtYGLLX HYKLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
Supposer que TIE est THE et déduire I → H
tYSKBO KT CZteB RCBTKAeSeA tC He the ZGtheS CZ MCAeSB RCMDYteSTRKeBRe. tYSKBO DSCFKAeA GB KBZLYeBtKGL ZCSMGLKTGtKCB CZ the RCBReDtCZ the GLOCSKthM GBA RCMDYtGtKCB NKth the tYSKBO MGRhKBe. NKth thetYSKBO teTt, he MGAe G TKOBKZKRGBt GBA RhGSGRteSKTtKRGLLX DSCFCRGtKFeRCBtSKHYtKCB tC the AeHGte SeOGSAKBO GStKZKRKGL KBteLLKOeBRe: NhetheSKt NKLL eFeS He DCTTKHLe tC TGX thGt G MGRhKBe KT RCBTRKCYT GBA RGBthKBV. he LGteS NCSVeA Gt the BGtKCBGL DhXTKRGL LGHCSGtCSX, RSeGtKBOCBe CZ the ZKSTt AeTKOBT ZCS G TtCSeA-DSCOSGM RCMDYteS, GLthCYOh KtNGT BeFeS GRtYGLLX HYKLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
Lettre seule G: supposer G→ A
tYSKBO KT CZteB RCBTKAeSeA tC He the ZatheS CZ MCAeSB RCMDYteSTRKeBRe. tYSKBO DSCFKAeA aB KBZLYeBtKaL ZCSMaLKTatKCB CZ the RCBReDtCZ the aLOCSKthM aBA RCMDYtatKCB NKth the tYSKBO MaRhKBe. NKth thetYSKBO teTt, he MaAe a TKOBKZKRaBt aBA RhaSaRteSKTtKRaLLX DSCFCRatKFeRCBtSKHYtKCB tC the AeHate SeOaSAKBO aStKZKRKaL KBteLLKOeBRe: NhetheSKt NKLL eFeS He DCTTKHLe tC TaX that a MaRhKBe KT RCBTRKCYT aBA RaBthKBV. he LateS NCSVeA at the BatKCBaL DhXTKRaL LaHCSatCSX, RSeatKBOCBe CZ the ZKSTt AeTKOBT ZCS a TtCSeA-DSCOSaM RCMDYteS, aLthCYOh KtNaT BeFeS aRtYaLLX HYKLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
Suppositions suivantes, par fréquences: C↔ O, K → I, B→ N,
tYSinO iT oZten RonTiAeSeA to He the ZatheS oZ MoAeSn RoMDYteSTRienRe. tYSinO DSoFiAeA an inZLYentiaL ZoSMaLiTation oZ the RonReDtoZ the aLOoSithM anA RoMDYtation Nith the tYSinO MaRhine. Nith thetYSinO teTt, he MaAe a TiOniZiRant anA RhaSaRteSiTtiRaLLX DSoFoRatiFeRontSiHYtion to the AeHate SeOaSAinO aStiZiRiaL inteLLiOenRe: NhetheSit NiLL eFeS He DoTTiHLe to TaX that a MaRhine iT RonTRioYT anA RanthinV. he LateS NoSVeA at the nationaL DhXTiRaL LaHoSatoSX, RSeatinOone oZ the ZiSTt AeTiOnT ZoS a TtoSeA-DSoOSaM RoMDYteS, aLthoYOh itNaT neFeS aRtYaLLX HYiLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
On y est presque: essayer: S↔ R, T → S, Y → u,
turinO iT oZten RonTiAereA to He the Zather oZ MoAern RoMDuterTRienRe. turinO DroFiAeA an inZLuentiaL ZorMaLiTation oZ the RonReDtoZ the aLOorithM anA RoMDutation Nith the turinO MaRhine. Nith theturinO teTt, he MaAe a TiOniZiRant anA RharaRteriTtiRaLLX DroFoRatiFeRontriHution to the AeHate reOarAinO artiZiRiaL inteLLiOenRe: Nhetherit NiLL eFer He DoTTiHLe to TaX that a MaRhine iT RonTRiouT anA RanthinV. he Later NorVeA at the nationaL DhXTiRaL LaHoratorX, RreatinOone oZ the ZirTt AeTiOnT Zor a TtoreA-DroOraM RoMDuter, aLthouOh itNaT neFer aRtuaLLX HuiLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
On y est presque: R↔ c, F → v, O→ g, T → s,Z → f ,
turing is often consiAereA to He the father of MoAern coMDuterscience. turing DroviAeA an infLuentiaL forMaLisation of the conceDtof the aLgorithM anA coMDutation Nith the turing Machine. Nith theturing test, he MaAe a significant anA characteristicaLLX DrovocativecontriHution to the AeHate regarAing artificiaL inteLLigence: Nhetherit NiLL ever He DossiHLe to saX that a Machine is conscious anA canthinV. he Later NorVeA at the nationaL DhXsicaL LaHoratorX, creatingone of the first Aesigns for a storeA-DrograM coMDuter, aLthough itNas never actuaLLX HuiLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Exemple:
Et enfin: A→ d, D→ p, H → b, X → y, W → w, V → k,
turing is often considered to be the father of Modern coMputerscience. turing provided an infLuentiaL forMaLisation of the conceptof the aLgorithM and coMputation with the turing Machine. with theturing test, he Made a significant and characteristicaLLy provocativecontribution to the debate regarding artificiaL inteLLigence: whetherit wiLL ever be possibLe to say that a Machine is conscious and canthink. he Later worked at the nationaL physicaL Laboratory, creatingone of the first designs for a stored-prograM coMputer, aLthough itwas never actuaLLy buiLt
I Occurrences:W J K G C B S I R L T A O Y Z M D H N F X V54 49 45 41 35 35 32 24 24 20 19 14 13 13 12 10 9 7 6 5 5 2
I Lettres les plus fréquentes en anglais: ETAOIN SHRDLU
Outline
Introduction
Chiffres historiquesTranspositions, substitutions mono-alphabétiquesSubstitutions poly-alphabetiques
Théorie de l’information
Chiffrement par flot
Codes correcteurs
Le chiffre de Vigénère
Clair C R Y P T O I S C O O LClé S E C R E T S E C R E TDécalage 18 4 2 17 4 19 18 4 2 17 4 19Code U V A G Y H A W E F S E
Le chiffre de Vigénère cipher: point de vue algébrique
Clé K de taille m.
Encodage
Ci = Mi + K(i mod m) mod 26
Décodage
Mi = Ci − K(i mod m) mod 26
Cryptanalyse
1. Trouver la longueur de la clé2. Casser la clé par analyse fréquentielle
Le chiffre de Vigénère cipher: point de vue algébrique
Clé K de taille m.
Encodage
Ci = Mi + K(i mod m) mod 26
Décodage
Mi = Ci − K(i mod m) mod 26
Cryptanalyse
1. Trouver la longueur de la clé2. Casser la clé par analyse fréquentielle
Longueur m de la clé: Babbage 1854 et Kasiski 1863
Idée: si répétition d’une séquence C avec période δ
I Soit cela correspond au même texte clair, encodé par lamême partie de clé
I Ou c’est une coïncidence (moins probable)
⇒la distance δ est donc probablement un multiple de m
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPSNCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZAYGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFPGUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYLSKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJRGPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVLWNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFCMPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFTWGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEEDCLDHWTVBUVGFBIJG
Possible values for mSequence Distance 2 3 5 19WUU 95
√ √
EEK 200√ √
WXIZAY 190√ √ √
NUOCZGM 80√ √
DOEOY 45√ √
GMU 90√ √ √
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPSNCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZAYGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFPGUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYLSKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJRGPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVLWNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFCMPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFTWGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEEDCLDHWTVBUVGFBIJG
Possible values for mSequence Distance 2 3 5 19WUU 95
√ √
EEK 200√ √
WXIZAY 190√ √ √
NUOCZGM 80√ √
DOEOY 45√ √
GMU 90√ √ √
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPSNCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZAYGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFPGUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYLSKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJRGPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVLWNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFCMPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFTWGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEEDCLDHWTVBUVGFBIJG
Possible values for mSequence Distance 2 3 5 19WUU 95
√ √
EEK 200√ √
WXIZAY 190√ √ √
NUOCZGM 80√ √
DOEOY 45√ √
GMU 90√ √ √
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPSNCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZAYGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFPGUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYLSKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJRGPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVLWNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFCMPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFTWGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEEDCLDHWTVBUVGFBIJG
Possible values for mSequence Distance 2 3 5 19WUU 95
√ √
EEK 200√ √
WXIZAY 190√ √ √
NUOCZGM 80√ √
DOEOY 45√ √
GMU 90√ √ √
Longueur m de la clé: Friedman
Soit nA le nombre d’occurrences de A dans le texte de taille nX,Y deux lettres tirées au hasard.
P(X = A,Y = A) =
(nA2
)(n2
) =nA(nA−1)
2n(n−1)
2
=nA(nA − 1)n(n− 1)
Indice de coïncidenceProbabilité que deux lettres tirées au hasard soient égales
IC =
Z∑λ=A
nλ(nλ − 1)n(n− 1)
=
Z∑λ=A
fλ
(fλ +
fλ − 1n− 1
)IC→
∑Zλ=A f 2
λ
⇒caractérisé par les fréquences (donc par le langage).
Longueur m de la clé: Friedman
Soit nA le nombre d’occurrences de A dans le texte de taille nX,Y deux lettres tirées au hasard.
P(X = A,Y = A) =
(nA2
)(n2
) =nA(nA−1)
2n(n−1)
2
=nA(nA − 1)n(n− 1)
Indice de coïncidenceProbabilité que deux lettres tirées au hasard soient égales
IC =
Z∑λ=A
nλ(nλ − 1)n(n− 1)
=
Z∑λ=A
fλ
(fλ +
fλ − 1n− 1
)IC→
∑Zλ=A f 2
λ
⇒caractérisé par les fréquences (donc par le langage).
Indice de coïncidence
Allemand Anglais Français Aléa unifIC(g)=0,07187 IC(e)=0,06577 IC(f)=0,07405 IC(a)=0,03846
Propriété
I IC est invariant par substitution mono-alphabetiqueI Si v est chiffré par Vigénère
IC(v) ≈ 1m
IC(f ) + (1− 1m)IC(a)
⇒m ≈ IC(f )−IC(a)IC(v)−IC(a)
Indice de coïncidence
Allemand Anglais Français Aléa unifIC(g)=0,07187 IC(e)=0,06577 IC(f)=0,07405 IC(a)=0,03846
Propriété
I IC est invariant par substitution mono-alphabetiqueI Si v est chiffré par Vigénère
IC(v) ≈ 1m
IC(f ) + (1− 1m)IC(a)
⇒m ≈ IC(f )−IC(a)IC(v)−IC(a)
Calcul de la clé: le test de FriedmanOn connaît m ⇒on forme la matrice de dimension m× n/m
A =
c0 cm c2m . . .c1 cm+1 c2m+1 . . ....
......
cm−1 cm−1+m cm−1+2m . . .
⇒Chaque ligne Li est générée par la même lettre de la clé: Ki
Coïncidence jointeProbabilité que les alphabets de X et Y correspondent:MIC(X,Y) =
∑Zλ=A P(X = λ)P(Y = λ)
Pour tout k = 0 . . . 25:I Ajouter k à L1 (noté Lk
1)I Calculer l’indice de coïncidence jointe Mi,k = IC(Lk
1,Li)
I Si le max de M sur la ligne i est en colonne ki, alorsKi − K0 = ki
⇒on a tous les coefficients des clés K1, ...,Km−1 sauf K0.⇒analyse fréquentielle classique sur 26 possibilités.
Vers un chiffre parfait
I A usage unique: Vernam (1917)I C = M ⊕ K (XOR bit à bit)I téléphone rouge
I Vigénère avec m = n (taille de clé = taille du message)I confusion totale: message aaaaaaa génère une séquence
aléatoire uniformeI Cryptanalyse seulement possible si
I phrase clé faibleI Re-utilisation de la phrase clé:
(M1 ⊕ K)⊕ (M2 ⊕ K) = M1 ⊕M2
I Attaque à clair connu: (M ⊕ K)⊕M) = K
I Le seul code prouvé sûr mathématiquement à ce jour (c.f.entropie)
Plan du cours
Introduction
Chiffres historiques
Théorie de l’information
Chiffrement par flot
Codes correcteurs
Plan du cours
Introduction
Chiffres historiques
Théorie de l’information
Chiffrement par flotGénérateurs pseudo-aléatoiresLinear Feedback Shift Register (LFSR)
Codes correcteurs
Chiffrement symétrique par flot
Traiter le source, la clé et le chiffré comme des flux decaractères
M = < m0,m1,m2, · · · >K = < k0, k1, k2, · · · >C = < c0, c1, c2, · · · >
avec ci = E(mi, ki)
ki = K constant: substitution mono-alphabétique (César, ...)⇒analyse fréquentielle
ki = ki+m périodique: substitution poly-alphabétique⇒test de Friedman + analyse fréquentielle
ki aléatoire unif.: Chiffre parfait (Vernam)
Chiffrement symétrique par flot
Générer la clé aléatoire de façon algorithmique:Générateur Pseudo-Aléatoire
I algorithme connu de tous (cf Kerchoffs)I chaque séquence est paramétrée par une petite clé
secrète, la graine
pseudo−aleatoire
Generateur
Chiffrement EM
S
C
K
I En général: caractères dans Z/nZ ⇒E(m, k) = m + kmod n
I Souvent: Z/2Z et E(m, k) = m⊕ k (XOR)
Outline
Introduction
Chiffres historiques
Théorie de l’information
Chiffrement par flotGénérateurs pseudo-aléatoiresLinear Feedback Shift Register (LFSR)
Codes correcteurs
Générateurs pseudo-aléatoires (PRNG)
DéfinitionPRNG Un algorithme qui produit une suite de nombre à partird’un état:
f (Sn) = (Xn, Sn+1)
où Sn est l’état à l’étape n et (X0,X1, . . . ) est la suite générée.
Exemple
I Congruentiel linearI /dev/random dans LinuxI LFSRI RC4I Xn+1 = EK(Xn) pour E une fonction de chiffrementI Blum Blum Shub
Générateur congruentiel linéaire
Xn+1 = a · Xn + c mod m
I Période au plus mI Propriétés statistiques dépendant fortement du choix des
paramètres.
I RANDU: a = 65539, c = 0,m = 231.
Mi = (X3i,X3(i+1),X3(i+2))
Cryptanalyse
Montrer comment casser avecbonne probabilité ungénérateur congruentiellinéaire en connaissant troistermes consécutifs et m.Application: m = 101,(X0,X1,X2) = (17, 42, 23).
Générateur congruentiel linéaire
Xn+1 = a · Xn + c mod m
I Période au plus mI Propriétés statistiques dépendant fortement du choix des
paramètres.I RANDU: a = 65539, c = 0,m = 231.
Mi = (X3i,X3(i+1),X3(i+2))
Cryptanalyse
Montrer comment casser avecbonne probabilité ungénérateur congruentiellinéaire en connaissant troistermes consécutifs et m.Application: m = 101,(X0,X1,X2) = (17, 42, 23).
/dev/random
I Pool d’entropie alimenté par les évènements physiques(disque dur, réseau, clavier, souris, . . . ).
I Fonction de hachage pour générer la sortie.I Estimation «prudente» de l’entropie de l’état.
I Et sur un serveur ?
/dev/random
I Pool d’entropie alimenté par les évènements physiques(disque dur, réseau, clavier, souris, . . . ).
I Fonction de hachage pour générer la sortie.I Estimation «prudente» de l’entropie de l’état.I Et sur un serveur ?
Blum Blum Shub
Basé sur la sécurité de RSA:
N = pq
Sn+1 = S2n mod N
Xn = Sn mod 2
où p et q sont des premiers congrus à 3 modulo 4.
Outline
Introduction
Chiffres historiques
Théorie de l’information
Chiffrement par flotGénérateurs pseudo-aléatoiresLinear Feedback Shift Register (LFSR)
Codes correcteurs
Suites récurrentes linéaires
Définitions
I Une suite récurrente linéaire est une suite (a0, a1, . . . , )telle que
∃d > 0, ∀i ≥ 0 ai+d =
d−1∑j=0
λiai+j
I Polynôme générateur: P(X) = Xd −∑d−1
i=0 λiXi
I Polynôme générateur minimal: de plus petit degréI complexité linéaire d’une séquence : le degré du
générateur minimal
Une Suite récurrente linéaire de complexité d est donnée parI un générateur P de degré dI un état initial (u0, u1, . . . , ud−1)
LFSR : représentation de Fibonacci
P = X9 − 3X6 − 4X3 − 9
3 4
2 1 1 0 85 0 8 3
Output
9
I Un registre de n variables.I A chaque pas de temps:
I La valeur de droite est mise en OutputI Chaque valeur est décalée vers la droiteI La valeur de gauche est calculée par une fonction linéaire
des autres valeurs
LFSR : représentation de Galois
2 1 80 3
Output
3 4
Xn = Xn−5 + 3Xn−4 + 4Xn−2
Représentation alternative: construction à la chaine ducoefficient Xn.
I les sommes ont lieu lors de chaque décalageI Plus efficace: la profondeur du circuit vaut 1
Propriétés de la représentation de Galois
Polynôme de rétro-action
Soit s0, s1, . . . , sn−1 les valeurs des n variables dans le registre.On définit le polynôme d’état:
U = sn−1Xn−1 + · · ·+ s1X + s0,
et le polynôme de rétroaction
P = Xn − an−1Xn−1 − · · · − a1X − a0.
Alos le polynôme d’état U’ à l’étape suivante vérifie
U′ = XU mod P
Periode d’un LFSR
I La valeur prise par le registre est périodiqueI La période maximale est pn − 1
Théorème(s0, s1, . . . ) est périodique ssi elle est générée par un LFSR
Exercice
1. Calculer toutes suites binaires possibles produites par unLFSR dont le polynôme de retroaction estP = X4 + X2 + X + 1. Quelles sont leur périodes ?
2. Même question avec P = X4 + X3 + 1.
Période d’un LFSR
DefinitionUn polynôme P(X) de degré L > 0 défini sur F2 est primitif s’ilest irréductible et
min{
i > 0 | Xi = 1 mod P}= 2L − 1
Polynôme primitif: Exercices
ExerciceMontrer qu’un polynôme primitif de degré > 1 sur F2:
1. a toujours un coefficient constant non nul (a0 6= 0),2. a toujours un nombre impair de monomes,3. a au moins un monome de degré impair.
La réciproque est-elle vraie?
ExerciceSur F2:
1. Est-ce que X2 + X + 1 est primitif?2. Montrer que X6 + X3 + 1 n’est pas primitif.3. Montrer que X5 + X3 + X2 + X + 1 est primitif. Qu’en est-il
des autres polynômes de degré 5?
LFSR de période maximale
ThéorèmeUn LFSR à L registres a une période 2L − 1 (la périodemaximale) ssi son polynôme de rétroaction est primitif et quel’état initial est non-nul.
ExerciceLe prouver à partir de la représentation de Galois.
ThéorèmeSi (ui) et (vi) sont générées par deux LFSR de période T1 et T2,alors la période de la suite wi = ui + vi est inférieure àppcm(T1,T2). Si de plus pgcd(T1,T1) = 1 alors il y a égalité.
LFSR de période maximale
ThéorèmeUn LFSR à L registres a une période 2L − 1 (la périodemaximale) ssi son polynôme de rétroaction est primitif et quel’état initial est non-nul.
ExerciceLe prouver à partir de la représentation de Galois.
ThéorèmeSi (ui) et (vi) sont générées par deux LFSR de période T1 et T2,alors la période de la suite wi = ui + vi est inférieure àppcm(T1,T2). Si de plus pgcd(T1,T1) = 1 alors il y a égalité.
Exemple: générateur E0 (bluetooth)
A(X) = X25 + X20 + X12 + X8 + 1B(X) = X31 + X24 + X16 + X12 + 1C(X) = X33 + X28 + X24 + X4 + 1D(X) = X39 + X36 + X28 + X4 + 1
La sortie est f (LFSRA(X),LFSRB(X),LFSRC(X),LFSRD(X)) pourune certaine fonction f .
I Registre de 25 + 31 + 33 + 39 = 128 bitsI Periode de lcm(225 − 1, 231 − 1, 233 − 1, 239 − 1) ≈ 2125
LFSR
Cryptanalyse des LFSR:Recherche du générateur minimal et de la graine:
I résolution de système linéaire: O(d3)
I Berlekamp-Massey [1969] O(d2)
Vers de meilleurs générateurs :I introduire de la non-linearitéI introduire de l’entropie (/dev/(u)random)I utiliser des algorithmes de chiffrement xn+1 = E(xn) ⇒la
fiabilité dépend de la sécurité du crypto-système!