Cryptage xor en fonction d'une clé et du caractère précédent

Soyez le premier à donner votre avis sur cette source.

Vue 18 305 fois - Téléchargée 456 fois

Description

Ces fonctions permettent de coder un texte avec une clé de 1 caractère.
Chaque caractère sera codé avec la clé et le caractère précédent comme ça c'est plus dur à décoder

j'ai bien commenté (je pense) le code affiché dans cette page par contre j'ai pas bcp commenté celui de la source, désolé.

Source / Exemple :


' Codage
' Txt c'est le texte à coder
' Clé c'est la clé (1 seul caractère)
Public Function CodXor(ByVal Txt As String, ByVal Clé As String) As String
    ' Les variables
    Dim Key As String
    Dim Char As String
    Dim ExChar As Long
    Dim Ajout As String
    ' La clé
    Key = Asc(Clé)
    ' Vide la destination
    CodXor = ""
    ' Le caractère précédent celui codé est vide car on est au début
    ExChar = 0
    ' Code le texte
    ' on code lettre après lettre
    For T = 1 To Len(Txt)
        ' récupère le caractère que l'on traite
        Char = Mid(Txt, T, 1)
        ' Codage Xor du caractère (Char) en fonction de la clé (Key) et du caractère précédent (ExChar)
        Ajout = Chr(Key Xor Asc(Char) Xor ExChar)
        ' Ajoute le caractère codé à la phrase codée
        CodXor = CodXor + Ajout
        ' Sauvegarde le caractère pour le codage de la lettre suivante
        ExChar = Asc(Char)
    Next
End Function

' Décodage
Public Function DeCodXor(ByVal Txt As String, ByVal Clé As String) As String
    ' Les variables
    Dim Key As String
    Dim Char As String
    Dim ExChar As Long
    Dim Ajout As String
    ' La clé
    Key = Asc(Clé)
    ' Vide la destination
    ExChar = 0
    DeCodXor = ""
    ' Décode le texte avec la même méthode que le codage
    For T = 1 To Len(Txt)
        Char = Mid(Txt, T, 1)
        Ajout = Chr(Key Xor Asc(Char) Xor ExChar)
        DeCodXor = DeCodXor + Ajout
        ExChar = Asc(Ajout)
    Next
End Function

Conclusion :


dites moi si vous avez des idées pour améliorer le codage, s'il ya des défauts, des bugs...
et laissez votre commentaire svp ça aide toujours

@ +
MadMatt

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
16
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
10 février 2007

vi, c sur que c' est cassable mais faut y mettre les moyens ^^
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Pour utiliser une cle a plusieurs caractere pkoi tu fait pas un truc tout simple genre :

key=255
For i = 1 To Len(Clé)
Key = Key Xor Asc(Mid(Clé, i, 1)) Xor Val(Mid(str(i), 1, 2))
Next

En t-k sa va etre plus dur de casser ton cryptage , mais bon c sur que c'est pas encore incassable :P

@++
YoMan64
Messages postés
16
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
10 février 2007

bah... je suis toujours pas convaincu...
c sur que si on code "blabla" avec une clé "coco" en faisant
'b xor c' puis 'l xor o' puis 'a xor c' etc.. les technique décrite plus haut fonctionne a coup sur.

mais si on code en faisant
'b xor c' puis 'b xor o' puis 'b xor c' puis b xor o' etc etc
je veut dire par la que l' on code chaque caractere de la chaine par tout les caractere de la clé.

Ca veut dire que si on decode 1 niveau de codage il en reste encore 3 pour une clé de 4 caracteres, et là impossible de reperer des mots... et impossible de savoir cb il y a de niveau d' encodage....
Pour une clé de 160 octets il y a 160 niveau d' encodage à décoder, là je voit pas l' interet des techniques cités plus haut :/

Enfin j' aimerais bien voir un programme capable de casser les messages codées par exemple par l' unité que j' ai programé dans la section delphi :) celui des fichier jpg est inutile ^^
Messages postés
16
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
10 février 2007

ok merci de t' etre pencher sur la question, je v voir sa :)
Mais je suis toujour intrigué!
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005

Dommage, on m'a devancé :)
Tenez, un décrypteur de XOR :

http://www.vbfrance.com/code.aspx?id=25413

C'est un auteur qui a l'air de s'amuser :)
Son code ne décode que des photos, ca doit pouvoir s'appliquer à d'autres fichiers

Valà :)
Afficher les 20 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.