Definiamo il logaritmo discreto. Consideriamo un gruppo ciclico G di ordine n con operazione di gruppo * e sia g un suo generatore. Allora si definirà l’esponenziale discreto comedove x è un intero non negativo. Il problema del logaritmo discreto ( problema DL) consiste nel calcolare x una volta assegnati G, g ed y come precedentemente indicato. I dati g ed y prenderanno rispettivamente il nome di base ed argomento del logaritmo discreto. Se vale la 1.1 si ha che
dove logg y è appunto il logaritmo discreto di y in base g.
Soluzioni del problema logaritmo discreto
Se G è un gruppo ciclico generato da g, allora la sua soluzione al problema del logaritmo discreto in generale non è unica. Infatti se l’ordine di G è n, si ha gx+kn = gx (gn)k = gx = y per ogni k appartenente agli interi relativi
Possiamo dimostrare il seguente teorema.
Teorema. Sia g generatore del gruppo ciclico G di ordine n. Allora
Dimostrazione. Supponiamo x z mod n. Allora, per definizione di congruenza, nɪ (x- z) quindi esiste k appartente a interi relativi tale che x – z = kn. Ne segue che g x-z = gkn = 1 ovvero gx = gz. Viceversa, sia per ipotesi gx = gz. Se, per assurdo, x e z non fossero cogrui modulo n, allora n non dividerebbe x – z quindi g x-z ≠ 1, contro l’ipotesi. Quindi x e z devono essere congrui modulo n.
Dal teorema precedente segue che, se il problema del logaritmo discreto ha soluzione, allora questa sarà unica modulo l’ordine del gruppo.
Osservazione 1.
Osserviamo che gx non dipende da x ma dalla sua classe d’equivalenza modulo n che denotiamo con [x]n. Perciò ha senso definire g[x]n = gx.
Osservazione 2
Sarebbe possibile definire in modo analogo a quanto fatto prima il logaritmo discreto su un gruppo generico G non ciclico o con una base che non sia un generatore. In questi casi non sarebbe però garantita l’esistenza della soluzione del problema. In queste situazioni è comunque possibile restringersi al sottogruppo ciclico generato dalla base del logaritmo per poter risolvere il problema per ogni elemento di quel sottogruppo. In generale, se non diversamente specificato, nei discorsi considereremo gruppi ciclici.
Difficoltà del problema
Ci sono diversi parametri che infuenzano la difficoltà del problema. Uno di questi è l’ordine del gruppo ciclico nel quale si sta lavorando; un ordine grande aumenta ovviamente i possibili elementi e quindi il numero di operazioni che l’algoritmo deve eseguire. Vedremo che non solo la grandezza dell’ordine è importante ma anche la sua fattorizzazione in primi. Vediamo ora che la difficoltà dipende anche dal gruppo scelto.
Conclusioni
La trattazione continua e si capisce che sono problemi matematici abbastanza complessi, si voleva qui solo dare un idea di cosa si sta parlando.