+0  
 
0
465
4
avatar

b=13, p=21767, y=7451

 

b^(x) mod p = y

 

What is "x"? x must be an integer and smaller than p

 05.06.2021
 #1
avatar+3976 
0

So we have to solve a discrete logarithm problem?

That's actually a really difficult problem, but the given numbers are not too big. That's why I decided to brute-force your problem via python. I wrote 2 functions, wich actually could also have been just one function. I then executed disclog(y,b,p) with your numbers.

 

 

The solution is x = 337.

 05.06.2021
 #2
avatar+15000 
+1

Probolobo, bitte gib deine Antwort in diesem Forum auf deutsch. Wir wollen hier für alle deutschsprachigen Teilnehmer verständlich bleiben. Wer es  dann auf englisch (oder persisch) braucht, kann es mit dem Google-Übersetzer in seine Sprache übersetzen.

Hier der Link: https://translate.google.de/

Gruß

laugh  !

 05.06.2021
 #4
avatar+3976 
+1

Oh, pardon - wusste nicht, dass das ein Problem ist. Habe mich hier für englisch entschieden, weil der Fragesteller ja auch auf englisch gefragt hat. Dann hier nochmal mein Text auf deutsch:

 

Wir lösen hier also eine Aufgabe aus der Kategorie diskreter Logarithmus?

Tatsächlich ist das ein wirklich komplexes Problem, aber die gegebenen Zahlen sind ja nicht allzu groß. Daher habe ich mich dazu entschieden, die Aufgabe durch stumpfes Ausprobieren zu lösen, und zwar via Python. Ich habe mir dafür zwei Funktionen geschrieben, die man eigentlich auch in einer hätte zusammenfassen können. Ausführen von disclog(y,b,p) mit den gegebenen Zahlen liefert die Lösung x=337.

Probolobo  06.06.2021

4 Benutzer online

avatar
avatar
avatar