Cryptage un tout petit peu compliqué qu'un chiffre de substitution mono mais assez sympa quand même (très très très simple)

Contenu du snippet

Voilà c juste un code qui ajoute le code ASCII à celui d'un caractère du texte, mais en plus j'ai ajouté un truc qui mettra un caractère au hasard, ce qui n'est pas bête en soit.
Celà permet de compliquer le travail du type qui essaiera de cryptanalyser le truc.
Sinon je vous conseille de prendre un mot de passe de plus de huit lettre car c plus compliqué comme ça.
Deux petit problème :
1- Si le type sait que vous avez utilisez mon algorythme, il supprimera une lettre avant et une lettre après et c bon ! ! ! Alors il faut que je change de truc, en proposant à l'utilisateur de choisir à partir d'un seul nombre le nombre de fréquence de ce caractère hasard, et son enchevêtrement dans le texte crypté.
2- Si vous tapez un texte de 3000 lignes, ça vous fera 3000 * 3 : 9000 lignes de codes ! Ce qui alourdit singulièrement le truc. Mais là aussi je crois que la solution et comme en 1- mais en plus il faudrait un autre nombre qui supprime automatiquement certains caractère au hasard ; ce qui compliquerait encore plus le travail du cryptanalyste !

sinon je travaille en ce moment à ces différents trucs, mais en plus j'aimerais faire un cryptage hybride, comme ça ce serait impossible !! ! Mais il fau que les connaissances en programmation suivent ! !! ! !

voilà sinon je précise la majeure partie de la source est de Zuljin je répète de ZULJIN ; d'accord c ZULJIN qui a fait quasiment toute cette source moins les commentaire et le truc hasard ; donc merci à lui.
Qu'il ne soit pas "choqué" que j'utilise sa source, car :
1-s'il l'a mise sur le site c pas pour faire beau
2- c "gratifiant" pour lui (moi ça me gènerait pas du tout que l'on utilise ma source, surtout si je la met sur un site comme celui-ci)
3- Il a été débutant comme moi, il comprendra.

Sinon pour les commentaire vous aller encore me dire que c'est pas du tout sécurisant comme code, mais moi je vous dit que si vous cryptez par dessus ce code, vous aurez un niveau de sécurité inégalé ! Notament en RSA ou autre DES.

Donc ne dite pas qu'il va servir à crypter telle lettre de votre copine ou je ne sais quoi, car je suis un DEBUTANT oui je le crie sur les toits je sui un DE-BU-TANT ! ! ! !
Donc svp des remarques CONSTRUCTIVES c ma deuxième source ! ! !

Voilà je pense avoir tout dit ! !

Source / Exemple :


'Auteur : Zuljin
'charlax a modifié cette source pour qu'elle encore
'plus incassable !

Private Sub cmdcvnc_Click()
    TxtNcrypt.Text = TxtCrypt.Text
End Sub

Private Sub CmdDecrypter_Click()
    TxtCrypt.Text = ""
    If TxtMDP.Text = "" Then
    MsgBox "Il faut d'abord mettre un mot de passe !", vbExclamation, "Erreur !"
    Exit Sub
    End If
    Call decryptage(TxtNcrypt.Text, TxtMDP.Text)
End Sub

Private Sub CmdCrypter_Click()
    TxtCrypt.Text = ""
    If TxtMDP.Text = "" Then
    MsgBox "Il faut d'abord mettre un mot de passe !", vbExclamation, "Erreur !"
    TxtCrypt.Text = ""
    Exit Sub
    End If
    If Len(TxtMDP) < 8 Then
    MsgBox "La sécurité risque de ne pas être optimale avec un mot de passe de moins de 8 caractère !", vbCritical, "Attention"
    End If
    Call Cryptage(TxtNcrypt.Text, TxtMDP.Text)
End Sub

Private Sub TxtNCrypt_Change()
    If TxtNcrypt.Text <> "" Then
    CmdDecrypter.Visible = True
    CmdCrypter.Visible = True
    TxtCrypt.Text = ""
    Else
    CmdDecrypter.Visible = False
    CmdCrypter.Visible = False
    End If
End Sub

Private Sub Cryptage(Textnoncrypter, Motdepasse)
    Dim a, b, Textcrypter, Incr, Text, okm, z, w, x, k, memoire
    memoire = 0
    z = 0
    txtA = Val(txtA.Text)
    txtB = Val(txtB.Text)
    'Le code suivant sera exécuté autant de fois que
    'le nombre de caractère du text !
    For Incr = 1 To Len(Textnoncrypter)
        'Le prog va lire le 1er caractère du text quand incr=1
        'Puis quand la boucle sera finie, il lira le caractère
        'n°2 car incr sera égal à 2 ! et ainsi de suite
        Text = Mid$(Textnoncrypter, Incr, 1)
                'a va prendre la valeur ASCII du caractère
                a = Asc(Text)
                z = z + 1
                    'Cette condition permet de revenir à zéro
                    'quand on est arrivé au bout du mot de passe
                    If z > Len(Motdepasse) Then
                    z = 1
                    End If
                'okm prend la valeur du caractère à l'endroit z
                'du mot de passe
                okm = Mid$(Motdepasse, z, 1)
                'b prend la valeur ASCII du caractère okm
                'memoire = Asc(okm)
                b = Asc(okm)
                'Là réside le procédé de cryptage ; On additionne le code ASCII
                'avec le code ASCII du texte
                w = a + b
                    'Si l'addition excède 255 (valeur max. en ASCII)
                    'On en retire 255
                If w > 255 Then
                w = w - 255
                End If

        'C ici que j'ai précisément rajouter quelquechose
        'Le programme va ajouter un caratère au hasard
        'Avant et après le vrai mot crypté !
        Randomize
        x = Int(Rnd * 255)
        Randomize
        k = Int(Rnd * 255)
        'Ensuite on ajoute : 1 le contenu de la boite
        ' 2 : un caractère au hasard
        '3 : le caractère à partire de l'ASCII crypté
        '4 : Un autre caractère au hasard
        Textcrypter = Textcrypter + Chr(k) + Chr(w) + Chr(x)
            Next Incr
            'on fait de même pour la lettre suivante du texte à crypter
    TxtCrypt.Text = Textcrypter
    'Et on affiche le texte crypté ki ne ve plus rien dire
End Sub

'Le décryptage est le même avec la démarche inverse

Public Sub decryptage(Textcrypte, Motdepasse)
    Dim a2, b2, Textdecrypter, Incr2, Text2, okm2, z2, w2, memoire2
    memoire2 = 0
    z2 = 0
    For Incr2 = 2 To Len(Textcrypte)
        Text2 = Mid$(Textcrypte, Incr2, 1)
                a2 = Asc(Text2)
                z2 = z2 + 1
                    If z2 > Len(Motdepasse) Then
                    z2 = 1
                    End If
                okm2 = Mid$(Motdepasse, z2, 1)
                b2 = Asc(okm2)
                If b2 < 0 Then
                b2 = b2 + 255
                End If
                w2 = a2 - b2
                    If w2 < 0 Then
                    w2 = w2 + 255
                    End If
        Textdecrypter = Textdecrypter + Chr(w2)
        Incr2 = Incr2 + 2
            Next
    TxtCrypt.Text = Textdecrypter
End Sub

Conclusion :


Merci à ZULJIN oui c'est lui qui a fait la majeure partie de cette source ! ! ! ! ! !

Sinon je travaille à l'amélioration de ce code (voir plus haut) et mon rêve serait de faire un algo de cryptage complètement hybride car à mon aivs avant la cryptographie quantique, c ici que réside le futur.

Merci ! ! ! !

un petit exemple :
bonjour crypté avec azerty comme mot-clé donne
Ã5LéçïÓgÜ4ã?îÑ?Ó
mais c po tout à fait ça!

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.

Du même auteur (cs_charlax)