Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante dix-neuf plus seize
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

sworex61
02-02-2020 23:25:10

Oui merci beaucoup

Elerias
01-02-2020 18:48:47

Oui mais je pense qu'il faut que tu retiennes la clé que tu as utilisé pour chiffrer tes mots de passe. Donc elle ne doit pas être trop longue.
Si les mots de passe sont chiffrés sur l'ordinateur, il y a l'agorithme AES, qui est aujourd'hui incassable. Si ils sont écrits et chiffrés sur papier et que tu veux pouvoir les déchiffrer à la main, je pense que si ce sont des mots de passe aléatoires, tu peux utiliser le chiffre de Vigenere. Il faut juste augmenter la taille de l'alphabet pour qu'il comprenne les caractères spéciaux.
Par exemple, la clé générale est TEST, et le mot de passe est gpEa67
L'alphabet utilisé est :
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
On convertit le mot clé en nombres selon sa position dans l'alphabet ci dessus (a->0, b->1, J->35 ...).
TEST -> 45 30 44 45
On fait la même chose avec le mots de passe :
gpEa67 -> 6 15 30 0 58 59
On fait une addition terme par terme
   45 30 44 45 45 30
+ 06 15 30 00 58 59
   51 45 74 45 103 89
L'aphabet n'ayant que 62 caractères, on enlève 62 aux nombres tant qu'ils sont égaux ou supérieurs à 62 (modulo 62).
51 45 74 45 103 89 -> 51 45 12 45 41 17
Et ensuite, on convertit en lettres :
51 45 12 45 41 17 -> ZTmTPr
Pour déchiffrer, on fait l'inverse. Si les mots de passe sont aléatoires et la clé assez longue, le chiffrement est sûr.

sworex61
01-02-2020 18:11:31

Merci beaucoup pour ton aide, et je remarque surtout que tout a déjà était testé !
Mais on est d'accord que pour chiffrer des informations pour soi-même, genre des mots de passe, c'est impossible que quelqu'un arrive à les déchiffrer car la faille réside dans l'émission de la clef et que si on chiffre des informations pour soi même on n'a même pas besoin de transmettre la clef, vu qu'on la connaît, et de même pour le protocole.
Car au font c'est pour ça que je me renseigne, (une méthode de pouvoir stocker mes mots de passe sans avoir à les retenir et sans les noter en clair).

Elerias
01-02-2020 17:56:45

La sécurité d'un chiffrement doit reposer seulement sur sa clé, pas sur la méthode. Pour vérifier la résistance de ton algorithme, il faut donner la méthode complète à l'attaquant.
Quant à l'idée de la suite de Fibonacci, c'est une bonne idée. Car à un seul nombre, on en associe plein d'autres. Cette méthode s'appelle un étirement de clé. Par contre, il faut utiliser la formule fonctionnelle de la suite, c'est à dire que l'on calcule le n-ième terme sans utiliser les nombres précédents (cf https://fr.m.wikipedia.org/wiki/Suite_de_Fibonacci) sinon c'est complexe de calculer le n-ième terme.
Une autre technique d'étirement de clés est l'utilisation de fonctions de hachages cryptographiques. Une fonction de hachage est une fonction qui à une suite de caractère attribue un résultat appelé empreinte. Par exemple, en sha-256 :
bonjour --> 2cb4b1431b84ec15d35ed83bb927e27e8967d75f4bcd9cc4b25c8d879ae23e18
Donc à partir d'une clé basique, on calcule son empreite, on hash l'emprente obtenue, puis on recommence. On stocke toutes les empreintes et on les assemble : la clé a été étirée. Et on l'étire autant que besoin

sworex61
01-02-2020 17:08:39

Oui je comprends que le message sera plus long à coder / décoder / transmettre du fait de sa longueur.
Mais pour le fait de transmettre la clef de chiffrement, il me semble qu'il doit être possible de transmettre sous la forme d'un calcul plus cours, que les personnes feront pour obtenir la clef de chiffrement, et donc la liste de mots.
Par exemple si on considère que la clef est la suite des 1000 premiers termes de la suite de Fibonacci mis à la suite, on a juste à transmettre comme clef la méthode, et les premiers terme.
J'ai pris cette suite assez simple mais là aussi on peut imaginer des suites plus originales.

Elerias
01-02-2020 15:29:28

Le système de chiffrement que tu proposes s'appelle un chiffrement homophonique. Cela signifie qu'une lettre peut être chiffré par différents groupe de lettres.
Il y a par exemple le chiffrement du livre. Les deux interlocuteurs se mettent d'accord sur un texte ou un livre puis chiffrent chaque mot ou chaque lettre du message à chiffrer grâce à un système de numérotation qui diffère selon les méthodes. Par exemple, les deux premiers chiffres indiquent la page, les deux suivants la ligne et les deux derniers le numéro du mot. Ainsi, si un attaquant intercepte le message et qu'il ne connaît pas le livre utilisé comme clé, il aura beaucoup de mal à le décrypter.

Un algorithme par chiffrement homophonique est assez résistant. Celui que tu proposes est extrémement sûr aussi. Mais encore une fois, il y a le problème de la clé. Celle ci est extrémement longue et donc difficile à transmettre de façon sûre et impossible à mémoriser car elle contiendra des centaines de mots voire plus. Et puis quand tu décryptes, tu dois chercher dans toutes les listes le mot ce qui peut être long. Enfin, le message chiffré est beaucoup plus long que le message clair, 4 ou 5 fois avec les mots choisis.
Pour conclure, l'algorithme n'est utilisable que par l'ordinateur si les listes sont assez longues, la transmission de la clé est difficile (à moins d'utiliser un chiffrement asymétrique tel que RSA), mais l'algorithme est extrêmement sûr si on arrive à partager secrètement la clé.

sworex61
01-02-2020 15:05:26

Oui merci beaucoup Elerias,

Mais pour revenir sur la deuxième question que je me posais, je pense que l'on peut imaginer de mettre "les caractères en plus" de manière beaucoup plus subtile, non ?

Par exemple à chaque lettre de notre message, on associe une longue liste de mots par exemple 10000 qui pourrait ne pas avoir de sens d'ailleurs:
A:daert;des;oih;fsefgh;.....
B:cubiqb;pbnfj;qed;.....
O:byqce;ncuiebc;qube;......
N:qbey;qybng;kliph;.....
J:bybla;juom;mcbya;.....
U:xvte;makhg;bctan;.....
R:aybyb;apih;mbghu;....

Et pour crypter le message on prend au hasard un mot dans la liste associé à la lettre. On obtient par exemple :

pbnfj qube qybng bybla byqce bctan apih

Et du coup chaque mot que l'on veut crypter donnera une sorte de phrase qui n'a pas de sens, et celui qui voudra décrypter le message, ne saura à aucun moment que chaque mot est en réalité une lettre.

Je me doute que ce n'est pas si inviolable que ça car sinon d'autres personnes l'auraient fait avant moi, mais j'ai quand même du mal à voir comment une machine peut arriver à décoder ce genre de chiffrement, car il faut qu'il extrait l'information d'un ensemble de données pas toutes utiles.

Et encore merci pour ta réponse.

Elerias
01-02-2020 01:15:17

Bonjour sworex51. Je ne suis pas un expert en cryptogie non plus mais je crois pouvoir t'apporter des élémenrs de réponses.

1) Pour répondre à ta question, d'abord, en cryptographie, il existe deux grands types de chiffrement : la transposition et la substitution.


A) La transposition

La transposition est un mélange des lettres, c'est un immense anagramme. Par exemple : BONJOUR devient JBNURNOO. Les lettres changent de place mais ont la même signification. Un A est toujours un A, un E un E ... Les algorithmes de chiffrement par transposition les plus connus sont le code rail fence, le code scytale et la transposition rectangulaire.


B) La substitution

À l'inverse de la transposition, dans une substitution, les lettres gardent leur place mais change de signification. Il existe 3 types de chiffrements par substitution :

1) La substitution monoalphabétique
La substitution monoalphabétique est une substitution dans laquelle une lettre est toujours chiffrée par une même autre lettre. Par exemple : BONJOUR BOB --> TIVDIOP TIT. Le B est toujours chiffré par T et le O par I.
Chiffres les plus connus : Chiffre de César, Chiffre affine, carré de Polybe.
2) La substitution polyalphabétique
La substitution polyalohabétique est une substitution dans laquelle une lettre peut être chiffrée de différentes façons. Par exemple, un E dans le message pourra être chiffré par un A puis un K puis un Y ... ce qui en fait un chiffre très résistant. La plupart des algorithmes employant cette méthode découle du chiffre de Vigenère
3) La substitution polygrammique
Dans une substitution polygrammique, on ne chiffre plus lettre par lettre mais groupe de lettres par groupe de lettres. Les chiffres les plus connus sont le code Playfair et le chiffre de Hill.


Donc une fois qu'on se retrouve devant un message chiffré, il faut d'abord identifier le type d'algorithme (transposition ou substitution). Pour cela, le cryptanalyste (celui qui décrypte les messages secrets) dispose d'un outil très puissant appelé analyse des fréquences.
En français, il y a des lettres beaucoup plus présentes que d'autres : le e, le a, le s sont très fréquents alors que le w et le k beaucoup moins. On peut dresser un tableau avec la fréquences des 26 lettres en français.
On dresse également un tableau de fréquences du message secret et on compare les deux tableaux.
Si les fréquences et le classement des lettres sont très proches, on pourra en déduire que le chiffrement est une transposition car mélanger les lettres n'influent pas sur les fréquences. Au contraire, si les deux tableaux diffèrent, c'est que le texte est chiffré par substitution.
Ensuite on affine la recherche avec d'autres outils notamment l'indice de coïncidence qui permettra de différencier une substitution monoalphabétique d'une subsitution polyalphabétique. On peut aussi se baser sur la caractèristique du message pour déterminer l'algorithme comme le nombre de lettres, les caractères qui apparaissent, les répétitions ...
Une fois le type de chiffrement connu, le cryptanalyste pourra tenter de casser le code. On sait par exemple qu'un chiffrement monoalphabétique ne résiste pas à une analyse les fréquences.

2) Cette méthode de chiffrement ne respecte pas le principe de Kerckhoffs car la sécurité du cryptosystème ne repose pas sur la clé mais sur l'algorithme lui même.
En effet, la sécurite d'un bon cryptosystème réside dans la clé car l'algorithme, si le cryptosystème est diffusé, est connu de tous.
Et si un pirate intercepte l'algorithme de ta méthode de chiffrement, elle n'est plus sûre du tout car il lui suffit d'enlever les caractères nuls et de casser le code césar classique par analyse des fréquences ou par force brute. Il peut casser tous les messages passés, présents et futurs avec toutes les clés différentes.
Et autre problème, comment partager avec le destinaire l'algorithme de façon secrète et rapide ? Autant, une clé, ça tient en un mot mais un algorithme, c'est long à expliquer. La clé BONJOUR est plus facile à faire passer de façon secrète qu'un algorithme complet.

En espérant avoir aidé

sworex61
31-01-2020 22:50:13

Bonjour, je ne suis pas du tout un expert, et je m’intéresse un peu à la cryptographie, et je me pose depuis un moment deux questions (peut-être stupides) et ne trouve pas de réponse.

1/ Comment est-ce-que l'on peut déchiffrer un message sans avoir la moindre idée de la manière dont le message a était crypté ?

2/ Comment faire pour déchiffrer un message, si lors du cryptage on ajoute des caractères "inutiles".

Par exemple :

Message initial : "BONJOUR"

On considère que l'on ajoute des caractères de la manière suivante :
- On ajoute un caractère après tous les caractère impairs du message initial, et deux après tous les caractères impairs.

On obtient alors le message suivant :

Message : "BUOEANVJMQOPDUCRW"

Et on peut ensuite considérer que l'on fait même un codage simple (César +3)

Message chiffré : "EXRHDQYMPTRSGXFUZ"

Comment quelqu'un peut arriver à remonter au message initial, ne sachant pas si tous les caractères sont pertinents, et encore moins lesquels le sont ?

Merci d'avance pour vos réponses.

Pied de page des forums