Sécurité 2 : Cryptographie Symétrique

L'informateur
11 Mar 201810:58

Summary

TLDRDans cette vidéo, nous explorons les techniques modernes de chiffrement symétrique, où une même clé sert à chiffrer et déchiffrer. Nous découvrons le chiffrement Vernam, similaire au Vigenère mais en binaire, utilisant l'opération XOR. Les clés doivent être de la même longueur que le message et ne pas être réutilisées. Nous passons en revue les algorithmes DES et AES, qui utilisent des blocs de données et des clés de tailles différentes. Nous abordons également les modes d'opération des blocs, comme ECB et CBC, et les chiffrements par flux, tels que RC4 et A5. Enfin, nous soulignons les limitations du chiffrement symétrique et l'importance de passer au chiffrement asymétrique pour des communications sécurisées.

Takeaways

  • 🔐 La cryptographie symétrique utilise la même clé pour le chiffrement et le déchiffrement.
  • 📚 Il est essentiel de comprendre le système binaire pour comprendre les techniques modernes de chiffrement symétrique.
  • 🔄 Le chiffrement Vernam est similaire au chiffrement Vigenère, mais en binaire et utilise une clé de même longueur que le message.
  • 🔧 L'opération de déplacement de bits selon la clé est appelée 'XOR' (ou 'ou exclusif' en français).
  • 🔒 Le chiffrement Vernam est considéré comme 'parfait', car sans la clé, on ne peut rien déduire du texte chiffré.
  • 🔑 Pour que le chiffrement Vernam soit parfait, la clé doit être de même longueur que le message et ne doit pas être réutilisée.
  • 💾 Les techniques modernes utilisent des clés plus courtes que les messages et réutilisent la clé plusieurs fois.
  • 🗝️ DES (Data Encryption Standard) est un algorithme de chiffrement symétrique conçu en 1977 par IBM, mais est désormais considéré comme peu sécurisé.
  • 🔐 AES (Advanced Encryption Standard) est un algorithme de chiffrement symétrique plus sécurisé, conçu en 2001 par NIST.
  • 🔗 Les modes d'opération des algorithmes de chiffrement déterminent comment les blocs chiffrés sont combinés, avec ECB et CBC étant les modes les plus connus.
  • 📶 Les chiffrements par flux (stream ciphers) sont utilisés lorsque la taille du texte chiffré n'est pas connue à l'avance, en utilisant un nonce pour générer des clés de chiffrement successives.

Q & A

  • Quels sont les deux techniques de chiffrement symétrique vus dans la vidéo précédente?

    -Dans la vidéo précédente, on a vu deux techniques de chiffrement symétrique anciennes, qui sont des méthodes où on utilise la même clé pour chiffrer et déchiffrer.

  • Pourquoi est-il important de comprendre le système binaire pour comprendre ce qui est expliqué dans cette vidéo?

    -Il est important de comprendre le système binaire car l'information échangée est constituée de 0 et de 1, et non de lettres de l'alphabet.

  • Quel est le nom du chiffrement similaire au Vigenère mais en binaire?

    -Le chiffrement similaire au Vigenère mais en binaire est appelé le chiffrement de Vernam.

  • Comment fonctionne le chiffrement de Vernam?

    -Le chiffrement de Vernam consiste à choisir une clé de même longueur que le message, à la placer sous le message et à décaler chaque bit du nombre de positions indiqué par la clé.

  • Quel est l'opération utilisée pour le chiffrement dans le chiffrement de Vernam?

    -L'opération utilisée pour le chiffrement dans le chiffrement de Vernam est l'opération 'exclusive or' ou 'xor'.

  • Quelle est la condition pour que le chiffrement de Vernam soit considéré comme 'parfait'?

    -Le chiffrement de Vernam est considéré comme 'parfait' si la clé est de même longueur que le message et qu'elle n'est pas utilisée une seconde fois.

  • Pourquoi est-ce que le chiffrement de Vernam est théorique et non pratique?

    -Le chiffrement de Vernam est théorique et non pratique car il nécessite d'échanger une clé de même longueur que le message de manière secrète entre les deux participants, ce qui rend le processus inutilisable en pratique.

  • Quels sont les deux types de techniques de chiffrement en bloc mentionnés dans la vidéo?

    -Les deux types de techniques de chiffrement en bloc mentionnés sont les chiffrements par blocs et les chiffrements par flux.

  • Quel est le chiffrement qui utilise une technique appelée schéma de Feistel et divise chaque bloc de message en 64 bits?

    -Le chiffrement qui utilise une technique appelée schéma de Feistel et divise chaque bloc de message en 64 bits est le DES (Data Encryption Standard).

  • Quel est le chiffrement recommandé pour remplacer le DES en raison de sa vulnérabilité?

    -Le chiffrement recommandé pour remplacer le DES en raison de sa vulnérabilité est le AES (Advanced Encryption Standard).

  • Quels sont les modes d'opération pour combiner les blocs chiffrés?

    -Les modes d'opération pour combiner les blocs chiffrés incluent ECB (Electronic Codebook) et CBC (Cipher Block Chaining).

Outlines

00:00

🔐 Introduction aux techniques modernes de chiffrement symétrique

Le paragraphe 1 présente les techniques modernes de chiffrement symétrique, qui utilisent la même clé pour chiffrer et déchiffrer. Il explique que pour comprendre ces techniques, il est nécessaire de comprendre le système binaire. Le script mentionne un chiffrement similaire au Vigenère mais en binaire, appelé le chiffrement Vernam. Ce chiffrement utilise une clé de même longueur que le message, et chaque bit est décalé selon la valeur de la clé correspondante. Le décalage est effectué par un opération appelée 'exclusive or' (XOR), qui est aussi utilisée pour le déchiffrement. Le script souligne que le chiffrement Vernam est 'parfait', mais théorique, car il nécessite une nouvelle clé de même longueur pour chaque message à chiffrer. De plus, le script mentionne les deux catégories de techniques de chiffrement symétrique modernes : les blocs de chiffrement et les flux de chiffrement.

05:00

💡 Détails sur les clés et les algorithmes de chiffrement symétrique

Le paragraphe 2 discute des clés dans le contexte du chiffrement symétrique, en particulier la différence entre les clés possibles avec le chiffrement Vigenère et les clés modernes. Il explique que les clés de 64 bits offrent un nombre énorme de combinaisons, ce qui rend le chiffrement difficile à casser même avec un ordinateur moderne. Le script mentionne le DES (Data Encryption Standard), un algorithme de chiffrement symétrique conçu en 1977, qui utilise une clé de 64 bits mais en réalité n'utilise que 56 bits. Il est désormais considéré comme vulnérable et peut être cassé en 26 heures. En contraste, l'AES (Advanced Encryption Standard), conçu en 2001, utilise des blocs de 128 bits et des clés de 128, 192 ou 256 bits, offrant un nombre de combinaisons de clés si grand que même avec des milliards de supercalculateurs, le temps de déchiffrement serait plus long que l'âge de l'univers. Le paragraphe aborde également les modes d'opération des chiffrements de bloc, en particulier ECB et CBC, et souligne les problèmes de sécurité avec le mode ECB.

10:00

📵 Problèmes avec le chiffrement symétrique et l'introduction du chiffrement asymétrique

Le paragraphe 3 traite des problèmes associés au chiffrement symétrique, où les deux parties doivent échanger la clé secrètement avant de commencer la communication. Il mentionne les méthodes utilisées pendant la guerre froide pour échanger des clés symétriques. Le script explique que ces méthodes ne sont plus pratiques dans le monde moderne, où la communication est souvent instantanée et ne nécessite pas de rencontre physique. Il mentionne également le chiffrement de flux A5 utilisé par le GSM, qui est considéré comme faible en raison des attaques découvertes contre cet algorithme. Le paragraphe conclut en disant que le chiffrement symétrique n'est pas suffisant et que le prochain vidéo parlera du chiffrement asymétrique, qui résout le problème de l'échange de clés.

Mindmap

Keywords

💡Cryptographie symétrique

La cryptographie symétrique est une technique où la même clé est utilisée pour chiffrer et déchiffrer les messages. Dans la vidéo, l'orateur mentionne que les techniques anciennes et modernes de cryptographie symétrique reposent sur ce principe. Un exemple donné est le chiffre de Vernam, où la clé et le message sont de même longueur.

💡Système binaire

Le système binaire est une représentation numérique qui utilise seulement deux symboles : 0 et 1. L'orateur explique que pour comprendre les techniques modernes de cryptographie, il est essentiel de connaître ce système, car les informations échangées sont représentées par des 0 et des 1, et non par des lettres.

💡Chiffre de Vernam

Le chiffre de Vernam est une technique de chiffrement symétrique basée sur le système binaire, où chaque bit du message est combiné avec un bit de la clé à l'aide de l'opération XOR. L'orateur souligne que ce chiffre est 'parfait' dans le sens où, sans la clé, il est impossible de déduire le message original à partir du texte chiffré.

💡XOR

L'opération XOR, ou 'OU exclusif', est une opération logique utilisée dans la cryptographie, où deux bits sont comparés. Si les bits sont identiques, le résultat est 0, sinon le résultat est 1. L'orateur explique que cette opération est essentielle dans le chiffre de Vernam pour chiffrer et déchiffrer les messages.

💡DES

Le Data Encryption Standard (DES) est un ancien algorithme de chiffrement symétrique qui utilise des blocs de 64 bits et une clé de 56 bits. Bien qu'il ait été largement utilisé, l'orateur mentionne que DES est aujourd'hui considéré comme peu sûr, car il peut être facilement craqué par des ordinateurs modernes.

💡AES

L'Advanced Encryption Standard (AES) est un algorithme de chiffrement moderne utilisant des blocs de 128 bits et des clés de 128, 192 ou 256 bits. L'orateur le présente comme beaucoup plus sécurisé que DES, et pratiquement inviolable, même avec les technologies informatiques actuelles.

💡Bloc de chiffrement

Un bloc de chiffrement est une unité de donnée que l'on divise en segments (ou blocs) pour appliquer des techniques de chiffrement symétrique. L'orateur mentionne que dans les algorithmes comme DES et AES, les messages sont divisés en blocs avant d'être chiffrés.

💡Chiffrement par flot

Le chiffrement par flot est une méthode de cryptographie symétrique où les bits du message sont chiffrés un par un, souvent à l'aide d'une clé qui change constamment. L'orateur mentionne RC4 et A5 comme exemples, en soulignant que ces algorithmes sont aujourd'hui considérés comme faibles ou dépréciés.

💡Mode de chiffrement ECB

Le mode ECB (Electronic Codebook) est un mode de chiffrement simple où chaque bloc de message est chiffré indépendamment des autres blocs. Cependant, l'orateur explique que ce mode présente des faiblesses, car des blocs identiques de message donneront des blocs chiffrés identiques, ce qui peut permettre à un attaquant d'identifier certaines informations, notamment dans le cas des images.

💡Mode de chiffrement CBC

Le mode CBC (Cipher Block Chaining) est un mode de chiffrement où chaque bloc de message est chiffré en fonction du bloc précédent, créant ainsi une chaîne. Cela rend chaque bloc chiffré dépendant des blocs précédents, améliorant la sécurité par rapport au mode ECB. L'orateur explique que cela empêche un attaquant de reconnaître des motifs répétés dans le texte chiffré.

Highlights

Introduction to modern techniques for symmetric encryption

Necessity of understanding the binary system for modern encryption techniques

Binary representation of information in encryption

Introduction to the Vernam cipher, a binary version of the Vigenere cipher

Explanation of the Vernam cipher's encryption process using bit shifting

The exclusive or (xor) operation as the core of the Vernam cipher

Decryption process of the Vernam cipher using the xor operation

The theoretical 'perfect' nature of the Vernam cipher

Practical limitations of the Vernam cipher due to key exchange requirements

Introduction to block ciphers and stream ciphers

Description of DES, an early block cipher with a 56-bit key

The vulnerability of DES to modern computing power

Introduction to AES, a more secure block cipher with larger key sizes

Comparison of key sizes and security between DES and AES

Explanation of different modes of operations for block ciphers

Drawbacks of ECB mode and its susceptibility to pattern analysis

Advantages of CBC mode for encrypting blocks in a chain

Introduction to stream ciphers and their use with a nonce

Critique of RC4 as an insecure stream cipher

Discussion on the impracticality of symmetric key exchange in modern communication

Anticipation of the next video on asymmetric encryption

Transcripts

play00:00

Hi everyone! In the last video, we have seen

play00:03

2 techniques of ancient cryptography of symmetric encryption

play00:05

meaning that we use the same key to encrypt and decrypt.

play00:09

In this video, we will see the modern techniques for symmetric encryption

play00:11

play00:16

If you want to understand what will be explained in this video,

play00:20

you absolutely need to understand the binary system.

play00:23

If this is not the case, you can watch my video "binary representations"

play00:26

in which I explain what is the binary system, how we can use it

play00:29

to represent text, images, videos, etc

play00:32

So the information that both people

play00:35

exchange is constituted of 0s and 1s.

play00:37

and not of letters from a to z

play00:41

We are now going to see an encryption technique quite similar to the Vigenere cipher

play00:44

but in binary. It's called the Vernam cipher.

play00:47

To encrypt, we choose a key k of the same length as m

play00:50

play00:53

We place it under m and shift each bit by the number of positions indicated

play00:56

by the key. For example when we see a 0 in the plaintext

play00:59

and a 0 in the key, we shift by 0 positions

play01:02

so we let the 0 of m untouched.

play01:05

play01:07

If we see a 0 in m and a 1 in k, we shift by 1 position

play01:10

So the 0 becomes a 1 in the ciphertext c

play01:14

If we see a 1 in m and a 0 in k, we shift by 0 positions

play01:16

so it stays a 1. If we see a 1 in m and k,

play01:19

We shift by 1 position so the 1 becomes a 0.

play01:22

Because it is a cyclic system with only 2 values.

play01:25

play01:28

So you can see that like with the Vigenere cipher,

play01:31

We shift symbols by positions indicated by the key.

play01:34

Except that here there are only 2 symbols 0 and 1

play01:36

so there are only 4 possibilities of combinations of 0 and 1

play01:39

play01:43

This operation is also called the exclusive or (xor)

play01:46

play01:48

We will talk about it in more details in the hardware module,

play01:52

basically when both values are the same,

play01:55

the result is 0 and if both values

play01:57

are different, then the result is 1.

play02:00

play02:03

This xor operation is defined for each bit between the message and the key.

play02:06

But we can also define it for the whole message

play02:10

play02:11

meaning that the ciphertext is the result of the xor between

play02:15

the message m and the key k.

play02:18

meaning that we computed the xor on each bit of m with

play02:20

each corresponding bit of the key.

play02:23

and like other mathematical operations,

play02:26

the xor also has a symbol, a + with a circle around it.

play02:29

play02:31

So we can note that according to the Vernam cipher

play02:34

c = m xor k

play02:37

To decrypt, we reuse the key on the ciphertext

play02:40

We again to a xor but this time c xor k

play02:43

play02:46

play02:50

Feel free to ask if this operation of xor is not clear,

play02:53

because it's very important in cryptography

play02:56

we will often use it.

play02:59

we call this Vernam cipher "perfect" in a sense.

play03:02

We can demonstrate that if we know only the ciphertext

play03:05

and not the key, we can not deduce anything about the plaintext m

play03:08

so we cannot do analysis on the symbols, etc

play03:11

like we did in the previous video.

play03:15

but for that thesis to hold, there are 2 conditions :

play03:17

k must be the same length of m.

play03:21

and k must not be used a second time.

play03:23

So each time we want to encrypt a message m of length l

play03:27

We must choose a new key of length l

play03:30

So it renders the cipher useless since we must

play03:33

exchange the key between the 2 participants

play03:36

in advance and in secret

play03:39

they might as well exchange m at that time.

play03:42

So Vernam is perfect but theoretical.

play03:45

Modern ciphers are not perfect,

play03:48

but they use keys shorter than messages to encrypt

play03:51

and reuse the key several times.

play03:54

We divide these techniques in 2 categories :

play03:57

play04:00

play04:03

Block ciphers split the ciphertext in chunks called blocks

play04:06

play04:08

play04:12

Then we use the key to encrypt each block and then combine them.

play04:15

On the other hand, stream ciphers

play04:16

are used when we don't know in advance the size of the ciphertext

play04:19

so we encrypt each bit individually

play04:22

with a new key derived from the previous key.

play04:25

Nowadays we have 2 main methods of block ciphers

play04:28

play04:31

play04:34

play04:37

I will dive into the details of each algorithm

play04:40

maybe there will be a complement about them

play04:43

The most important thing to know is their block and key sizes.

play04:47

and whether or not we found attacks on these ciphers or not.

play04:50

DES was designed in 1977 by IBM

play04:53

and uses a technique called Feistel scheme

play04:57

and divides every block of every message in 64 bits

play05:00

and uses a key also of 64 bits

play05:03

In the previous video we saw that Vigenere uses

play05:06

a very large number of possible keys so that it is impossible

play05:09

for a human to test every key.

play05:12

But with a modern computer, to test 13 million keys, it will take about a minute.

play05:15

play05:18

So that's why modern techniques use a much larger number of possible keys

play05:20

play05:23

With a key of 64 bits, there are 2^64 possible keys.

play05:26

play05:29

about 16 billions of billions of keys to test.

play05:32

Is that a lot for a computer? It depends

play05:35

you know that modern computers

play05:38

are already a lot more powerful than those designed 5 years ago.

play05:41

In computer science, we have an informal law called the Moore law

play05:45

which states that the power of computers

play05:48

is almost doubled every year.

play05:49

If we look at the capacity of processors since the 70s,

play05:52

It's a confirmed prediction.

play05:55

And if you have maybe 1 or 2 computers at home

play05:58

Some organizations have thousands of computers in data centers

play06:02

So they can divide the tasks between the computers

play06:05

play06:08

We said that DES uses a 64-bit key, but in reality

play06:11

if we look at the implementation of the algorithm, only 56 bits are used.

play06:13

play06:16

8 bits out of 64 bits are unused.

play06:20

Why? During the conception of the algorithm, the NSA

play06:23

pressured IBM to use only 56 bits.

play06:25

play06:28

At the time, in the 70s, crack a 64-bit key is impossible

play06:31

even for the NSA who has thousands of computers

play06:34

But crack a 56-bit key, that they can do.

play06:37

play06:40

So with a 56-bit key we guarantee that common citizens cannot crack messages

play06:43

play06:46

But the NSA can still crack messages for spying purposes

play06:48

play06:51

But since the 70s, the capacity of computers has evolved

play06:57

and the number of computers increased. Experts found attacks on DES

play06:59

to crack keys without doing a brute force attack

play07:02

play07:05

So in 2012 was designed a system that can crack any DES key in

play07:08

26 hours.

play07:10

So DES is a very bad choice for a symmetric cipher.

play07:12

Sadly it is still used in some places.

play07:15

But most of the time, we use another : AES

play07:17

play07:20

AES was designed in 2001 by an american

play07:23

institute called NIST

play07:26

who launched a competition for researchers

play07:29

across the world to propose solutions for symmetric encryption

play07:32

2 belgium researchers won and designed AES.

play07:35

AES uses blocks of 128 bits and keys of either 128, 192 or 256 bits

play07:38

play07:41

play07:44

with a 256-bit key, there are 2^256 different possible keys

play07:47

It's huge without any comparison. Even the number of atoms in the universe is much smaller

play07:50

play07:54

If you had billions of billions of supercomputers

play07:57

who can each test a billion of billion of keys per second

play08:00

The time to crack AES would still be much longer than the age of the universe.

play08:03

play08:06

Whether we use DES or AES,

play08:09

there is a question : how to combine the blocks that were encrypted?

play08:12

we call these combinations "operations mode"

play08:15

The simplest method, ECB

play08:18

consists of concatenate the blocks who are encrypted independently.

play08:21

play08:24

It has a problem : all same blocks are encrypted the same way

play08:27

and produce the same encrypted blocks.

play08:29

so with enough blocks, an attacker can make

play08:33

an analysis and guess the plaintext.

play08:36

We can take the example when the message is an image.

play08:39

The same groups of pixels are replaced by the same encrypted pixels.

play08:42

So even if the image is encrypted,

play08:46

we can still see the drawing.

play08:49

For this reason, we mostly use another operation mode : CBC

play08:52

According to this mode, block are encrypted

play08:55

in a chain, meaning that before

play08:58

encrypting a block, we xor it with the encrypted previous block

play09:01

This way the result of the encryption

play09:04

of each block depends by transitivity on all previous blocks

play09:08

play09:09

Since the first block doesn't have a previous block, we use a special block

play09:11

called the initialization vector

play09:15

play09:17

So we first xor m1 with IV

play09:21

then encrypt with k to obtain c1

play09:24

play09:27

Then we xor c1 and m2 before encryption

play09:30

and obtain c2 and so on

play09:33

We now look at stream ciphers

play09:36

In this category, we also use a symmetric key

play09:39

and a random number called a nonce.

play09:42

For this we can generate a new key

play09:45

and then another one, etc

play09:48

each key will be used to encrypt one or a small group of bits.

play09:51

For a long time, we used a stream cipher called RC4

play09:54

play09:57

It was so bad that it is now forbidden.

play10:00

To encrypt your SMS and calls, GSM

play10:03

uses a stream cipher called A5.

play10:06

It uses 64-bit key but is considered weak because

play10:09

several attacks on this algorithm were found.

play10:12

For all these symmetric techniques,

play10:15

both parties need to exchange the key in advance and in secret

play10:18

play10:21

During the cold war, american and russian diplomats would carry

play10:24

suitcases containing symmetric keys in the plane.

play10:27

They exchanged them in the ambassades and then use them

play10:30

in phone calls. The famous red phone.

play10:33

But today that wouldn't be feasible.

play10:36

Imagine that each time you want to go on facebook, to communicate with the server,

play10:39

you would need to fly to a facebook office

play10:42

and take an appointment to exchange a symmetric key.

play10:45

So symmetric cryptography is not sufficient.

play10:47

This is why in the next video, we will talk about asymmetric encryption.

play10:50

See you soon!

Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
CryptographieSécuritéChiffrementVernamDESAESNSADonnéesInformatiqueConfidentialité
¿Necesitas un resumen en inglés?