Calcolatore di Aritmetica Modulare
Calcola a mod n, addizione modulare, moltiplicazione e potenza (aᵇ mod n) — aritmetica dell'orologio all'istante.
1.229 visualizzazioni
Come Funziona l'Aritmetica Modulare
a mod n pone una domanda semplice: quale resto rimane dopo aver diviso a per n? Formalmente, a mod n = a − n × floor(a ÷ n), e per convenzione matematica il risultato è sempre compreso tra 0 e n−1. Il modo più intuitivo per immaginarlo è il quadrante di un orologio: le ore non contano all'infinito, si azzerano a 12 (o 24). Supponiamo che siano le 15:00 e vogliate sapere che ora sarà tra 10 ore — non ottenete "25:00", ma calcolate (15 + 10) mod 24 = 1, cioè le 01:00 del giorno successivo. Ogni valore ricicla attraverso lo stesso insieme di "posizioni", ed è esattamente questo avvolgimento ciò che n rappresenta in a mod n.
Questo calcolatore estende la stessa idea a tre operazioni correlate: l'addizione modulare (a + b) mod n, la moltiplicazione modulare (a × b) mod n e l'elevazione a potenza modulare aᵇ mod n. Quest'ultima sembra innocua ma è l'operazione singola più importante della crittografia moderna. Calcolarla nel modo ingenuo — elevando prima a alla potenza b e poi prendendo il resto — produrrebbe numeri con milioni di cifre per le dimensioni di chiave reali, ben prima che il passaggio modulo entri in gioco. Lo strumento usa invece l'algoritmo di elevazione a potenza per quadrati successivi (square-and-multiply): eleva ripetutamente al quadrato la base e riduce modulo n a ogni singolo passo, così i numeri intermedi non crescono mai oltre la dimensione di n stesso, indipendentemente da quanto sia grande b. Questo è ciò che rende possibili risultati esatti anche per esponenti lunghi centinaia di cifre.
Cosa Dovresti Sapere
- Crittografia: lo scambio di chiavi RSA e Diffie-Hellman si basano entrambi sull'elevazione a potenza modulare con numeri primi molto grandi — cifrare un messaggio significa, in sostanza, calcolare aᵇ mod n dove a, b e n hanno ciascuno centinaia di cifre.
- Funzioni hash: la maggior parte degli schemi di hashing riduce un input di dimensione arbitraria a un "contenitore" di dimensione fissa tramite un'operazione di modulo, motivo per cui il mod ricorre ovunque nelle tabelle hash, nei checksum e nella logica di bilanciamento del carico.
- Calendari e orologi: il calcolo del giorno della settimana, le conversioni tra formato 12/24 ore e i cicli del calendario sono tutti aritmetica modulare camuffata — il soprannome "aritmetica dell'orologio" deriva esattamente da qui.
- Le convenzioni sul segno differiscono: la matematica definisce sempre a mod n come non negativo, ma molti linguaggi di programmazione (C, JavaScript, Java) restituiscono invece un resto con lo stesso segno di a, il che può creare problemi nel tradurre direttamente le formule in codice.
Domande Frequenti
Quanto vale −7 mod 3?
Questo strumento segue la convenzione matematica secondo cui il risultato è sempre non negativo: −7 mod 3 = 2 (poiché −7 = −3×3 + 2). Alcuni linguaggi di programmazione restituiscono invece −1, perché definiscono il resto con lo stesso segno del dividendo anziché sempre positivo.
Dove si usa aᵇ mod n nella vita reale?
È l'operazione centrale dello scambio di chiavi RSA e Diffie-Hellman: cifrare un messaggio o concordare un segreto condiviso significa essenzialmente calcolare un'enorme potenza modulare, spesso con numeri lunghi 2048 bit o più.
Perché l'esempio dell'orologio usa mod 24 e non mod 12?
Entrambi funzionano — un orologio a 12 ore si azzera a mod 12, uno a 24 ore a mod 24. Il modulo n è semplicemente la dimensione del ciclo che vi interessa; scegliete la convenzione dell'orologio che corrisponde al modo in cui state contando il tempo.
a mod n è la stessa cosa della divisione intera?
Sono due metà della stessa divisione. a ÷ n (divisione intera) fornisce il quoziente — quante volte n entra interamente in a — mentre a mod n fornisce ciò che resta. Insieme, quoziente × n + resto ricostruisce sempre a.
Perché l'elevazione a potenza per quadrati successivi è più veloce del calcolo diretto di aᵇ?
L'elevazione a potenza diretta moltiplica a per se stesso b−1 volte, e il valore intermedio esplode in dimensione ben prima che sia possibile ridurlo modulo n. L'elevazione a potenza per quadrati successivi riduce invece dopo ogni passo di elevazione al quadrato, così i numeri coinvolti non crescono mai oltre, all'incirca, la dimensione di n — trasformando un'operazione che richiederebbe più tempo dell'età dell'universo per dimensioni di chiave crittografiche in una che si conclude in millisecondi.
Strumenti Simili
Segnala un Problema
Calcolatore di Aritmetica Modulare
Commenti
Ancora nessun commento — scrivi il primo!