Ich muss eine Funktion mit harten Math-Operationen umkehren, ich frage hier zu prüfen, ob es sogar möglich ist, schließlich für Hilfe.Umkehren, dass Math-Funktion
public static UInt32 Func_4(UInt32 P, UInt32 X, UInt32 G)
{
UInt64 result = 1;
UInt64 mult = G;
if (X == 0)
return 1;
while (X != 0)
{
if ((X & 1) != 0)
result = (mult * result) % P;
X = X >> 1;
mult = (mult * mult) % P;
}
return (UInt32)result;
}
Mit "Umkehren" Ich meine dies: Ich weiß, G, ich weiß, P, ich weiß, das Ergebnis. Ich brauche X.
Ich habe versucht, es heute Morgen wieder zu übersetzen, während meine Meinung klar war, aber ich habe versagt. Ist es überhaupt möglich?
Vielen Dank im Voraus.
Was sind Ihre erwarteten Eingaben zur Umkehrung? Welche von P, X und G suchst du zurück? –
Es würde helfen, wenn Sie den Algorithmus zeigen, den Sie hoffen zu tun. Wenn Sie das Ergebnis kennen und X nicht kennen, warum sollten Sie dann X weitergeben? Übergeben Sie das Ergebnis als Parameter. –
James: Ich denke, er hat r = f (p, x, g) und will eine Funktion x = h (p, r, g). –