De l'efficacité du XOR - Algo - Programmation
Marsh Posté le 10-10-2005 à 01:56:39
si par XOR tu endens
p = q xor k (avec k constant)
alors oui, c'est très facile. c'est réversible. il y a très peu de combinaisons. si tu cryptes du texte, statistiquement, tu peux trouver encore plus vite.
Marsh Posté le 10-10-2005 à 02:09:50
après XOR, faut savoir ce qu'on cherche
en python
Code :
|
comme tu vois c'est symétrique. Mais une mauvaise clef permet quand même de faire marcher l'algorithme. Une mauvaise clef peut aboutir à résultat cohérent. Il faut donc savoir ce qu'on cherche. Si c'est du texte, avec un dictionnaire, tu testes les clefs, et tu regardes si le texte décrypté est humain. Par contre si tu codes du binaires, tu peux t'accrocher
Marsh Posté le 10-10-2005 à 02:30:22
Taz a écrit : si par XOR tu endens |
En gros ce que tu veux dire c'est que tu va essayer une infinité de clefs, et à chaque fois essayer de trouver des mots via un dictionnaire ? Mais euuuu, si la clef est suffisamment longue ca prends un temps fou !
Enfin c'est vrai que XOR ca se mouline vite pour un CPU mais qd meme, ca me parait difficile.
Marsh Posté le 10-10-2005 à 03:13:51
attend, on parle de l'algo XOR avec une clef constante caractère par caractère. par de l'opération mathématique.
Sinon la majorité des algos de cryptages utilise l'opération avec des clefs très longues (milliers de bits) (enfin c'est plus compliqué, beaucoup plus compliqué que ça). Voire des algos genre RC4, pour crypter des flux, qui génèrent des séquences X, tel que pour tout caractère en entrée tu fais c xor Xi.
Sinon tu le dis bien : c'est prouvé. Le cryptage parfait, c'est pour chaque caractère, tu fais un xor avec une clef aléatoire.
Auquel cas, ta clef est aussi longue que ton message.
Marsh Posté le 10-10-2005 à 03:46:37
Si le message est long (par rapport à la clé), et qu'on sait que c'est un fichier texte, un simple XOR est assez facile à craquer par analyse statistique de la fréquence des caractères. C'est d'autant plus facile si on connait la longueur de la clé et la langue dans laquelle le message est écrit...
edit: Taz l'avait dit j'avais pas vu... Mais comme ça c'est clair
Marsh Posté le 14-10-2005 à 22:52:49
notez que si vous disposez d'une clé de même longueur que le message, c'est totalement inviolable. C'est facilement démontrable.
Donc faire passer 1000 octets de texte avec une clé de 1000 octets c'est imparable.
-> A quoi ça sert, dans ce cas autant partager directement le texte et pas la clé ?
Et bien ça sert que si tu échanges en main propres (sur un CDROM par exemple) une clé de 700Mo aujourd'hui, tu pourras transférer 700Mo de données sûres plus tard. De plus il n'y a pas de contrainte sur la clé, pas besoin que ce soit un nombre premier etc... un simple random bien choisit suffit.
C'est ce qui était fait entre USA et URSS pendant la guerre froide : les clés étaient échangées par valise diplomatique et les messages par simple cable.
Marsh Posté le 15-10-2005 à 03:26:17
ReplyMarsh Posté le 20-10-2005 à 13:45:14
c'est ce qu'on apelle le "One Time Pad". Je le sais, je l'avais oublié lors d'un partiel... faut vraiment etre con... Et oui, c'est efficace à 100%
Par contre, le fait de réutiliser la clé affaiblit le système de manière notable. Donc faut pas le faire
Ici un lien vers les cours de crypto de Lille1 : http://www.lifl.fr/~fontaine/PAC/
Ca pourra peut-etre te servir
Marsh Posté le 28-10-2005 à 01:26:16
XOR c'est le shérif de l'espace et c'est le plus fort, donc il est très efficace
Marsh Posté le 28-10-2005 à 03:38:48
jesus_christ a écrit : C'est ce qui était fait entre USA et URSS pendant la guerre froide : les clés étaient échangées par valise diplomatique et les messages par simple cable. |
ah je pensais que la valise diplomatique c'était le premier truc à être fouillé
Marsh Posté le 10-10-2005 à 01:00:26
Bonsoir à tous.
J'ai fait quelques recherches à propos de cryptage, et j'ai vu à multiples reprises que le XOR était extremmement faible, sa faiblesse residant dans le fait qu'on retrouve la clef si on a un morceau de donnée sous sa forme orinigale et sa forme cryptée, comme par exemple avec le header d'un fichier.
Mais dans le cas d'un .txt, la personne ne connais RIEN de la donnée (sinon elle n'essaierais pas de casser le cryptage). Est-ce que dans ce cas le cryptage peut être cassé et si oui comment?
(Merci d'eviter les réponse du style "c'est facile, je la casse en deux secondes", ce que je veux c'est comprendre la vulnérabilité de cette méthode, pas avoir un récit de vos explois personnels )