Sécurité Des Données-Partie4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

Sécurité des données

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


Sommaire
A. Cryptographie classique
A.1 principe de la cryptographie classique
A.2 chiffrement par substitution
A.3 chiffrement par transposition
B. Cryptographie moderne symétrique
B.1. Généralités & Définitions
B.2. Chiffrement par flux
B.2.1 mode de chiffrement de VERNAM
B.2.2 mode de chiffrement RC4
B.2.3 mode de chiffrement LFSR

B.3. Chiffrement par bloc


B.3.1 mode de chiffrement ECB
B.3.2 mode de chiffrement CBC
B.3.3 mode de chiffrement CFB
B.3.4 mode de chiffrement OFB
B.3.5 mode de chiffrement CTR
B.3.6 mode de chiffrement DES
B.3.7 mode de chiffrement AES
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
Sommaire (suite)

C. Cryptographie moderne asymétrique


C.1. Généralités & Définitions
C.2. Rappel mathématiques
C.2.1 congruences
C.2.2 fonctions à sens unique
C.2.3 permutations
C.2.4 fonctions de hachage
C.3. Algorithmes Cryptographiques Asymétriques
C.3.1 RSA
C.3.2 Diffie-Hellman
C.3.3 El Gamal
C.4. Signature Numérique
C.5. Certificats Électroniques
D. Cryptographie à l’aide des Courbes elliptiques
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
C’est un nouveau standard pour remplacer le DES vieillissant.
L'algorithme AES est un algorithme symétrique de chiffrement par bloc de 128 bits
fonctionnant avec une clé de 128, 192 ou 256 bits.
Advanced Encryption Standard ou AES (standard de chiffrement avancé en français), aussi
connu sous le nom de Rijndael, est un algorithme de chiffrement symétrique. Il remporta en
octobre 2000 le concours AES, lancé en 1997 par le NIST et devint le nouveau standard de
chiffrement pour les organisations du gouvernement des États-Unis.
Résumé
Concepteur(s) Joan Daemen, Vincent Rijmen
Première publication 2000
Dérivé de Rijndael, Square
Chiffrement(s) basé(s) sur cet algorithme Aucun
Caractéristiques
Taille(s) du bloc 128 bits
Longueur(s) de la clé 128, 192, 256 bits
Structure Réseau de substitution/permutation
Nombre de tours 10,12 ou 14 selon la taille de la clé

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
Fonctionnement
Le Rijndael procède par blocs de 128 bits, avec une clé de 128 bits également. Chaque bloc subit une
séquence de 5 transformations répétées 10 fois :
1. Addition de la clé secrète (par un ou exclusif).
2. Transformation non linéaire d'octets : les 128 bits sont répartis en 16 blocs de 8 bits (8 bits=un octet),
eux-même dispatchés dans un tableau 4×4. Chaque octet est transformé par une fonction non linéaire
S. S peut être simplement vue comme une substitution sur les entiers compris entre 1 et 256. En
particulier, elle peut être implantée sur ordinateur par un simple tableau.
3. Décalage de lignes : les 3 dernières lignes sont décalées cycliquement vers la gauche : la 2ème ligne est
décalée d'une colonne, la 3ème ligne de 2 colonnes, et la 4ème ligne de 3 colonnes.
4. Brouillage des colonnes : Chaque colonne est transformée par combinaisons linéaires des différents
éléments de la colonne (ce qui revient à multiplier la matrice 4×4 par une autre matrice 4×4). Les calculs
sur les octets de 8 bits sont réalisés dans le corps à 28 éléments.
5. Addition de la clé de tour : A chaque tour, une clé de tour est générée à partir de la clé secrète par un
sous-algorithme (dit de cadencement). Cette clé de tour est ajoutée par un ou exclusif au dernier bloc
obtenu.
Ces différentes opérations sont répétées plusieurs fois et définissent un « tour ». Pour une clé de 128, 192
ou 256, AES nécessite respectivement 10, 12 ou 14 tours.

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
Fonctionnement

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
Exemple concret Le message en clair est : KARTITALIENSAJ16
Le mot de passe est : ENSA2016ENSA2016
en regroupe tout d’abord le message et la clé dans un tableau de 4*4
Chaque case contient 1 octet (8 x 16 = 128 bits )
Le message « m » La clé « K »
K A R T E N S A

I T A L 2 0 1 6

I E N S E N S A

A J 1 6 2 0 1 6

En utilisant le code ASCII, on trouve l’équivalence des lettres du message et de la clé (En Hexadécimale)
Le message « m » La clé « K »
4b 41 52 54 45 4e 53 41

49 54 41 4c 32 30 31 36

49 45 4e 53 45 4e 53 41

41 4a 31 36 32 30 31 36

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
1. Addition de la clé secrète (par un ou exclusif)
On applique le OU exclusive entre le message et la clé
Cette addition est faite entre chaque octet du « m » et de « K »
C’est-à-dire entre les cases parallèles
Par exemple :
Le message « m » La clé « K »
(4b) = 0100 1011 = m(0,0)
4b 41 52 54 45 4e 53 41

49 54 41 4c 32 30 31 36
(45) = 0100 0101 = K(0,0)
49 45 4e 53 45 4e 53 41

0000 1110 = (0e) 41 4a 31 36 32 30 31 36

0e 0f 01 15

On aura donc : 7b 64 70 7a
m K= M 0c 0b 1d 12

73 7a 00 00

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
Fonction de tour
M Au bout de 10ème tour

Substitution par Octet


Substitution par Octet

Décalage par ligne


Décalage par ligne
Mélange par colonne

Addition de la clé du tour Addition de la clé du tour

Message crypté C(M)


Le message passe 9 fois dans le tour
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
2. Substitution par octet
0e S-Box

ab 76 7C 59

21 43 51 da

fe 2b a4 c9

8f da 63 63

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
3. Décalage par ligne

ab 76 7C 59 ab 76 7C 59

21 43 51 da 43 51 da 21

fe 2b a4 c9 a4 c9 fe 2b

8f da 63 63 63 8f da 63

Décalage circulaire (vers la gauche) de i cases pour la ligne numéro i, 0 ≤ i ≤ 3

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
4. Mélange par colonne
a. Multiplication de chaque colonne par la matrice suivante:

Par exemple :
2 3 1 1
1 2 3 1
ab ab
1 1 2 3
3 1 1 2 43 43
Mix column
a4 a4

63 63
ab 76 7c 59

43 51 da 21
ab=(ab*2)XOR(43*3)XOR(a4*1)XOR(63*1)
a4 c9 fe 2b 43=(ab*1)XOR(43*2)XOR(a4*3)XOR(63*1)
63 8f da 63
a4=(ab*1)XOR(43*1)XOR(a4*2)XOR(63*3)
63=(ab*3)XOR(43*1)XOR(a4*1)XOR(63*2)
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
4. Mélange par colonne
a. Multiplication de chaque colonne par la matrice suivante:

La deuxième colonne va être aussi multipliée par la même matrice de la manière suivante :

76 = (76 * 2) XOR (51*3) XOR (c9*1) XOR (8f*1)


51 = (76 * 1) XOR (51*2) XOR (c9*3) XOR (8f*1)
c9 = (76 * 1) XOR (51*1) XOR (c9*2) XOR (8f*3)
8f = (76 * 3) XOR (51*1) XOR (c9*1) XOR (8f*2)

On procède comme celà pour les 2 autres colonnes restantes


Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
4. Mélange par colonne
b. Calcul des Multiplications:

On calcule les multiplications (*) à partir des tables L & E suivants:

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
4. Mélange par colonne
Exemple:
ab=(ab*2)XOR(43*3)XOR(a4*1)XOR(63*1)
ab=E(L(ab)+L(02))XORE(L(43)+L(03))XOR(a4)XOR(63)
En revenant d’abord à la table L on trouve :
L(ab)=2d L(02)=19
L(43)=bd L(03)=01
Et donc
ab=E(2d+19)XOR E(bd+01)XOR(a4)XOR(63)
ab=E(46)XORE(be)XOR(a4)XOR(63)
En revenant cette fois-ci à la table E on trouve :
E(46)=4d et E(be)=c6
ab= (4d)XOR(c6)XOR(a4)XOR(63) =4c

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
4. Mélange par colonne
De la même façon on trouve:
43=(ab*1)XOR(43*2)XOR(a4*3)XOR(63*1)= b9
a4=(ab*1)XOR(43*1)XOR(a4*2)XOR(63*3)= 1e
63=(ab*3)XOR(43*1)XOR(a4*1)XOR(63*2)= c7

Donc, on procède de la même mannière pour les 3 colonnes restantes

4c 4c 59 87 87
b9 b9 1b 10 05
= ”M2”
1e 1e 24 34 8b
c7 c7 55 0f 36
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
5. Génération et Addition de la clé du tour
Pour générer la clé de chaque tour, on aura besoin d’une colonne de la table ci-dessous :

01 02 04 08 10 20 40 80 1b 36

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

Par exemple : pour le tour 1 on va utiliser la colonne 01

00

Pour générer la clé du tour 1 00

00

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
5. Génération et Addition de la clé du tour
a. Génération de la clé du tour 1:
Clé K1 du tour 1
45 4e 53
53 41
41 41 0f 5c 1d

32 30 31
31 36
36 b1 81 B0 86

45 4e 53
53 41
41
K 40 0e 5d 1c

32 30 31
31 36
36 b1 81 b0 86

S-Box

01 45 41 4e 0f 53 5c 41 1d
41 36 05
00 32 b1 30 81 31 B0 36 86
36 41 83

05 00 45 40 4e 0e 53 5d 41 1c
41 36

41 83 00 32 b1 30 81 31 b0 36 86
36

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
5. Génération et Addition de la clé du tour
Donc la clé du tour est :
41 0f 5c 1d

b1 81 B0 86

40 0e 5d 1c
“K1”
b1 81 b0 86

Et pour finir, on applique un XOR entre la clé “K1” el le message resultant “M2” :
b. Addition de la clé 1 par un ou exclusive :
0d 56 db 9a

08 9a a0 83

5e 2a 69 97

76 d4 bf b0
“M2”
“K1”

Fin du tour 1, et le message resultant va subir les mêmes transformations dans le tour 2
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode AES : chiffrement des données avancées
Chiffrement et déchiffrement par AES

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le chiffrement de flux ou chiffrement par flot (en anglais stream cipher) est une des deux
grandes catégories de chiffrements modernes en cryptographie symétrique, l'autre étant le
chiffrement par bloc. Un chiffrement par flot arrive à traiter les données de longueur quelconque
et n'a pas besoin de les découper.
Un chiffrement par flot se présente souvent sous la forme d'un générateur de nombres pseudo-
aléatoires avec lequel on opère un XOR entre un bit à la sortie du générateur et un bit provenant
des données.
 IL emploie de clés courtes et réutilisables.
 C’est un chiffrement par blocs, où le bloc a une dimension unitaire (1 bit, 1 octet, etc.) ou
relativement petite.
 Les données sont traitées bit par bit ou octet par octet.
 Il applique de simples transformations selon un keystream (chiffrant) utilisé.
 Le keystream est une séquence de bits utilisée en tant que clé qui est générée aléatoirement
par un algorithme.

Une liste non-exhaustive de chiffrements par flot :


 A5/1, algorithme publié en 1994, utilisé dans les téléphones mobiles de type GSM pour
chiffrer la communication par radio entre le mobile et l'antenne-relais la plus proche ;
 RC4, le plus répandu, conçu en 1987 par Ronald Rivest, utilisé notamment par le protocole
WEP du Wi-Fi ;
 E0 utilisé par le protocole Bluetooth.
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode RC4
RC4 (Rivest Cipher 4) est un algorithme de chiffrement à flot conçu en 1987 par
Ronald Rivest, l'un des inventeurs du RSA, pour les Laboratoires RSA. Il est supporté
par différentes normes, par exemple dans SSL ou encore WEP.
L'algorithme a une longueur de clé variable (de 1 à 256 octets). Cependant à cause
des lois d'exportation, la clé a souvent une longueur de 40 bits. La clé est utilisée
pour initialiser une "table d'états" de 256 octets en répétant la clef autant de fois
que nécessaire pour remplir le tableau. La table d'état est employée pour la
génération d'octets pseudo-aléatoires et ensuite pour produire le flux pseudo-
aléatoire avec lequel le texte clair sera transformé avec l'opération du OU-Exclusif.

L'octet en sortie pour le flux de chiffrement est choisi dans le tableau, à l'index S[i] + S[j]. On
retrouve en sortie cette valeur S(S[i] + S[j]) qui sera "XOR" avec l'octet correspondant du texte clair.
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode RC4
Algorithme
Chiffrement
Deux étapes sont nécessaires pour le chiffrement : l'initialisation à l'aide de la clé et le
chiffrement du texte clair.
La première étape génère deux tableaux de 256 octets en fonction de la clé : un tableau
K initialisé avec les octets de la clé et un tableau S (appelé table d'états, laquelle sera le flux
appliqué sur le texte clair) initialisé avec les nombres de 0 à 255 permutés pseudo-
aléatoirement selon le tableau K.
Exemples des tableaux (clé de 40 bits)
K = {clé(0),clé(1),clé(2),...,clé(39),clé(0),clé(1),...,clé(39)}
S = {34,55,228,0,...,4}
La deuxième étape consiste aussi en des permutations pour effectuer le chiffrement. À noter
que les additions sont toutes exécutées modulo 256.

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode RC4
Algorithme

i=0
j=0
Pour chaque octet du texte clair
Ajouter 1 à i (i=i+1 mod 256)
Ajouter S[i] à j (j=j+ S[i] mod 256)
Permuter S[i] avec S[j]
n = S[i] + S[j] mod 256)
Retourner le résultat du OU-Exclusif entre S[n] et l'octet du texte clair
Fin Pour

On remarque que le tableau S change à chaque itération en ayant deux éléments permutés.
Déchiffrement
Le déchiffrement est exactement l'inverse du chiffrement.
Considérations
Le RC4 est la propriété de la RSA Security, mais la version allégée ARC4 peut être utilisée
légalement. Il est populaire en étant extrêmement rapide (environ dix fois plus rapide que le
DES) et relativement sécuritaire.
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode LFSR
Le LFSR est un registre à décalage à rétroaction linéaire. C’est un mécanisme très souvent utilisé dans
les chiffrements symétriques de flux.
Il génère des séquences de bits pseudo-aléatoires. La série de bits est initialisée par un vecteur
d'initialisation.
Le comportement du vecteur "registre" est défini par rapport à un compteur.
L’étendue des applications est très large : chiffrement des communications, contrôle d'erreurs sur la
transmission de données, auto-test des composants électroniques…

Schéma de fonctionnement d'un LFSR : le bit de rétroaction est obtenue par XOR sur une sélection des bits du registre
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode LFSR
Exemples d'algorithmes cryptographiques utilisant les LFSRs :
 Codage/décodage des transmissions des téléphones cellulaires
A5/1 : chiffrement des communications GSM, il utilise 3 LFSRs de 19, 22 et 23 bits (64 bits au total) ;
 Codage du Bluetooth. E0 : protocole de codage du Bluetooth utilisant quatre LFSR de longueurs 25, 31, 33, et 39 bits (128 bits au total)

Schéma du A5/1 et ses trois registres à décalage. À chaque tour d'horloge, chaque registre est décalé si la valeur de son bit d'horloge (en
orange) est majoritaire parmi celles des trois bits d'horloge (en orange). Le bit de sortie est alors le XOR des bits de sortie des trois registres.

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par flux (flot)
Le mode LFSR

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy