Modulare Exponentation

Cromon

Erfahrenes Mitglied
Hallo zusammen!

Ich habe hier einen Client, der ungefähr folgendes macht:
Code:
BigInteger raw_data = packet.ReadBigInt(256); // 256 bytes
BigInteger real_data = raw_data.ModExp(exp, modulus); // exp und modulus sind mir bekannt
...

Nun ist mein Problem, dass ich nicht weiss, wie ich die Daten als Server schicken muss, damit der Client nach diesen Aktionen auch wirklich die richtigen Daten in real_data hat. Ist das ähnlich wie in SRP-6?

Würde mich freuen, wenn mir da jemand auf die Sprünge helfen könnte, Kryptographie zählt nicht zu meinen favorisierten Gebieten...

Gruss und besten Dank
Cromon
 
Ok, ich bin schon einen Schritt weiter:
Ich als Server schicke c mit c = real_data.ModExp(UNK, modulus);
Der Client macht dann:
real_data = c.ModExp(exp, modulus);

Für UNK muss erfüllt sein: (UNK * exp) mod (modulus - 1) = 1. Jetzt müsste ich eigentlich nur noch UNK herausfinden. Stimmt das soweit?
 
Zurück