titi77200
Messages postés4Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention24 mai 2007
-
2 mars 2007 à 17:23
titi77200
Messages postés4Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention24 mai 2007
-
3 mars 2007 à 12:00
Bonjour,
J'ai un probleme lorsque j'essaie de crypter un texte qui à la meme clé.
Ex :
Clé = pomme
Texte à crypter = pomme
Resultat = rien
Le code :
Dim texte As String
Dim tabkey(20) As String
Dim i As Integer
Dim j As Integer
Dim char As String
Dim phrase As String
Dim L As String
phrase = ""
For i = 1 To Len(key)
tabkey(i) = Mid(key, i, 1)
Next
j = 1
For i = 1 To Len(texte)
char = Mid(texte, i, 1)
L = Chr(Asc(tabkey(j)) Xor Asc(char))
If j >= Len(key) Then
j = 1
Else
j = j + 1
End If
phrase = phrase + L
Next
texte = phrase
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 2 mars 2007 à 18:12
Bonjour,
Je te suggère de changer d'algorithme de chiffrement. Celui-ci n'en est pas vraiment un ...
Si tu tiens à le conserver, fais au moins en sorte de ne pas choisir comme clé un mot existant.
Un algo plus fiable, enfin, ne peut être basé sur une clé unique (fais en au moins plusieurs et fais en sorte qu'une partie du titre de ton fichier, ou sa date,... ou encore certaines des lettres du texte à partir d'un rang donné soient utilisées pour pointer vers l'une des clefs d'une base de données partagée entre les correspondants.
D'autres, enfin, choisssent d'extraire la clef d'une longue chaîne de caractères (que possèdent tous les correspondants) et de faire en sorte que cette extraction puisse se faire à partir de certains "drapeaux" fondus dans le texte de façon adroite, calculée à l'insertion et extraite à la traduction.
Voilà, ce n'est toujours pas excellent (il y a mille fois mieux), mais celà devrait te donner des idées de départ.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 2 mars 2007 à 21:12
Evidemment que tu n'obtienne rien dans le cas bien précis ou la clé= le mot à crypter
La clé (si je puis dire) de ton problème se situe là :
L = Chr(Asc(tabkey(j)) Xor Asc(char))
Lance ton cryptage en mode pas à pas et regarde pour chaque caractère à crypter ce que vaut tabkey(j) et char.
Je te rapelle au passage un petit bout de l'algèbre de boole concernant l'opérateur Xor, l'opération dans le cas présent se faisant au niveau du bit
- Si les 2 opérandes sont égaux, le résultat est 0
- Si les 2 opérandes sont différents le résultat est 1
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
On peut en déduire 'A' xor 'A' vbNullChar Chr(0)
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
titi77200
Messages postés4Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention24 mai 2007 3 mars 2007 à 12:00
Bonjour,
Tout d'abord merci d'avoir repondu =)
En faite le probleme c'est que je fais comment si je peut pas crypter 2 fois la meme lettre ?
Vu que Chr(0) = Null
Le cryptage avec le xor marche donc ke si les lettres sont differentes ?
Merci