et
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!
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" :-)
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 ^^
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
9h - 10h30 :
10h30 - 10h45 : pause
10h45 - 12h30 :
12h30 - 13h15 : pause de midi
13h15 - 14h30 :
14h30 - 14h45 : pause
14h45 - 16h00 :
GAME TIME 😎
Présentations, puis...
- 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?
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 :-)
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
Découpeuse graveuse laser
Exemple
Découpeuse graveuse laser
Exemple
Découpeuse graveuse laser
Exemple
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, ...
Imprimante 3D
Exemple
Qu'est-ce que c'est?
Qu'est-ce que c'est?
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).
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é")
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.
Encore une page de vocabulaire et puis on est paré pour la suite!
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)
Exemples
1. Technique de chiffrement faible : ROT/Cesar
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
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
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?
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?
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.
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
Exemple
4. Algorithme de chiffrement : Vigenère
Cette technique de chiffrement utilise comme clé un "mot" (=une suite de lettres)
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
Exemple
4. Algorithme de chiffrement : Vigenère
On obtient:
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
Cryptographie appliquée
texte clair : CORONAVIRUS
Clé : GESTE
Quel est le message chiffré?
A vous!
Cryptanalyse appliquée
Message chiffré : CHUZF-CF BWTZZNIMC?
Clé : YOURLAB
Quel est le texte clair?
A vous!
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!)
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
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!
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é!
clé privée / clé publique
clé : YOURLAB
serrure :
algorithme de Vigenère
coffre fermé : message chiffré
message clair
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) !
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é!
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?
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?
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?
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)
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)!
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
Chiffrement asymétrique
C'est l'algorithme le plus utilisé en pratique aujourd'hui!
Le protocole le plus courant est le protocole RSA
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"?
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!
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 =
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?
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
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?
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?
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)
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
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
Quelle heure est-il?
Autres méthodes de chiffrement :
Arrivez-vous à déchiffrer ce message?
Alphabet des templiers
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
Autres méthodes de chiffrement :
Arrivez-vous à décoder ce message?
Le Morse (c'est plutôt un code qu'un chiffre)
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
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
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
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" :
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
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!
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
Faisons un peu de hacking!
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.
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
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 :
Un petit calcul...
Programmer l'algorithme de Cesar avec Scratch
Facilement transposable dans MITAppInventor pour créer son application Android!
Programmer l'algorithme de Cesar avec Scratch
Programmer l'algorithme de Cesar avec Scratch