Vue d'ensemble de la
Cryptographie
1. LES CONCEPTS ET PRINCIPES
2. LA CRYPTOGRAPHIE SYMÉTRIQUE
UAHB 2022 - 2023
Signification de la
cryptographie
du grec
Cryptos: secret, caché
graphos: écriture
cryptographie: étude/science/art de l'écriture
secrète/cachée
Cryptographie
Clé de chiffrement Clé de Déchiffrement
Message
(texte Encryption Texte chiffré Decryption Texte
en clair) (Chiffrement) (Cryptogramme) (Déchiffrement) en clair
Terminologie de base
▪ Texte en clair - le message d'origine
▪ Texte chiffré – le message codé ou brouillé
▪ Algorithme de chiffrement - algorithme pour transformer
du texte en clair en texte chiffré
▪ Clé secrète - information utilisée dans le chiffrement
connue uniquement de l'expéditeur / destinataire
▪ Chiffrement - conversion de texte brut en texte chiffré
▪ Déchiffrement - récupération du texte brut à partir du
texte chiffré
▪ Cryptographie - étude des principes / méthodes de
chiffrement /cryptage
▪ Cryptanalyse (rupture de code) - l'étude des principes /
méthodes de déchiffrement du texte chiffré sans
connaître la clé
▪ Cryptologie - le domaine de la cryptographie et de la
cryptanalyse
Principe de Kerckhoffs
“L'adversaire ne doit pas être sous-estimé. En
particulier, l'adversaire connaît les
algorithmes de chiffrement et de
déchiffrement. Ainsi, la force d'un système
de chiffrement dépend du maintien du
secret sur les clés, pas sur l'algorithme”
Auguste Kerckhoff, 1883
Caractéristiques des
systèmes cryptographiques
▪ Types d'opérations de transformation en texte
chiffré
▪ Substitution
▪ Transposition / Permutation
▪ Produit
▪ Multiples étapes de substitutions et de transpositions
▪ Nombre de clés utilisées
▪ clé unique ou clé privée
▪ deux clés ou clé publique
▪ Manière dont le texte brut est traité
▪ Chiffrement par blocs
▪ Chiffrement de flux/flot
Attaques contre les
chiffrements
▪ Attaques cryptanalytiques
▪ utilisent
▪ nature des algorithmes
▪ connaissance des caractéristiques générales du texte
en clair
▪ quelques exemples de paires de texte clair-chiffré
▪ techniques statistiques générales
▪ objectif
▪ apprendre un texte en clair spécifique
▪ apprendre la clé (qui rend toute communication passée
et future vulnérable)
▪ Force brute
▪ essayer toutes les clés possibles jusqu'à résolution
Types d’attaques
Cryptanalytiques
Un bon algorithme …
▪ résiste aux attaques de texte chiffré seul et de texte
clair connu
▪ en réalité, pas d'algorithme, mais il est prouvé qu’un est
inconditionnellement sécurisé
▪ Le seul est one-time pad
Schéma de chiffrement
inconditionnellement sécurisé
▪ Peu importe
▪ combien de texte chiffré est disponible pour
l'adversaire
▪ combien de temps et de puissance de calcul cet
adversaire a
▪ il est impossible pour l'adversaire de déchiffrer
le texte chiffré
▪ car il n'y a pas de relation statistique entre le texte
chiffré et le texte en clair
▪ Seul one-time pad est inconditionnellement
sécurisé
Un schéma de chiffrement
pratique
▪ Doit être informatiquement sécurisé
▪ le coût pour casser le chiffrement dépasse la
valeur d’information chiffrée
▪ le temps nécessaire pour casser le chiffrement
dépasse la durée de vie utile de l'information
▪ suppose que les puissances de traitement sont
limitées et que le temps de coupure estimé est
trop long (des millions d'années!)
Recherche par force brute
▪ Simplement essayer chaque clé possible
▪ En moyenne, la moitié de toutes les clés possibles
doit être essayée pour réussir
Chiffrement Symétrique
Chiffrement Symétrique
▪ également appelé:
▪ classique
▪ conventionnel
▪ Clé privée
▪ clé unique
▪ l'expéditeur et le destinataire partagent une clé commune
▪ était le seul type avant l'invention de la cryptographie à clé
publique
▪ jusqu'à la seconde moitié des années 1970
Chiffrement Symétrique -
Modèle simplifié
Exigences
▪ deux exigences pour une utilisation sécurisée
du chiffrement symétrique :
▪ Besoin d’algorithmes de chiffrement et de
déchiffrement forts
▪ une clé secrète connue uniquement de l'expéditeur
/ destinataire
Y = EK(X) or Y = E (K, X)
X = DK(Y) or X = D (K, Y)
▪ l'algorithme de chiffrement est supposé connu
▪ un canal sécurisé est nécessaire pour distribuer
la clé
Cryptographie à clé secrète -
Historique
▪ Pré-DES (avant le milieu des années 70)
▪ Techniques de Substitution et de Transposition
▪ Substitution : chaque lettre/symbole est remplacé
par un autre
Substitutions monoalphabétiques
▪
▪ Substitutions polyalphabétiques
▪ Substitutions polygrammiques/polygraphiques
▪ Transposition ou Permutation : mêmes
lettres/symboles, mais leurs ordres sont mélangés
▪ inspiré DES et d'autres chiffrements par blocs
modernes. Maintenant, n’ont qu'une valeur
théorique!
Cryptographie à clé secrète -
Historique
Chiffrements par substitutions monoalphabétiques
▪ mélanger les lettres de manière arbitraire en se basant
sur une touche de 26 lettre
Texte en clair: ifwewishtoreplaceletters
Texte chiffré: WIRFRWAJUHYFTSDVFSFUUFYA
▪ chiffrement de César
▪ utilisé par Jules César
▪ Le plus simple et le plus ancien connu
▪ technique de substitution
▪ remplace chaque lettre par celle avec 3 lettres (circulaire)
vers le bas dans l'alphabet
▪ a devient d, b devient e,…, y devient b, z devient c
▪ pas de clé
Cryptographie à clé secrète -
Historique
Chiffrement de César (suite)
▪ Exemple
texte en clair: meet me after the toga party
texte chiffré: PHHW PH DIWHU WKH WRJD SDUWB
▪ Peut définir la transformation comme :
a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
▪ Donne mathématiquement à chaque lettre un chiffre
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
▪ L'algorithme peut être exprimé comme suit: :
C = E(3, p) = (p + 3) mod 26 //Chiffrement
p = D(3, C) = (C - 3) mod 26 //Déchiffrement
▪ Faire le décalage la clé (k = 1 .. 25)
▪ 25 clés; facile à essayer
C = E(k , p ) = (p + k ) mod 26
p = D(k , C ) = (C - k ) mod 26
Cryptographie à clé secrète -
Historique
▪ 26! = 4*1026 clés différentes
▪ mais toujours insécure en raison de redondances
dans les langues naturelles
▪ certaines lettres ou paires / triplets de lettres se
produisent plus que d'autres
▪ le texte chiffré reflète ces caractéristiques
▪ la cryptanalyse est basée sur ce fait et cela
fonctionne vraiment
Cryptographie à clé secrète -
Historique
Chiffrements par substitutions polygrammiques
▪ aussi appelés chiffrements Polygraphiques
▪ les lettres ne sont plus chiffrées séparément, mais
par groupes de n lettres (deux ou trois
généralement).
▪ Exemples:
▪ le chiffre de Playfair (avec n= 2)
▪ le chiffre de Hill
▪ certains systèmes modernes comme le RSA
Cryptographie à clé secrète -
Historique
Chiffrement Playfair
▪ inventé par Charles Wheatstone en 1854, mais porte le nom de
son ami Baron Playfair
▪ largement utilisé pendant de nombreuses années
▪ par l'armée britannique pendant la Première Guerre
mondiale en tant que système standard
▪ également utilisé (entre autres systèmes) pendant la
Seconde Guerre mondiale par l'armée américaine et
d'autres forces alliées
▪ Améliore la sécurité en chiffrant les messages par blocs de n
lettres
▪ Exemple : blocs de 2 (appelées digrammes) hs chiffré en BP
▪ 26*26 = 676 digrammes
▪ la cryptanalyse doit être basée sur la fréquence des digrammes
qui est plus difficile que le chiffrement monoalphabétique
Cryptographie à clé secrète -
Historique
Chiffrements par substitutions polyalphabétiques
▪ différentes substitutions monoalphabétiques en passant par le
texte en clair
▪ la clé détermine la règle de substitution monoalphabétique à
appliquer à chaque lettre
Le chiffrement de Vigenère
▪ un exemple célèbre
clé: deceptivedeceptivedeceptive
Texte en clair: wearediscoveredsaveyourself
Texte chiffré: ZICVTWQNGRZGVTWAVZHCQYGLMGJ
▪ Rend l'analyse cryptographique plus difficile
▪ plusieurs lettres de texte chiffré pour la même lettre en clair
▪ Ainsi, les informations de fréquence des lettres sont
obscurcies, mais la cryptanalyse est toujours possible
Table/Carré de Vigenère
Cryptographie à clé secrète -
Historique
Chiffrement par Transposition (ou permutation)
▪ masquer le message en réorganisant l'ordre des lettres sans
modifier les lettres réelles
▪ même distribution de fréquence que le texte original
▪ Exemple de schéma:
▪ écrire les lettres du message en lignes sur un nombre
spécifié de colonnes
▪ puis réorganisez les colonnes en fonction d'une clé avant
de lire les lignes
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ
Vers la cryptographie moderne
Chiffre de Vernam
▪ inventé en 1918 par Gilbert Vernam d’AT&T
▪ traite les messages comme des données binaires
▪ XOR le texte brut avec la clé
▪ Réversible (c'est-à-dire que le déchiffrement est
possible)
▪ clé très longue dans les bandes
▪ répétitions possibles pour les messages longs
▪ la cryptanalyse est difficile mais possible avec une
quantité suffisante de texte chiffré
Vers la cryptographie moderne
One-time pad
La clé est aléatoire et est aussi longue que le texte en clair
La clé n'est pas réutilisée
Sécurisé inconditionnellement
le texte chiffré n'a aucune relation statistique avec le texte
en clair
pour un texte chiffré donné, il existe plusieurs décryptages
intelligibles utilisant des clés différentes
même l’attaque par force brute ne fonctionne pas, car il
n'est pas possible de comprendre quel décryptage est le
bon
généralement, les données et la clé sont représentées en
binaire puis les deux sont XORé au niveau du bit
Problème de one time pad en pratique
grande quantité de génération de nombres aléatoires
protection et distribution sûre de ces clés
Vers la cryptographie moderne
Machines à rotor
idée de base: plusieurs étapes de substitutions
ont été largement utilisées pendant la Seconde
Guerre mondiale
Allemand (Enigma), Japon (Purple)
implémenté comme une série de cylindres qui se
déplacent après que chaque lettre est cryptée
chaque cylindre représente un alphabet de substitution
3 cylindres = 26*26*26 = 17576 alphabets de
substitution différents
ce nombre est encore plus grand pour 4 et 5 cylindres
Vers la cryptographie moderne
Vers la cryptographie moderne
Chiffrement par produit
nom général pour avoir plusieurs étapes de substitutions,
permutations ou les deux
objectif: rendre la cryptanalyse difficile en ayant des
irrégularités dans le chiffrement
la machine à rotor est un exemple
cette idée a conduit au chiffrement de Feistel et DES (Data
Encryption Standard)
pont entre les chiffrements classiques et modernes
Vers la cryptographie moderne
Chiffrement par produit
Chiffrements modernes
Chiffrements par blocs et chiffrements de flux
Les chiffrements par blocs
opèrent sur un bloc de données
le bloc entier doit être disponible avant le
traitement
Chiffrements modernes
Les
chiffrements de
flux
traitent les
messages un bit
ou octet à la fois
lorsqu'ils sont
chiffrés / déchiffrés
pas besoin
d'attendre tout le
bloc
• La plupart des chiffrements sont des chiffrements
par blocs
– mais il est possible d'utiliser un chiffrement par blocs comme
chiffrement de flux (dans certains modes d'opérations que
nous verrons plus tard)
DES-
Data Encryption Standard
le chiffrement par blocs le plus utilisé au monde
adopté en 1977 par NBS (maintenant NIST)
Publié comme FIPS PUB 46
crypte les données de 64 bits à l'aide d'une clé de 56 bits
a une utilisation répandue
Il y a eu une controverse considérable sur sa sécurité
DES – Description
Histoire de DES
IBM a développé l’algorithme de chiffrement Lucifer
par une équipe dirigée par Horst Feistel (1971)
utilise des blocs de données de 64 bits avec une clé de
128 bits
puis réaménagé en tant que chiffrement
commercial avec la contribution de la NSA et
d'autres
en 1973, NBS a lancé un appel d'offres pour une
norme nationale de chiffrement
IBM a soumis Lucifer révisé qui a finalement été
accepté comme DES
Taille de clé 56 bits!
recertifié en 1983, 1987 et 1993
Le 3-DES (triple DES) a été publié en tant que
nouvelle norme en 1999
Controverse autour de DES
Polémique sur le design
choix de la clé 56 bits (vs Lucifer 128 bits)
les critères de conception des S-Boxes ont été
classés
L’inquiétude concernant les S-boxes (boîtes-
S) est levée
Mais la taille de la clé (56 bits) est devenue
un problème pour DES avec le temps
grâce aux progrès de la cryptanalyse et de
l'électronique
en 1998, un projet financé (220 000 $) par EFF
(Electronic Frontier Foundation) a cassé le DES en
moins de trois jours
Conception du DES
n'est pas abordée dans ce cours
De même que les détails de la cryptanalyse du DES
Nous ne donnons que les caractéristiques de base du DES
dans les prochaines diapositives
Caractéristiques du DES
DES est essentiellement un chiffrement par produit
plusieurs séries de substitutions et permutations
en fait pas si simple ☺
conçu à l'origine pour la mise en œuvre matérielle
implémentations logicielles validées en 1993
mais le logiciel DES est lent
Caractéristiques du DES
DES montre un fort effet d'avalanche
unchangement de bit dans l'entrée affecte en
moyenne la moitié des bits de sortie
rend les attaques basées sur des suppositions
difficiles
Les S-Boxes ne sont pas linéaires
crée de la confusion
c'est-à-dire rend la relation entre le texte chiffré et la
clé aussi complexe que possible
Autres chiffrements symétriques
importants
AES (Rjindael)
3-DES (Triple DES)
Blowfish
RC5
IDEA
RC4
Que s'est-il passé après le DES?
Le remplacement du DES était nécessaire
vulnérabilité à la cryptanalyse et aux
attaques pratiques par force brute
AES est le nouveau standard (nous en
discuterons)
Mais il a fallu du temps pour le standardiser et
le déployer
Pendant ce temps, d'autres chiffrements sont
également utilisés dans la pratique (nous en
discuterons également brièvement)
Mais nous avions encore besoin d'un
remplacement immédiat du DES qui puisse être
standardisé et déployé facilement
C'était 3-DES
3-DES (Triple-DES)
Une autre méthode pour un chiffrement fort
utiliser le cryptage multiple avec DES avec des clés
différentes
pour préserver l'investissement dans DES
pour un déploiement plus rapide
Triple DES est choisi comme méthode standard
Normalisé par ANSI, ISO et NIST
Pourquoi pas Double DES?
Double DES
utiliser DES deux fois avec deux clés
différentes
Ne fonctionne pas en raison d'une attaque dite par rencontre
au milieu "Meet-in-the-middle" (qui est un type d’attaque par
texte clair connu)
X = EK1 [P] = DK2[C]
Essayer toutes les K1 possibles sur P pour créer tous les X possibles et
les stocker triés dans un tableau
Essayer toutes les K2 possibles sur C et faire correspondre avec le
tableau cité ci-dessus
peut créer des fausses alarmes, alors faire la même attaque pour
une autre paire de texte en clair-chiffré
Si les mêmes paires K1-K2 correspondent à la deuxième paire de
texte en clair-texte chiffré, alors les clés correctes sont très
probablement trouvées
la complexité de cette attaque est proche de la complexité de
l'attaque par force brute simple-DES, donc le double-DES est inutile
Triple-DES (3-DES)
Trois étapes du DES
Avec deux clés différentes
certaines attaques sont possibles mais peu
pratiques
Merkle et Hellman, 1981
256 essais, mais nécessite 256 paires de texte
en clair-chiffré
Oorschot et Wiener, 1990
2120/n essais, où n est le nombre de paires de
texte en clair-texte chiffré
Avec trois clés différentes
La complexité de l'attaque augmente et
devient peu pratique
Triple-DES avec Deux /Trois clés
Séquence E-D-E
l'utilisation du décryptage à la deuxième étape ne réduit /
n'augmente pas la sécurité
Pourquoi le décryptage au stade intermédiaire?
Triple-DES avec trois clés
▪ Pour ceux qui s'inquiètent des attaques contre le 3-DES avec
deux clés
▪ Séquence E-D-E
C = EK3[DK2[EK1[P]]]
▪ a été adopté par certaines applications Internet, par exemple
PGP, S / MIME
Blowfish
Développé par Bruce Schneier en 1993
Est rapidement devenu une alternative à DES très
appréciée
64 bits de taille de bloc
La taille de la clé est variable
un à quatorze blocs de 32 bits
32 à 448 bits
offre un bon compromis entre sécurité et performance
Rapide et compact
facilité de mise en œuvre et haute vitesse d’exécution
exécution possible avec moins de 5 Ko de mémoire
A été implémenté dans de nombreux produits
y compris GnuPG, SSH
voir http://www.schneier.com/blowfish-products.html
Ce n'est plus si recommandé en raison de la petite taille
des blocs et de certaines attaques cryptanalytiques
RC5
Code de Ron 5
développé en 1994 par Ron Rivest qui est
également co-inventeur du cryptosystème RSA
détenu et largement utilisé par RSA Inc.
hautement paramétrique
traitement orienté mot
rapidité
utilise seulement des opérations de base
généralement présentes dans presque tous
les microprocesseurs
Simplicité d’implémentation matérielle ou
logicielle
RC5-w/r/b
RC5 est en fait une famille d'algorithmes
Paramètres: w, r, b
w: taille du mot
16, 32 ou 64 bits
la taille du bloc est de 2 * w
r: nombre de tours / étapes
0 .. 255
b: taille de la clé en octets
0 .. 255
RC5 comme suggéré par Rivest est
RC5-32 / 12/16
Mots de 32 bits (c'est-à-dire blocs de 64 bits), 12 tours, taille de
clé de 128 bits
IDEA
International Data Encryption Algorithm
Lai et Massey de l'ETH Zurich (Institut fédéral suisse de
technologie), 1990/91
Blocs de 64 bits, taille de clé 128 bits
l'un des premiers algorithmes 128 bits
pas d'origine américaine, donc pas de restrictions à
l'exportation
largement utilisé dans PGP
AES -
Advanced Encryption Standard)
Remplacement nécessaire pour DES
raisons discutées avant
3-DES est une solution, mais temporaire
3-DES est lent dans le logiciel
3-DES utilise de petits blocs qui rendent encore plus
lent
Besoin d'un nouveau chiffrement standard
Événements AES dans l'ordre
chronologique
Le NIST a lancé un appel pour un chiffrement
standard en 1997
international
15 candidats (sur 21) acceptés en juin 98
Une présélection de 5 sélectionnés en août
99
Rijndael (de Belgique) a été sélectionné
comme AES en octobre 2000
publié en tant que norme FIPS PUB 197 en
novembre 2001
Exigences de AES
chiffrement par blocs symétrique à clé privée
Données de 128 bits (taille de bloc)
Clés 128/192/256 bits
plus fort et plus rapide que Triple-DES
vie active de 20 à 30 ans
fournit des spécifications complètes et des détails de
conception
5 candidats AES
MARS (IBM)
RC6 (États-Unis)
Rijndael (Belgique)
Serpent (Europe)
Twofish (États-Unis)
Europe vs USA
commercial vs académique
Ceux basés aux États-Unis étaient tous
d'origine commerciale
Critères d'évaluation de AES
Critères finaux (utilisés pour sélectionner le gagnant)
sécurité générale
Le NIST s'est appuyé sur une évaluation effectuée par la communauté
cryptographique
performances de mise en œuvre logicielle
vitesse d'exécution, performances sur différentes plates-formes (plates-formes 8
à 64 bits)
implémentation matérielle
non seulement les délais, mais aussi le coût est important
en particulier pour les environnements à espace restreint (tels que les cartes à
puce)
mise en œuvre des attaques (temps et puissance)
Le chiffre AES - Rijndael
Conçu par Vincent Rijmen et Joan Daemen en Belgique
(UCL)
a des clés de 128/192/256 bits, et une taille de bloc de 128
bits
Caractéristiques
résistant aux attaques connues
vitesse et compacité du code sur de nombreuses plates-
formes
simplicité de conception
Modes opératoires du
chiffrement par blocs
les chiffrements par blocs chiffrent les blocs de
taille fixe
DES et 3DES chiffrent les blocs 64 bits
AES utilise des blocs de 128 bits
en pratique, nous avons une quantité arbitraire
d'informations à chiffrer
nous utilisons DES, 3DES, AES et d'autres chiffrements
symétriques dans différents modes afin de s'appliquer à
plusieurs blocs de données
NIST SP 800-38A définit 5 modes :
ECB, CBC, CFB, OFB, CTR
peuvent être utilisés avec n'importe quel chiffrement
par blocs
Le mode Electronic Codebook - ECB
chaque bloc
est chiffré
indépendam
ment des
autres blocs
En utilisant
la même
clé
pas si sûr
pour les longs
messages en
raison de
répétitions
dans le code
Le mode Cipher Block Chaining - CBC
chaque bloc
de chiffrement
précédent est
XORé avec le
texte brut
actuel
chaque bloc
de texte chiffré
dépend de
tous les blocs
précédents
nécessite un
vecteur
d'initialisation
(IV) connu de
l'expéditeur et
du destinataire
Le mode Cipher Block Chaining - CBC
Vecteur d'initialisation (IV)
les deux parties doivent s'entendre sur un IV
pour une sécurité maximale, IV doit être
protégé contre les modifications non
autorisées
Sinon, lechangement de l'attaquant de IV
modifie également le texte en clair déchiffré
Le mode Cipher FeedBack - CFB
Le message est traité comme un flux de bits
DES, AES (ou tout autre chiffrement par blocs) est utilisé
comme chiffrement de flux
Le standard autorise n'importe quel nombre de bits,
s, (1,8 ou plus jusqu'à la taille du bloc) comme unité
de chiffrement / déchiffrement
Mais la valeur commune de s est 8.
Le texte en clair est divisé en bloc de s bits.
utilise IV
comme tous les autres chiffrements de flux
Le résultat du chiffrement est renvoyé à l'étape
suivante
les erreurs de transmission se propagent
Le mode
Cipher
FeedBack -
CFB
Le mode Output FeedBack - OFB
un autre mode de flux
mais la version s-bit n'existe plus
Le bloc complet est utilisé dans le cryptage et le décryptage
la sortie du chiffrement est
XORée avec le message
c'est aussi le feedback
la rétroaction est indépendante de la transmission,
donc les erreurs de transmission ne se propagent
pas
le même IV ne doit pas être utilisé deux fois pour la
même clé (problème général de l'utilisation de IV)
sinon, lorsque deux blocs de texte chiffré sont XORés, la
séquence aléatoire est annulée et l'attaquant a obtenu
XOR de deux textes en clair
C'est pourquoi IV est parfois appelé nonce (signifie "utilisé
une seule fois")
IV
Le mode
Output
FeedBack
- OFB IV
Le mode Counter - CTR
similaire à OFB mais crypte la valeur du
compteur plutôt que toute valeur de retour
Pour la même clé, la valeur du compteur ne
doit pas se répéter
même problème que dans OFB
efficace
peut faire des chiffrements parallèles
le processus de chiffrement/déchiffrement est
effectué avant le besoin
bon pour les liaisons haut débit
Le mode
Counter
- CTR
Générateurs de nombres
pseudo-aléatoires (PRNG)
utilisent souvent des techniques algorithmiques
déterministes pour créer des «nombres aléatoires»
bien que ne soient pas vraiment aléatoires
peut passer de nombreux tests de «caractère aléatoire»
appelés «nombres pseudo-aléatoires»
Utilisation des chiffrements par
blocs comme PRNG
les applications cryptographiques peuvent utiliser un
chiffrement par blocs pour générer des nombres aléatoires
souvent pour créer des clés de session à partir de la clé
principale
Méthodes standards
CTR
Xi = EK[V+i]
OFB
Xi = EK[Xi-1]
X0 = EK[V]
Chiffrements de flux
traiter le message bit par bit
Énonce simplement
une clé et un générateur de nombres pseudo aléatoires (PRNG) sont utilisés
pour créer un keystream (pseudo) aléatoire
le keystream et le texte brut sont XORé au niveau du bit pour créer le texte
chiffré
le texte chiffré est XORé avec le même keystream pour restaurer le texte en
clair
keystream keystream
Chiffrement de flux - Quelques
considérations de conception de
Un PRNG produit un flux déterministe qui éventuellement se
répète
Plusla période de répétition est longue, plus l'analyse
cryptographique est difficile
statistiquement aléatoire
propriétés d'un véritable flux de nombres aléatoires
par exemple. environ. nombre égal de 0 et de 1
clé assez grande (128 bits serait bon pour se prémunir contre les
attaques par force brute)
Chiffrements de flux
le caractère aléatoire du keystream détruit toutes les
propriétés statistiques du message
comme avec le chiffrement Vernam et one-time
pads
Mieux que les chiffrements par blocs en termes :
d’espace de code (les implémentations sont simples)
de débit (plus rapide par bit en / décryptage)
mais ne doit jamais utiliser le même keystream plus d'une
fois
sinon le cryptanalyst peut XORer deux flux de texte
chiffré et découvrir le XOR de deux flux en clair
pas si difficile à craquer
Chiffrements de flux
sont utiles si les données sont transférées sous forme de flux
navigateur Web
voix
vidéo
en fait, tout chiffrement par bloc peut être utilisé comme
chiffrement de flux
Mode de fonctionnement CFB
RC4
Code de Ron 4
Encore un autre chiffre conçu par Ron Rivest
propriété de RSA Inc.
a été gardé comme un secret commercial, mais en 1994, été
publié de manière anonyme sur Internet
taille de clé variable, chiffrement de flux orienté octet
simple mais efficace
8 à 16 opérations machine par octet de sortie
largement utilisé (SSL / TLS, WEP / WPA)
Certaines attaques signalées, mais pas pratiques pour
une taille de clé supérieure à 128 bits
Cependant, WEP a un problème en raison de la manière
de génération des clés utilisées comme entrée de RC4
pas de problème avec RC4 lui-même
Autres chiffrements
symétriques
CAST
Skipjack
Serpent
Twofish
RC6
Mars
SAFER+