Plan. Chapitre 3 - Algorithmes de chiffrement par bloc. Les bases. Introduction et généralités. Introduction et généralités

Documents pareils
INF 4420: Sécurité Informatique Cryptographie II

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

TP 2 : Chiffrement par blocs

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

MEMOIRE DE MAGISTER EN ELECTRONIQUE. OPTION : Télédétection. Application des techniques de cryptage pour la transmission sécurisée d images MSG

LES SECURITES DE LA CARTE BANCAIRE

Travail d intérêt personnel encadré : La cryptographie

Modes opératoires pour le chiffrement symétrique

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

TECHNIQUES DE CRYPTOGRAPHIE

Projet Matlab : un logiciel de cryptage

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Backup. Solution de sauvegarde en ligne pour les professionnels LE PARTENAIRE SECURITE DE VOTRE ENTREPRISE!

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Encryptions, compression et partitionnement des données

Cours 14. Crypto. 2004, Marc-André Léger

Etat de l art du chiffrement de données

Sécurité des réseaux IPSec

neobe Backup Tel service de télésauvegarde informatique LE PARTENAIRE SECURITE DE VOTRE ENTREPRISE

GPA435 SE et PS. Sécurité Informatique. Étude de cas: ios Version 2013

ÉPREUVE COMMUNE DE TIPE Partie D

De la sécurité physique des crypto-systèmes embarqués

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Le protocole sécurisé SSL

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

OUTIL DE CRYPTAGE ET DE COMPRESSION

Les opérations binaires

Cryptologie à clé publique

Signatures électroniques dans les applications INTERNET

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Analyse de PRESENT avec peu de données

Fonction de hachage et signatures électroniques

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Introduction à l étude des Corps Finis

Des codes secrets dans la carte bleue. François Dubois 1

= constante et cette constante est a.

INSTALLATION D'OPENVPN:

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Acer edatasecurity Management

La prise de conscience de la Cyber Sécurité est en hausse

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Crypter le courrier. Pourquoi crypter? Les clés de cryptage. Supplément au manuel Internet sécurité d'abord!

La cryptographie du futur

Cryptographie appliquée

Sauvegarder automatiquement ses documents

Eric DENIZOT José PEREIRA Anthony BERGER

Calculateur quantique: factorisation des entiers

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Gestion des Clés Publiques (PKI)

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Authentification de messages et mots de passe

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Introduction à la sécurité informatique

L identité numérique. Risques, protection

Sauvegardes par Internet avec Rsync

Devoir Surveillé de Sécurité des Réseaux

S8 - Sécurité IBM i : nouveautés 6.1 et 7.1

Guide d installation du système Secure de la Suva

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Vers une Théorie du Chiffrement Symétrique

Enregistrement et transformation du son. S. Natkin Novembre 2001

Informatique Générale

IV- Comment fonctionne un ordinateur?

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Objets Combinatoires élementaires

Cryptographie. Cours 3/8 - Chiffrement asymétrique

PROJECTEUR DE DONNEES XJ-A135/XJ-A145/XJ-A155/ XJ-A245/XJ-A255

Master MAIM Ingénierie du Risque TER LE PROTOCOLE WEP : Mécanismes et Failles Vincent HERBERT Université LYON 1

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

La sécurité dans un réseau Wi-Fi

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin

Tutorial Terminal Server sous

Limitations of the Playstation 3 for High Performance Cluster Computing

Codage d information. Codage d information : -Définition-

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Interfaces pour l'échange de données au sein de la protection civile

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Steganos présente Security Suite 2007, son incontournable suite de sécurité pour PC.

Livre blanc. Sécuriser les échanges

Représentation des Nombres

Enfin une messagerie dont l utilisateur n est pas le «produit»!

Les fonctions de hachage, un domaine à la mode

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Manuel des logiciels de transferts de fichiers File Delivery Services

Transcription:

Plan Chapitre 3 - Algorithmes de chiffrement par bloc Alexandra Bruasse-Bac Introduction et généralités Les différents modes de chiffrement DES, AES Autres algorithmes : FEAL, IDEA, SAFER, RC5 Chapitre 3 - Algorithmes de chiffrement par bloc p. 1/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 2/3 Les bases Chiffrement par blocs à n-bits Introduction et généralités E :Σ n K Σ n Fonction de codage inversible Chapitre 3 - Algorithmes de chiffrement par bloc p. 3/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 4/3

Les bases Les bases Chiffrement par blocs à n-bits E :Σ n K Σ n Fonction de codage inversible C = E K (P ) P = D K (C) Chiffrement par blocs à n-bits E :Σ n K Σ n Fonction de codage inversible C = E K (P ) P = D K (C) Chiffrement par substitution avec un alphabet de grande taille Chapitre 3 - Algorithmes de chiffrement par bloc p. 4/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 4/3 Critères d efficacité Critères d efficacité Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Longueur de la clé : sécurité vs. coût de génération, transmission, stockage Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3

Critères d efficacité Critères d efficacité Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Longueur de la clé : sécurité vs. coût de génération, transmission, stockage Débit Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Longueur de la clé : sécurité vs. coût de génération, transmission, stockage Débit Taille des blocs : sécurité vs. complexité (coût d implémentation) Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3 Critères d efficacité Critères d efficacité Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Longueur de la clé : sécurité vs. coût de génération, transmission, stockage Débit Taille des blocs : sécurité vs. complexité (coût d implémentation) Complexité de la fonction de cryptage : sécurité vs. coût (développement et hardware) Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3 Les critères d efficacité à prendre en compte sont : Niveau de sécurité estimé : résistance à la cryptanalyse. Longueur de la clé : sécurité vs. coût de génération, transmission, stockage Débit Taille des blocs : sécurité vs. complexité (coût d implémentation) Complexité de la fonction de cryptage : sécurité vs. coût (développement et hardware) Propagation des erreurs Chapitre 3 - Algorithmes de chiffrement par bloc p. 5/3

Pourquoi différents modes Chiffrement par blocs : bloc de n bits cryptés en blocs de n bits Les différents modes de chiffrement Chapitre 3 - Algorithmes de chiffrement par bloc p. 6/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 7/3 Pourquoi différents modes Chiffrement par blocs : bloc de n bits cryptés en blocs de n bits Comment crypter un message de longueur quelconque? Pourquoi différents modes Chiffrement par blocs : bloc de n bits cryptés en blocs de n bits Comment crypter un message de longueur quelconque? Le couper en blocs de n bits Chapitre 3 - Algorithmes de chiffrement par bloc p. 7/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 7/3

Pourquoi différents modes Chiffrement par blocs : bloc de n bits cryptés en blocs de n bits Comment crypter un message de longueur quelconque? Le couper en blocs de n bits Problèmes Pas la seule solution Pourquoi différents modes Chiffrement par blocs : bloc de n bits cryptés en blocs de n bits Comment crypter un message de longueur quelconque? Modes de Chiffrement : ECB (Electronic CodeBook) CBC (Cipher-Block Chaining) CFB (Cipher FeedBack) OFB (Output FeedBack) Chapitre 3 - Algorithmes de chiffrement par bloc p. 7/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 7/3 Mode ECB Mode CBC x j c 0 = IV n c j 1 E 1 clé clé E E 1 clé x j n n clé E c j 1 Cryptage c j x j = x j Décryptage n Cryptage c j x j = x j Décryptage Chapitre 3 - Algorithmes de chiffrement par bloc p. 8/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 9/3

Mode CFB Mode OFB r-bit shift r-bit shift r-bit shift O j 1 I j n I j c j 1 I j n I j c j 1 clé E r E clé clé E n E clé n r-bits de gauche O j r O j r-bits de gauche O j r O j x j x j c = x j r j Cryptage Décryptage x j r r Cryptage c j Décryptage x j = x j Chapitre 3 - Algorithmes de chiffrement par bloc p. 10/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 11/3 Principes de base Systèmes cryptographiques produit DES combine plusieurs transformations de sorte que la fonction de cryptage résultante soit plus sûre que ses composantes Chapitre 3 - Algorithmes de chiffrement par bloc p. 12/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 13/3

Systèmes cryptographiques produit Principes de base Systèmes cryptographiques produit Principes de base Réseau SP S S S S P S S S S P Réseau SP Chiffrement de Feistel avec { K i dérivée de K (L 0,R 0 ) (L k,r k ) L i = R i 1 R i = L i 1 f(r i 1,K i ) Chapitre 3 - Algorithmes de chiffrement par bloc p. 13/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 13/3 Principe du DES Principe du DES Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) K 56 Proposé en 1975 Adopté en 1977 P 64 DES C Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3

Principe du DES Principe du DES Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) Proposé en 1975 Adopté en 1977 Doutes sur la taille de la clé (milieu 90 ) Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) Proposé en 1975 Adopté en 1977 Doutes sur la taille de la clé (milieu 90 ) 1998 : message décrypté en 56 heures Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3 Principe du DES Principe du DES Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) Proposé en 1975 Adopté en 1977 Doutes sur la taille de la clé (milieu 90 ) 1998 : message décrypté en 56 heures 1999 : le temps tombe à 22 heures Chiffrement Feistel Groupement du texte en blocs de 64 bits Clé 56 bits (notée K) Proposé en 1975 Adopté en 1977 Doutes sur la taille de la clé (milieu 90 ) 1998 : message décrypté en 56 heures 1999 : le temps tombe à 22 heures AES : clé de 128, 192 ou 256 bits Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 14/3

m 0 INPUT m 64 Principe du DES Principe du DES p permutation L 0 R 0 K 1 f Clé intermédiaire K i L 15 R 15 f K 16 Transformation de K : on coupe K en deux fois 28 bits on shift de 1 ou 2 bits (un aux rounds 1, 2, 9 et 16) on recolle L 16 R 16 On choisit 48 bits particuliers : K i p 1 c 0 OUTPUT c 64 Chapitre 3 - Algorithmes de chiffrement par bloc p. 15/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 16/3 Principe du DES Principe du DES Chiffrement de Feistel : fonction f f(r i 1,K i )=P (S(E(R i 1 ) K i )) Chiffrement de Feistel : fonction f f(r i 1,K i )=P (S(E(R i 1 ) K i )) Fonction d expansion E mot de 32 bits mot de 48 bits Chapitre 3 - Algorithmes de chiffrement par bloc p. 17/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 17/3

Principe du DES Principe du DES Chiffrement de Feistel : fonction f f(r i 1,K i )=P (S(E(R i 1 ) K i )) Boite S (complexité du DES) 8 boites S : 6 bits 4bits mot b 1 b 2 b 3 b 4 b 5 b 6 : b 1 b 6 : instruction b 2 b 3 b 4 b 5 : donnée Chiffrement de Feistel : fonction f f(r i 1,K i )=P (S(E(R i 1 ) K i )) Boite S (complexité du DES) La boite S 5 : 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 17/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 17/3 Principe du DES m 0 INPUT m 64 Décryptage Chiffrement de Feistel : fonction f p permutation f(r i 1,K i )=P (S(E(R i 1 ) K i )) L 0 R 0 K 1 f Permutation P couplage des sorties des S-boites L 15 R 15 f K 16 L 16 R 16 p 1 Chapitre 3 - Algorithmes de chiffrement par bloc p. 17/3 c 0 OUTPUT c 64 Chapitre 3 - Algorithmes de chiffrement par bloc p. 18/3

Propriétés, sécurité Propriétés, sécurité Propriétés de base : Chaque bit crypté dépend de tous les bits de la clé et du texte Propriétés de base : Chaque bit crypté dépend de tous les bits de la clé et du texte Pas de relation statistique entre le texte et son cryptage Chapitre 3 - Algorithmes de chiffrement par bloc p. 19/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 19/3 Propriétés, sécurité Propriétés, sécurité Propriétés de base : Chaque bit crypté dépend de tous les bits de la clé et du texte Pas de relation statistique entre le texte et son cryptage Propriété de complémentation Soit x le complément bit à bit de x. Si y = E K (x) alors ȳ = E K( x) Réduit l espace de recherche. Changer 1 bit du texte modifie tous les bits cryptés avec proba. 1/2 Chapitre 3 - Algorithmes de chiffrement par bloc p. 19/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 20/3

Propriétés, sécurité Propriétés, sécurité Propriété de complémentation Clés faibles, semi-faibles Une clé faible est telle que : Propriété de complémentation Clés faibles, semi-faibles DES a 4 clés faibles et 6 paires de clés semi-faibles E K (E K (x)) = x Une paire de clés semi-faibles est telle que : E K1 (E K2 (x)) = x Chapitre 3 - Algorithmes de chiffrement par bloc p. 20/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 20/3 Propriétés, sécurité Cryptage multiple Propriété de complémentation Clés faibles, semi-faibles DES n est pas un groupe Cryptage double Cryptage triple E(x) =E K1 (E K2 (x)) Important pour le cryptage multiple avec Ẽ = E ou E 1 E(x) =ẼK 1 (ẼK 2 (ẼK 3 x)) Le cas E-E 1 -E avec K 1 = K 3 est appelé cryptage triple à clé double. Chapitre 3 - Algorithmes de chiffrement par bloc p. 20/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 21/3

Cryptage multiple Cryptage multiple Attaque par le milieu (cryptage double) Cryptage triple : E E K i = E 1 E 1 K j Triple DES - 3DES résoud le problème de la taille de la clé lent E E 1 Chapitre 3 - Algorithmes de chiffrement par bloc p. 22/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 23/3 Historique Suite aux doutes sur DES : Janvier 1997 : projet AES annoncé AES - Advanced Encryption Standard AES Chapitre 3 - Algorithmes de chiffrement par bloc p. 24/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 25/3

Historique Historique Suite aux doutes sur DES : Janvier 1997 : projet AES annoncé AES - Advanced Encryption Standard Septembre 1997 : le public est invité à proposé des cryptosystèmes appropriés Suite aux doutes sur DES : Janvier 1997 : projet AES annoncé AES - Advanced Encryption Standard Septembre 1997 : le public est invité à proposé des cryptosystèmes appropriés 15 candidats sérieux dont des variantes d algorithmes populaires : RC5, SAFER-SK, CAST Chapitre 3 - Algorithmes de chiffrement par bloc p. 25/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 25/3 Suite aux doutes sur DES : Janvier 1997 : projet AES annoncé AES - Advanced Encryption Standard Historique Septembre 1997 : le public est invité à proposé des cryptosystèmes appropriés 15 candidats sérieux dont des variantes d algorithmes populaires : RC5, SAFER-SK, CAST 5 finalistes : MARS, RC6, Rijndael (Joan Daemen, Vincent Rijmen - Belgique), Serpent, Twofish Chapitre 3 - Algorithmes de chiffrement par bloc p. 25/3 Suite aux doutes sur DES : Janvier 1997 : projet AES annoncé AES - Advanced Encryption Standard Historique Septembre 1997 : le public est invité à proposé des cryptosystèmes appropriés 15 candidats sérieux dont des variantes d algorithmes populaires : RC5, SAFER-SK, CAST 5 finalistes : MARS, RC6, Rijndael (Joan Daemen, Vincent Rijmen - Belgique), Serpent, Twofish Octobre 2001 Chapitre 3 - Algorithmes de chiffrement par bloc p. 25/3

F 2 8 F 2 8 Eléments : polynômes de degré au plus 7 calcul modulo m(x) =X 8 + X 4 + X 3 + X +1 Eléments : polynômes de degré au plus 7 calcul modulo m(x) =X 8 + X 4 + X 3 + X +1 Représentation suitedebitsb 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 : b 7 X 7 + b 6 X 6 + b 5 X 5 + b 4 X 4 + b 3 X 3 + b 2 X 2 + b 1 X + b 0 Chapitre 3 - Algorithmes de chiffrement par bloc p. 26/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 26/3 F 2 8 Algorithme Eléments : polynômes de degré au plus 7 calcul modulo longueur de bloc variable (128, 192 ou 256 bits) longueur de clé variable (128, 192 ou 256 bits) m(x) =X 8 + X 4 + X 3 + X +1 Exemple La suite 01010111 ( 57 en hexadécimal) : X 6 + X 4 + X 2 + X +1 Chapitre 3 - Algorithmes de chiffrement par bloc p. 26/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 27/3

Algorithme Algorithme longueur de bloc variable (128, 192 ou 256 bits) longueur de clé variable (128, 192 ou 256 bits) Transformations portent sur un état tableau rectangulaire d octets de : 4 lignes Nb =(lg_bloc/32) colonnes longueur de bloc variable (128, 192 ou 256 bits) longueur de clé variable (128, 192 ou 256 bits) Transformations portent sur un état (N b ) a 0,0 a 0,1 a 0,2 a 0,3 a 0,4 a 0,6 a 1,0 a 1,1 a 1,2 a 1,3 a 1,4 a 1,6 a 2,0 a 2,1 a 2,2 a 2,3 a 2,4 a 2,6 a 3,0 a 3,1 a 3,2 a 3,3 a 3,4 a 3,6 -Exempled état pour Nb =6: 192 bits - Chapitre 3 - Algorithmes de chiffrement par bloc p. 27/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 27/3 Algorithme longueur de bloc variable (128, 192 ou 256 bits) longueur de clé variable (128, 192 ou 256 bits) Transformations portent sur un état (N b ) Même représentation pour la clé (N k ) Algorithme Ordre de remplissage des octets (à partir d un bloc) : m 0,0 m 0,1 m 1,0 m 2,0 m 3,0 m 1,1 m 2,1 m 3,1 k 0,0 k 0,1 k 0,2 k 0,3 k 1,0 k 1,1 k 1,2 k 1,3 k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 -Exempledeclé pour Nk =4: 128 bits - Chapitre 3 - Algorithmes de chiffrement par bloc p. 27/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 28/3

Algorithme Algorithme Ordre de remplissage des octets (à partir d un bloc) : m 0,0 m 0,1 m 1,0 m 2,0 m 3,0 m 1,1 m 2,1 m 3,1 Nombre de rounds N r dépend de N b et N k : N r N b =4 N b =6 N b =8 N k =4 10 12 14 N k =6 12 12 14 N k =8 14 14 14 Structure d un round : Etat Byte Sub Shift Row Mix Column Add Round Key K i Chapitre 3 - Algorithmes de chiffrement par bloc p. 28/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 29/3 Algorithme Transformation "Byte Sub" Round final : Etat Byte Sub On considère chaque octet de l état comme un élément de F 2 8. On appelle S-box la suite de transformation : prendre l inverse multiplicatif dans F 2 8 Shift Row Add Round Key K i Chapitre 3 - Algorithmes de chiffrement par bloc p. 29/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 30/3

Transformation "Byte Sub" Transformation "Byte Sub" On considère chaque octet de l état comme un élément de F 2 8. On appelle S-box la suite de transformation : prendre l inverse multiplicatif dans F 2 8 appliquer la transformation affine suivante sur F 2 : a 0,0 a 1,0 a 2,0 a 3,0 a 0,1 a 1,1 a 2,1 a 3,1 a 0,2 a 1,2 a 1,3 a 1,4 a 1,5 S-box c 1,0 c 1,1 c 1,2 a 2,2 a 2,3 a 2,4 a 2,5 c 2,0 c 2,1 c 2,2 a 3,2 a 0,3 a 3,3 a 0,4 a 3,4 a 0,5 a 3,5 c 0,0 c 3,0 c 0,1 c 3,1 c 0,2 c 3,2 c 0,3 c 1,3 c 2,3 c 3,3 c 0,4 c 1,4 c 2,4 c 3,4 c 0,5 c 1,5 c 2,5 c 3,5 y 0 y 1 y 2 y 3 y 4 y 5 y 6 = 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 x 0 x 1 x 2 x 3 x 4 x 5 x 6 + 1 1 0 0 0 1 1 y 7 0 0 0 1 1 1 1 1 x 7 0 Chapitre 3 - Algorithmes de chiffrement par bloc p. 30/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 31/3 Transformation "Shift Row" Transformation "Shift Row" On applique à chaque ligne une permutation cyclique ligne 0 pas shiftée ligne 1 vers offset C 1 ligne 2 vers offset C 2 ligne 3 vers offset C 3 On applique à chaque ligne une permutation cyclique N b C 1 C 2 C 3 4 1 2 3 6 1 2 3 8 1 3 4 Chapitre 3 - Algorithmes de chiffrement par bloc p. 32/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 32/3

Transformation "Shift Row" Transformation "Mix Column" On applique à chaque ligne une permutation cyclique m n o p j k l d e f w x y z m n o p j d e w x y Offset 1 Offset 2 Offset 3 On considère les colonnes de l état comme des polynômes de F 2 8[X]. Transformation Mix Column avec a(x) a(x) c(x) [X 4 +1] c(x) = 03 X 3 + 02 X 2 + 01 X + 02 Chapitre 3 - Algorithmes de chiffrement par bloc p. 32/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 33/3 Transformation "Mix Column" Transformation "Mix Column" On considère les colonnes de l état comme des polynômes de F 2 8[X]. On considère les colonnes de l état comme des polynômes de F 2 8[X]. Transformation Mix Column Transformation Mix Column b 0 b 1 b 2 b 3 = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 a 0 a 1 a 2 a 3 a 0,0 a 1,0 a 2,0 a 3,0 a 0,1 a 1,1 a 2,1 a 3,1 a 0,2 a 1,2 a 2,2 a 3,2 a 0,3 a 1,3 a 2,3 a 3,3 a 0,4 a 1,4 a 2,4 a 3,4 a 0,5 a 1,5 a 2,5 a 3,5 c(x) c 0,0 c 1,0 c 2,0 c 3,0 c 0,1 c 1,1 c 2,1 c 3,1 c 0,2 c 1,2 c 2,2 c 3,2 c 0,3 c 1,3 c 2,3 c 3,3 c 0,4 c 1,4 c 2,4 c 3,4 c 0,5 c 1,5 c 2,5 c 3,5 Chapitre 3 - Algorithmes de chiffrement par bloc p. 33/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 33/3

Transformation "Add Round Key" Résumé Etat Byte Sub La clé du round est ajoutée (XOR) à l état. la clé du round est de même taille que l état Shift Row Mix Column Add Round Key K i Clé de round obtenue par : Expansion de la clé Sélection d un certain nombre de bits Chapitre 3 - Algorithmes de chiffrement par bloc p. 34/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 35/3 Sécurité, remarques Sécurité, remarques Pas de symétries Pas de clés faibles ou semi-faibles Pas de symétries Pas de clés faibles ou semi-faibles Preuve de non sensibilité à la cryptanalyse différentielle Chapitre 3 - Algorithmes de chiffrement par bloc p. 36/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 36/3

Sécurité, remarques Sécurité, remarques Pas de symétries Pas de clés faibles ou semi-faibles Pas de symétries Pas de clés faibles ou semi-faibles Preuve de non sensibilité à la cryptanalyse différentielle Preuve de non sensibilité à la cryptanalyse linéaire Preuve de non sensibilité à la cryptanalyse différentielle Preuve de non sensibilité à la cryptanalyse linéaire Sensibilité à l attaque Square (mais coûteux) Chapitre 3 - Algorithmes de chiffrement par bloc p. 36/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 36/3 Sécurité, remarques Pas de symétries Pas de clés faibles ou semi-faibles Preuve de non sensibilité à la cryptanalyse différentielle Preuve de non sensibilité à la cryptanalyse linéaire Sensibilité à l attaque Square (mais coûteux) Autres cryptosystèmes Le décryptage est moins efficace que le cryptage (implémentation soft et hard). Chapitre 3 - Algorithmes de chiffrement par bloc p. 36/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 37/3

IDEA IDEA IDEA (International Data Encryption Algorithm) blocsde64bits clé de 128 bits 8 round et un round de sortie IDEA (International Data Encryption Algorithm) blocsde64bits clé de 128 bits 8 round et un round de sortie utilisé comme algorithme de cryptage symétrique dans les versions initiales de pgp XOR multiplication modulo 2 16 +1 addition modulo 2 16 Chapitre 3 - Algorithmes de chiffrement par bloc p. 38/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 38/3 IDEA IDEA (International Data Encryption Algorithm) blocsde64bits clé de 128 bits 8 round et un round de sortie jugé très sûr jusqu en 1999 problèmes dus aux progrès de la cryptanalyse algorithmes plus rapides Blowfish blocsde64bits cléde32à448bits 16 round Feistel très similaire à CAST-128 non propriétaire (utilisé dans ssh) Chapitre 3 - Algorithmes de chiffrement par bloc p. 38/3 Chapitre 3 - Algorithmes de chiffrement par bloc p. 39/3