Le potenze modulo n

Per calcolare la potenza modulo con le congruenze $$ a^m \mod n $$ posso usare questo algoritmo

  1. Calcolo tutte le potenze ax con x=2k < m
  2. Scrivo l'esponente m in base 2 (binario)
  3. Scrivo il prodotto delle potenze ax corrispondenti ai valori 1 del numero m in binario
  4. Calcolo le potenze e i prodotti riducendo man mano il risultato in modulo m

Il risultato finale è la potenza am in modulo n.

    Un esempio pratico

    Devo calcolare la seguente potenza am con a=3 e m=29 in modulo 7

    $$ 3^{29} \mod 7 $$

    Calcolo tutte le potenze con esponente 2k minore di m=29

    $$ 3^{2^0} \mod 7 \text{ perché } 2^0=1 < 29$$

    $$ 3^{2^1} \mod 7 \text{ perché } 2^1=2 < 29 $$

    $$ 3^{2^2} \mod 7 \text{ perché } 2^2=4 < 29 $$

    $$ 3^{2^3} \mod 7 \text{ perché } 2^3=8 < 29 $$

    $$ 3^{2^4} \mod 7 \text{ perché } 2^4=16 < 29 $$

    Mi fermo qui perché 25=32 > 29

    Pertanto ho le seguenti congruenze

    $$ 3^{2^0} \mod 7 $$

    $$ 3^{2^1} \mod 7 $$

    $$ 3^{2^2} \mod 7 $$

    $$ 3^{2^3} \mod 7 $$

    $$ 3^{2^4} \mod 7 $$

    Ora scrivo l'esponente m=29 in base 2 (binario).

    $$ (11101)_{29} $$

    Associo il primo valore (1) all'ultima potenza, il secondo valore (1) alla penultima potenza e così via.

    le potenze modulo n

    Scrivo un prodotto con tutte le potenze corrispondenti ai valori 1.

    $$ 3^{2^4} \cdot 3^{2^3} \cdot 3^{2^2} \cdot 3^{2^0} \mod 7 $$

    Calcolo le potenze

    $$ 3^{16} \cdot 3^8 \cdot 3^4 \cdot 3^1 \mod 7 $$

    $$ 43046721 \cdot 6561 \cdot 81 \cdot 3 \mod 7 $$

    Nota. Se qualche potenza è ancora molto grande posso semplificarla o usare lo stesso algoritmo in forma ricorsiva. Ad esempio la potenza 316 è molto complessa da calcolare a mente ma posso semplificarla in un prodotto di potenze $$ 3^{16}=3^4 \cdot 3^4 \cdot 3^4 \cdot 3^4 \mod 7 $$ $$ 3^{16}=81 \cdot 81 \cdot 81 \cdot 81 \mod 7$$ Nel modulo 7 il numero 81 diviso 7 ha resto 4. Quindi riscrivo l'equazione direttamente in modulo 7. $$ 3^{16}= 4 \cdot 4 \cdot 4 \cdot 4 \mod 7$$ $$ 3^{16}= 16 \cdot 16 \mod 7$$ Poiché 16 diviso 7 ha resto 2 posso riscriverla in questo modo $$ 3^{16}= 2 \cdot 2 \mod 7$$ $$ 3^{16}= 4 \mod 7$$ In questo modo posso scrivere la potenza 316 direttamente in modulo 7, senza doverla calcolare in decimale.

    Ora trasformo tutti i valori in modulo 7

    $$ 4 \cdot 2 \cdot 4 \cdot 3 \mod 7 $$

    Svolgo le moltiplicazioni trasformando man mano il risultato parziale in modulo 7 quando è superiore a 7 per semplificare i calcoli.

    $$ 4 \cdot 2 \cdot 4 \cdot 3 \mod 7 $$

    $$ 1 \cdot 4 \cdot 3 \mod 7 $$

    $$ 4 \cdot 3 \mod 7 $$

    $$ 5 \mod 7 $$

    Ho trovato il risultato finale

    $$ 3^{29} \mod 7 $$

    $$ 5 \mod 7 $$

    La potenza di 329 modulo 7 è equivalente a 5 modulo 7.

    $$ 3^{29} \equiv 5 \mod 7 $$

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Tool