Hi Gunnar!
Zunächst einmal danke für deine Erklärung!
Nur dass das auf einem 32-Bit-System kaum gehen dürfte; rand() % (-(1<<23)) liefert wohl keine brauchbaren Zufallszahlen.
Weil der Bereich zu klein definiert ist? Würde sich das denn auf einem z.B. 64Bit-System ändern?
Hast du einen Hinweis wie andere Lösungen dabei verfahren? Immerhin gibt es ja bereits Programme die einen Schlüsselaustausch vornehmen. Der DSA verlangt z.B. min. 1024 Bits für den Primmodulus.
Grüße