C'est un code permettant de crypter n'importe quel fichier avec la méthode RSA, mais avec des petites clés et le fichier obtenu et trois fois plus grand que celui à crypter.
Source / Exemple :
'Pour crypter
Dim Bit As Byte, Bit2 As Byte, m(2), N1 As Long, Mt As Long
Adn=Adresse du fichier à encrypter
Adc=Adresse du fichier encrypté
N = 33
e = 3
c = 1
Open Adn For Binary As #1
Open Adc For Binary As #2
Do While Not EOF(1)
DoEvents
Cp = Cp + 1
Get #1, Cp, Bit
For v = 0 To Len("" & Bit) - 1
N1 = Mid("" & Bit, v + 1, 1)
m(v) = N1
m(v) = m(v) ^ d
m(v) = Round(((m(v) / N) - Int(m(v) / N)) * N, 0)
Bit2 = m(v)
Select Case Len("" & Bit)
Case 1
Put #2, c, 0
Put #2, c + 1, 0
Put #2, c + 2, Bit2
Case 2
If Two = False Then Put #2, c, 0
Put #2, c + a + 1, Bit2
Two = True
Case 3
Put #2, c + a, Bit2
End Select
a = a + 1
Next v
a = 0
c = c + 3
Two = False
Loop
Close #2
Close #1
'''''''''''''''''''''''
'Pour décrypter
Dim Bit As Byte, Bit2 As Byte, m(2), N1 As Long, Mt As Long
Adn=Adresse du fichier à encrypter
Adc=Adresse du fichier encrypté
N = 33
d = 7
Open Adc For Binary As #1
Open Adn For Binary As #2
Do While Not EOF(1)
Do While v <> 3
DoEvents
Cp = Cp + 1
Get #1, Cp, Bit
N1 = Bit
If N1 = 0 Then GoTo F
m(v) = N1
m(v) = m(v) ^ e
m(v) = Round(((m(v) / N) - Int(m(v) / N)) * N, 0)
Mt = Mt + m(v) * 10 ^ (2 - v)
F:
v = v + 1
Loop
Cp2 = Cp2 + 1
Bit2 = Mt
Put #2, Cp2, Bit2
Mt = 0
v = 0
Loop
Close #2
Close #1
''''''''''''''''''''''''''''
Conclusion :
Désolé, mais je ne donnerai pas l'algorithme extremement difficile du cryptage RSA avec de grands nombres.
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.