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 = temp
Wend
GCD = a
End 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 Then
result = (result * base) Mod modulus
End If
exponent = exponent \ 2
base = (base * base) Mod modulus
Wend
ModExp = result
End 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 = 1
While (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