GnuPG est un outil qui permet de chiffrer, déchiffrer et signer des messages en utilisant les algorithmes de chiffrements
Un certain nombre d'algorithmes de chiffrement et de hashage sont pris en charge par GnuPG
-> Nous allons voir les algo qui existent aujourd'hui
Mots de passe pas stockés directement sur fichier
Hash des mot de passe enregistré
hash = suite de caractères de taille fixe associée à une chaîne quelconque
-> Pour vous authentifier sur un site, vous tapez votre mot de passe, et le programme vérifie que son hash est bien identique au hash stocké sur le serveur
D'après "The Gossip Chain" de Norman Rockwell
D'après "The Gossip Chain" de Norman Rockwell
D'après "The Gossip Chain" de Norman Rockwell
source: commons.wikimedia.org
Hérodote | Histories |
Reine Gordot | Tablettes de cire |
→ Dissimuler l'exstence Cacher le contenu d'un message
Stegano et Crypto peuvent être combinés → micropoint, microfilms
ABCDEFGHIKLMNOPQRSTVXYZ
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
DEFGHIKLMNOPQRSTVXYZABC
TON SECRET EST TON PRISONNIER
T N E R T S T N R S N I R
O S C E E T O P I O N E
TNERTSTNRSNIRIFITDVEDASNRSNIROSCEETOPIONE
_____________________________________________________________
| | | | | | |
| O | n | s | a | m | |
__| u | s | e | b | i |__|
| | e | n | e | n | c |
| | r | y | p | t | o |
| | | | | | |
_____________________________________________________________
alphabet clair | 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 |
---|---|
alphabet chiffré | 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 |
texte clair | cestcoollescoursdecrypto |
texte chiffré | fhvwfrroohvfrxuvghfubswr |
→ Combien de combinaison différentes ?
alphabet clair | 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 |
---|---|
alphabet chiffré | 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 |
texte clair | cestcoollescoursdecrypto |
texte chiffré | fhvwfrroohvfrxuvghfubswr |
BAELXEJ JCKJ ZA JANBH HSXGXWXL XMXPJ LCEEA XK
GCP JGCPH DPOH. FKXEL AOOA AKJ JAGNPEA O’SPHJCPH LA NX’GKD OA HXMAJPAG,AOOA HA OAMX, YXPHX OA HCO LAMXEJ OA HCKMAGXPE AJ
OKP LPJ : "IGXEL GCP, LABKPH NPOOA AJ KEA EKPJH RA J’XP GXZCEJA
OAH OAIAELAH LAH GCPH BXHHAH BKPH-RA NA BAGNAJJGA LA
HCOOPZPJAG KEA DXMAKG LA MCJGA NXRAHJA ?"
ABPOCIKA-ZCEJAH LAH NPOOA AJ KEA EKPJH
Lettre | Fréquence | Lettre | Fréquence | |
---|---|---|---|---|
----- | Occurrences | % | ----- | Occurrences |
A | 61 | 19,5 | N | 9 |
B | 8 | 2.4 | O | 23 |
C | 14 | 4.5 | P | 26 |
D | 3 | 1 | Q | 0 |
E | 19 | 6.1 | R | 3 |
F | 1 | 0,3 | S | 2 |
G | 18 | 5.7 | T | 0 |
H | 28 | 8,9 | U | 0 |
I | 3 | 1 | V | 0 |
J | 28 | 8.9 | W | 1 |
K | 16 | 5.1 | X | 20 |
L | 15 | 4,8 | Y | 3 |
M | 7 | 2.2 | Z | 6 |
A
, H
ou J
→ a
, e
ou i
OA AOOA, OAH
→ Que vaut A
, O
et H
mot-clef | NORMANROCKWELL |
---|---|
texte clair | CEQUEJEMAMUSEENCRYPTO |
texte chiffré | PSHGEWVACWQWPPAQIKPGF |
mot-clef | NORMANROCKWELLNORMANR |
---|---|
texte clair | CEQUEJEMAMUSEENCRYPTO |
texte chiffré | PSHGEWVACWQWPPAQIKPGF |
XAUNMEESYUEDTLLFGSNBWQUFXPQTYO RUTYIINUMQIEULSMFAFXGUTYBXXAGB HMIFIIMUMQIDEKRIFRIRZQUHIENOOOIG RMLYETYOVQRYSIXEOKIYPYOIGRMLYE TYOVQRYSIXEOKIYPYOIGRFBWPIYRBQ URJIYEMJIGRYKXYACPPQSPBVESIRZQR UFREDYJIGRYKXBLOPJARNPUGEFBWMI LXMZSMZYXPNBPUMYZMEEFBUGENLRD EPBJXONQEZTMBWOEFIIPAHPPQBFLGDE MFWFAHQ
source: commons.wikimedia.org
→ Quel type de chiffrement ?
sqfrdz sqfze sqds
IUTSTDIE
A | O | K | U | Y | U | X | R | I | A | U | K | U | F | H | L | O | N | S | W | K | L | K | T | R | F | P |
M | Z | N | C | S | K | Y | O | N | S | L | K | T | R | F | A | J | Q | Q | B | R | T | X | Y | U | K | A |
T | H | O | M | A | S | J | E | F | F | E | R | S | O | N | S | W | H | E | E | L | C | I | P | H | E | R |
V | R | E | U | Y | W | R | 3 | V | P | F | E | 7 | J | Y | I | L | D | D | O | T | L | H | E | I | V | O |
C | E | P | K | Q | H | 6 | K | S | Z | G | F | B | V | X | Y | H | Z | J | P | S | J | G | W | M | S | 8 |
Wetter
à 6h05)Wetter
→ ETJWPX
)source: commons.wikimedia.org
Lettre | Code | Lettre | Code | Lettre | Code |
---|---|---|---|---|---|
a | 1100001 | j | 1101010 | s | 1110011 |
b | 1100010 | k | 1101011 | t | 1110100 |
c | 1100011 | l | 1101100 | u | 1110101 |
d | 1100100 | m | 1101101 | v | 1110110 |
e | 1100101 | n | 1101110 | w | 1110111 |
f | 1100110 | o | 1101111 | x | 1111000 |
g | 1100111 | p | 1110000 | y | 1111001 |
h | 1101000 | q | 1110001 | z | 1111010 |
i | 1101001 | r | 1110010 |
IUT → 1101001 1110101 1110100
11 01 00 11 11 01 01 11 10 10 0
11 10 00 11 11 10 10 11 01 01 0
1110001 1111010 1101010→ QZJ
Texte clair : 1101001 1110101 1110100
clef DIE : 1100100 1101001 1100101
Texte chiffré : 0001101 0011100 0010001
Table de vérité de XOR | ||
A | B | R = A ⊕ B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Texte clair : 1101001 1110101 1110100
clef DIE : 1100100 1101001 1100101
Texte chiffré : 0001101 0011100 0010001
Texte chiffré : 0001101 0011100 0010001
clef DIE : 1100100 1101001 1100101
Texte clair : 1101001 1110101 1110100
On distingue deux types d'algorithmes :
n
bits en entrée et en ressortent n
Dans la plupart des situations, la taille normale d'un secret de sécurité symétrique est de 128 ou 256 bits
clef d'Alice :
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
H S F U G T A K V D E O Y J B P N X W C Q R I M Z L
Clef de Bernard :
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
C P M G A T N O J E F W I Q B U R Y H X S D Z K L V
Message : | vois moi à midi |
---|---|
Crypté avec la clef d'Alice: | RBVW YBV H YVUV |
Crypté avec la clef de Bernard: | YPDZ LPD O LDSD |
Décrypté avec la clef d'Alice: | MPJY ZPJ L ZJCJ |
Décrypté avec la clef de Bernard: | cbir wbi y wiai |
f: nombre -> autre nombre
2 + 3 = 5 (mod 7)
et 2 + 6 = 1 (mod 7)
En math : utilisation du reste de la division
11 x 9 = 99
99 : 13 = 7, reste 8
11 x 9 = 8 (mod 13)
-> Irréversible !
\[ 35 = 3 \times 7\\ 77 = 7 \times 11\\ 9991 = 103 \times 97 \\ x^2-y^2=(x+y)(x-y) \]
La cryptographie à clé publique Le principe du double cadenas
Le chiffrement est une fonction à sens unique
Idée :
Multiplier 2 très grands nombres premiers est une
opération facile p = 47, q = 71, module N = 3337. Retrouver les facteurs à partir du résultat est une opération très difficile.
Clé de déchiffrement : son inverse multiplicatif dans un calcul (modulo)
\[ C=m^e (mod \ N) \]
m message, C texte chiffré, e clé publique, N autre clé publique
\[ m=C^d (mod \ N) \]
d clé privée
N est fait à partir de 2 nombres premiers p et q
\[ C=m^e (mod \ N) \]
Pour un hacker, ou est l'inconnu de l'equation ?
Pour la clé privée, trouver d tel que : \[ d=e-1 (mod \ \Phi(N))\\ ed=1 (mod \ \Phi(N)) \]
d plus petit que \(\Phi(N)\) mais plus grand que q et p
Ils se trouvent ici
(à lire avec Jupyter Notebook ou Visual Studio Code)
Comment résister à l’analyse des fréquences ?