Sei sulla pagina 1di 15

Crittografia Chaos-Based

Luca Testoni 820410

Introduzione
Il Caos e' un fenomeno interessante e affascinante che puo' essere osservato sia in
natura che in laboratorio. In natura il Caos e' presente, ad esempio, nelle dinamiche
climatiche e in quelle dei satelliti del sistema solare, nello studio demografico delle
popolazioni e nelle principali funzioni del corpo umano. In laboratorio si puo' osservare
nella fluidodinamica, nei sistemi meccanici ed elettrici, nei laser e nelle reazioni
chimiche. Questi sono solo alcuni esempi di come il Caos sia presente nel mondo che ci
circonda.
Il fatto che non tutto ci che possiamo osservare nel mondo che ci circonda sia
spiegabile attraverso sistemi regolari, prevedibili e privi di incertezza fu osservata gi alla
fine del '700; fu pero' il matematico Henri Poincar, agli inizi del XX secolo, che ipotizz
per primo l'esistenza di sistemi dinamici non lineari e che fond quella branca della
Matematica che predilige lo studio delle caratteristiche geometriche delle traiettorie e
non il loro esatto percorso.
L'enunciazione della Teoria del Caos per dovuta al fisico Edward Lorenz (1917 2008)
e fu ufficialmente presentata il 29 dicembre 1979. Lorenz osserv per la prima volta il
Caos durante la simulazione di un evento climatico. Egli infatti osserv dapprima una
simulazione climatica con determinati valori di input, dopodich not che, modificando
leggermente i dati in input, l'evoluzione climatica si discostava nettamente dal risultato
precedente. Queste osservazioni portarono allo sviluppo della Teoria del Caos e
all'introduzione del concetto di non prevedibilit nei sistemi complessi non lineari.
Se infatti nei sistemi lineari, piccole variazioni dei dati in input portano a piccole
variazioni dei risultati finali, in sistemi non lineari piccole variazioni dei dati in input
possono portare a differenze non prevedibili nel comportamento finale. Esiste infine una
terza possibilit, per la quale i sistemi si possono comportare in modo caotico in taluni
casi e non caotico in altri.

La Teoria del Caos


La Teoria del Caos evidenzia come la maggior parte dei sistemi biologici, chimici,
economici e sociali contengano elementi che sono in grado, interagendo fra loro, di
produrre effetti non prevedibili. E' definita anche effetto farfalla, in quanto Lorenz nella
sua presentazione ipotizzava come un battito di farfalla in una zona del mondo, a seguito
di eventi concatenati, potesse creare un tornado in un'altra zona del mondo.
In tutte le principali discipline, lo studio della Teoria del Caos ha confermato che il
comportamento naturale dei fenomeni e' non lineare; si anzi giunti ad affermare che la
vita stessa possibile grazie al Caos.
Alla base della teoria vi lo studio dei sistemi dinamici. Un sistema dinamico e' un
concetto matematico legato ad un modello che rispetta determinate regole e che
descrive l'evoluzione nel tempo di un sistema. Le regole legano lo stato presente a quello
passato e a quello futuro.
Un esempio di sistema dinamico pu essere dato dalla funzione
. Per
avremo

(1)
Ora scegliamo due valori adiacenti ad , K e K+1, quindi otteniamo:
(2)
dove K
.In questo modo possiamo ricostruire la legge dinamica
che
ha generato la funzione.
Dal punto di vista continuo un sistema dinamico non e' altro che una serie di equazioni
differenziali che determinano come lo stato del sistema evolve nel tempo. Prendendo in
considerazione il tempo come un valore intero invece osserviamo il sistema dal punto di
vista discreto, ovvero un insieme di equazioni differenti.
Nel nostro caso prenderemo in considerazione i sistemi dinamici discreti in quanto sono
piu' semplici da mettere in relazione con la teoria dei segnali; quindi, in generale
possiamo affermare che un sistema dinamico discreto e' un insieme di una o pi
grandezze (sistema) che evolvono (dinamico) a passi costanti nel tempo (discreto).
I sistemi dinamici sono formati da 3 concetti fondamentali:
Orbita: ovvero l'insieme di tutti gli stati che si incontrano partendo da un certo
stato iniziale e facendo evolvere il sistema per tempi nel futuro o nel passato;
Spazio delle fasi: ovvero tutti i possibili punti che rappresentano univocamente
tutti e i soli possibili stati del sistema;
Punto fisso: ovvero un punto nello spazio delle fasi che rimane invariato durante
l'evoluzione del sistema;
Attrattore: un insieme di stati a cui tutte le orbite tendono ad avvicinarsi per
tempi che tendono all'infinito.
In un sistema dinamico lineare semplice dimostrare che l'orbita costante del sistema
rimane stabile attraverso il calcolo delle derivate
per l'equazione (1) nel
campo dei numeri reali
e dove un numero positivo aggiunto alla funzione come
elemento perturbante non incide sull'andamento della funzione e quindi non incide ne
sul punto fisso ne sull'attrattore.
La soluzione di sistemi dinamici discreti non lineari invece richiede metodi speciali per
essere risolto; sono proprio questi i sistemi di cui andremo a discutere, poich
raggruppano caratteristiche interessanti dal punto di vista della crittografia. In essi,
infatti, una seppur minima perturbazione comporta un notevole cambiamento delle
caratteristiche del sistema.
Caos Deterministico
E' necessario soffermarsi sul concetto di Caos deterministico e ribadire il concetto che i
sistemi dinamici non lineari mostrano una notevole sensibilit dipendente dalle
condizioni inziali: come abbiamo gi detto una delle caratteristiche principali che per
piccolissime variazioni nei valori delle variabili iniziali si possono ottenere grandi
differenze nell'orbita del sistema e nei risultati finali.
Abbiamo definito come
quando t = 0, la condizione iniziale del sistema.
Se definiamo una piccolissima perturbazione applicata a , possiamo stabilire che la
condizione iniziale del sistema e'
. Dopo n iterazioni del sistema possiamo
separare la perturbazione e definirla come
dove viene chiamata
esponente di Lyapunov. In sintesi, l'esponente di Lyapunov ci da la misura infinitesimale

della divergenza dell'orbita di un sistema.


Un'ulteriore caratteristica dei sistemi non lineari caotici e' l' imprevedibilit: non si pu
prevedere in anticipo l'andamento del sistema su tempi lunghi (rapportati al tempo
caratteristico del sistema) a partire da condizioni iniziali conosciute.
In questi sistemi si nota come le diverse orbite che il sistema pu sviluppare possano
prendere cammini diversi, che rimangono per tutti confinati in un campo finito di
soluzioni. Questi vari cammini si chiamano biforcazioni , ovvero una piccola variazione
dei valori dei parametri (i parametri di biforcazione) che causa un cambiamento
qualitativo o topologico del sistema.
Esistono sistemi che risultano caotici nel loro intero spazio delle fasi e altri che invece
risultano caotici solo per brevi intervalli dello spazio delle fasi. In questi sistemi possiamo
notare la presenza di orbite periodiche e attrattori strani , ovvero quelle zone di
convergenza del sistema dove possibile notare fenomeni caotici.

Figura 1: Plot delle biforcazioni nella mappa logistica

Figura 2: Plot degli attrattori di Lorenz

Teoria del Caos e Crittografia


Lo studio dei sistemi caotici e della loro possibile applicazione in Crittografia ha ricevuto
molte attenzioni nell'arco degli ultimi anni.
Il Caos ha potenziali applicazioni in svariate branche della comunicazione digitale:
compressione, crittografia e modulazione.
Negli ultimi tempi si sono sviluppate due distinte aree di ricerca:
La Modulazione Chaos-Based
La Crittografia Chaos-Based
Noi ci interesseremo della seconda.
Ricordiamo che la Crittografia la scienza che studia, tra le altre cose, i metodi per
offuscare un messaggio in modo tale da renderlo non leggibile a persone non
autorizzate, e per autenticare il mittente del messaggio in modo univoco. In generale, ha
il compito di studiare e fornire i metodi migliori per la protezione dei dati contro attacchi
di tipo passivo e attivo.
Fra i campi principali della crittografia moderna troviamo: gli algoritmi a cifratura con
chiave simmetrica (a blocchi o a stream), gli pseudo-random number generator e gli
algoritmi a chiave pubblica. In questo scritto tralasceremo il primo e ci concentreremo
sugli ultimi due.
Come abbiamo detto i sistemi caotici sono caratterizzati da una sensibile dipendenza alle

condizioni iniziali mentre gli algoritmi crittografici moderni devono seguire i principi di
Shannon che qui di seguito riassumiamo:
Principio di Diffusione: mira a nascondere la struttura statistica del testo in chiaro,
quindi ogni cifra del testo cifrato pu essere prodotta da pi cifre del testo in
chiaro;
Principio di Confusione: mira a complicare le relazioni statistiche fra testo cifrato e
chiave. Si utilizza un sistema di sostituzione non lineare.
Dal 1990 in molte circostanze stato osservato che esiste un'interessante relazione fra il
Caos e la crittografia: molte propriet dei sistemi caotici hanno un riscontro anche nei
tradizionali crittosistemi. Nella Tabella 1 riassumiamo parzialmente queste propriet.
Sistemi Caotici

Sistemi Crittografici

Descrizione

Ergodicit1

Confusione

L'output ha la stessa
distribuzione per qualsiasi
input

Sensibilit alle condizioni


iniziali/parametri di controllo

Diffusione con piccoli


cambiamenti nel plaintext o
nella chiave segreta

Una piccola variazione


dell'input genera un grande
cambiamento dell'output

Propriet di miscelazione

Diffusione con piccoli


Una piccola variazione in
cambiamenti in uno dei blocchi un'area locale del sistema
del plaintext
causa una grande variazione
dell'intero spazio delle fasi

Dinamiche Deterministiche

Pseudo-randomizzazione
deterministica

Un processo deterministico
causa un comportamento
pseudo-randomico

Complessit della struttura

Complessit degli algoritmi di


attacco

Un singolo processo ha
un'enorme complessit

Tabella 1: raffronto fra le propriet dei sistemi caotici e crittografici

A dispetto delle relazioni appena citate, necessario precisare che non ancora stata
stabilita una relazione profonda fra i sistemi caotici e la crittografia, anche se i sistemi
caotici discreti permettono un impiego quasi naturale di questi nella progettazione di
nuovi algoritmi crittografici. Infatti tali sistemi, come abbiamo appena visto, presentano
importanti caratteristiche implicite che soddisfano i principi di Shannon.
L'idea principale della crittografia Chaos-based quella di utilizzare come chiave un nupla costituita dai parametri del sistema caotico (o da un loro sottoinsieme) e da una
certa condizione iniziale e generare da essi una serie di numeri pseudo-casuali. Ogni
elemento della serie del sistema caotico viene combinato con i dati digitali da cifrare.
L'effetto finale e' la complessa generazione di informazioni cifrate completamente non
correlate fra loro.
In generale, l'applicazione di sistemi caotici alla crittografia abbraccia le principali
funzionalit della crittografia moderna; si possono infatti trovare algoritmi caotici basati
su El-Gamal o RSA e in generale a chiave pubbliche, nonch algoritmi a chiave privata
come AES e DES, ma anche applicazioni pratiche nel campo dei generatori di numeri
casuali (PRNG e TRNG).
1

In questo caso per ergodicit intendiamo la propriet di un processo stocastico (versione probabilistica di sistema dinamico) di
avere le medie statistiche convergenti quasi ovunque. E' dunque difficile risalire allo stato iniziale di un sistema stocastico
analizzando la statistica dell'intero processo.

Per approfondire la relazione fra sistemi caotici e crittografia e' necessario introdurre il
concetto di mappe caotiche.
In matematica una mappa non e' altro che un sinonimo di funzione; la mappa
rappresenta quindi l'evoluzione di una funzione e viene spesso utilizzata per identificare
un morfismo indicato con il simbolo
Come vedremo pi avanti, esistono moltissime mappe caotiche che possono essere
utilizzate in campo crittografico. In genere si utilizzano mappe multidimensionali
(almeno 2) in quanto sono le uniche a garantire un keyspace abbastanza grande da
garantire una buona sicurezza.

Mappe Caotiche e Mappe Monodimensionali


Oltre ad importanti punti in comune esistono anche importanti differenze fra i sistemi
caotici e i sistemi crittografici.
Prima di dare una definizione di mappa caotica monodimensionale dobbiamo
confrontare queste ultime con i sistemi crittografici. Nella tabella 2 vengono riassunti le
similitudini e le differenze fra le mappe caotiche e gli algoritmi crittografici
Algoritmi crittografici

Sistemi Caotici

Spazio delle fasi: campo finito di interi

Spazio delle fasi: (sotto)insieme dei numeri


reali

Metodi algebrici

Metodi analitici

Rounds

Iterazioni

Spazio delle chiavi discreto

Parametri (numeri reali), spazio delle chiavi


continuo

Approccio digitale alle informazioni


attraverso l'aritmetica degli interi

Approccio digitale alle informazioni


attraverso l'aritmetica e l'approssimazione
nel continuo

Sicurezza e Prestazioni

Tabella 2: Similitudini e differenze tra mappe caotiche e algoritmi crittografici

Un'importante differenza tra i sistemi caotici e la crittografia sta nel fatto che le
informazioni da cifrare sono digitali mentre i sistemi caotici utilizzano i numeri reali.
La definizione di mappa caotica e' semplice: si tratta di una mappa (funzione) che
presenta un comportamento caotico parziale o totale.
Per poter quindi usufruire dei sistemi caotici nella crittografia e' possibile utilizzare le
mappe caotiche monodimensionali, che ci permettono di sfruttare il comportamento
caotico di dette funzioni in un sistema crittografico.
Mappe Monodimensionali
Le mappe monodimensionali sono solitamente indicate tramite una generica funzione:
(3)

dove

e' la mappatura dello spazio dello stato in se stesso. Dato che una mappa

monodimensionale e' di fatto un sistema discreto possiamo dire che tale mappa puo'
essere iterata. Ci significa che, dato uno stato iniziale
detto seme, iterando la
funzione si pu osservare l'evoluzione del sistema secondo le regole date ottenendo gli
stati futuri scaturiti dalle condizioni iniziali.

dove
e' l'n-esima iterazione della mappa.
Ora data l'equazione (3) possiamo definire la sua orbita
dello stato come
l'insieme di punti:
con
Se un omomorfismo possiamo definire l'intera orbita di ,
come l'insieme di
punti
per
e a ritroso possiamo definire
come l'insieme di punti
L'idea di prendere in considerazione anche l'orbita a ritroso trova ragione nel fatto che
non sempre, studiando le mappe, e' possibile studiare l'orbita a ritroso; ovvero,
rimanendo nel campo del discreto non e' sempre possibile andare a ritroso nel tempo: le
mappe non invertibili ne sono un classico esempio.
Un metodo conveniente per descrivere l'orbita delle mappe discrete iterate e poter
mettere in evidenza la loro zona caotica e' il cosiddetto cobwebbing. Questo metodo
grafico prevede di sovrapporre il plot della retta
al plot della mappa
.
Partendo dal punto iniziale
tracciamo una linea verticale fino al punto di incontro con
il grafico della mappa e da questo punto una linea orizzontale fino al punto di incontro
con la retta (questo e' il procedimento per la prima iterazione della mappa) e ripetiamo
questo procedimento per tutte le iterazioni previste.
Logistic Map
E' considerata l'archetipo di mappa monodimensionale: ideata con l'unico scopo di dare
un modello allo sviluppo demografico, la mappa pi studiata come esempio di mappa
monodimensionale. Essa rappresentata dalla funzione
(4)
dove rappresenta il parametro di controllo ed e' cruciale per il comportamento caotico
della mappa. Infatti variando il valore di e' possibile esaminare i cambiamenti
qualitativi delle dinamiche della mappa.
Essendo una mappa ideata per rappresentare la crescita demografica, la variabile

sempre compresa nell'intervallo


e rappresenta il rapporto tra la popolazione
esistente e il numero massimo possibile nell' anno ;
rappresenta il numero della
popolazione all'anno 0 e la variabile rappresenta il tasso di crescita o stagnazione della
popolazione.
Iterando questa mappa partendo da un valore iniziale di
e aumentando il valore
, quando
, la ragnatela sale su per la diagonale e poi si muove a spirale verso
l'interno, fino a raggiungere il punto in cui la parabola interseca la diagonale, che il
punto di equilibrio. Ne segue la stabilit, la ragnatela si muove a spirale verso l'interno,
purch
. Cos, per
si ottiene un singolo equilibrio stabile e la dinamica a
lungo termine consiste nel non fare assolutamente niente.
Quando esattamente uguale a 3, il punto di equilibrio debolmente stabile: la
convergenza verso di esso estremamente lenta. Questo un segno del fatto che ci
troviamo sulla soglia di un cambiamento radicale. In effetti quando
il punto di

equilibrio diventa instabile e la ragnatela comincia a muoversi a spirale verso l'esterno.


Analizzando il plot in Figura 1 e' possibile avere un'ulteriore conferma del fatto che per
il sistema diventa instabile e provoca una biforcazione.
Utilizzando la tecnica del cobwebbing possiamo osservare i vari plot della mappa
logistica.

La mappa logistica presenta almeno due gravi difetti che la rendono non idonea

all'applicazione in campo crittografico. Il primo difetto che essa non invertibile: non e'
infatti possibile ottenere una pre-immagine dato uno stato. Infatti sappiamo che una
mappa
invertibile se per un dato stato
esiste un unica pre-immagine tale
che
dove
e' l'inversa di .
Analizzando la logistic map e' chiaro che esisteranno sempre due pre-immagini in quanto
la funzione rappresentata come una parabola e sappiamo che le parabole hanno come
soluzione sempre due radici. Nel caso specifico dell'equazione (4) avremo che:
(5)
e quindi avremo 2 pre-immagini per
(tranne il caso per
che e' il punto fisso
del sistema).
Il fatto di non essere invertibile comporta il problema di non poter decifrare un blocco di
informazioni cifrate con un algoritmo che si basa su questa mappa caotica.
Il secondo difetto altrettanto importante e' che l'intervallo di valori per cui la mappa
presenta un comportamento caotico e' molto piccolo ovvero per
,data qualsiasi
condizione iniziale. Citando il principio di Kerckhoffs che afferma che la sicurezza di un
cifrario deve dipendere dalla segretezza della chiave e non dall'algoritmo, se prendiamo
in considerazione il fatto che la chiave in un sistema crittografico basato sulla logistic
map sarebbe costituita dalla condizione iniziale del sistema
e dal parametro di
controllo , possiamo semplicemente dedurre che lo spazio delle chiavi sarebbe molto
ridotto e quindi vulnerabile ad un attacco a forza bruta.
Questa affermazione e' in generale estendibile a tutte le mappe monodimensionali in
quanto la maggior parte di esse presenta comportamenti caotici solo in brevi intervalli di
valori e non sulla loro intera orbita.

Pseudo Random Number Generator (PRNG)


Molte applicazioni in crittografia richiedono la capacit di produrre numeri casuali. Per
esempio, la generazione dei numeri primi per creare le chiavi in un algoritmo di cifratura
RSA o in una firma digitale, o la generazione della chiave segreta in DES sono esempi
pratici di quante volte si debba generare numeri casuali nella crittografia. Purtroppo la
generazione di numeri causali e' un operazione assai costosa in termini di tempo quindi
in pratica si fa ricorso all'uso di uno Pseudo-Random Number Generator (PRNG).
Il PRNG non e' altro che un algoritmo che prende in input un numero o uno stato
(iniziale) e che prende il nome di seme, e produce in output una stringa numerica piu'
lunga del seme, mediante un processo deterministico.
Ci significa che i numeri generati dal seme cadranno sempre all'interno di un certo
intervallo, avranno quindi una distribuzione ben definita.
Poich loutput prodotto da una specifica funzione si deduce che lintroduzione dello
stesso seme nel PRNG generer sempre la stessa sequenza di uscita. In base allo stesso
asserto si capisce che la stringa emessa non potr essere infinita. La massima lunghezza
della sequenza prima che questa cominci a ripetersi definita come periodo del PRNG, e
solitamente si misura in bit. Se il seme introdotto ha lunghezza misurata in bit, allora il
periodo massimo sar
.
Le caratteristiche principali di un PRNG sono:
Velocit di esecuzione
Sicurezza

Ovviamente molto spesso queste due caratteristiche collidono fra loro. E' infatti difficile
produrre un algoritmo che allo stesso tempo sia performante e sicuro. In generale, un
algoritmo veloce ha di contro una distribuzione dei numeri generati lineare e l'intervallo
dei numeri generati sar piccolo a sufficienza da poter risalire al seme analizzando con
test statistici una porzione di stringa di numero casuale. Di contro, un algoritmo sicuro
(ovvero che lavora su un grande intervallo di numeri) richieder tempi lunghi per la
generazione di numeri casuali.
Al solito si predilige una via di mezzo prendendo in considerazione i PRNG che
garantiscono una sicurezza computazionale in quanto il costo della violazione del seme,
data una stringa numerica casuale e' pi alto del valore dell'informazione o quando il
tempo necessario supera la vita dell'informazione stessa.
Formalmente possiamo definire un PRNG come:
Sia

l'insieme dei primi


interi positivi. Definiamo il gruppo
come il seme del generatore. Ora definiamo come generatore
congruenziale un metodo iterativo per generare la sequenza
dove:
(6)
per una certa funzione
Ora e' necessario fare una distinzione nella tipologia di generatore congruenziale perch
ci verr comodo in seguito per analizzare meglio come un PRNG possa essere costruito
utilizzando le mappe caotiche.
Un generatore congruenziale si dice lineare se la funzione una combinazione lineare
dei numeri precedenti nella sequenza con coefficenti in
, diversamente detto non
lineare. Il pi semplice esempio di generatore lineare con formula (6) il Linear
Congruential Generator (LCG) dove
dove un coefficiente
intero strettamente positivo detto moltiplicatore e un coefficiente intero non negativo
detto incremento. Laddove per il Linear Feedback Shift Register (LFSR) con primitiva
polinomiale
abbiamo
e
.
In pratica dato un seme di k-bit un LSFR di grado k pu essere usato per produrre
bits prima di ripetersi.
Un generatore congruenziale si dice non lineare quando viene utilizzato un Non Linear
Feedback Shift Register (NLFSR) per produrre numeri casuali. Un NLFSR pu essere
espresso come
.
La differenza fra un generatore lineare e uno non lineare pu essere riassunta nelle
figure 3a e 3b che mostrano la distribuzione dei vettori
per il generatore
lineare
(3a) e per il generatore non lineare
(3b).
Salta subito all'occhio la differenza nella distribuzione dei numeri: con un generatore
lineare la distribuzione e' molto pi uniforme e quindi il seme maggiormente
predicibile usando appositi test statistici rispetto ad un generatore non lineare.
In generale e' sicuramente desiderabile sapere a priori che una sequenza pseudo-casuale
di numeri non rientri in un ciclo troppo corto e quindi predicibile.
Nel caso dei generatori congruenziali non lineari si presenta per il problema
dell'efficienza in termini di tempo. Per fortuna arrivano in soccorso le mappe caotiche
che garantiscono una buona efficienza e una buona resistenza ai test statistici.
Applicare le mappe caotiche o piu' in generale sistemi non lineari ad un generatore
costituisce quello che viene denominato un True Random Number Generator (TRNG).

Figura 3

I TRNG estraggono la casualit da fenomeni fisici e la elaborano al calcolatore. Si


utilizzano anche fenomeni molto semplici come le piccole variazioni nei movimenti di un
mouse. In pratica importante scegliere bene la sorgente di casualit da utilizzare. Una
sorgente radioattiva pu essere una valida scelta, infatti gli istanti di tempo a cui essa
decade sono totalmente imprevedibili e sono di facile rilevazione ed acquisizione con un
computer.
Un altro fenomeno da considerare il rumore atmosferico di facile acquisizione anche
con un semplice apparecchio radio. Si possono sfruttare inoltre fenomeni come il
rumore termico e l effetto fotoelettrico, cio lemissione di elettroni da una superficie
solitamente metallica quando questa viene colpita da una radiazione elettromagnetica
avente una certa frequenza. Questi sono tutti fenomeni completamente imprevedibili.
Un generatore di numeri casuali che sfrutta i predetti fenomeni contiene tipicamente un
amplificatore per portare il prodotto dei fenomeni fisici a dimensione macroscopica, ed
un trasduttore per convertire luscita in un segnale digitale.
Sono anche usati fenomeni macroscopici come le carte da gioco, i dadi o la stessa ruota
della roulette.
La loro imprevedibilit pu essere giustificata dalla teoria dei sistemi dinamici non lineari
e dalla teoria del caos.
Queste teorie suggeriscono che anche se i fenomeni macroscopici sono deterministici
sotto le premesse della meccanica newtoniana, i sistemi del mondo reale evolvono in un
modo che in pratica non pu essere predetto, perch occorrerebbe conoscere le
condizioni iniziali con un'accuratezza che cresce esponenzialmente nel tempo.
Una particolare mappa caotica che pu essere utilizzata per creare un TRNG la
cosiddetta Rnyi Map.

Applicazioni pratiche della Teoria del Caos nella Crittografia


Esistono svariate pubblicazioni che provano la possibilit di applicare sistemi dinamici
non lineari. Si va dalla cifratura di testi e immagini usando mappe caotiche

bidimensionali come la Baker's map, la mappa del gatto di Arnold o la mappa Standard,
all'utilizzo di sistemi non lineari come l'ECG del cuore o il rumore di fondo di una
webcam per creare TRNG. In questo capitolo cercheremo di portare un paio di esempi
pratici che dimostrano l'applicazione dei sistemi dinamici non lineari alla crittografia.
Cercheremo di applicare le mappe di Chebyshev prima ad un sistema di crittografia a
chiave pubblica basato sull'algoritmo ElGamal e poi su un sistema a chiave pubblica
basato su RSA.
ElGamal
L'algoritmo a chiave pubblica di ElGamal basa la sua sicurezza sull'intrattabilit del
problema del logaritmo discreto.
E' un sistema a chiave pubblica o asimmetrica, quindi meno efficiente di un sistema a
chiave simmetrica e per questo utilizzato per cifrare piccole porzioni di testo o per cifrare
in modo sicuro chiavi simmetriche da utilizzare in sistemi simmetrici.
Il suo funzionamento basato su funzioni
(7)
dove un numero primo, un generatore del gruppo
e
. Se
consideriamo una classe di funzioni (7) definite come
allora possiamo affermare che
prese due funzioni e vale la propriet commutativa:

Nell'algoritmo ElGamal, Alice genera un numero primo e un generatore del gruppo


di interi modulo .
Infine sceglie un intero random
e calcola
. La chiave pubblica di
Alice sar quindi la tripla
e la sua chiave privata sar .
Per cifrare un messaggio, Bob sceglie un numero casuale intero
, calcola
e
. Il testo cifrato da mandare ad Alice sar quindi
. Per recuperare il testo cifrato
da , Alice utilizza la sua chiave privata ,
calcolando
.
La decifratura funziona perch
.
RSA
L'algoritmo a chiave pubblica RSA basa la sua sicurezza sull'intrattabilit del problema
della fattorizzazione di numeri interi.
E' un sistema a chiave pubblica o asimmetrica, quindi meno efficiente di un sistema a
chiave simmetrica e per questo utilizzato per cifrare piccole porzioni di testo o per cifrare
in modo sicuro chiavi simmetriche da utilizzare in sistemi simmetrici.
L'algoritmo funziona in questo modo:
Vengono scelti due numeri primi distinti e casuali e . Sia
e
.
Alice sceglie un numero intero casuale ,
di cui il MCD(
) = 1 e calcola l'intero
d in modo che
. Ora la chiave pubblica di Alice sar la coppia (
) mentre
la chiave privata sar (
). Per cifrare un messaggio per Alice, Bob cifra il testo
calcolando
. Alice decifrer il messaggio utilizzando la sua chiave
privata (
) calcolando
.
Ora riprendendo il concetto che

e la propriet (1) sopracitata, RSA

funziona per due motivi:


1.
e
sono commutative e un punto periodico della funzione
per ogni
.
2. Se
allora esiste un intero tale per cui
. Se MCD(
)=1
allora per il teorema di Fermat:
. Elevando entrambi i membri
della congruenza alla potenza
e moltiplicando entrambi i membri per
otterremo
e
. Infine visto che e sono numeri
primi distinti allora
.
Possiamo quindi infine dedurre che la propriet (1) e' cruciale per il funzionamento di
entrambi gli algoritmi asimmetrici.
Chebyshev Maps
Sappiamo da tempo che le mappe di Chebyshev fanno parte dei sistemi dinamici non
lineari. Una mappa polinimiale di Chebyshev
di grado puo' essere
formulata come:
(8)
Calcolando

i primi polinomi sono:

Una delle pi utili e rilevanti propriet dei polinomi di Chebyshev determina che
(9)
e quindi
(10)
La mappatura del polinomio
ed noto che il polinomio di
Chebyshev ristretto nell'intervallo
si comporta in modo caotico per ogni
.
E' possibile implementare le mappe di Chebyshev (grazie alla propriet (1)) in un
algoritmo asimmetrico simile a ElGamal o RSA, selezionando un numero casuale
, calcolando
e ottenendo la chiave privata di Alice formata dalla coppia
. Il sistema che si ottiene prende il nome di Implementazione in virgola mobile
del Crittosistema basato sulle mappe di Chebyshev. In virgola mobile perch l'intervallo
preso in considerazione determina che si sta lavorando nel campo dei numeri reali e non
in quello degli interi. E' stato per dimostrato che questo tipo di implementazione non e'
sicuro ad un attacco known-cyphertext.
Ulteriori studi hanno quindi portato alla formulazione di mappe di Chebyshev modificate
che ora illustreremo. Utilizzeremo una mappa modificata come segue:
(11)

con
e dove e sono interi.
Il polinomio di Chebyshev modificato puo' sostituire le potenze in ElGamal e/o in Rsa se e
solo se vale la propriet commutativa(1) e se puo' calcolare il periodo della propria
orbita.
Il polinomio modificato di Chebyshev mantiene la propriet commutativa(1) infatti

in pi sia un numero primo causale e sia


tale che
della sequenza
, per n = 0,1,2,... e' un divisore di

. Allora il periodo

ElGamal Chebyshev Map


Il sistema di cifratura e' costituito da due algoritmi, il primo per la generazione delle
chiavi e il secondo per la cifratura.

Algoritmo di generazione delle chiavi


Alice
1. Generare un numero primo casuale e un intero con
2. Generare un intero casuale
e calcolare
3. La chiave publbica di Alice
; La chiave privata .

.
.

Algoritmo ElGamal a chiave pubblica di cifratura


1. Cifratura. Per cifrare un messaggio m, Bob deve:
a. Ottenere la chiave pubblica di Alice
.
b. Rappresentare il messaggio come un intero m nell'intervallo
c. Selezionare un intero casuale
.
d. Calcolare
e
.
e. Mandare il testo cifrato
ad Alice.
2. Decifratura. Per ottenere il messaggio in chiaro m da c, Alice deve:
a. Usare la chiave privata s per calcolare
.
b. Recuperare m calcolando
.

La prova che la decifratura funziona e' data dal fatto che:

RSA Chebyshev Map


Il sistema di cifratura e' costituito da due algoritmi, il primo per la generazione delle
chiavi e il secondo per la cifratura.

Algoritmo di generazione delle chiavi


Alice
1. Generare 2 numeri primi casuali e distinti e , approssimativamente entrambi della
stessa dimensione
2. Calcolare
e
3. Selezionare un intero casuale ,
, tale che MCD(
) = 1.
4. Calcolare l'intero ,
, tale che
.
5. La chiave pubblica di Alice (
); La chiave privata (
).

Algoritmo RSA a chiave pubblica di cifratura


1. Cifratura. Per cifrare un messaggio m, Bob deve:
a. Ottenere la chiave pubblica di Alice (
).
b. Rappresentare il messaggio come un intero dell'intervallo
c. Calcolare
e mandare ad Alice.
2. Decifratura. Per decifrare il messaggio m da c, Alice deve:
a. Usare la chiave privata per recuperare m calcolando

.
.

La prova che la decifratura funziona e' data dal fatto che prendendo quanto detto prima
sappiamo che se p e' un primo casuale e
allora il periodo della sequenza
con
un divisore di
.
Dato che
allora esiste un intero tale che
.
Detto ci troviamo che:
(12)
e allo stesso modo
(13)
quindi se
ottenere

sono numeri primi distinti possiamo usare il teorema cinese del resto per
(14)

Conclusioni
L'interesse verso la Teoria del Caos applicata alla crittografia subisce ogni giorno un
costante aumento. In internet possibile trovare un'infinit di pubblicazioni che
associano l'utilizzo delle mappe caotiche ad algoritmi di crittografia sia in campo teorico
sia in campo pratico. Un aspetto interessante della relazione fra Caos e crittografia che
pu e deve essere approfondito e' quello della sicurezza degli algoritmi prodotti.
Se infatti da un lato risulta stimolante poter produrre algoritmi basati sulla Teoria del
Caos per poter cifrare messaggi, immagini e piu' in generale segnali, la crittoanalisi di
questi algoritmi necessita di un attento e preciso studio dovuto proprio al fatto che si
alle prese con fenomeni che possono avere comportamenti inaspettati con piccole
variazioni delle condizioni iniziali.

Bibliografia
AA.VV., Text Encryption by Using One-Dimensional Chaos Generators and Nonlinear
Equations, 8th International Conference on Electrical and Electronics Engineering, pp. 320 - 323,
2013.
Albanese G., Bottoni F., Rossi G., Generatori di numeri pseudorandom, la generazione controllata
della casualit, Progetto di Crittografia a.a. 2009/2010.
Alvarez G., Shujun L., Some Basic Cryptographic Requirements for Chaos-Based
Cryptosystems, International Journal of Bifurcation and Chaos, vol. 16, no. 8, pp. 2129-2151,
2006.
C.E. Shannon, Communication Theory of Secrecy Systems, Bell Sys. Tech., 1949.
Ching-Kun C., Chun-Liang L., Text Encryption Using ECG signals with Chaotic Logistic Map, 5th IEEE
Conference on Industrial Electronics and Applicationsis, 2010.
Kocarev L., Lian S., Chaos-Based Cryptography. Theory, Algorithms and Applications, Berlin,
Springer, 2011.
Makris G., Antoniou I., Cryptography with Chaos, 5th Chaotic Modeling and Simulation
International Conference p 1-10, Athens, 2012.
Menezes AJ, van Oorschot PC, Vanstone SA. Handbook of applied cryptography. CRC
Press, 1997.
Sobhy MI, Shehata AR. Methods of attacking chaotic encryption and countermeasures.
IEEE Acoust Speech Signal Process, 2001.
Xin Z., Weibin C., A New Chaotic Algorithm for Image Encryption, International Conference on
Audio, Language and Image Processing (ICALIP) pp. 889 - 892 , 2008.