User Tools

Site Tools


dsa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dsa [2025/01/22 14:51] lssdsa [2025/12/01 11:40] (current) – external edit 127.0.0.1
Line 3: Line 3:
 <file> <file>
 Tomislav je napisao aplikaciju za verifikaciju digitalnih potpisa. Tomislav je napisao aplikaciju za verifikaciju digitalnih potpisa.
- 
 Želi da pregledaš izvorni kod i testiraš je li nekako moguće zaobići verifikaciju. Želi da pregledaš izvorni kod i testiraš je li nekako moguće zaobići verifikaciju.
  
-Dostupan ti je izvorni kod programa, a na njegov servis se možete spojiti +Dostupan ti je izvorni kod programa, a na njegov servis se možete spojiti naredbom
- +nc chal.platforma.hacknite.hr 13011 ako koristite Linux, ili naredbom:  
-naredbom nc chal.platforma.hacknite.hr 13011 ako koristite Linux odnosno telnet chal.platforma.hacknite.hr 13011 ako koristite Windows+telnet chal.platforma.hacknite.hr 13011 ako koristite Windows
 </file> </file>
  
Line 50: Line 49:
  
  
- def euklidov_prosireni(a, b): +def euklidov_prosireni(a, b): 
-     if a == 0: +    if a == 0: 
- return (b, 0, 1) + return (b, 0, 1) 
-     else: +    else: 
- g, y, x = euklidov_prosireni(b % a, a) + g, y, x = euklidov_prosireni(b % a, a) 
- return (g, x - (b // a) * y, y)+ return (g, x - (b // a) * y, y)
  
- def modinverz(a, m): +def modinverz(a, m): 
-     g, x, y = euklidov_prosireni(a, m) +    g, x, y = euklidov_prosireni(a, m) 
-     return x % m+    return x % m
 </code> </code>
  
Line 65: Line 64:
 Više o operaciji multiplikativnog modularnog inverza možete pročitati na [[https://materijali.xfer.hr/docs/matematika/multiplikativni-inverz/|poveznici]].  Više o operaciji multiplikativnog modularnog inverza možete pročitati na [[https://materijali.xfer.hr/docs/matematika/multiplikativni-inverz/|poveznici]]. 
  
-Ono što je bitno, jest da će funkcija vratiti 0 ako multiplikativni modularni inverz nije definiran+Ono što je bitno, jest da će funkcija vratiti 0 ako multiplikativni modularni inverz nije definiran. Funkcija će vratiti nulu za 0 i //q// (koji nisu dozvoljeni), ali također i za sve višekratnike //q// (npr. //2*q//) koji jesu dozvoljeni. 
 + 
 +To znači da ako vrijednost parametra //s// postavimo na //2*q// tada će vrijednost varijable //w// biti 0, što pak znači da će i vrijednost varijabli //u1// i //u2// također biti 0, a vrijednost varijable v biti 1. Kako bi verifikacija prošla, //v// mora biti jednak //r// . Vrijednost //r// možemo postaviti na 1, tako da zadatak možemo riješiti postavljanjem vrijednosti //r// na 1, a vrijednosti //s// na //2*q// , a u poruci m napišemo "flag"
  
  
dsa.1737557480.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki