Teoria dei numeri - Aritmetiche finite
Il calcolo del logaritmo nelle aritmetiche finite
La potenza nelle aritmetiche finite

La potenza di un numero in un'aritmetica finita si definisce semplicemente

ab = x mod n

Come nell'aritmetica ordinaria è possibile definire un'operazione inversa rispetto all'esponente: il logaritmo. Per definizione il logaritmo è l'esponente che si deve dare alla base a per ottenere il valore x:

b = loga x mod n

Tale logaritmo si dice logaritmo discreto.
Se il calcolo della potenza è relativamente semplice, il calcolo del logaritmo è computazionalmente molto complesso, può avere più soluzioni o anche nessuna.
Per es. in un'aritmetica di ordine 7 si ha:
in base 2in base 3in base 4in base 5in base 6
20 = 130 = 140 = 150 = 160 = 1
21 = 231 = 341 = 451 = 561 = 6
22 = 432 = 242 = 252 = 462 = 1
23 = 133 = 643 = 153 = 663 = 6
24 = 234 = 444 = 454 = 264 = 1
25 = 435 = 545 = 255 = 365 = 6
26 = 136 = 146 = 156 = 166 = 1

e quindi p.es. il log24 è 2 ma anche 5. Viceversa non esistono log23, log25, log26. Situazione simile per le potenze in base 4 e in base 6.

In base 3 (che è un generatore modulo 7) esiste il logaritmo di tutti i numeri tra 1 e 6, e, se si esclude lo 0, l´operazione è univoca: p.es. log36 = 3; log32 = 2 ... Situazione simile per le potenze in base 5, che è a sua volta un generatore.

Si nota poi che la potenza con esponente N - 1 = 6 vale sempre 1, come vuole il piccolo teorema di Fermat.

Per N piccolo come in questo caso il calcolo del logaritmo si può fare con una semplice ricerca esaustiva sulla tabella sopra; ma per N molto grande, con decine o centinaia di cifre decimali, questo metodo diventa estremamente lento. E fino ad oggi non si sono trovati metodi molto più efficienti di questo. In generale si ritiene che la complessità computazionale del calcolo del logaritmo discreto sia dello stesso ordine di una fattorizzazione anche se manca una dimostrazione.

Per questo motivo il calcolo del logaritmo discreto è una possibile alternativa alla fattorizzazione e su di esso si basano alcuni algoritmi crittografici a chiave pubblica: DH, El Gamal e alcuni cifrari basati sulle curve ellittiche.

Applicazioni


Valido HTML 4.01!