Академический Документы
Профессиональный Документы
Культура Документы
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.
(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
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
Propriet di miscelazione
Dinamiche Deterministiche
Pseudo-randomizzazione
deterministica
Un processo deterministico
causa un comportamento
pseudo-randomico
Un singolo processo ha
un'enorme complessit
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.
Sistemi Caotici
Metodi algebrici
Metodi analitici
Rounds
Iterazioni
Sicurezza e Prestazioni
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
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.
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
Figura 3
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:
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
. Allora il periodo
.
.
.
.
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.