Hallo,
dies ist mein erster Beitrag in diesem Forum. Ich komme einfach nicht weiter. Ich möchte in Visual Basic die RSA-Verschlüsselung realisieren. Nun hänge ich aber bei der Erstellung der Primzahlen. Man benötigt ja welche in Länge von 300-500 Stellen. Mit welchem Algorithmus bekomme ich das hin? Ich habe mich mit dem Miller-Rabin-Test versucht:
Damit lassen sich Primzahlen mit 17 Stellen erzeugen. Ab 18 Stellen passiert nichts mehr..
Kann mir jmd. weiterhelfen? Den Algorithmus weiter optimieren oder mir Fehler aufzeigen?
Danke schonmal!
dies ist mein erster Beitrag in diesem Forum. Ich komme einfach nicht weiter. Ich möchte in Visual Basic die RSA-Verschlüsselung realisieren. Nun hänge ich aber bei der Erstellung der Primzahlen. Man benötigt ja welche in Länge von 300-500 Stellen. Mit welchem Algorithmus bekomme ich das hin? Ich habe mich mit dem Miller-Rabin-Test versucht:
Quellcode
- Function isPrim(ByVal p As BigInteger, ByVal z As Integer)
- Dim d As BigInteger = p - 1
- Dim r As BigInteger = 0
- While d Mod 2 = 0
- d = d / 2
- r += 1
- End While
- Dim a As String = ""
- Dim help As String = Convert.ToString(p)
- For k As Integer = 0 To help.Length - 3
- a &= rnd.Next(1, 10)
- Next
- Dim x As BigInteger = BigInteger.ModPow(a, d, p)
- If x = 1 Or x = p - 1 Then
- Return True
- End If
- Do While z > 1
- x = (x * x) Mod p
- If x = 1 Then
- Return False
- End If
- If x = p - 1 Then
- Return True
- End If
- z -= 1
- Loop
- Return False
- End Function
Damit lassen sich Primzahlen mit 17 Stellen erzeugen. Ab 18 Stellen passiert nichts mehr..
Kann mir jmd. weiterhelfen? Den Algorithmus weiter optimieren oder mir Fehler aufzeigen?
Danke schonmal!