Calcolatore Esponenziazione Modulare
Calcola l'esponenziazione modulare a^b mod n in modo efficiente utilizzando l'algoritmo di esponenziazione binaria (esponenziazione veloce). Inserisci la base, l'esponente e il modulo per ottenere risultati istantanei con una scomposizione passo dopo passo del metodo "square-and-multiply", la visualizzazione della decomposizione binaria e il contesto crittografico.
Il tuo ad blocker ci impedisce di mostrare annunci
MiniWebtool è gratuito grazie agli annunci. Se questo strumento ti è stato utile, sostienici con Premium (senza annunci + più veloce) oppure inserisci MiniWebtool.com nella whitelist e ricarica la pagina.
- Oppure passa a Premium (senza annunci)
- Consenti gli annunci per MiniWebtool.com, poi ricarica
Calcolatore Esponenziazione Modulare
Il Calcolatore di Esponenziazione Modulare calcola \(a^b \bmod n\) — elevando una base \(a\) a un esponente \(b\) e calcolando il resto della divisione per il modulo \(n\). Utilizza l'algoritmo di esponenziazione binaria (chiamato anche fast power o elevamento a potenza al quadrato), che riduce l'operazione da \(O(b)\) moltiplicazioni a sole \(O(\log b)\). Questo è lo stesso algoritmo utilizzato nelle implementazioni crittografiche del mondo reale come RSA, Diffie-Hellman ed ElGamal.
Applicazioni dell'Esponenziazione Modulare
Come Funziona l'Algoritmo di Esponenziazione Binaria
L'intuizione chiave è che possiamo decomporre qualsiasi esponente in una somma di potenze di 2 usando la sua rappresentazione binaria. Ad esempio, \(b = 13 = 1101_2 = 2^3 + 2^2 + 2^0\), quindi \(a^{13} = a^{8} \times a^{4} \times a^{1}\).
L'algoritmo elabora le cifre binarie dell'esponente da sinistra a destra:
Pseudocodice
function modpow(base, exp, mod):
result = 1
base = base mod mod
while exp > 0:
if exp is odd: // il bit è 1
result = (result × base) mod mod
exp = exp >> 1 // scorrimento a destra (divide per 2)
base = (base × base) mod mod
return result
Formule Chiave
| Proprietà | Formula | Descrizione |
|---|---|---|
| Esponenziazione Modulare | \(a^b \bmod n\) | Resto di a^b diviso n |
| Piccolo Teorema di Fermat | \(a^{p-1} \equiv 1 \pmod{p}\) | Per p primo e mcd(a,p)=1 |
| Teorema di Eulero | \(a^{\phi(n)} \equiv 1 \pmod{n}\) | Per mcd(a,n)=1, dove φ è la funzione totiente di Eulero |
| Complessità Metodo Binario | \(O(\log b)\) moltiplicazioni | Al massimo 2·log₂(b) moltiplicazioni modulari |
| Cifratura RSA | \(c = m^e \bmod n\) | Cifra il messaggio m con la chiave pubblica (e, n) |
| Decifratura RSA | \(m = c^d \bmod n\) | Decifra il crittogramma c con la chiave privata d |
Come Usare il Calcolatore di Esponenziazione Modulare
- Inserisci la base (a): Questo è il numero che vuoi elevare a potenza. Può essere positivo o negativo. Ad esempio, inserisci 7 per calcolare 7^256 mod 13.
- Inserisci l'esponente (b): Deve essere un numero intero non negativo. Rappresenta la potenza. Per le applicazioni crittografiche, questo può essere molto grande (il calcolatore supporta fino a 10^18).
- Inserisci il modulo (n): Deve essere un numero intero positivo. È il numero per cui dividi per ottenere il resto. In RSA, questo è solitamente il prodotto di due grandi numeri primi.
- Clicca su Calcola: Il calcolatore computa a^b mod n usando l'esponenziazione binaria e mostra il risultato istantaneamente.
- Guarda l'animazione: Premi Riproduci per osservare l'algoritmo di esponenziazione binaria in esecuzione passo dopo passo. Ogni bit dell'esponente viene elaborato in sequenza, mostrando se l'algoritmo eleva al quadrato o eleva al quadrato e moltiplica.
- Controlla la traccia: La tabella passo-passo mostra ogni calcolo intermedio e il confronto dell'efficienza mostra quanto sia più veloce l'esponenziazione binaria rispetto alla moltiplicazione ripetuta ingenua.
Perché l'Esponenziazione Binaria è Veloce
Considera di calcolare \(2^{1000} \bmod 13\). L'approccio ingenuo richiede 999 moltiplicazioni. L'esponenziazione binaria converte 1000 in binario (1111101000), che ha 10 bit. Necessita al massimo di 9 elevamenti al quadrato più alcune moltiplicazioni per ogni bit '1' — circa 15 operazioni in totale. Si tratta di circa il 98,5% di operazioni in meno. Per esponenti su scala crittografica con centinaia di cifre, la differenza è astronomica: il metodo binario richiede migliaia di operazioni dove quello ingenuo richiederebbe più operazioni di quanti siano gli atomi nell'universo.
FAQ
Cita questo contenuto, pagina o strumento come:
"Calcolatore Esponenziazione Modulare" su https://MiniWebtool.com/it// di MiniWebtool, https://MiniWebtool.com/
dal team miniwebtool. Aggiornato: 2026-04-16
Puoi anche provare il nostro Risolutore di Matematica AI GPT per risolvere i tuoi problemi matematici attraverso domande e risposte in linguaggio naturale.