RSA en Visual Basic 6
Publicado por Gema (1 intervención) el 21/09/2004 21:57:31
Alguien me podría decir como implementar este algoritmo en VB6
Gracias por anticipado
Gracias por anticipado
Valora esta pregunta


0



' Módulo para funciones matemáticas 'Module MathFunctions
' Función para calcular el máximo común divisor 'Public Function GCD(ByVal a As Long, ByVal b As Long) As Long
While b <> 0
Dim temp As Long
temp = b b = a Mod b a = tempWend
GCD = aEnd Function
' Función para calcular el mínimo común múltiplo 'Public Function LCM(ByVal a As Long, ByVal b As Long) As Long
LCM = (a * b) / GCD(a, b)
End Function
' Función para calcular la exponenciación modular 'Public Function ModExp(ByVal base As Long, ByVal exponent As Long, ByVal modulus As Long) As Long
Dim result As Long
result = 1 base = base Mod modulus While exponent > 0 If exponent Mod 2 = 1 Thenresult = (result * base) Mod modulus
End If
exponent = exponent \ 2
base = (base * base) Mod modulus
Wend
ModExp = resultEnd Function
End Module
' Formulario principal 'Private Sub Form_Load()
Dim p As Long, q As Long, n As Long, phi As Long, e As Long, d As Long
Dim plaintext As Long, ciphertext As Long, decryptedText As Long
' Seleccionar números primos p y q ' p = 61 q = 53 ' Calcular n y phi 'n = p * q
phi = (p - 1) * (q - 1)
' Seleccionar e (clave pública) ' e = 17 ' Calcular d (clave privada) ' d = 1While (d * e) Mod phi <> 1
d = d + 1
Wend
' Mensaje original ' plaintext = 42 ' Encriptar el mensaje 'ciphertext = MathFunctions.ModExp(plaintext, e, n)
' Desencriptar el mensaje 'decryptedText = MathFunctions.ModExp(ciphertext, d, n)
' Mostrar resultados 'MsgBox "Mensaje original: " & plaintext & vbCrLf & _
"Mensaje encriptado: " & ciphertext & vbCrLf & _
"Mensaje desencriptado: " & decryptedText
End Sub

