Cryptage d'une chaîne de caractère avec la grille de vigénère

Description

La fonction Vigénère() permet de crypter une chaîne de caractère de manière efficace.
Par rapport à d'autres techniques de cryptage, Vigénère apporte deux avantages:

Premier avantage

Un même caractère dans le texte peut être codé différemment: plus le code est long (c’est-à-dire au moins aussi long que le texte à coder) et différencié (c’est-à-dire avec le moins possible de caractère identique), plus il y a de chance pour que plusieurs mêmes caractères soit codés différemment.

Deuxième avantage

Il est impossible – du moins à ma connaissance – de décodé le texte codé sans le code. Essayez.

Source / Exemple :


Function Vigénère(S As String, Code As String, Encode As Boolean) As String
 

  Dim i, j, s_Longueur, n As Integer
  Dim s_codé As String  

    j = 1
    s_Longueur = Len(S)
    s_codé = ""    

    For i = 1 To s_Longueur
      If Encode Then
        n = Asc(Mid(S, i, 1)) + Asc(Mid(Code, j, 1)) + 1
      Else
        n = Asc(Mid(S, i, 1)) - Asc(Mid(Code, j, 1)) - 1
      End If
      If n > 255 Then n = n - 255
      If n < 0 Then n = 255 + n
      s_codé = s_codé + Chr(n)
      j = j + 1
      If j > Len(Code) Then j = 1
    Next i    

    Vigénère = s_codé 

End Function

Conclusion :


Pour de plus amples explications sur le fonctionnement de la fonction Vigénère, référrez-vous au fichier ZIP joint.

Codes Sources

A voir également

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.