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 198 fois - Téléchargée 445 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

vlad2i
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005
-
Je ne suis pas méchant d'habitude...

1. Le codage XOR est déjà assez pas fiable comme ca (attaque linéaire et heuristique, on casse un code de 256bits en pas une seconde)

2. Au moins tu aurais pu avoir fait l'effort d'utiliser une clé de plusieurs lettres, ca change peu de choses...

3. En cherchant un peu, on voit des codes comme ca un peu partout sur le site ...

Tu aurais pu chercher à faire un XOR Cracker plutot boy...
Non sérieusement, ton ca revient à changer l'ordre des tables ascii (256 possibles, donc on teste 256 possibilités) avant d'avoir à coup sûr ton message, et meme par là ton code...

(D'autant plus qu'avec un clavier on ne peut saisir que 100 lettres a peu près)

Si tu veux crypter utilise DES, RC4 ou GPG hehe
Tu n'expliques meme pas ce que c'est hehe le cryptage XOR hehe

Alors à défaut, explique :P

Vlad qui aide les gens en étant méchant des fois mais pas souvent.
vlad2i
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005
-
Pardon, concernant la remarque 1 :

- "on casse un code de 256 OCTETS en pas une MILLIseconde"

Xcuses :P
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Salut vlad2i
lol si t'es pas méchant d'habitude alors d'accord j'accepte tes remarques.
Enfin bon ce code c'est du niveau 1, et puis ça permet à des débutants comme moi de passer à autre chose que du codage Xor simple. Si comme tu dit on peut casser le code hyper facilement alors ok je capitule le codage Xor n'a pas beaucoup d'avenir. Donc je vais essayer de trouver sur ce site des chose plus compliquée mais j'espère que ce code aidera quelques un à s'entrainer dans le domaine du cryptage.
Et si cette source existe déjà sur le site je ne l'avais pas vu, je m'excuse.
Bon tchao à tous
MadMatt

au fait l'idée du Xor cracker c'est pas mal lol
VBsat62fr
Messages postés
56
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
23 août 2017
-
Bonjour,
Tout code est bon en soi, même si le niveau est débutant. Continue dans cette voix, les arcanes des API et de l'assembleur te feront franchir les limites de VB ou autres d'ailleurs.
Contrairement à ce que dit 'vlad2i', le XOR est encore très utilisé dans les algo de codage. Tiens au fait 'vlad2i' ton pseudo me laisse supposer que tu peux expliquer l'algo du c2i ? En es-tu là ?
D'ailleurs les PGP, DESS et les différents autres codages sont à base de XOR, LSR, RSL donc de bon vieux algo assembleur!
Ton code est un début et est-il important de savoir cracker un code ou de comprendre son algo ? La question reste posée ?
Pour info j'ai eu l'occasion aux débuts de l'informatique d'utiliser un Oric matériel tombé en désuétude depuis et dans le domaine public, SI, SI !
Eh bien j'ai pris beaucoup plus de plaisir à comprendre comment faisait les programmeurs pour charger leur programmes qui étaient splittés sur cassette que du résultat effectif d'avoir cracké ces derniers. D'ailleurs c'était pour la bonne cause et pouvoir les récupérer pour émulation actuelle, nostalgie quand tu nous tiens...

A +, VBsat62fr.
vlad2i
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005
-
"Contrairement à ce que dit 'vlad2i'"...

Faut pas exagérer : je ne connais pas un seul code qui l'utilise encore...

Quand à PGP, non, dsl, il n'y a pas de XOR...
Comme je le dit plus haut, sa faiblesse est dans la linéarité des résultats...

DES est tombé dans l'oubli tant il est fragile...

Enfin ceux qui y tiennent, utilisez les, mais vous étonnez pas si ca casse

Quand à c2i (Richard Clark ?) je ne vois pas le moindre rapport avec moi, désolé..

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.