Risolutore di logaritmo discreto online
Calcola il logaritmo discreto x tale che g^x ≡ h (mod p) con ricerca esaustiva. Inserisci g, h e p (max 1.000.000) e ottieni la soluzione.
Inizia a usare
Funzionalità e limiti del calcolatore
Questo strumento esegue una ricerca esaustiva: controlla ogni esponente x da 0 a p-1, partendo da valore = 1 (per x=0) e aggiornando valore = (valore * g) mod p a ogni passo. Il valore h viene normalizzato modulo p, quindi anche h negativo o maggiore di p viene confrontato con il suo resto. Se nessun esponente nell'intervallo produce la congruenza, lo strumento segnala che non esiste soluzione.
Esempio concreto
Con i valori predefiniti g=2, h=8, p=13, il calcolo restituisce x=3 perché 2^3 = 8 e 8 mod 13 = 8. Puoi verificare: 2^0=1, 2^1=2, 2^2=4, 2^3=8.
Vincoli e precisione
Il modulo p è limitato a valori da 2 a 1.000.000 per evitare un carico eccessivo sul browser. Il calcolo usa l'aritmetica JavaScript standard (numeri a virgola mobile) entro questo intervallo, quindi è adatto a scopi didattici e di verifica, non a problemi crittografici reali. Il modulo non deve essere necessariamente primo e lo strumento non verifica che g sia un generatore del gruppo moltiplicativo: se i valori non sono coprimi, la sequenza può entrare in un ciclo più corto, ma la scansione esaustiva limitata trova comunque il primo esponente che soddisfa la congruenza, se esiste.
Domande frequenti
Perché il risultato è sempre il più piccolo esponente?
Lo strumento controlla gli esponenti in ordine crescente da 0 a p-1 e si ferma al primo che soddisfa la congruenza. Questo è il comportamento standard per la definizione di logaritmo discreto in un gruppo ciclico.
Cosa succede se inserisco un h negativo o maggiore di p?
Il valore h viene ridotto modulo p prima del confronto. Ad esempio, con p=13, h=-5 viene trattato come 8 (perché -5 mod 13 = 8). Quindi la soluzione trovata è per il resto, non per il valore originale.
Perché il modulo massimo è 1.000.000?
La ricerca esaustiva richiede fino a p passi. Con p superiore a un milione, il calcolo potrebbe bloccare o rallentare eccessivamente la pagina. Per moduli più grandi servono algoritmi più avanzati come baby-step giant-step, che non sono implementati qui.
Nota sulla privacy
Il calcolo avviene interamente nel tuo browser: nessun dato viene inviato a server o a servizi esterni.
Lista di controllo per l'uso corretto
- Inserisci solo numeri interi per g, h e p.
- Assicurati che p sia compreso tra 2 e 1.000.000.
- Ricorda che il risultato è il primo esponente che soddisfa la congruenza, non necessariamente l'unico.
- Per usi crittografici o di sicurezza, non affidarti a questo strumento: è puramente didattico.
g e h sono obbligatori e devono essere interi sicuri compresi tra -9007199254740991 e 9007199254740991. Il modulo p deve essere un intero da 2 a 1000000. Base e valore obiettivo vengono ridotti modulo p prima della ricerca.
L’elaborazione avviene localmente nel browser.