Chiffrement xor plus robuste

Soyez le premier à donner votre avis sur cette source.

Vue 5 432 fois - Téléchargée 345 fois

Description

    • Augmenter la robustesse d'un chiffrement XOR **


IMPORTANT: augmenter la robustesse ne veut pas dire inviolable.

L'écriture du chiffrement classique d'un caractère donné par la méthode XOR peut s'écrire:
(Code ascii du caractère à chiffrer) XOR (Clé de chiffrement) = caractère chiffré

Le déchiffrement se montre peu satisfaisant quant à la robustesse de cette méthode. En effet il est facile, par la méthode de la force brute par exemple,
de trouver la clé de chiffrement.

Pour augmenter la robustesse de cette méthode, il est intéressant de faire appel à un nombre aléatoire, défini comme ci-dessous:
(Code ascii du caractère à chiffrer) XOR (Clé de chiffrement) = caractère chiffré + NOMBRE ALEATOIRE

Exemple: chiffrons le caractère 'a' dont le code Ascii =97

97 XOR 5479 = 5382 ..... le code ascii de la lettre 'a' sera chiffré 5382 à l'aide de la clé de valeur 5479

A présent, majorons le résultat ci-dessus d'une valeur aléatoire:

97 XOR 5479 = 5382 (résultat chiffré réel) +23257 (nombre aléatoire)

97 XOR 5479 =28639 (le résultat chiffré réel 5382 est ainsi masqué)

Donc pour trouver le code ascii = 97, il faudra nécessairement connaître les deux nombres 5479 et 23257 ce qui rendra le déchiffrement plus robuste.
97= (28639-23257) XOR 5479

Nota: si la clé de chiffrement reste évidemment identique pour tous les caractères du texte à chiffrer, il n'en ait pas de même pour le nombre aléatoire
qui doit être différent pour chaque caractère du texte à chiffrer.

Conclusion :


Evidemment cette méthode peut encore être améliorée. A chacun d'y penser.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011

Attention, ta méthode est très fragile. Beaucoup plus fragile qu'une méthode de masque XOR classique qui utilise en général un clé très longue (voire de la taille du message clair).

Lorsqu'on demande un nombre aléatoire au générateur, il effectue une opération mathématique sur la graine afin de la rendre "aléatoire". Mais cette opération mathématique est réversible ! Autrement dit, on est en mesure de retrouver la graine si on connait le premier nombre pseudo-aléatoire généré.

Donc prenons un exemple :
Ton algorithme chiffres un fichier avec une en-tête (un fichier .exe par exemple). Les 6 premiers octets d'un fichier .exe sont totalement prévisibles ("MZ" + Poids mod 512 + Poids/512). On connait donc les modifications effectuées sur les 4 premiers octets. Etant donné que tu utilises un seul et unique entier 32 bits comme clé, on est ensuite capable de retrouver la clé originale et donc de décrypter la totalité du fichier !

Simon
Messages postés
52
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2014

Bonjour,
Oui, mais mon propos était d'ordre tout autre. Une simple idée que j'ai voulu mettre en application sans plus. Peut-être que j'aurais dû le préciser dans ma présentation.
Merci de votre attention.
Remarque: une faille de sécurité a très récemment été mise en évidence dans AES (je vais rechercher ma source ...)
Messages postés
127
Date d'inscription
lundi 11 octobre 2004
Statut
Membre
Dernière intervention
18 mai 2016

Bonjour,
A la moindre évolution de technologie, que ce soit au niveau des prérequis logiciel, ou du système d'exploitation et pourquoi pas même au niveau matériel dont le processeur, il existe un risque non négligeable qu'il soit impossible un jour de pouvoir décrypter, et ainsi perdre toutes les données cryptées.
Autant utiliser les classes de cryptages AES Rijndael réputées solides.
Messages postés
52
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2014

Exact.
Didier HEROUX
Messages postés
14672
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Si le système de génération des nombre change, ton Germe aura beau avoir la même valeur, il sera difficile de décrypter un texte crypté à partir d'une version précédente.

Enfin, bon, voilà.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.