Premier cours d'arithmétique + ajout de ressources

This commit is contained in:
Matt Marcha 2018-06-13 10:58:31 +02:00
parent 8eb8e9dfcb
commit 8d6437364f
13 changed files with 140 additions and 17 deletions

View file

@ -1,4 +1,4 @@
# Cours crypto # Histoire de la crypto
Deux premiers cours : histoire de la crypto Deux premiers cours : histoire de la crypto
Calculatrice : on verra. Si oui, le mieux c'est la TI89 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) ###### 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. 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étiaue (0,07), c'est gagné : on a ma 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 ###### 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 ###### 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 ##### Tomogrammiques
###### Auguste Collon (env. 1900) ###### Auguste Collon (env. 1900)
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.
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.
Pour décrypter, commencer par trouver longueur des blocs. (Comment ? on doit trouver au max 25 bigrammes, nombre max du damier, faut donc tester) 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. 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) ###### 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 ###### Chiffre digraphide
@ -332,7 +331,7 @@ PlayFair est dans Polybe, on peut l'appliquer à Vigenère ?
###### Chiffre SlideFaire ###### Chiffre SlideFaire
PlayFair en Vigenère. 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. 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 ###### A trois carrés
Bon, évolution du délire de deux carrés, mais là en plus on peut faire des trigrammes. 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. 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 ###### Chiffre de Hill
Attention : calculatrice calcule dans R, on calcule dnas Z (entier relatif) >> elle va donner résultats faux. Attention : calculatrice calcule dans R, on calcule dans Z (entier relatif) >> elle va donner résultats faux.
Calcul de matrice >> a revoir 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. 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. 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 * 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 fair mais on a la théorie ! * crypto quantique: on sait pas faire mais on a la théorie !
### récapitulatif ### récapitulatif

Binary file not shown.

Binary file not shown.

View file

@ -6,7 +6,7 @@
- Imitation game (parle de Turing) - Imitation game (parle de Turing)
- Bienvenue à GATTACA (tiré d'un livre : le meilleur des mondes / aldous Huxley) - Bienvenue à GATTACA (tiré d'un livre : le meilleur des mondes / aldous Huxley)
- Les messagers du vent (Wind Talkers), parle langage Navajo - 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 ## Livres
@ -16,4 +16,4 @@
- Le grand roman du Big Bang, Simon Sigh - Le grand roman du Big Bang, Simon Sigh
- Le scarabée d'or, Edgar Allan Poe - Le scarabée d'or, Edgar Allan Poe
- Je suis né un jour bleu, Daniel Tamett - Je suis né un jour bleu, Daniel Tamett
- Petit manuel de désobéissance citoyenne

View 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