Cryptographie
et
Conception & réalisation d'un calendrier crypté
Mais qu'est-ce qu'on va faire cette semaine? 🤔
Qu'est-ce qu'on va faire cette semaine? 🤔
gravures laser des symboles que VOUS aurez dessiné!
impression 3D du cache que VOUS aurez modélisé!
morceau de bois que VOUS aurez choisi!
design (horizontal? Vertical? Autre?) que VOUS aurez choisi!
Qu'est-ce qu'on va faire cette semaine? 🤔
- Dessiner
- Imaginer
- Concevoir
- Fabriquer
- Persévérer
- S'amuser!
en 3D
en 2D
au crayon
à la souris
...Mais aussi...
Essayer de gagner le cadeau-surprise de vendredi en résolvant la "grande énigme"!
Pour cela, on découvrira quelques techniques de "hackers" :-)
Programme
- Introduction
- Règles communes
- Agenda
- On commence!
Règles communes
-
les gsm uniquement aux pauses
-
connexion internet : jouer sans avoir la réponse à la grande énigme = coupure d'internet = 100% chances de perdre
-
Respect des autres...cela va de soi :-)
-
Respect du lieu : déchets à la poubelle, canettes à la poubelle PMC, ...
Parce qu'il faut bien...
ça, c'est fait ^^
Agenda
-
lundi : introduction, présentations et brise-glace, présentation du FabLab, notions de base de la cryptographie, début dans Inkscape + laser
-
mardi: choix du design, de la police, du bois, mesures, dessin dans Inkscape
-
mercredi: intro à la modélisation et à Tinkercad, modélisation du cache et impressions 3D, fin du dessin
-
jeudi: gravures laser des calendriers, fin des dessins.
-
vendredi: finitions du calendrier + solutions de la grande énigme + vainqueur
sur la semaine
Agenda
-
9h - 10h30 :
-
10h30 - 10h45 : pause
-
10h45 - 12h30 :
-
12h30 - 13h15 : pause de midi
-
13h15 - 14h30 :
-
14h30 - 14h45 : pause
-
14h45 - 16h00 :
sur une journée
On commence!
On commence!
par quoi?
On commence!
par se connaître!
GAME TIME 😎
Présentations, puis...
Présentations
- Comment tu t'appelles?
- ton hobby préféré?
- ta couleur préférée?
- ta matière préférée à l'école?
- Une idée pour améliorer le monde?
Et maintenant un petit jeu brise-glace :-)
Hackons un message chiffré!
Avec cette roue
C'est une méthode de chiffrement de la cryptographie, qu'on appelle "chiffrement par substitution mono-alphabétique"
Dans ce cas-ci, la substitution est simplement un décalage dans l'alphabet : on apelle cela une "permutation circulaire"
C'est la méthode dite "de Cesar"
Hackons le nom d'un animal!
1. Tu écris le nom de ton animal préféré
2. Tu utilises la double roue de l'alphabet pour chiffrer ton message, en choisissant un décalage (+2, -3, ...)
3. Tu écris sur un morceau de papier ton animal chiffré chiffré
----on attend que tout le monde aie fini.
4. Tu passes le papier à ton voisin de devant
5. Tu décryptes le message chiffré de ton voisin de derrière :-)
On commence?!
Les machines du FabLab qu'on va utiliser
Les machines
du FabLab
Les machines du FabLab
- Découpeuse/graveuse laser
- imprimante 3D
- découpeuse vinyle (autocollants)
- fraiseuse numérique (CNC)
- scanner 3D
- outils de menuiserie
- électronique...(lumières? sons?)
Les machines
du FabLab
Les machines du FabLab
Découpeuse graveuse laser
Quels fichiers numériques? Des dessins en 2D
- découpe : vectoriels
- gravure : vectoriels ou "matriciels" (photo, image bitmap)
Quel logiciel pour dessiner? Inkscape
Quels matériaux?
- découpe : tout, sauf les métaux (et pas trop épais)
- gravure : tout, sauf les métaux
Les machines
du FabLab
Les machines du FabLab
Découpeuse graveuse laser
Exemple
Les machines
du FabLab
Les machines du FabLab
Découpeuse graveuse laser
Exemple
Les machines
du FabLab
Les machines du FabLab
Découpeuse graveuse laser
Exemple
Les machines du FabLab
Imprimante 3D
Quels fichiers numériques? Des modèles en 3D
- origine : modélisation, banque de fichier (thingiverse, ...) ou scan 3D
- format : .stl, .obj, ...
Quel logiciel pour dessiner? Tinkercad
Quels matériaux?
- PLA, ABS, ...
Les machines
du FabLab
Les machines du FabLab
Imprimante 3D
Exemple
La cryptographie
Qu'est-ce que c'est?
La cryptographie
Qu'est-ce que c'est?
La cryptographie
Qu'est-ce que c'est?
La cryptographie est l'art (ou la science) de protéger des messages en s'aidant souvent de secrets ou clés pour chiffrer le message
La stéganographie est l'art de faire passer inaperçu un message dans un autre message (exemple : sous les cheveux)
La cryptanalyse est l'art de déchiffrer des messages chiffrés (hacking)
La cryptologie est la science qui allie la cryptographie (chiffrer) et la cryptanalyse (déchiffrer).
La stéganographie
Exemple de stéganographie
- dans des images
- dans des fichiers sons
- dans des textes (acrostiches, une ligne sur 2, premier mot de chaque ligne, ...)
Si on ne sait pas qu'il y a un message codé, il passe inaperçu.
Si on sait qu'il y a un message codé, il est "facile" à décoder (il n'est pas "chiffré")
La cryptanalyse
Deux cas de figure de la cryptanalyse:
- attaque sur texte chiffré seul (on n'a que des messages chiffrés : pas d'infos sur la méthode de chiffrement ==> hacking)
- attaque à texte clair connu (on a des parties de messages clairs et leurs chiffrement correspondant. On déduit la méthode)
Plus facile!
Dans notre petit jeu toute à l'heure, quelle type d'attaque avez-vous fait?
La cryptanalyse est la technique qui consiste à déduire un texte en clair d’un texte chiffré sans posséder la clé de chiffrement. Le processus par lequel on tente de comprendre un message en particulier est appelé une attaque.
La cryptographie
Encore une page de vocabulaire et puis on est paré pour la suite!
- chiffrement : transformation à l'aide d'une clé d'un message en clair (dit texte clair) en un message incompréhensible (dit texte chiffré) pour celui qui ne dispose pas de la clé de déchiffrement
- chiffre : un ensemble de règles permettant d'écrire et de lire dans un langage secret (= méthode de cryptage)
- cryptogramme : message chiffré ;
- décrypter : retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement
La cryptographie
Techniques de chiffrement:
- algorithmes de chiffrement faible (ROT/Cesar, Vigenère, ...)
- algorithmes symétriques (clé secrète commune)
- algorithmes asymétriques (clé secrète + clé publique)
La cryptographie
Exemples
1. Technique de chiffrement faible : ROT/Cesar
La cryptographie
Message à chiffrer :
YOURLAB
Algorithme de chiffrement : ROT3
(A D, B E, C F, etc.)
Méthodes pour réaliser le chiffrement :
- "à la main" : on écrit l'alphabet sur papier
- avec la roue
- automatiquement : avec un tableur
- automatiquement : en programmant l'algorithme
Exemples
1. Technique de chiffrement faible : ROT/Cesar
La cryptographie
Message à chiffrer :
YOURLAB
Algorithme de chiffrement : ROT3
(A D, B E, C F, etc.)
A vous! (à la main ou avec la roue)
Exemples
1. Technique de chiffrement faible : ROT/Cesar
La cryptographie
Exemples
2. Attaque sur texte clair (déchiffrement)
Message chiffré :
AYPLYTYJ
clé de chiffrement : connue (méthode de Cesar)
On ne connait juste pas le décalage...
Une idée?
La cryptographie
Exemples
2. Attaque sur texte clair (déchiffrement)
Message chiffré :
AYPLYTYJ
clé de chiffrement : connue (méthode de Cesar)
On ne connait juste pas le décalage...
Mais! Je vous donne un indice: On sait que le cryptogramme de "TOUSSAINT" est "RMSQQYGLR" avec le même décalage
Alors, plus facile maintenant?
La cryptographie
Exemples
2. Attaque sur texte clair (déchiffrement)
On sait que le cryptogramme de "TOUSSAINT" est "RMSQQYGLR" avec le même décalage
Je vous donnais autant d'information en vous disant qu'un T se transforme en R, ou qu'un C se transforme en A.
Autrement dit, en vous donnant simplement le décalage.
Ce décalage, ainsi que la méthode associée (méthode de César) constitue la clé qui permet le chiffrement et la clé "inverse" (le décalage opposé ici) permet le déchiffrement.
La cryptographie
Exemple : plus difficile!
3. Attaque sur texte chiffré (déchiffrement)
Message chiffré :
KJQNHNYFYNTSX
Algorithme de chiffrement : inconnu!
Quel est le message clair?
A vous de jouer!
bonus : laisser l'ordinateur trouver pour vous en utilisant un tableur
La cryptographie
Exemple
4. Algorithme de chiffrement : Vigenère
Cette technique de chiffrement utilise comme clé un "mot" (=une suite de lettres)
La cryptographie
Exemple
4. Algorithme de chiffrement : Vigenère
Pour chaque couple de lettres:
- on regarde la colonne de la lettre du texte clair
- on regarde la ligne de la lettre de la clé
- on obtient une lettre, qui est la lettre chiffrée
Dans ce cas-ci : colonne J, ligne M, c'est la lettre V
La cryptographie
Exemple
4. Algorithme de chiffrement : Vigenère
On obtient:
La cryptographie
Comment déchiffrer un message codé avec l'algorithme de Vigenère?
Pour chaque couple de lettre:
- On regarde la ligne de la lettre de la clé
- On cherche la lettre du texte chiffré
- On regarde la colonne correspondante : c'est la lettre du texte clair
Ici : à la ligne de la lettre M, la lettre V se trouve dans la colonne J
La cryptographie
Cryptographie appliquée
texte clair : CORONAVIRUS
Clé : GESTE
Quel est le message chiffré?
A vous!
La cryptographie
Cryptanalyse appliquée
Message chiffré : CHUZF-CF BWTZZNIMC?
Clé : YOURLAB
Quel est le texte clair?
A vous!
La cryptographie
Déchiffrage de Vigenère
Message chiffré : SDFLKAOVOC
Clé : ???????
Quel est le texte clair?
C'est beaucoup plus difficile! Voire impossible! (Il y a une "infinité" de possibilités! En tout cas un trèèèèèès grand nombre!)
La cryptographie
clé privée / clé publique
Imaginons que l'on veuille envoyer un message secret à quelqu'un.
Le but de chiffrer le message, c'est qu'il soit incompréhensible par quelqu'un qui l'intercepte.
Or, si le message est chiffré avec l'algorithme de Vigenère, le destinataire aura besoin de la clé pour le déchiffrer.
Le message chiffré peut être public (par définition)
Est-ce que la clé peut être publique?
Il est temps de parler comme les cryptologues:
A
B
Il est temps de parler comme les cryptologues:
A
B
La cryptographie
clé privée / clé publique
Le message chiffré peut être public (par définition)
Est-ce que la clé peut être publique?
Que se passe-t-il si Eve connaît la clé?
Comme il n'exise pas une infinité d'algorithmes de chiffrement, elle peut en essayer plusieurs, et donc essayer l'algorithme de Vigenère.
Dans ce cas, elle déchiffrera facilement le message!
Il ne faut donc PAS que la clé soit publique!
La cryptographie
clé privée / clé publique
Supposons qu'Alice veuille envoyer un message codé à Bob.
La serrure représente l'algorithme de chiffrement.
L'algorithme de Vigenère est symétrique, car le chiffrement et le déchiffrement se font avec la même clé!
La cryptographie
clé privée / clé publique
clé : YOURLAB
serrure :
algorithme de Vigenère
coffre fermé : message chiffré
message clair
La cryptographie
clé privée / clé publique
clé : YOURLAB
serrure :
algorithme de Vigenère
coffre fermé : message chiffré
message clair
Si Eve connait la clé : elle peut ouvrir le coffre ( = déchiffrer le message) !
La cryptographie
clé privée / clé publique
On communique donc secrètement la clé à son correspondant...mais...faut-il chiffrer la clé pour éviter que quelqu'un l'intercepte? :-)
Car...si on chiffre un message, c'est justement parce qu'il ne peut pas être intercepté!
On n'a donc pas fondamentalement avancé si on doit communiquer une clé secrète qui permet de déchiffrer le message, car elle peut tout autant être interceptée!
Si elle est interceptée, le message peut être déchiffré!
La cryptographie
clé privée / clé publique
Imaginons qu'Alice veuille envoyer un message secret à Bob.
Alice a sa propre clé, qu'elle garde pour elle.
Bob a sa propre clé, qu'il garde pour lui.
La clé d'Alice ferme le cadenas vert.
La clé de Bob ferme le cadenas rouge.
Comment faire pour que Bob puisse lire le message d'Alice, si tout ce qu'ils peuvent faire est de s'envoyer le coffre par la poste, et qu'il soit toujours fermé apr au moins un cadenas?
La cryptographie
clé privée / clé publique
Comment faire pour que Bob puisse lire le message d'Alice en ne faisant que s'envoyer (par la poste) le coffre fort?
La cryptographie
clé privée / clé publique
Comment faire pour que Bob puisse lire le message d'Alice en ne faisant que s'envoyer (par la poste) le coffre fort?
La cryptographie
clé privée / clé publique
C'est ce qu'on appelle un algorithme de chiffrement asymétrique! (car Alice et Bob ont chacun une clé différente)
La cryptographie
Chiffrement asymétrique
C'est l'algorithme le plus utilisé en pratique aujourd'hui!
Une clé publique, ça résoud notre problème de toute à l'heure : même si elle est interceptée, elle ne permet pas, à elle seule, de déchiffrer le message!
Le message ne peut être déchiffré que grâce à la connaissance de la clé publique (qu'on communique) ET d'une clé privée (qu'on ne communique jamais)!
La cryptographie
Chiffrement asymétrique
C'est l'algorithme le plus utilisé en pratique aujourd'hui!
Le protocole le plus courant est le protocole RSA
exemple :
- pour la sécurité des transactions bancaires sur Internet
- pour la sécurité des pages web (https)
- pour la sécurité des cryptomonnaies (Bitcoin, ...)
- pour protéger un mot de passe
La cryptographie
Chiffrement asymétrique
C'est l'algorithme le plus utilisé en pratique aujourd'hui!
Le protocole le plus courant est le protocole RSA
La cryptographie
Chiffrement asymétrique
C'est l'algorithme le plus utilisé en pratique aujourd'hui!
Le protocole le plus courant est le protocole RSA
Comment se fait-il que la clé publique puisse être...publique?
Comment faire en sorte que l'information qu'elle contient soit "secrète"?
La cryptographie
Chiffrement asymétrique
Comment faire en sorte que l'information que contient la clé publique soit "secrète"?
On utilise des opérations mathématiques qui sont faciles à faire dans un sens, mais difficiles à faire dans l'autre sens!
Ces opérations sont :
- dans le sens "facile" : la multiplication de deux nombres :-)
- dans le sens "difficile" : la factorisation du produit des deux nombres!
La cryptographie
Chiffrement asymétrique
Ces opérations sont :
- dans le sens "facile" : la multiplication de deux nombres :-)
- dans le sens "difficile" : la factorisation du produit des deux nombres!
Exemple :
Si je vous donne les nombres 11 et 17, vous pouvez très facilement calculer leur produit:
11 x 17 =
La cryptographie
Chiffrement asymétrique
Ces opérations sont :
- dans le sens "facile" : la multiplication de deux nombres :-)
- dans le sens "difficile" : la factorisation du produit des deux nombres!
Exemple :
Si je vous donne les nombres 11 et 17, vous pouvez très facilement calculer leur produit:
11 x 17 = 187
Mais si je vous donne uniquement le nombre 437, et que je vous dit que c'est le produit de deux nombres, pouvez-vous retrouver ces deux nombres aussi facilement?
La cryptographie
Chiffrement asymétrique
Qu'est-ce que la factorisation?
Factoriser un nombre (entier), c'est le décomposer en un produit de nombres (entiers) qu'on ne sait plus décomposer
Exemple : 24 = 2 x 12 = 2 x 2 x 6 = 2 x 2 x 2 x 3
On ne sait pas décomposer 2 car 2 = 1 x 2
On ne sait pas décomposer 3 car 3 = 1 x 3
La cryptographie
Chiffrement asymétrique
Qu'est-ce que la factorisation?
Factoriser un nombre (entier), c'est le décomposer en un produit de nombres (entiers) qu'on ne sait plus décomposer
Comment appelle-t-on ces nombres qu'on ne sait pas décomposer?
La cryptographie
Chiffrement asymétrique
Factoriser un nombre (entier), c'est le décomposer en un produit de nombres (entiers) qu'on ne sait plus décomposer
On appelle les nombres qu'on ne sait plus décomposer des nombres premiers.
Chaque nombre entier a une décomposition (en facteurs premiers) qui est unique!
Exemple : Quelle est la décomposition du nombre 100? et 99?
La cryptographie
Chiffrement asymétrique
Chaque nombre entier a une décomposition (en facteurs premiers) qui est unique!
Donc si la clé publique est le produit de deux nombres premiers, alors en connaissant un des deux facteurs (la clé privée d'Alice), on trouve l'autre!
Mais si on ne connait pas un des deux facteurs, on ne sait pas les retrouver (en un temps raisonnablement court)
La cryptographie
Chiffrement asymétrique
Mais si je vous donne uniquement le nombre 437, et que je vous dit que c'est le produit de deux nombres, pouvez-vous retrouver ces deux nombres facilement?
C'est le principe du chiffrement RSA :
La clé publique est le produit de deux nombres très grands*.
Le temps qu'il faudrait à un ordinateur pour tester toutes les possibilités et retrouver les deux nombres (donc la clé privée d'Alice) est...des millions d'années!
*Actuellement: 2048 bits = 2 = ?
2048
La cryptographie
Chiffrement asymétrique
Mais si je vous donne uniquement le nombre 437, et que je vous dit que c'est le produit de deux nombres, pouvez-vous retrouver ces deux nombres facilement?
Si vous avez envie de gagner 1.000.000 de dollars:
Distribution des nombres premiers parmi les nombres entiers
Factorisation, problème du voyageur de commerce, etc...
Text
La cryptographie
Quelle heure est-il?
La cryptographie
Autres méthodes de chiffrement :
Arrivez-vous à déchiffrer ce message?
Alphabet des templiers
La cryptographie
Autres méthodes de chiffrement :
Alphabet des templiers
De quel type de chiffrement s'agit-il?
On substitue les lettres, non pas par d'autres lettres (comme dans les méthodes de susbstitution mono-alphabétiques) mais par...
Un symbole (un signe) moins connu
==> clé privée à moitié publique
==> chiffrement pauvre!
C'est un intermédiaire entre un chiffre et un code
La cryptographie
La cryptographie
La cryptographie
Autres méthodes de chiffrement :
Arrivez-vous à décoder ce message?
Le Morse (c'est plutôt un code qu'un chiffre)
La cryptographie
Autres méthodes de chiffrement :
caractères ASCII
C'est aussi un code plutôt qu'un chiffre.
C'est une "méthode d'encodage" informatique.
encodage en informatique = transformer une information en langage binaire
La cryptographie
Autres méthodes de chiffrement :
Dans un ordinateur, chaque caractère de texte est traduit en une suite de 0 et de 1 (langage binaire)
Avec une suite de 8 '0' ou '1', on peut faire 2 = 256 combinaisons différentes : bien assez pour encoder la majorité des caractères de l'alphabet! (minuscules, majuscules, chiffres, caractères spéciaux)
On dit que l'encodage est en 8 bits.
8
La cryptographie
Autres méthodes de chiffrement :
Arrivez-vous à décoder ce message?
Caractères ASCII
84 114 111 117 118 101 122 45 118 111 117 115 32 113 117 101 32 99 171101 115 116 32 112 108 117 115 32 102 97 99 105 108 101 32 113 117 101 32 108 101 32 77 111 114 115 101 63
(tableau en plus grand page suivante)
touche ALT + code ASCII sur le pavé numérique du clavier
La cryptographie
Autres méthodes de chiffrement :
Il s'agit de faire correspondre chaque lettre de l'aphabet avec une autre, à l'aide d'un mot qui sert de clé
Exemple :
On écrit le mot qui sert de clé, et ensuite, on "distribue" les lettres restantes de l'alphabet en les écrivant par ligne ou colonne.
Avec la clé "citron" :
La cryptographie
Autres méthodes de chiffrement :
Exemple :
Ensuite, on réécrit l'alphabet dans l"ordre des colonnes, en-dessous de l'alphabet normal :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
CAHQYIBJSZTDKURELVOFMWNGPX
Donc le A se transforme en C, le B en A, le C en H, etc.
Et donc finalement, si on veut chiffrer le mot "BONJOUR" avec cette méthode (et cette clé!), on obtiendra:
AEUZEMO
La cryptographie
ABCDEFGHIJKLMNOPQRSTUVWXYZ
CAHQYIBJSZTDKURELVOFMWNGPX
C'est un méthode par substitution mono-alphabétique, tout comme la roue de Cesar!
Sauf que la permutation de lettres n'est pas circulaire, mais dépendante d'une clé privée, et selon une logique particulière!
La cryptographie
Résumé/rappel des choses qu'on a vues:
a) Méthodes de chiffrement avec :
- clé privée / clé publique
- symétrique / asymétrique
Dans quelles catégories sont les méthodes suivantes ? A quoi correspond la clé dans chaque cas?
- par substitution mono-alphabétique:
méthode de Cesar (permutation = circulaire)
méthode de Vigenère
méthode du carré de substitution
- le protocole RSA. Qu'est-ce qui garantit sa fiabilité?
b) Méthodes de codage : Morse, ASCII
La cryptographie
Faisons un peu de hacking!
La cryptographie
Faisons un peu de hacking!
2 Alices, 2 Bob, 1 Eve.
Chacun sera une fois Eve!
Le but pour Eve est de réussir à ouvrir le coffre en entrant le bon code.
Le but pour Alice et Bob est de vérifier qu'ils peuvent entrer le bon code.
La cryptographie
Les 2 Alices choisissent un nombre premier entre10 et 100 (P)
Les 2 Bob choisissent un nombre premier entre 10 et 100 (Q)
Vous me le communiquez secrètement.
Je vous communique à tous le produit N = P x Q
Le digipass déclenche l'ouverture du coffre si :
on entre P, puis la touche ENTREE, puis on entre Q, puis la touche ENTREE
La cryptographie
Les 2 Alices choisissent un nombre premier entre10 et 100 (P)
Les 2 Bob choisissent un nombre premier entre 10 et 100 (Q)
Vous me le communiquez secrètement.
Je vous communique à tous le produit N = P x Q
Le digipass accepte:
Q pour Alice
P pour Bob
P ou Q pour Eve.
Exemple:
Les Alices choisissent XX
Les Bobs choisissent XX
Je vous communique à tous le nombre 143
Le digipass s'ouvre si on entre cette séquence :
La cryptographie
La cryptographie
Un petit calcul...
La cryptographie
Programmer l'algorithme de Cesar avec Scratch
Facilement transposable dans MITAppInventor pour créer son application Android!
La cryptographie
Programmer l'algorithme de Cesar avec Scratch
La cryptographie
Programmer l'algorithme de Cesar avec Scratch
Stage Cryptographie
By simongiz
Stage Cryptographie
du 15 au 19 février 2021
- 585