Primo passo verso la crittografia...
Dal greco
kriptos
= nascosto e da
graphein
= scrivere prende il suo nome la
crittografia
,ossia la scienza dei messaggi segreti sicuri, tali cio`e che possano essere decifrati da precisidestinatari.Un tempo associata ai servizi militari, alle spie, ai vari agenti 007 sparsi in tutto ilmondo, oggi la crittografia `e entrata a far parte della vita quotidiana di tutti grazieall’avvento dell’informatica e della crescente potenza di calcolo dei computer.Nata come raccolta di tecniche e di sistemi per nascondere messaggi tra regnanti, impe-ratori, amanti, etc, la crittografia `e maturata definitivamente a rango di scienza solo neiprimi del 1900 con l’avvento di nuove teorie e tecniche matematiche legate al concettodi informazione.In realt`a la crittografia ha origini antichissime, basti pensare che pi`u di 6000 anni fasi scrivevano geroglifici egizi in modo non standard e ancora oggi si lavora per la lorointerpretazione.Troviamo il primo esempio di messaggio cifrato nella Bibbia, in Geremia 20,25 si parladi
re di Sesach
, dove Sesach `e la cifratura di
Babele
. Il sistema usato era la sostituzionedi ogni lettera dell’alfabeto con la lettera che occupa la stessa posizione nell’alfabetoscritto al contrario.Questa parte sulla crittografia `e interessante perch`e si occupa di argomenti molto recenti,alcuni (il codice RSA) di appena 26 anni fa, e in continua evoluzione. Per chiarire comequesto metodo sia attuale, basta dire che la crittografia a chiave pubblica `e alla basedi tutta la comunicazione digitale, nel senso che la trasmissione delle e-mail, le comu-nicazioni via telefono cellulare, la televisione digitale e satellitare sono possibili perch`eil loro sistema di sicurezza si basa su codici che seguono questo schema. Per spiegarein due parole tale legame basta dire che tutto `e fondato sulla difficolt`a di fattorizzareun prodotto di numeri primi (si parla di numeri con centinaia di cifre) con l’ulterioreprecauzione che, dopo precisi intervalli di tempo, i numeri usati per la codifica vengonomodificati.Si potrebbe quasi dire che
`e merito dei numeri primi se le comunicazioni sono diventate cos`ı semplici e sicure!
1
Spolveriamo i ricordi
Per introdurre l’argomento riprendiamo alcuni concetti gi`a noti.Ricordiamo che un numero `e
primo
se e solo se `e divisibile soltanto per se stesso, peril suo opposto, per 1 e per -1.Sono esclusi dalla definizione di primo sia lo 0 che l’1 e il -1.Viene definito
quoziente (esatto)
fra due numeri naturali
a
e
b
, con
b
= 0, quelnumero naturale
x
(se esiste), tale che
x
·
b
=
a
; in tal caso si scrive
x
=
a
:
b
.Non sempre per`o il quoziente esatto esiste; ad esempio non c’`e alcun numero intero
x
tale che 3 = 2
·
x
e quindi in
Z
non c’`e il quoziente esatto 3 : 2 (anche se in
Q
esiste ilnumero non intero
32
).Anche quando il quoziente esatto non esiste, si pu`o comunque eseguire una divisionecon resto.Dati due numeri naturali
a
e
b
, con
b
= 0, esistono sempre (e sono unici) i due nu-meri naturali
q
e
r
tali che:
a
=
q
·
b
+
r
con la condizione 0
≤
r <
|
b
|
Tali due numeri naturali
q
e
r
si dicono rispettivamente
quoziente
e
resto
della
divi-sione con resto
di
a
per
b
.Ricordiamo inoltre che il massimo comun divisore tra due numeri
a
e
b
`e il pi grande ditutti i divisori comuni ad entrambi i numeri.Detto questo, provate a risolvere il seguenteESERCIZIO:
calcolare il
MCD
(20491
,
19169)2
Per determinare il
MCD
tra due numeri
a
e
b
si pu`o anche usare l’
ALGORITMOEUCLIDEO
. L’idea di base `e molto semplice:se
a
=
bq
+
r
ogni divisore comune ad
a
e
b
`e anche un divisore comune tra
b
e
r
.Vogliamo calcolare il
MCD
(
a,b
).Se supponiamo
a
≥
b >
0, si divide il maggiore dei due per l’altro, ottenendo unquoziente
q
1
e un resto
r
1
, ossia
a
=
bq
1
+
r
1
0
≤
r
1
< b
Si divide poi
b
per
r
1
ottenendo un nuovo quoziente
q
2
e un nuovo resto
r
2
,
b
=
r
1
q
2
+
r
2
0
≤
r
2
< r
1
.Si ripete il procedimento fino ad ottenere resto zero.L’ultimo resto non nullo `e il
MCD
cercato.Due interi tali che
MCD
(
a,b
) = 1 si dicono
coprimi
.Calcoliamo il
MCD
dell’esercizio precedente con questo nuovo metodo.
Esempio 1.
a
= 20491
e
b
= 1916920491 =
19169
·
1 +
1322
19169 =
1322
·
14 +
661
1322 =
661
·
2 +
0
pertanto
MCD
(20491
,
19169) = 661
.
Il calcolo del
MCD
mediante la decomposizione in fattori primi pu`o sembrare con-cettualmente pi`u semplice per`o, quando abbiamo a che fare con numeri molto grandi,quel metodo pu`o risultare estremamente lungo; invece con l’algoritmo euclideo i calcolisi sveltiscono notevolmente.Quanto detto servir`a concretamente pi`u avanti, quando si parler`a di codici di sicurezza
e crittografia.
Esercizio 1.
: trovare
MCD
(47011
,
52333)
usando l’algoritmo euclideo.
3
Premia la tua curiosità
Tutto ciò che desideri leggere.
Sempre. Ovunque. Su qualsiasi dispositivo.
Nessun impegno. Annulla in qualsiasi momento.