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

Soyez le premier à donner votre avis sur cette source.

Vue 9 929 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_viran
Messages postés
104
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
31 décembre 2006
-
Euh quand on a defini tte les options et qu'on clique sur ok le fichier est crypter ou alors il s'est copier qq part en crypter?
austin49
Messages postés
3
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 mai 2003
-
En fait tu utilises un algo assez connu et les techniques de cryptanalyses existent pour ce type d'algo.
J'ai vu que tu es un jeune. Bravo, à 16 ans je ne savais même pas que c'était un ordinateur.
Persévères dans ce que tu aimes faire et limites la casse ailleur, c'est ce que je peux te conseiller.
cs_Maxilie
Messages postés
23
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
9 décembre 2003
-
merci, ça fait toujour plaisir sinon je vais essayer d'améliorer mon algorithme pour le rendre plus performant.
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.