Premier cours d'arithmétique + ajout de ressources
This commit is contained in:
parent
8eb8e9dfcb
commit
8d6437364f
|
@ -1,4 +1,4 @@
|
|||
# Cours crypto
|
||||
# Histoire de la crypto
|
||||
|
||||
Deux premiers cours : histoire de la crypto
|
||||
Calculatrice : on verra. Si oui, le mieux c'est la TI89
|
||||
|
@ -284,10 +284,10 @@ _________________________________________
|
|||
|
||||
###### Casser Vigenère : méthode de William Friedman (1891 - 1969)
|
||||
|
||||
Il fabrique un indice de coincidence pour chaque langage, permettant de savoir quelle est la probabilité que deux lettres prises au hasard soient identiques et utilise cet indice pour savoir si texte crypté est monoalphabétique (si l'indic colle c'est le cas). ensuite ça permet aussi de connaitre la longueur de la clef.
|
||||
Pour trouver longueur de la clef, on tente avec diverses longueurs de clefs, à partir de 1, et on refait l'indice en prenant une lettre sur n (du coup 1 sur n, n étant la longueur de la clef, on tombe sur un truc monoalphabétique), si on obtient un indice proche de l'indice du monoalphabétiaue (0,07), c'est gagné : on a ma longueur de la clef.
|
||||
Il fabrique un indice de coincidence pour chaque langage, permettant de savoir quelle est la probabilité que deux lettres prises au hasard soient identiques et utilise cet indice pour savoir si le texte crypté est monoalphabétique (si l'indice colle c'est le cas). Ensuite ça permet aussi de connaitre la longueur de la clef.
|
||||
Pour trouver longueur de la clef, on tente avec diverses longueurs de clefs, à partir de 1, et on refait l'indice en prenant une lettre sur n (du coup 1 sur n, n étant la longueur de la clef, on tombe sur un truc monoalphabétique), si on obtient un indice proche de l'indice du monoalphabétique (0,07), c'est gagné : on a la longueur de la clef.
|
||||
|
||||
Fonctionne bien avec mots-clef pas trop long sur texte long.
|
||||
Fonctionne bien avec mots-clefs pas trop longs sur texte long.
|
||||
|
||||
###### Au delà de Vigenère : la machine allemande Enigma
|
||||
|
||||
|
@ -299,14 +299,13 @@ Le code est symétrique, pour décrypter il suffit de positionner correctement t
|
|||
|
||||
###### Au delà d'Enigma : Bletchly Park
|
||||
|
||||
Ils ont réussi à casser Enigma, mais la question demeure : faut il le cache rà l'ennemi ?
|
||||
Ils ont réussi à casser Enigma, mais la question demeure : faut il le cacher à l'ennemi ?
|
||||
|
||||
##### Tomogrammiques
|
||||
|
||||
###### Auguste Collon (env. 1900)
|
||||
|
||||
|
||||
Système à damiers utilisant des coordonées (deux lettres) pour chaque lettre. Présenté ensuite sous blocs de n lettres à séparer pour remettre coordonnées ensemble.
|
||||
Système à damiers utilisant des coordonnées (deux lettres) pour chaque lettre. Présenté ensuite sous blocs de n lettres à séparer pour remettre coordonnées ensemble.
|
||||
|
||||
Pour décrypter, commencer par trouver longueur des blocs. (Comment ? on doit trouver au max 25 bigrammes, nombre max du damier, faut donc tester)
|
||||
Une fois qu'on a la longueur de bloc, on peut repérer les bigrammes fréquents, lancer une analyse de fréquence.
|
||||
|
@ -314,7 +313,7 @@ Une fois analyse fréquence faite, on a genre au moins le e. Faut ensuite foncti
|
|||
|
||||
###### Chiffre Bifide de Delastelle (1840 - 1902)
|
||||
|
||||
Basé sur chiffre de polybe, mais en mode chiadé : on fait des blocs de n , puis on retranscrit d'autres lettre à partir de ces nouvelles cordonnées.
|
||||
Basé sur chiffre de polybe, mais en mode chiadé : on fait des blocs de n , puis on retranscrit d'autres lettres à partir de ces nouvelles cordonnées.
|
||||
|
||||
###### Chiffre digraphide
|
||||
|
||||
|
@ -332,7 +331,7 @@ PlayFair est dans Polybe, on peut l'appliquer à Vigenère ?
|
|||
###### Chiffre SlideFaire
|
||||
|
||||
PlayFair en Vigenère.
|
||||
Il faut un mot-clef (pour vigenère). En se basant sur lettre du mot clef on récupère par binome de lettre : point 1 : sans décalage, point 2 : dans ligne décalée correpsondant à lettre du mot clef.
|
||||
Il faut un mot-clef (pour vigenère). En se basant sur lettre du mot clef on récupère par binome de lettre : point 1 : sans décalage, point 2 : dans ligne décalée correspondant à lettre du mot clef.
|
||||
|
||||
Cassable avec indice de coincidence mais non plus pour 26 lettres, mais sur 650 bigrammes.
|
||||
|
||||
|
@ -345,7 +344,7 @@ Pas facile à casser.
|
|||
###### A trois carrés
|
||||
|
||||
Bon, évolution du délire de deux carrés, mais là en plus on peut faire des trigrammes.
|
||||
Ultra simple à utiliser ! Par binome de lettre on chope la lettre au croisement des deux grilles, pis on indique la ligne/colonne auquel ça correspond par n'importe quelle lettre présetne dans la ligne/colonne.
|
||||
Ultra simple à utiliser ! Par binome de lettre on chope la lettre au croisement des deux grilles, pis on indique la ligne/colonne auquel ça correspond par n'importe quelle lettre présente dans la ligne/colonne.
|
||||
|
||||
Si on veut caser, on peut tenter d'identifier la lettre centrale. Mais c'est bien chaud.
|
||||
|
||||
|
@ -361,10 +360,10 @@ Chiffrement affine : y = a x + b . a et b sont des constantes et constituent la
|
|||
|
||||
###### Chiffre de Hill
|
||||
|
||||
Attention : calculatrice calcule dans R, on calcule dnas Z (entier relatif) >> elle va donner résultats faux.
|
||||
Calcul de matrice >> a revoir
|
||||
Attention : calculatrice calcule dans R, on calcule dans Z (entier relatif) >> elle va donner résultats faux.
|
||||
Calcul de matrice >> à revoir
|
||||
|
||||
Pour déchiffrer, on peut pas fair de division de matrice. Heureusement il existe des matrices inverse !
|
||||
Pour déchiffrer, on peut pas faire de division de matrice. Heureusement il existe des matrices inverse !
|
||||
|
||||
Voir notes manuscrites pour formules math.
|
||||
|
||||
|
@ -400,8 +399,10 @@ Explication bien chiadée mais bien fichue. On transmet deux nombres à partir d
|
|||
|
||||
Il existe aussi DES c'est peut être l'avenir. Ou la crypto quantique.
|
||||
|
||||
* Courbe elliptique : les matheux ont pas de théorie la dessus, c'est des graphiques avec sur couche de chiffrement... on connait pas bien la théorie donc on peut coder dessus
|
||||
* crypto quantique: on sait pas fair mais on a la théorie !
|
||||
* Courbe elliptique : les matheux ont pas de théorie la dessus, c'est des graphiques avec surcouche de chiffrement... on connait pas bien la théorie donc on peut coder dessus
|
||||
* crypto quantique: on sait pas faire mais on a la théorie !
|
||||
|
||||
|
||||
|
||||
### récapitulatif
|
||||
|
Binary file not shown.
BIN
Cours Cryptographie/Ressources/Cours 3.docx
Normal file
BIN
Cours Cryptographie/Ressources/Cours 3.docx
Normal file
Binary file not shown.
Binary file not shown.
BIN
Cours Cryptographie/Ressources/Historique Cryptographie.pdf
Normal file
BIN
Cours Cryptographie/Ressources/Historique Cryptographie.pdf
Normal file
Binary file not shown.
BIN
Cours Cryptographie/Ressources/Master Eii - DIFFIE HELLMAN.pdf
Normal file
BIN
Cours Cryptographie/Ressources/Master Eii - DIFFIE HELLMAN.pdf
Normal file
Binary file not shown.
BIN
Cours Cryptographie/Ressources/Master Eii - EL GAMAL.pdf
Normal file
BIN
Cours Cryptographie/Ressources/Master Eii - EL GAMAL.pdf
Normal file
Binary file not shown.
BIN
Cours Cryptographie/Ressources/Master Eii - RSA.pdf
Normal file
BIN
Cours Cryptographie/Ressources/Master Eii - RSA.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -6,7 +6,7 @@
|
|||
- Imitation game (parle de Turing)
|
||||
- Bienvenue à GATTACA (tiré d'un livre : le meilleur des mondes / aldous Huxley)
|
||||
- Les messagers du vent (Wind Talkers), parle langage Navajo
|
||||
- Ramanujan (un indien teubé qu'est n fait un génie des maths)
|
||||
- Ramanujan (un indien teubé qu'est en fait un génie des maths)
|
||||
|
||||
|
||||
## Livres
|
||||
|
@ -16,4 +16,4 @@
|
|||
- Le grand roman du Big Bang, Simon Sigh
|
||||
- Le scarabée d'or, Edgar Allan Poe
|
||||
- Je suis né un jour bleu, Daniel Tamett
|
||||
|
||||
- Petit manuel de désobéissance citoyenne
|
||||
|
|
122
Cours Cryptographie/Éléments d'arithmétique.md
Normal file
122
Cours Cryptographie/Éléments d'arithmétique.md
Normal file
|
@ -0,0 +1,122 @@
|
|||
Éléments d'arithmétique
|
||||
========================
|
||||
|
||||
## Introdution
|
||||
|
||||
Cours d'outils pour la crypto, ne pas chercher à fair eun lien avec crypto, ça viendra après
|
||||
|
||||
Rappels : Ensembles (du premier au dernier, l'un appartient au suivant)
|
||||
N => Naturels
|
||||
Z => Entiers
|
||||
D => Décimal
|
||||
Q => Rationnel
|
||||
R => Réels
|
||||
C => Complexes
|
||||
Q => Quaternion
|
||||
|
||||
On va travailler avec des Entiers avec deux opérations : l'addition et la multiplication (pas de division, sauf Euclidienne)
|
||||
Pour dire qu'un nombre en divise un autre : n|a (n divise a)
|
||||
|
||||
E à l'envers = il existe
|
||||
! = unique
|
||||
|
||||
## La division euclidienne
|
||||
|
||||
### Divisibilité dans N
|
||||
|
||||
| est symbole de la relation de divisibilité. C'est une relation d'ordre partiel : quand on bosse avec les congruances des nombres, elles ne conservent pas leur ordre (exmple de 12 et 10 congruant 3).
|
||||
|
||||
### Définition
|
||||
|
||||
Globalement, on se fout de ce qui n'est pas l reste dans division euclidienne (le chiffre en dessous du diviseur)
|
||||
|
||||
Gauss, petit génie, a repris la théorie d'euclide, et a vu la théorie des horloges dedans : une division euclidienne consiste à compter avec une horloge avec comme nombre d'heures le divisuer et voir la nombre de tour du cadran qui rentre et prendre le reste.
|
||||
|
||||
Critères de divisilibité (nomre est-il divisible par ?)
|
||||
Ls connaitre (de tête) :
|
||||
2 : Si pair
|
||||
3 : Si sommes des chiffres divisibles par 3
|
||||
4 : Deux derniers chiffres doivent être divisibles par 4
|
||||
5 : finit par 0 ou 5
|
||||
6 : Nombre pair avec somme des chiffres divisibles par 3
|
||||
8 : Trois derniers chiffres divisibles par 8
|
||||
9 : si somme des chiffres divisible par 9
|
||||
10 : finit par 0
|
||||
11 : Somme des rangs pairs moins somme des rangs impairs doit être divisible par 11
|
||||
25 : Deux derniers chiffres divisibles par 25 ( 00, 25, 50, 75)
|
||||
|
||||
Le troisième soutra indien
|
||||
il faut faire les calculs Verticalement et en diagonale
|
||||
|X|
|
||||
|
||||
|
||||
La congruence est compatibl avec addition et multiplication dans Z.
|
||||
|
||||
Si a congru à b(n), alors a^k congru à b^k(n)
|
||||
|
||||
Deux types d'arithmétique : la classique (dans R) et la modulaire (celle qu'on va utiliser)
|
||||
Démonstrations sur papier
|
||||
|
||||
b) 1) Les deux méthodes expliquées sont **fondamentales**
|
||||
D'abord on utilise ce qu'on a vu : équivalence puissances, critère divisibilité par 11
|
||||
|
||||
Puis **Exponentiation modulaire** à partir de 3^15 (11)
|
||||
L'objectif là dedans c'est d'arriver à tomber sur 1, là c'est la boucle qui redémarre. L'enjeu est de se poser la question : vais-je tomber sur 1 ? Et y a il un outil mathématique qui permet de calculer ça ? => on verra ça dans la suite du cours.
|
||||
|
||||
|
||||
2 ) Tout nombre est congru à ses deux derniers chiffres modulo 100
|
||||
|
||||
## L'anneau machin : Z*n*
|
||||
|
||||
### Additions
|
||||
|
||||
On va commencer à parler du Z*n* : on se base dans le modulo de *n* dnas les entiers, ce sont des univers. On compte en modulo. Exmeple avc Z6 :
|
||||
|
||||
| + | 1 | 2 | 3 | 4 | 5 |
|
||||
| 1 | 2 | 3 | 4 | 5 | 0 |
|
||||
| 2 | 3 | 4 | 5 | 0 | 1 |
|
||||
| 3 | 4 | 5 | 0 | 1 | 2 |
|
||||
| 4 | 5 | 0 | 1 | 2 | 3 |
|
||||
| 5 | 0 | 1 | 2 | 3 | 4 |
|
||||
|
||||
Du coup l'opposé d'un chiffre est celui qui correspond au croisement avec 0 dans le tableau.
|
||||
La loi universelle qu'on ressort est : soit *n* un chiffre et *o* son opposé, dans l'univers *U*, o = U - n .
|
||||
|
||||
Voirs cours pour la suite/règles.
|
||||
|
||||
L'univers Z2 est le concept du OU exclusif : on a 0 si valeurs identiques, 1 si valeurs diffèrent.
|
||||
|
||||
### Multiplication
|
||||
|
||||
Voir cours. Il faudrait faire toutes les tabls de Z5, Z6, Z7, Z9, Z11
|
||||
|
||||
Z6 à nouveau :
|
||||
|
||||
| x | 1 | 2 | 3 | 4 | 5 |
|
||||
| 1 | 1 | 2 | 3 | 4 | 5 |
|
||||
| 2 | 2 | 4 | 0 | 2 | 4 |
|
||||
| 3 | 3 | 0 | 3 | 0 | 3 |
|
||||
| 4 | 4 | 2 | 0 | 4 | 2 |
|
||||
| 5 | 5 | 4 | 3 | 2 | 1 |
|
||||
|
||||
Attention : on oublie le "si a * b = 0, a = 0 et/ou b = 0" est faux dans cet univers. (Ici 2 * 3=0)
|
||||
Si on prend 2, il a pas d'inverse (on cherche 2 * x = 1, ça n'existe pas dans cette table). En fait on a pas d'inverse à part 1 et n-1, c'est valable pour tous ls univers.
|
||||
Pour 2, 3, 4 y a pas d'inverse et c'est pas bijectif (il y a des répétitions, pas des valeurs uniques)
|
||||
|
||||
On se rend compte que ça "marche" partout pour chiffres premiers, mais que quand pas premier, les lignes des diviseurs et de leurs multiples sont foireux. Dans ces cas seules les lignes restantes auront des inverses et seront bijectives.
|
||||
|
||||
|
||||
### Exercices
|
||||
|
||||
A) Les seuls éléments inversibles dans Z10 sont 1, 3, 7 et 9
|
||||
Donc Z10* = {1,3,7,9} (4 éléments)
|
||||
Z15* = {1,2,4,7,8,11,13,14} (8 éléments)
|
||||
Z12* = {1,5,7,11} (4 éléments)
|
||||
Z17* = {TOUS} (16 éléments)
|
||||
|
||||
|
||||
|
||||
Prochain cour son va voir Bachel bézou >> à utiliser dans grands univers, dans petits autant faire la table.
|
||||
|
||||
Finir les exos b et c
|
||||
|
Loading…
Reference in a new issue