Matematica astratta

Quello che è importante, crittograficamente parlando, della matematica astratta sono i campi finiti.
Una prima visione d'insieme per approcciare a questo oggetto matematico è la seguente:

  1. I campi sono dei sottoinsiemi di una più larga classe di strutture algebriche chiamati anelli, che a loro volta sono un sottoinsieme di una classe più grande chiamata gruppi. I gruppi sono definiti da un semplice insieme di proprietà e sono semplici da comprendere. Ogni sottoinsieme successivo aggiunge delle proprietà più complesse.
  2. I campi finiti sono un sottoinsieme dei campi che comprende quei campi con un numero finito di elementi. Queste classi di campi fanno parte degli algoritmi di crittografia. In particolare ad un certo punto si parlare di una particolare classe di campi finiti che possiedono degli elementi che chiameremo p che sta per primo. Certi algoritmi fanno uso proprio di questa classe di elementi.
  3. Una classe più importante ancora dei campi finiti, per la crittografia, comprendono quelle con elementi raffigurati come campi delle forma . Prima di passare a questi dobbiamo però parlare e analizzare il concetto di aritmetica polinomiale.
  4. Fatte queste premesse siamo in grado alla fine di discutere dei campi finiti della forma

Gruppo
...

Un gruppo G, denotato con , è un insieme di elementi con una operazione binaria indicata con il punto . Il punto è lo stesso simbolo con cui viene normalmente indicata la moltiplicazione, ma nel caso della matematica astratta, tale simbolo, indica una operazione arbitraria qualsiasi.
Tale operazione associa ad ogni coppia (a, b) di elementi in un elemento in in modo che i seguenti assiomi siano rispettati:

Assiomi

(A1) Chiusura: se a e b appartengono a allora anche si trova in
(A2) Associatività: per tutti gli elementi a, b, c in
(A3) Elemento identità: C'è un elemento (e) in tale che per tutti gli elementi a in
(A4) Elemento inverso: _per ogni a in c'è un elemento a' in in modo che

Un esempio di gruppo

Diciamo che è un insieme di n simboli diversi che, per semplicità, rappresentiamo come . Una permutazione di n simboli è un associazione uno-ad-uno dall'insieme a stesso. Definiamo come un insieme di tutte le permutazioni degli n simboli diversi. Ogni elemento di è rappresentato da una permutazione di interi in .
Se allora
Ogni singolo elemento di è ina permutazione degli interi che vanno da fino a .
Possiamo dire che questo insieme è un gruppo:

(A1): se e sono due permutazioni di (in simboli ) allora l'associazione formata da è formata permutando gli elementi di sfruttando . Per esempio:
ovvero, il primo elemento dell'insieme di indica quale elemento di dovrebbe stare nelle prima posizione di . Il primo elemento di , il primo elemento di sarà il terzo di . Infatti il primo elemento di . Allo stesso modo vanno mappati tutti gli altri elementi.

(A2): Il modo in cui vengono mappati gli elementi definisce una proprietà che è facile dimostrare essere associativa

(A3): L'associazione identità è quella permutazione che non altera l'ordine degli elementi per l'identità è la permutazione . Infatti considerando l'esempio precedente se eseguiamo l'operazione .

(A4): Per qualsiasi permutazione di l'associazione che inverte la permutazione è . Riconsiderando l'esempio sopra: .

Se un gruppo ha un numero finito di elementi, ci si riferisce ad esso come gruppo finito, e l'ordine del gruppo è uguale al numero di elementi del gruppo. Altrimenti si tratta di gruppo infinito.

Gruppo abeliano
...

Un gruppo è abeliano se soddisfa la seguente condizione:

Assioma aggiuntivo per gruppo abeliano

(A5) Commutatività: per tutte le in

L'insieme degli interi (positivi, negativi e 0) con l'addizione risulta essere un gruppo abeliano.
L'insieme di elementi diversi da 0 dei numeri reali con la moltiplicazione è un gruppo abeliano.
L'insieme dell'esempio precedente è un gruppo, ma non è abeliano.

Quando un gruppo applica l'addizione:

  • l'elemento identità è 0;
  • l'elemento inverso di è ;
  • e la sottrazione è definita come ;

Gruppo ciclico
...

Definiamo mediante una notazione con esponente di un gruppo come l'applicazione ripetuta dell'operazione () del gruppo, quindi . Inoltre diciamo che come l'elemento identità e , dove è l'elemento inverso di in quel gruppo. Un gruppo è ciclico se tutti gli elementi di è una potenza di (k è un intero) di un elemento fissato del gruppo . L'elemento è un generatore del gruppo . Un gruppo ciclico può essere finito o no.

Esempio

Il gruppo degli interi con la proprietà di addizione è un gruppo ciclico infinito generato dall'elemento 1. In questo caso, le potenze sono interpretate come additive, in modo che n è l'n-esima potenza di 1.

Anello
...

Un anello R (ring) a volte indicato come , è un insieme di elementi con due operazioni, chiamate addizione e moltiplicazione (per rappresentare la moltiplicazione non utilizzeremo il simbolo ma la concatenazione degli elementi che devono essere moltiplicati ) in modo che per tutti gli a, b, c in R valgono i seguenti assiomi:

Assiomi per gli anelli

Valgono gli assiomi (A1-A5): R è un gruppo abeliano rispetto l'addizione con elemento identità 0 e l'inverso di è

(M1) chiusura rispetto la moltiplicazione: se a e b appartengono ad r allora ab è anch'esso in R
(M2) associatività della moltiplicazione: per tutti gli a, b e c in R
(M3) distributività: per tutti gli a, b, c in R e per tutti gli a, b, c in R

In essenza, un anello è un insieme di elementi in cui possiamo effettuare la somma, la sottrazione () e la moltiplicazione senza uscire dall'insieme.

Un anello è commutativo se soddisfa la seguente proprietà:

Assioma per anello commutativo

(M4) commutatività della moltiplicazione: per tutti gli a, b in R

Detto S l'insieme dei numeri pari (positivi, negativi e 0) con le operazioni di addizione e moltiplicazione. S è un anello commutativo.
L'insieme degli interi con le operazioni aritmetiche in modulo n è un anello commutativo.

Se un anello commutativo rispetta i seguenti assiomi

(M5) identità moltiplicativa: c'è un elemento 1 in R in modo che per tutte le in R

(M6) divisori diversi da 0: Se a, b in R e , allora deve essere che oppure
è detto dominio integrale.

Detto S l'insieme degli interi (positivi, negativi e 0) con le operazioni di addizione e moltiplicazione. S è un dominio integrale.

Campo
...

Un campo F, indicato con , è un insieme di elementi con due operazioni binarie chiamate addizione e moltiplicazione in modo che per tutti gli a, b, c in F valgono i seguenti assiomi:

(A1-M6): F è un dominio integrale

(M7) inverso moltiplicativo: per ogni elemento a in F, eccetto 0, c'è un elemento in F in modo che

Un campo è, essenzialmente in cui possiamo praticare addizione, sottrazione, moltiplicazione, divisione senza uscire dall'insieme. La divisione è definita come

Esempi familiari di campi

I numeri razionali, i numeri reali e i numeri complessi. Nota che l'insieme degli interi non è un campo, perché non tutti gli elementi dell'insieme ha un moltiplicativo inverso; infatti, solo gli elementi 1 e -1 hanno inverso moltiplicativo che appartiene all'insieme dei numeri interi.

Un campo F quindi è:

  • un gruppo abeliano rispetto l'addizione
  • un insieme tale che gli elementi diversi da 0 di F formano un gruppo abeliano rispetto la moltiplicazione
  • un insieme tale che valgono le proprietà distributive

Campi finiti della forma GF(p)
...

I campi infiniti non sono particolarmente interessanti dal punto di vista della crittografia. Mentre quelli finiti giocano un ruolo fondamentale in diversi algoritmi di crittografia. Può essere dimostrato che l'ordine di un campo finito (numero di elementi nel campo) deve essere una potenza di un primo , dove n è intero positivo. Un campo finito di ordine è indicato come dove GF sta per Galois Field (campo di Galois), in onore del matematico Galois che fu il primo a studiare i campi finiti. In particolare per la crittografia due casi sono importanti. Per n = 1, abbiamo il campo finito GF(p), tale campo finito ha una struttura diversa rispetto ai GF(p) dove p > 1. I campi finiti della forma , sono particolarmente interessanti da un punto di vista crittografico.

Pasted image 20230422120817.png

Campi finiti di ordine p
...

Per un dato primo, p, definiamo il campo di ordine p, , come un insieme di di interi con le operazioni aritmetiche in modulo p.
L'insieme degli interi , con le operazioni aritmetiche in modulo n, è un anello commutativo. Osserviamo inoltre che qualsiasi intero in ha un moltiplicativo inverso se e solo se quell'intero è relativamente primo con n.

Cosa vuol dire relativamente primo?

Due interi a e b si dicono relativamente primi (o coprimi) se e solo se essi non hanno nessun divisore comune eccetto -1 e 1. Ovvero il loro massimo comune divisore è 1.

Se n è primo, allora tutti gli elementi diversi da zero in sono relativamente primi con n e quindi esistono inversi moltiplicativi per tutti gli elementi diversi da 0 in . Per cui, per possiamo aggiungere la seguente proprietà:

Nome proprietàDescrizione
Moltiplicativo inverso ()Per ogni esiste un in modo che

Poiché w è relativamente primo con p, se moltiplichiamo tutti gli elementi di per w, avremo come resto risultante tutti gli elementi di permutati. Quindi, esattamente uno dei resti risultanti ha valore 1. Quindi c'è un qualche intero in che quando viene moltiplicato per w restituisce come resto 1. Quell'intero è il moltiplicativo inverso di w indicato come .

Quindi per a e b in con :
se:

allora:

Moltiplicando entrambi i membri dell'equazione per l'inverso moltiplicativo di a abbiamo:

Il più semplice campo è GF(2). Le sue operazioni aritmetiche sono riassunte come segue:
+01
001
110

Addizione

01
000
101

Moltiplicazione

In questo caso l'addizione è uno XOR e la moltiplicazione è equivalente all'AND.

00-
111

Inversi moltiplicativi a additivi
Quest'ultima tabella merita un chiarimento:
essendo in GF(2) ed essendo le operazioni di addizione e moltiplicazione in modulo 2.
L'inverso additivo di 0 è 0, poiché , mentre l'inverso additivo di 1 è 1, poiché .
Stesso ragionamento vale per gli inveri moltiplicativi:
l'inverso moltiplicativo di 0 non c'è, poiché , infatti il risultato dovrebbe essere 1 per ottenere l'inverso. L'inverso moltiplicativo di 1 è 1, poiché , non è 0 poiché . Lo 0, può non avere inverso moltiplicativo, tutti gli altri si per essere considerati dei campi di Galois.

L'insieme dei numeri interi in con operazioni di addizione e moltiplicazione in modulo 8, non costituisce un campo di Galois. Mentre l'insieme degli interi in si: .
Di seguito le tabelle delle loro operazioni e degli inversi:
Pasted image 20230422162409.png
Come si vede l'insieme in ci sono diversi numeri, oltre lo zero, a non avere un inverso moltiplicativo. Questo non lo rende un campo di Galois.

Come trovare l'inverso moltiplicativo in GF(p)
...

Per valori piccoli di p è possibile costruire una tabella come si vede nella figura sopra per trovare gli inversi moltiplicativi di un certo in insieme . Tuttavia per valori grandi di p non è altrettanto facile.

Diventa semplice sfruttando l'algoritmo esteso di Euclide:
Se , allora avremo . Usando l'aritmetica modulare possiamo dire:
Ma se , allora .

Esempio

, sappiamo che a è numero primo


produce il seguente risultato:
Quindi l'inverso moltiplicativo di b:

Per verificarlo possiamo calcolare: