LlXorBase64StringsCorrect/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

Fonction: string llXorBase64StringsCorrect( string str1, string str2 );

Réalise un ou exclusif (XOR) entre deux strings en base 64.

Renvoie un string correspondant à un XOR de str1 et str2 en base64.

• string str1 string en Base64
• string str2 string en Base64

str2 se répète s'il est plus court que str1. Si les deux strings ne sont pas en base64, le résultat sera erratique.

Exemples

Notes

Utilisation du XOR en cryptographie

L'utilisation d'un XOR entre un message a coder et une clef est une technique cryptographique peu sure et differentes attaques peuvent permettre de déterminer les entrées. En fonction du code utilisé, le décryptage d'un seul message peut permettre de casser l'ensemble du code.

Types d'attaques :

  • Probabilitée: Les lettres n'ont pas toute la meme probabilité de présence dans un message. Un XOR ne masquera pas cette probabilité. Cette attaque n'est possible que si la clef utilisée est plusieurs fois plus petite que le message.
  • Regles d'encodage UTF-8: Quand vous convertissez une chaine en base64, l'encodage est réalisé en UTF-8. Si vous supposez que les entrées sont des entrées UFT8 valides certains bits peuvent etre déterminés par simple examem du codage.
  • Texte clair: Capturer les sorties correspondantes à des entrées connues peut exposer la clef.
  • Brute force: Tentative de détermination de la clef (et ou la graine) par essais successifs


N'utilisez pas de XOR entre des chaines de longueur differentes sans en connaitre les implications. En cryptographie, cette utilisation est a éviter (celà entraine une relation de multiplicité entre les champs).

Voir également

Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.