aaa2017
Messages postés8Date d'inscriptionsamedi 2 décembre 2017StatutMembreDernière intervention27 juin 2019
-
15 juin 2019 à 02:11
aaa2017
Messages postés8Date d'inscriptionsamedi 2 décembre 2017StatutMembreDernière intervention27 juin 2019
-
17 juin 2019 à 22:07
Bonjour,
Le processus DSA (Algorithme de Signature Numérique) se fait en trois étapes :
• génération des clés
• signature du document
• vérification du document signé
1- Code de la génération des clés :
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO
Imports System.IO.Directory
Public Class FrmDSA
Dim p, q As Integer
Dim i, num1, num2, count As Integer
Dim x, s As Integer
Dim h, y, z As Integer
Dim g, w, u1, u2 As Integer
Dim s1, s2, v As Integer
Dim PGCD, r, c, a, b, k, n, d, t As Integer
Dim preserves As Integer
Dim preserveq As Integer
Private Sub BtnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGenerate.Click
Dim i, num1, num2, count As Integer
num1 = Val(txtnumq.Text)
count = 0
For i = 1 To num1
If num1 Mod i = 0 Then
count += 1
End If
Next
If count = 2 Then
MsgBox("'q' est premier, continuer.")
Else
MsgBox("'q' n'est pas premier. Veuillez réessayer.")
End If
num2 = Val(txtnump.Text)
count = 0
For i = 1 To num2
If num2 Mod i = 0 Then
count += 1
End If
Next
If count = 2 Then
MsgBox(" 'p' est premier, continuer.")
Else
MsgBox("'p' n'est pas premier. Veuillez réessayer.")
End If
z = (Val(txtnump.Text) - 1) / Val(txtnumq.Text)
txtnumz.Text = z
If 1 < Val(txtnumh.Text) < (Val(txtnump.Text) - 1) Then
g = (Val(txtnumh.Text) ^ z) Mod Val(txtnump.Text)
txtnumg.Text = g And g > 1
End If
If 0 < Val(txtnumx.Text) < Val(txtnumq.Text) Then
y = (Val(txtnumg.Text) ^ Val(txtnumx.Text)) Mod Val(txtnump.Text)
txtnumy.Text = y
End If
If Val(txtnumh.Text) > (Val(txtnump.Text) - 1) Or Val(txtnumx.Text) > Val(txtnumq.Text) Then
MsgBox("les valeurs de 'h' ou 'x' incorrects. Veuillez réessayer.")
End If
txtkeypub.Text = txtnump.Text + txtnumq.Text + txtnumg.Text + txtnumy.Text
txtkeypri.Text = Val(txtnumx.Text)
End Sub
2- Code de la signature du document :
Private Sub BtnSignature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSignature.Click
If 0 < Val(txtnums.Text) < Val(txtnumq.Text) And 0 <= Val(txtnumM.Text) < Val(txtnump.Text) Then
s1 = ((Val(txtnumg.Text) ^ Val(txtnums.Text)) Mod Val(txtnump.Text)) Mod Val(txtnumq.Text)
txtnums1.Text = s1
s = Val(txtnums.Text)
q = Val(txtnumq.Text)
a = 1
b = 0
k = 0
n = 1
While q > 0
r = s Mod q
c = (s - r) / q
t = a
d = b
a = k
b = n
k = t - c * k
n = d - c * n
s = q
q = r
End While
If a > b Then
txtnumbezout.Text = a
Else : txtnumbezout.Text = b
End If
s2 = ((Val(txtnumM.Text) + (Val(txtnums1.Text) * Val(txtnumx.Text))) * Val(txtnumbezout.Text)) Mod Val(txtnumq.Text)
txtnums2.Text = s2
End If
If Val(txtnums.Text) > Val(txtnumq.Text) Or Val(txtnumM.Text) > Val(txtnump.Text) Then
MsgBox("les valeurs de 's' ou 'M' incorrects. Veuillez réessayer.")
End If
txtnumsign.Text = Val(txtnums1.Text) & Val(txtnums2.Text)
End Sub
Whismeril
Messages postés18399Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention29 mai 2023623 15 juin 2019 à 08:16
Bonjour
Vb95 t’a demandé d'arrêter d’ouvrir des sujets à la pelle.
C’est contre productif pour toi, puisque dans aucun message il n’y a d’information complète concernant ton besoin.
Ici il y a du code, ailleurs y’a des questions.
Donc tu vas copier coller le code dans le fil d’une question et ce sujet sera supprimé par un modérateur.
vb95
Messages postés3417Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention20 mai 2023165 15 juin 2019 à 22:38
Bonjour
Et en plus un beau mélange de VB6 et VB Net : MsgBox et Val par exemple sont des mots clé en VB 6 .
Pour éviter cela dans les Propriétés du projet dans l'onglet Références supprimer l'import à Microsoft Visual Basic .
Et dans l'onglet Compiler mettre Option Strict et Option Explicit sur On .
Ceci t'obligera à déclarer toutes tes variables correctement et d'éviter les conversions implicites .
aaa2017
Messages postés8Date d'inscriptionsamedi 2 décembre 2017StatutMembreDernière intervention27 juin 2019 17 juin 2019 à 22:07
Bonsoir,
1- J'ai écrit : "prochainement, je continuerai le code.", c a d, il y a une suite de code que je vais le terminer où il y a du code et il y a des questions,
2- Merci pour vos corrections,
3- l'expéditeur a envoyé un fichier signé au destinataire,
ce fichier signé est comme suite :
"68c40e7e13b9419b49707ee734bf6ad1f99644ae"
le code du fichier signé est comme suite :
Imports System.IO
Public Class FrmUtilisateur
Public Function SHA1(ByVal content As String) As String
Dim Molecul3 As New Security.Cryptography.SHA1CryptoServiceProvider
Dim Bytestring() As Byte = System.Text.Encoding.ASCII.GetBytes(content)
Bytestring = Molecul3.ComputeHash(Bytestring)
Dim finalstring As String = Nothing
For Each bt As Byte In Bytestring
finalstring &= bt.ToString("x2")
Next
Return finalstring
End Function
4- le destinataire reçoit le fichier signé et va récupérer le fichier original,
ce fichier original est comme suite :
"Amina"
le code du fichier original est comme suite :
Imports System.IO
Imports System.Security.Cryptography
Module Decrypt
Sub DecryptText()
Dim key As Byte() = {&H1, &H2, &H3, &H4, &H5, &H6, &H7, &H8, &H9, &H10, &H11, &H12, &H13, &H14, &H15, &H16}
Dim IV As Byte() = {&H1, &H2, &H3, &H4, &H5, &H6, &H7, &H8, &H9, &H10, &H11, &H12, &H13, &H14, &H15, &H16}
Try
Dim DecryptStream As FileStream
DecryptStream = New FileStream("E:\tests\gema.txt", FileMode.OpenOrCreate)
Dim RMCrypto As New RijndaelManaged()
Dim CryptStream As New CryptoStream(DecryptStream, RMCrypto, CreateDecryptor(key, IV), CryptoStreamMode.Read)
Dim SReader As New StreamReader(CryptStream)
Frmverif.TxtFichierClair.Text = "The decrypted original text was:" & vbCrLf & SReader.ReadToEnd()
SReader.Close()
DecryptStream.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Decrypting Error")
End Try
End Sub
End Module
Private Sub BtnFichierClair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFichierClair.Click
DecryptText()
End Sub
5- ma question : j'ai pas pu récupérer le fichier original ?
c a d le code du fichier original, n'a pas pu exécuter ?
Ou se pose le problème?