Outil pour décoder/encoder avec OU exclusif (XOR), une méthode de cryptographie moderne qui consiste à chiffrer un message en binaire avec une clé répétée par une multiplication par OU Exclusif. Compatible texte ASCII, hexadécimal et base64.
Chiffre XOR - dCode
Catégorie(s) : Cryptographie Moderne
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le chiffrement XOR est une méthode de chiffrement/déchiffrement symétrique basée sur l'utilisation de l'opérateur logique/binaire XOR (aussi appelé Ou Exclusif, symbolisé par ⊕).
Cette technique consiste à combiner chaque bit du message avec un bit de clé, grâce à l'opération XOR.
L'opération XOR prend 2 bits en entrée et renvoie un bit en sortie en fonction de la table de vérité suivante : si les deux bits sont différents, le résultat est 1, sinon le résultat est 0.
XOR s'applique sur des données binaires, si le message est un texte, un encodage (conversion en ASCII ou Unicode) doit être réalisé.
Exemple : Chiffrer le message clair 1001 avec la clé 10
Prendre le premier bit du message clair, et le premier bit de la clé et les multiplier avec XOR pour obtenir le bit chiffré.
Exemple : 1 ⊕ 1 = 0
Répéter l'opération avec le second bit du message clair et le second bit de la clé. Arrivé à la fin de la clé, boucler à son début.
Exemple :
Message clair | 1001 | Clé (répétée) | 1010 | Message chiffré | 0011 |
Le déchiffrement XOR (decryptage XOR/UnXOR/DeXOR) est identique au chiffrement car l'opération XOR est symétrique : A XOR B = C et C XOR B = A (inverse XOR = XOR).
Exemple : 1001 ⊕ 1010 = 0011 et 0011 ⊕ 1010 = 1001
dCode gère la conversion automatiquement, mais par défaut la table d'encodage ASCII pour les caractères classiques (lettres de l'alphabet ou chiffre) permet de coder chaque caractère par un nombre entre 0 et 127, qui est alors converti en base 2 (binaire). Pour des caractères accentués ou moins courants (symboles, émojis, etc.) dCode utilise UTF-8 (Unicode).
La table de vérité de la fonction logique XOR à 2 paramètres est :
A | B | A xor B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Un message xoré (chiffré avec XOR) a une longueur identique à celle du texte en clair.
Un message codé peut contenir des caractères non imprimables s'il est représenté en code ASCII. C'est pourquoi sa représentation est généralement en hexadécimale ou binaire (ou autre format d'échange de données binaires comme Base64).
Si la clé est courte et répétée alors que le texte est long et présente des répétitions, alors des motifs réguliers peuvent apparaître et être détectés par des outils comme dCode.
Les données sous forme de flux/stream sont bien adaptées à un encodage XOR.
L'opération XOR est une des bases de l'informatique logique. Les processeurs d'ordinateurs peuvent réaliser ce type de calcul immédiatement, des milliards de fois par seconde, ce qui est donc pratique si les ressources en calcul sont limitées.
L'opération XOR a l'avantage d'être réversible et surtout symétrique en appliquant le même algorithme, ce qui simplifie encore plus les calculs.
Le chiffrement XOR offre une certaine sécurité cryptographique lorsque la clé est aussi grande que le message original, sinon XOR est vulnérable aux attaques à texte clair connu.
Sans la clé, plusieurs attaques sont possibles pour déchiffrer XOR :
— L'analyse fréquentielle et probabilité linguistique : comparer les fréquences de bits ou de caractères attendus et analyser leur répartition en fonction des longueurs plausibles de clés
— L'attaque par mot probable : en connaissant une partie du texte clair, il est possible d'en déduire tout ou partie de la clé
— L'attaque par dictionnaire : si la clé est un mot de passe, tester des clés usuelles est envisageable
— Attaque bruteforce : si la clé est courte et répétée, tenter toutes les combinaisons est une solution raisonnablement chronophage
— Utilisation d'outils de décryptage XOR automatisés (comme dCode)
XOR est compatible avec le principe d'un chiffrement Autoclave.
XOR peut-être utilisé comme un One-Time Pad (OTP) : version théoriquement incassable utilisant une clé aléatoire aussi longue que le message, et jamais divulguées ni réutilisée.
dCode se réserve la propriété du code source pour "Chiffre XOR". Tout algorithme pour "Chiffre XOR", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Chiffre XOR" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Chiffre XOR" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Chiffre XOR" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Chiffre XOR sur dCode.fr [site web en ligne], consulté le 01/05/2025,