Cryptage de vigenère

Soyez le premier à donner votre avis sur cette source.

Vue 11 642 fois - Téléchargée 896 fois

Description

Voici un petit programme qui utilise l' algorithme de Vigenère. Je l'ai réalisé aujourd'hui. C'est donc tout frais. J'attends vos commentaires et critiques.
Merci.

Source / Exemple :


Public strMessage As System.String  ' Texte à crypter
 Public strClef As System.String     ' Clef de cryptage

 Private Sub btnCrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrypt.Click
        Dim strLettre As System.String ' Chaque caractère du texte à crypter
        Dim strCrypt As System.String  ' Caractère après cryptage
        Dim strClé As System.String    ' Chaque caractère de la clef de cryptage
        Dim intCompteur As System.Int32
        Dim intCompteur1 As System.Int32
        strMessage = txtMessage.Text
        strClef = txtClef.Text
        ' Lecture de chaque caractère du texte à crypter
        ' Addition de chaque caractère de la clef de cryptage au caractère correspondant du texte à crypter
        For intCompteur = 0 To strMessage.Length - 1 Step 1
            strLettre = strMessage.Substring(intCompteur, 1)
            strClé = strClef.Substring(intCompteur1, 1)
            strCrypt = Chr((Asc(strLettre) + Asc(strClé)) Mod 256) ' Mod 256 si addition > 256
            lblCrypt.Text &= strCrypt ' Transcription de chaque caractère crypté 
            intCompteur1 += 1 ' Incrémentation du compteur de la clef

            If intCompteur1 = strClef.Length - 1 Then ' Si on atteint la fin de la clef, on revient au début
                intCompteur1 = 0
            End If
        Next
    End Sub

    Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
        Dim strLettreCrypt As System.String ' Chaque caractère  du texte crypté
        Dim strCléDecrypt As System.String  ' Chaque caractère de la clef
        Dim strDecrypt As System.String     ' Caractère après décryptage
        Dim intCompteur2 As System.Int32
        Dim intCompteur3 As System.Int32
        ' Lecture du texte à décrypter
        ' Soustraction de chaque caractère de la clef du caractère correspondant du texte à décrypter
        For intCompteur2 = 0 To lblCrypt.Text.Length - 1 Step 1
            strLettreCrypt = lblCrypt.Text.Substring(intCompteur2, 1)
            strCléDecrypt = strClef.Substring(intCompteur3, 1)
            If Asc(strLettreCrypt) - Asc(strCléDecrypt) < 0 Then
                ' Si la soustraction < 0, on rajoute 256 sinon tel quelle
                strDecrypt = Chr(Asc(strLettreCrypt) - Asc(strCléDecrypt) + 256)
            Else
                strDecrypt = Chr(Asc(strLettreCrypt) - Asc(strCléDecrypt))
            End If
            lblDecrypt.Text &= strDecrypt ' Transcription de chaque caractère décrypté
            intCompteur3 += 1

            If intCompteur3 = strClef.Length - 1 Then ' Si fin de clef, on revient au début
                intCompteur3 = 0
            End If
        Next
    End Sub

    Private Sub btnEffacer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEffacer.Click
        ' Effacement des TextBox et des Labels
        txtMessage.Text = ""
        txtClef.Text = ""
        lblCrypt.Text = ""
        lblDecrypt.Text = ""
        ' Mettre le focus sur le TextBox de saisie du texte à crypter
        txtMessage.Focus()
    End Sub

    Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
        Me.Close()
    End Sub

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2011

encours de test
Messages postés
67
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
30 juillet 2006

Merci de ton commentaire. J'avais pensé utiliser Xor mais je voulais faire quelque chose de différent. Ceci dit, rien que pour le plaisir de programmer, je vais concocter un autre programme utilisant le comparateur de bits.

Merci encore.
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
C'est pas mal (ça ressemble a un truc que j'ai fait ça)
mais j'aurais utilisé le comparateur de bits "Xor"

www.TroXsA.info

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.