Cryptage & décryptage symétrique de texte assez simple

Soyez le premier à donner votre avis sur cette source.

Vue 9 892 fois - Téléchargée 9 433 fois

Description

je pense que le titre est assez explicite. (cryptage symétrique : la même clé sert à crypter et à décrypter)

Source / Exemple :


Set FSO = CreateObject("Scripting.FileSystemObject")
Set AG = WScript.Arguments

For I = 0 to AG.Count -1
 Set T = FSO.GetFile(AG(I))
 Do
  QUE = Inputbox("    Voici un programme de Cryptage/Décryptage symétrique à algorithme de substitution par décallage."&VbCrLf&VbCrLf&"Que voulez-vous faire ?"&VbcrLf&" 1) Crypter"&VbcrLf&" 2) Décrypter"&VbcrLf&VbcrLf&"Taper 1 ou 2","Cryptage/Décryptage de "& Chr(34) & T.Name & Chr(34))
  If QUE = "1" Then Q1
  If QUE = "2" Then Q2
  If QUE = Empty Then
   M = MsgBox ("Voulez-vous quittez ce programme ?",32+4,"Cryptage/Décryptage symétrique...")
   If M = VbYes Then WScript.Quit
  End If
 Loop Until QUE <> Empty And (QUE = "1" Or QUE = "2")
 If I = AG.Count -1 Then WScript.Quit
Next

MsgBox "Il faut faire un glisser-déposer sur ce programme avec le fichier choisi.",48+0,"Attention"

Sub Q1
KEY = InputBox ("2) Saisissez une clé pour le cryptage de vos données.","Cryptage symétrique de "& Chr(34) & T.Name & Chr(34))
If KEY = Empty Then MsgBox "Pas de clé, pas de cryptage.",48+0,"Fin" : WScript.Quit
CRYPT_DECRYPT "chiffré",1,KEY
End Sub

Sub Q2
KEY = InputBox ("2) Saisissez une clé pour le décryptage de vos données.","Décryptage symétrique de "& Chr(34) & T.Name & Chr(34))
If KEY = Empty Then MsgBox "Pas de clé, pas de décryptage.",48+0,"Fin" : WScript.Quit
CRYPT_DECRYPT "déchiffré",-1,KEY
End Sub

Function CRYPT_DECRYPT(DECH,S,KE)
K = ""
X = 1
For A = 1 To Len(KE)
 K = K & Asc(Mid(KE,X,1))
 X = X + 1
Next

Set CODE = FSO.OpenTextFile(AG(I),1)
CO = CODE.ReadAll
CODE.Close

For F = 1 To 3
 Y = 1
 CF = ""
 For V = 1 To -Int(-Len(CO)/Len(K))
  X = 1
  For G = 1 To Len(K)
   K2 = CInt(Mid(K,X,1))
   C = Asc(Mid(CO,Y,1))
   W = C + K2 * S
   If W > 255 Then W = W - 255
   If W = 0 Then W = 255
   If W < 0 Then W = 255 + W
   CF = CF & Chr(W)
   X = X + 1
   Y = Y + 1
   If Y > Len(CO) Then Exit For
  Next
 Next
 CO = CF
 K = Len(K) & strReverse(K) & Mid(K,1,1)
Next

ND = T.ParentFolder.Path & "\" & FSO.GetBaseName(T) & "(" & DECH & ")" & "." & FSO.GetExtensionName(T)
INFO = MsgBox ("3) Fichier " & DECH & " avec la clé : " &VbCrLf& "-->" & KE &VbCrLf&VbCrLf& "Voici le début du fichier " & DECH &" :"&VbCrLf& "-->" & Mid(CF,1,50)&VbCrLf&VbCrLf&"Voulez-vous enregister ce fichier avec le nom prévu par défaut :"&VbCrLf& "--> ...(" & DECH & ").txt     (cliquez sur NON pour en choisir un autre).",4,"Opération terminée")
If INFO = VbYes Then
 N = ND
Else
 Do
  N = InputBox ("Tapez son URL complète, sauf si vous voulez qu'il se trouve dans le même répertoire que ce programme. Dans ce cas, il suffit simplement de saisir son NOM.","Choix du nom pour le fichier " & DECH)
  If N = Empty Then N = ND : MsgBox "Nom par défaut attribué au fichier",64+0,"Info" : Exit Do
  V = InStr(StrReverse(N),"\")
  F = Mid(N,1,Len(N)-V)
  If FSO.FolderExists(F) Or V = 0 Then Exit Do
  MsgBox "URL invalide",16+0,"Erreur"
 Loop
End If

Set CODE = FSO.CreateTextFile(N,True)
CODE.Write CO
CODE.Close
End Function

Conclusion :


je reconnais qu' il y a pas mal de code par rapport à la taille de l'algo

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Maxilie
Messages postés
23
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
9 décembre 2003
-
j'attend vos remarques
austin49
Messages postés
3
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 mai 2003
-
C'est trop simple à craquer ton truc, mais juste pour ne pas montrer les données en clair, ca va.

Comment on fait pour faire tourner ton script?
cs_Maxilie
Messages postés
23
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
9 décembre 2003
-
j'ai pas di que c'étai dur à cracker mais vu que je sui vraiment nul en crackage di moi comment tu ferai pour retrouver la clé d'un fichier crypté avec mon, prog.

sinon pour le faire tourner tu copie le code dans le bloque note et tu enregistre avec l'extention .VBS ensuite tu fais un glisser déposer avec le fichier à crypter sur le prog. faut pas être une tête pour y arriver.
austin49
Messages postés
3
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 mai 2003
-
Ho lala, il est agressif le Maxilie. D'abord je ne suis pas une tête, merci quand même pour les explications d'utilisation de ton prog.
Je t'ai mis un 7/10, c'est qu'il est bien ton script, mieux que l'autre script où tu a mis un commentaire. J'ai cryptanalysé partiellement ton algorithme, je ne vais dire ici comment je me suis pris. Juste une idée : La longueur du message crypté et de l'origine sont de même taille.
J'ai pas eu besoin de trouvé la clé pour cracker. Mais un énorme échantillon de texte crypter
> austin49
Messages postés
3
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 mai 2003
-
moi je suis Christian je voudrais que quelqu'un m'aide à décrypter un texte crypté par des x.
email:***@***

merci d'avance

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.