160 likes | 302 Views
POLITECNICO DI MILANO. CORSO: caos deterministico e applicazioni. Professore: Carlo Piccardi. Presentazione dell’articolo: True Random Bit Generation From a Double-Scroll Attractor
E N D
POLITECNICO DI MILANO CORSO: caos deterministico e applicazioni Professore: Carlo Piccardi Presentazione dell’articolo: True Random Bit Generation From a Double-Scroll Attractor Müştak E. Yalçin, Student Member, IEEE, Johan A. K. Suykens, Member, IEEE, and Joos Venderwalle, Fellow, IEEE Matteo Verzillo, matr.666690
INTRODUZIONE Generatore di numeri casuali (RNG): • La possibilità di generare numeri casuali risulta molto utile in alcune applicazioni, quali: • simulazioni; • generazione di test per la valutazione delle performance degli algoritmi; • metodi di ottimizzazione stocastica per il riconoscimento delle immagini. • Nell’ambito della crittografia l’utilizzo di un generatore di numeri casuali sicuro è addirittura di vitale importanza (generazione di password, chiavi …). • Affinché il RNG sia sicuro occorre che il suo output sia statisticamente indistinguibile da una sequenza realmente casuale di numeri e che sia impredicibile. Matteo Verzillo
INTRODUZIONE Classificazione dei RNGs: • Gli RNG possono essere suddivisi in tre classi: • True RNGs (TRNGs): questi generatori operano misurando processi naturali impredicibili e sono anche detti basati su hardware perché utilizzano gli aspetti casuali presenti nell’hardware. • Pseudo RNGs (PRNGs): utilizzano processi deterministici (infatti vengono anche chiamati RNGs deterministici) per generare una serie di output partendo da uno stato iniziale. Essi sono migliaia di volte più veloci e molto più economici dei TRNGs. • Hybrid RNGs (HRNGs): utilizzano un TRNG con o senza interazione da parte dell’utente (come le battute dei tasti, i movimenti del mouse o il tempo di ricerca in un disco), come generatore di origine. Questo generatore viene poi espanso. Matteo Verzillo
INTRODUZIONE Scopo dell’articolo: Lo scopo dell’articolo è quello di mostrare come, utilizzando sistemi caotici a tempo continuo, si possa generare una sequenza di bit realmente casuali; ovvero si vuole mostrare la sicurezza di un generatore di numeri casuali basato su un sistema caotico a tempo continuo. Per far ciò viene proposto e analizzato un particolare TRNG, e viene verificata la reale casualità e impredicibilità dei bit generati tramite alcuni test statistici a cui esso è stato sottoposto. Matteo Verzillo
TRBG BASATO SU UN ATTRATTORE DOUBLE-SCROLL Il TRBG proposto: Matteo Verzillo
TRBG BASATO SU UN ATTRATTORE DOUBLE-SCROLL Il TRBG proposto: • Parte Hardware: • Blocco S1 (oscillatore caotico): • è un sistema autonomo del terzo ordine a tempo continuo che presenta un attrattore double – scroll. È qualitativamente simile all’attrattore osservato nel circuito di Chua. • Blocco S2 (circuito di soglia): • divide lo spazio di stato in tre sotto-spazi. Due di questi sono posizionati in corrispondenza delle due “matasse” dell’attrattore, il terzo, invece, corrisponde alla regione di transizione. Matteo Verzillo
TRBG BASATO SU UN ATTRATTORE DOUBLE-SCROLL Il TRBG proposto: • Parte Software: • Blocco S3 (generatore di bit): • essenzialmente codifica le due “matasse” dell’attrattore (0 se ci si trova sulla prima, 1 se si è sulla seconda). • L’unione di S2 e S3 è descritta da una funzione non-invertibile che ha la caratteristica di migliorare la casualità dell’output. Infatti il campionamento del segnale nello spazio porta ad un campionamento irregolare dello stesso nel tempo. Ciò rende molto difficile eventuali previsioni sui futuri output. • Blocco S4 (reallineamento): • elimina il bias nell’output del generatore di bit. Questo bias dipende dalla densità di probabilità del segnale caotico stesso e dalle limitazioni di ampiezza e larghezza di banda. Matteo Verzillo
OSCILLATORE CAOTICO Realizzazione dell’attrattore double-scroll: Per generare il comportamento di un attrattore “a doppia matassa” si è recentemente scoperto un modello semplice di circuito elettrico. Esso è dato da: S1: = Ax + Bf(Cx) Questo modello produce un attrattore “a doppia matassa” per a = 0.8 Matteo Verzillo
OSCILLATORE CAOTICO Realizzazione dell’attrattore double-scroll: Utilizzando il modello precedentemente descritto e apportando opportune modifiche viene realizzato il circuito col comportamento desiderato: Cx = Cy = Cz = C R1 = R R2 = R4 = R/a Vx = ax Vy = ay Vz = z Matteo Verzillo
CIRCUITO DI SOGLIA Suddivisione dello spazio di stato: Lo spazio di stato viene suddiviso in 3 regioni (V0, VT, V1) introducendo 2 valori di soglia (c1 = 0 e c2 = -1) e vengono definite due nuove funzioni (che compongono il blocco S2): Matteo Verzillo
GENERATORE DEI BIT Generazione dei bit: Un bit è generato quando il segnale attraversa il sottospazio V0 o il sottospazio V1 passando per il sottospazio VT: dove σ0 : o ↑1 indica una transizione da 0 a 1 di σ0e i = {0, 1, 2, …}. L’immagine seguente mostra la generazione di una sequenza di bit. Matteo Verzillo
REALLINEAMENTO E SETTAGGIO DELLA SOGLIA C2 Tecniche di reallineamento (de-skewing): • I generatori casuali di bit, molto frequentemente sono affetti da piccoli errori e da oscillazioni rispetto al comportamento che realmente dovrebbero presentare. • Si utilizzano quindi tecniche di reallineamento (de-skewing) aventi i due seguenti vantaggi: • eliminano il bias che influenza il sistema; • eliminano la correlazione presente nei dati in uscita dal sistema. Matteo Verzillo
REALLINEAMENTO E SETTAGGIO DELLA SOGLIA C2 La tecnica di reallineamento di Von Neumanns: • In questo generatore casuale di bit viene utilizzata la tecnica di reallineamento proposta da Von Neumanns, che prevede di: • convertire la coppia 0 1 in un output pari a 0; • convertire la coppia 1 0 in un output pari a 1; • eliminare le coppie 0 0 e 1 1. • Si ottiene in questo modo il blocco S4, regolato dalla seguente funzione: Il TRBG proposto ha quindi un unico output: B ={… , b(i-1), b(i), b(i+1), …} con b(i) ={0, 1}. Matteo Verzillo
REALLINEAMENTO E SETTAGGIO DELLA SOGLIA C2 Settaggio della soglia c2: L’eliminazione del bias porta a delle variazioni delle proprietà statistiche del TRBG. Occorre quindi effettuare delle correzioni. Ciò è possibile modificando il valore della soglia c2, che ha quindi funzione di parametro di controllo del sistema. Utilizzando la conoscenza che il rumore ha entropia massima, il valore di soglia c2 viene settato in modo tale da massimizzare la misura di entropia del TRBG. In questo particolare TRBG il valore corretto per C2 è stimato essere pari a -1,44 Volt. Matteo Verzillo
TEST STATISTICI FIPS 140 - 1: Sono 4 test statistici differenti (Monobit, Poker, Runs, Long-run) che garantiscono la casualità dei dati. Nel nostro caso sono state sottoposte ai test stringhe di 20000 bit prodotte dal TRBG realizzato. Ogni stringa di bit ha passato brillantemente tutti i test. Diehard: È composto da 200 istanze di 15 tradizionali test statistici ed è particolarmente efficace per il testing empirico. Nel nostro caso sono stati sottoposti ai test più di 80 milioni di bit prodotti dal TRBG. Il generatore ha passato l’intera suite Diehard. Matteo Verzillo
CONCLUSIONI Conclusioni: • Il TRBG realizzato ha passato entrambe le suite di test statistici, ciò garantisce buone proprietà statistiche del generatore di bit. • Un altro aspetto a favore è che il TRBG è realizzato tramite un integrato, perciò esso può diventare una parte hardware standard. • Ci sono anche tre direzioni in cui effettuare ulteriori approfondimenti: • si potrebbe prendere in considerazione il bit rate del TRBG proposto, cosa che in questo articolo non è stata fatta; • si sono testate le proprietà statistiche del TRBG, ma non ancora l’impredicibilità degli output da questo forniti; • si potrebbe provare ad effettuare una previsione dell’output ad un passo cercando di sincronizzare un altro sistema caotico a quello del generatore. È necessario che il nuovo sistema caotico sia identico a quello del TRBG. Matteo Verzillo