Les Algorithmes Cryptographiques Symétriques Omar Cheikhrouhou Omar.cheikhrouhou@isetsf.rnu.tn ISIMA Mahdia, Semestre 2-2014
Algorithmes Cryptographiques Symétriques Plan Principes Algorithmes Cryptographiques Symétriques DES IDE AES Fonctions de Hashage MD5 SHA Avantages et Inconvénients
La sécurité est au niveau clés non pas algorithmes cryptographiques Introduction Les algorithmes cryptographiques modernes se basent sur des fonctions mathématiques qui dépendent d’une clés secrète La sécurité est au niveau clés non pas algorithmes cryptographiques Les algorithmes cryptographiques sont publiées est connu par tout le monde
Symétrique (une seule clé) Type de chiffrement Chiffrement: Symétrique (une seule clé) Asymétrique (une clé publique et une clé privée) Dans le chiffrement symétrique il y a des modes d’opérations Chiffrement par flux Chiffrement par bloc
Chiffrement Symétrique : Principes Emetteur Récepteur Clé 01010000111 Clé 01010000111 Internet Texte clair Texte clair Chiffrement Déchiffrement Voici le numéro de ma carte de crédit 111111, Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω٭ Texte chiffré
Algorithmes Cryptographiques Symétriques RC4 DES IDE AES
RC4
DES
Chiffrement DES
IDE
AES AES
Avantages et Inconvénients
Modes Opératoires La méthode par laquelle le texte clair est traité Cryptage par flux (stream cipher) Opère sur un flux continu de données Mode adapté pour la communication en temps réel RC4 (longueur de clé variable, généralement 128 bits) Cryptage par bloc (Block Cipher) Opère sur des blocs de données de taille fixe (généralement 64 bits) Electronic Code Block (ECB) Cipher Block Chaining (CBC) Implémentation logicielle en générale Exemples: DES (Clé: 56 bits codée sur 64 bits); 3DES (EDE (Encrypt-Decrypt-Encrypt), Trois clés distincts ou seulement deux); IDEA (128 bits); AES longueur de clé variable: 128, 192, 256)
Stream Cipher traite les éléments d’entrée de façon continue, produisant un élément de sortie (crypté), à la fois. La clé est aussi longue que le stream de données. Étapes: Définition de l’état initial du key stream Définition de la fonction état suivant: next-state function Combinaison du key stream courant avec la clé K et les caractères précédents. La fonction de sortie doit aussi modifier l’état interne. Crypte chaque caractère xi du texte clair avec un caractère zi du key stream (exemple xor)
Les valeurs l1 , l2 , l3, l4 , … sont appelées key streams Stream Cipher (suite) Pour un texte clair P=x1x2x3x4x5… et une clé l=l1l2l3l4l5… il existe une fonction de cryptage et des algorithmes de cryptage tel que: Les valeurs l1 , l2 , l3, l4 , … sont appelées key streams Synchronous cypher: Le key stream ne dépend pas du texte clair. La période du key stream est égale à d tel que: li+d=li Self-synchronizing: le key stream dépends de n caractères clairs précédents.
Block Cipher Block Cypher: Le texte est divisé en différents blocks de taille fixe. Un block est traité à la fois, produisant un block de données cryptées. Sans mémoire. La même fonction et la même clé est utilisée pour crypter les blocks successifs. Mode d’utilisation: Electronic Code Block (ECB): Chaque block de données est crypté indépendamment, et les blocks cryptés ne sont pas liés non sécurisé pour les messages longs à cause de la répétition du code Cipher Block Chaining (CBC): Le résultat d’une étape est utilisé pour modifier les données d’entée de la prochaine étape besoin d’un vecteur d’initialisation connu d’avance.
Electronic Code Block (ECB)
Cipher Block Chaining (CBC):