à la résolution d’un problème - Principale ressource = temps - Dépendante de plusieurs facteurs (parallélisation, puissance de calcul du processeur…) CRYPTOGRAPHIE - TLS - CERTIFICATS
la définition de Shannon - Messages clair M, Message chiffré C - Clé secrète K aléatoire à usage unique - Taille de K >= Taille de C - La connaissance du chiffré ne fournit aucune information sur le clair - Tous les messages clairs de la même taille sont équiprobables SYMÉTRIQUE À FLOT CRYPTOGRAPHIE - TLS - CERTIFICATS
: 1 bit, 1 octet) Clé différente pour chaque bloc Générateur de flux de bits pseudo-aléatoire K k1 …kn Temps réel (Communication téléphonique, Bluetooth…) A5/1; A5/2 utilisé pour GSM Cassé K utilisée plusieurs fois + nunique sécurité plus faible http://madci.com/symetriqueflux CRYPTOGRAPHIE - TLS - CERTIFICATS
Petits blocs de données (ex : 1 bit, 1 octet) Gros blocs de données (ex : 128 bits) Clé différente pour chaque bloc Générateur de flux de bits pseudo-aléatoire K k1 …kn K utilisée plusieurs fois + nunique sécurité plus faible Clé K unique pour tous les blocs Temps réel (Communication téléphonique, Bluetooth…) A5/1; A5/2 utilisé pour GSM Cassé Plus largement utilisé, moins contraignant DES - Blocs de 64 bits, Clé de 56 bits - Cassé en 26h en 2012 Niveau de sécurité basé sur le temps nécessaire pour essayer toutes les clés possibles Complexité linéaire - Taille de clé recommandée : 256 bits - 2256 clés possibles, soit ≈ 1.16 x 1077 Nb atomes dans la Galaxie estimé à 1068 CRYPTOGRAPHIE - TLS - CERTIFICATS
l’objectif d’améliorer la sécurité - Exemple de Cipher Bloc Chaining (CBC) : - Critères de sécurité (ex : facteur aléatoire ?) et d’efficacité (ex : parallélisable ?) https://fr.wikipedia.org/wiki/Mode_d%27op%C3%A9ration_(cryptographie) CRYPTOGRAPHIE - TLS - CERTIFICATS
National Institute of Standards and Technology (NIST) - Créé par Joan Daemen et Vincent Rijmen - 2000 : publication par le NIST dans la norme américaine FIPS PUB 197 - 2002 : Norme ISO/CEI 18033-3 - 2003 : Utilisé pour les systèmes de sécurité nationaux, ouvert et approuvé par la NSA - Expansion dans le secteur privé - Haut niveau de confiance CRYPTOGRAPHIE - TLS - CERTIFICATS
ou 256 bits Blocs de données : 128 bits (16 octets) Tour : 1. SubBytes Permutation des octets selon une table préalablement définie 2. The ShiftRows Rotation des lignes (incrément en fonction du numéro de la ligne) 4. MixColumns Transformation linéaire sur la matrice 5. AddRoundKey XOR entre la matrice et une autre matrice => matrice intermédiaire Clé de 128 bits : 10 tours 256bits : 14 tours https://en.wikipedia.org/wiki/Advanced_Encryption_Standard CRYPTOGRAPHIE - TLS - CERTIFICATS
ou 256 bits Blocs de données : 128 bits (16 octets) Tour : 1. SubBytes Permutation des octets selon une table préalablement définie 2. The ShiftRows Rotation des lignes (incrément en fonction du numéro de la ligne) 4. MixColumns Transformation linéaire sur la matrice 5. AddRoundKey XOR entre la matrice et une autre matrice => matrice intermédiaire Clé de 128 bits : 10 tours 256bits : 14 tours https://en.wikipedia.org/wiki/Advanced_Encryption_Standard CRYPTOGRAPHIE - TLS - CERTIFICATS
ou 256 bits Blocs de données : 128 bits (16 octets) Tour : 1. SubBytes Permutation des octets selon une table préalablement définie 2. The ShiftRows Rotation des lignes (incrément en fonction du numéro de la ligne) 4. MixColumns Transformation linéaire sur la matrice 5. AddRoundKey XOR entre la matrice et une autre matrice => matrice intermédiaire Clé de 128 bits : 10 tours 256bits : 14 tours https://en.wikipedia.org/wiki/Advanced_Encryption_Standard CRYPTOGRAPHIE - TLS - CERTIFICATS
ou 256 bits Blocs de données : 128 bits (16 octets) Tour : 1. SubBytes Permutation des octets selon une table préalablement définie 2. The ShiftRows Rotation des lignes (incrément en fonction du numéro de la ligne) 4. MixColumns Transformation linéaire sur la matrice 5. AddRoundKey XOR entre la matrice et une autre matrice définie préalablement => matrice intermédiaire Clé de 128 bits : 10 tours 256 bits : 14 tours https://en.wikipedia.org/wiki/Advanced_Encryption_Standard CRYPTOGRAPHIE - TLS - CERTIFICATS
- Basé sur le principe : - Multiplication de grands nombres facile - Factorisation difficile (complexité exponentielle, pas d’algorithme polynomial connu à ce jour) Dernier record de factorisation en 2010 : - Clé de 768 bits - Parallélisation du calcul : - 1700 cœurs pendant 1 an - 64 milliards de factorisations successives - 5 Téraoctets d’espace disque Recommandations actuelles : clé d’au moins 2048 bits CRYPTOGRAPHIE - TLS - CERTIFICATS
n = pq module publique e exposant publique - Clé secrète : n = pq, p et q premiers d = e-1 mod phi(n) telle que : - phi (n) est la quantité de nombres premiers avec n inférieurs à n = (q -1)(p-1) - e premier avec phi(n) Chiffrement Déchiffrement Chiffré = Messagee mod n Message = Chiffréd mod n CRYPTOGRAPHIE - TLS - CERTIFICATS
pq = 3x11 = 33 phi(n) = (3 -1)(11-1) = 20 e = 7, premier avec 20 n = 33 d = e-1 mod phi(n) = (1/7) mod 20 = 3 Message = 2 Chiffré = Messagee mod n = 27 mod 33 = 29 Chiffré = 29 Message = Chiffréd mod n = 293 mod 33 = 2 CRYPTOGRAPHIE - TLS - CERTIFICATS
hachage Authenticité et Non répudiation Intégrité Ex : ECDSA ("Elliptic Curve Digital Signature Algorithm") => Repose sur la difficulté de calculer le logarithme discret d’un grand nombre Ex : SHA-256 (Secure Hashing Algorithm) Fonction à sens unique Permet de calculer l’empreinte (HASH) CRYPTOGRAPHIE - TLS - CERTIFICATS
Chiffrement (nombre aléatoire n, Ka’ privée) Authentification : Chiffrement (n, Kb’ privée) Echange de la clé privée partagé 2. Echange des données 3. Séquence de terminaison (Ka publique, Ka’ privée) (Kb publique, Kb’ privée) Ka publique Kb publique CRYPTOGRAPHIE - TLS - CERTIFICATS Alice Bob
Confidentialité persistante (PFS : Perfect Forward Secrecy) Découverte des clés privées ne compromet pas le communications passées Valeurs finales non stockées https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_ke y_exchange#/media/File:Diffie-Hellman_Key_Exchange.svg CRYPTOGRAPHIE - TLS - CERTIFICATS
- 1988 : Union internationale des télécommunications - Système hiérarchique d’autorités de certifications - Liaison de la clé à un nom distinctif (DN) - Certificat racine : clé publique de confiance auto-signée - Présents au niveau du client (ex : navigateur) - Lors d’une requête vers un système tierce T - Certificat de T doit être émis par un autorité de confiance CRYPTOGRAPHIE - TLS - CERTIFICATS
en Base64 encadré par "-----BEGIN CERTIFICATE-----" et "-----END CERTIFICATE-----" Apache, serverurs sous Unis/Linux OS DER : .cer, .der - Certificat et clé privée en binaire Plateformes java P7B/PKCS#7 : .p7b, .p7c - Contient plusieurs certificats Base64 ASCII PFX/P12/PKCS#12 : .pfx, .p12 - Certificat et clé privée en binaire Windows https://www.sslmarket.fr/ssl/help-la-difference-entre-certificats/ CRYPTOGRAPHIE - TLS - CERTIFICATS
Permet d’identifier les autres - Certificats Serveur Keystore.jks - Permet de s’identifier - Certificats, clés publiques, ou secrets Utilisation très large CRYPTOGRAPHIE - TLS - CERTIFICATS
avec un ordinateur quantique - Superposition des états : n qubits 2n valeurs possibles sur n bits - Factorisation de grands nombres premiers en temps polynomial - Depuis 2017 : - Organisation par le NIST d’une complétion internationale - Standardisation des algorithmes postquantiques - Systèmes alternatifs à RSA utilisant des ordinateurs classiques - Algorithmes basés sur les propriétés quantiques déjà existantes - Protocoles de communications quantiques : téléportation + intrication