ES2644485T3 - Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo - Google Patents

Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo Download PDF

Info

Publication number
ES2644485T3
ES2644485T3 ES07735990.9T ES07735990T ES2644485T3 ES 2644485 T3 ES2644485 T3 ES 2644485T3 ES 07735990 T ES07735990 T ES 07735990T ES 2644485 T3 ES2644485 T3 ES 2644485T3
Authority
ES
Spain
Prior art keywords
oscillator
chaotic
fast
random
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES07735990.9T
Other languages
English (en)
Inventor
Salih Ergun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scientific and Technological Research Council of Turkey TUBITAK
Original Assignee
Scientific and Technological Research Council of Turkey TUBITAK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scientific and Technological Research Council of Turkey TUBITAK filed Critical Scientific and Technological Research Council of Turkey TUBITAK
Application granted granted Critical
Publication of ES2644485T3 publication Critical patent/ES2644485T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Procedimiento y equipo para generar numeros aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo
En la ultima decada, la creciente demanda de transacciones electronicas oficiales y financieras, el uso de aplicaciones de firma digital y las necesidades del secreto de la informacion han hecho muy populares a los generadores de numeros aleatorios (RNG por sus siglas en ingles de Random Number Generators). Con este respecto, los RNG, que han sido utilizados generalmente para aplicaciones criptograficas militares en el pasado, tienen ahora un papel importante en el diseno de un equipo habitual de comunicacion digital.
Casi todos los sistemas criptograficos requieren valores impredecibles, por lo tanto, RGN es un componente fundamental de los mecanismos criptograficos. La generacion de claves / pares de operadores publicos y privados para los algoritmos asimetricos y claves para los sistemas de cifrado simetricos e hubridos requieren numeros aleatorios. Los generadores de contrasenas las impugnaciones, los valores aleatorios utilizados solo una vez, los bytes [octetos] de relleno y los valores en blanco se crean mediante el uso de generadores de numeros realmente aleatorios (TRNG por sus siglas en ingles de Truly Random Number Generators) [1]. Los generadores de numeros pseudo-aleatorios (PRNG por sus siglas en ingles de Pseudo-Random Number Generators) generan los bits de una manera determinista. A fin de aparecer como generado por un TRNG, las secuencias pseudo-aleatorias deben ser diseminadas a partir de una secuencia verdaderamente aleatoria mas corta [2]. Los RNG tambien se utilizan en muchas areas, incluyendo el analisis Monte Carlo, simulaciones por ordenador, el muestreo estadfstico, procedimientos de optimizacion estocastica, marcas de agua para la autenticacion de imagen, procedimiento de autenticacion entre dos equipos de cifrado y el valor de la aleatorizacion inicial de un modulo criptografico que realiza un algoritmo.
Incluso si se conoce el diseno RNG, no se puede hacer una prediccion util sobre la salida. Para cumplir con los requisitos de secreto del generador de contrasenas, para la generacion de claves y otras aplicaciones criptograficas, los TRNG deberan cumplir las siguientes propiedades: El flujo de bits de salida del TRNG debe pasar todas las pruebas estadfsticas de aleatoriedad; el siguiente bit aleatorio debe ser imprevisible [3]; el mismo flujo de bits de salida del TRNG no debe ser capaz de reproducirse [4]. La mejor manera de generar numeros aleatorios verdaderos es explotar la aleatoriedad natural del mundo real mediante la busqueda de un evento aleatorio que sucede regularmente [4]. Ejemplos de tal evento utilizables incluyen el tiempo transcurrido durante la desintegracion radiactiva, ruido termico y de tiro, la fluctuacion de fase del oscilador y la cantidad de carga de un condensador semiconductor [2].
Existen pocos disenos de RNG mencionados en la literatura; sin embargo, fundamentalmente se mencionaron cuatro tecnicas diferentes para generar numeros aleatorios: amplificacion de una fuente de ruido [5, 6] arquitectura de doble oscilador [1, 7, 8, 9], mapas caoticos de tiempo discreto [10, 11, 12, 13, 14] y los osciladores caoticos de tiempo continuo [15, 18]. A pesar del hecho de que el uso de mapas caoticos de tiempo discreto en la realizacion de RNG es bien conocido desde hace algun tiempo, recientemente se demostro que los osciladores caoticos de tiempo continuo tambien pueden usarse para realizar TRNG. Siguiendo en esta direccion, investigamos la utilidad de la innovacion propuesta para generar datos binarios aleatorios de osciladores caoticos de tiempo continuo con arquitectura de doble oscilador.
Las velocidades de bits de generadores de numeros aleatorios que se encuentran comunmente en la literatura y en productos comerciales se convirtieron en insuficientes debido a las crecientes tasas de datos en equipos digitales de comunicacion. En comparacion con los generadores de numeros aleatorios basados en mapas caoticos de tiempo discreto, la amplificacion de una fuente de ruido y el muestreo del oscilador jitter, se ve que los RNG basados en osciladores caoticos de tiempo continuo pueden ofrecer tipos de datos constantes mucho mas altos y sin post-procesamiento con circuitos integrados menos complejos. En conclusion, se puede deducir que los osciladores caoticos de tiempo continuo pueden ser integrados en los procesos de hoy en el rango GHz y el uso de caos de tiempo continuo con las innovaciones propuestas es muy prometedor en la generacion de numeros aleatorios con un rendimiento muy alto.
Para ser compatible con otros elementos del sistema, es preferible usar osciladores caoticos que se puedan integrar en silicio. Se han realizado varios intentos para introducir discretos tiempos, asf como osciladores caoticos CMOS de tiempo continuo. En la mayona de estos intentos, los circuitos resultantes fueron complicados y ocuparon una gran area de silicio. Los osciladores caoticos de tiempo discreto generalmente emplean tecnicas de corriente alterna o de conmutacion. La utilizacion de un multiplicador, ademas de los muchos condensadores y op amps (amplificadores operacionales), da como resultado automaticamente un circuito grande. En comparacion con los RNG basados en fuentes caoticas de tiempo discreto, se observa que los RNG basados en fuentes caoticas de tiempo continuo pueden ofrecer velocidades de datos mucho mas altas con circuitos integrados menos complejos y menos ruidosos, en particular debido a la ausencia de muestreo y retencion sucesivos etapas
5
10
15
20
25
30
35
40
45
50
55
60
65
La amplificacion de una tecnica de fuente de ruido se muestra en la figura 1, utiliza un amplificador de alto ancho de banda de alta ganancia para procesar el ruido blanco que tiene tension de corriente alterna pequena. El ruido debe ser amplificado a un nivel donde puede ser un umbral de precision sin desviacion por un comparador de reloj. Esta es la tecnica RGN mas popular para las soluciones de un solo chip o a nivel de placa.
En circuitos integrados CMOS de baja tension, dos mecanismos diferentes de ruido de banda ancha generan ruido blanco: ruido de disparo (generado por el flujo de corriente a traves de una union p-n) y ruido termico (generado por el movimiento de electrones en una resistencia aleatoria). Ruido de avalancha no es una opcion practica para una fuente de ruido debido a la tension tfpica de alta descomposicion (> 6V DC) de diodos Zener fabricados en procesos CMOS a granel. Como se muestra en la figura 1, la topologfa de la fuente de ruido integrado utiliza una gran resistencia como un generador de ruido termico. Las resistencias se fabrican facilmente a partir de capas de polisilicio o de difusion y no requieren corriente de polarizacion para generar ruido, como lo hacen las uniones semiconductoras. Una resistencia de polisilicio tambien tiene un mdice de ruido de parpadeo bajo (tfpicamente -30 dB), asegurando niveles bajos de ruido 1/f.
Suponiendo un escaso ruido 1/f, la tension de ruido termico de la resistencia de fuente Rsrc seria
Et = %/AkTRsrc^f donde k es la constante de Boltzmann, T es la temperatura absoluta, Rsrc es la resistencia, y Af es el ancho de banda de ruido. El ancho de banda de ruido de Et esta limitado normalmente por el primer filtro de orden de paso bajo formado por Rsrc y la capacidad de entrada del amplificador equivalente CAmp. Siempre que el ancho de banda de -3dB del amplificador sea mayor que el ancho de banda de ruido, la tension
total de ruido equivalente £„,- debido a Et en la entrada del amplificador sera m V donde es el Ifmite teorico para el ruido termico generado por una resistencia derivada de un condensador. La amplitud de voltaje de ruido termico en un ancho de banda de 1 Hz se puede aumentar al aumentar el valor de Rsrc, pero a costa del ancho de banda de ruido termico reducido, de forma que E„i se mantendra constante para un determinado CAmp-
La arquitectura del doble oscilador usa una fuente aleatoria que se deriva de dos osciladores de funcionamiento libre, uno rapido y el otro mas lento, como se muestra en la figura 2. Los disenos de RNG publicados que usan esta tecnica indican que los niveles tfpicos de fluctuacion del oscilador no son casi suficientes para producir aleatoriedad estadfstica. Por esta razon, se utiliza una fuente de ruido para modular la frecuencia del reloj mas lento, y con el borde ascendente del reloj mas lento modulado por ruido, se muestrea el reloj rapido. La deriva entre los dos relojes proporciona asf la fuente de dfgitos binarios aleatorios. De manera similar a la amplificacion de una tecnica de fuente de ruido, el ruido debe amplificarse hasta un nivel donde pueda usarse para modular la frecuencia del reloj mas lento. La frecuencia de reloj mas lento, que determina la velocidad de transmision de datos, esta basicamente limitada por el ancho de banda de la senal de ruido utilizada para la modulacion, donde la razon principal de la limitacion es el ancho de banda del amplificador.
En la innovacion propuesta de forma de onda del oscilador caotico, que es del orden de unos pocos voltios con una frecuencia central nominal en el rango de GHz, se exploto para modular la frecuencia del reloj mas lento directamente sin usar un amplificador, donde el hmite teorico para la velocidad de transmision de datos esta basicamente determinado por la frecuencia central nominal del oscilador caotico que resulta en el orden de 100 Gbit/s. Tales altas tasas de datos pueden hacer que los RNG de tiempo continuo sean atractvos en comparacion con sus contrapartes basados en las otras tecnicas. Tanto un oscilador caotico autonomo como uno no autonomo se pueden usar como nucleo del diseno del RNG propuesto.
Al comparar la innovacion propuesta con el diseno de RNG anterior basado en un oscilador caotico de tiempo continuo dado en [15], la innovacion propuesta ha sido verificada numericamente para ser capaz de alcanzar velocidades 700 veces mas altas. Ademas, la secuencia de bits de la muestra que aparece en http: //
www.esat.kuleuven. ac.be/~mey/Ds2RbG/Ds2RbG.html falla en las pruebas de frecuencia de bloque, de funcionamiento y ApEn (por sus siglas in ingles de Approximate Entropy o Entropfa Aproximada) del conjunto completo de pruebas NIST. Ademas, el ciclo de compensacion no es factible para el diseno anterior dado en [15] debido a la razon de que la secuencia de bits obtenida puede sobrepasar el conjunto de pruebas completo de Diehard gracias al procesamiento de Von Neumann.
Mediante el uso de un oscilador caotico con la arquitectura de doble oscilador, el rendimiento de salida y la calidad estadfstica de las secuencias de bits generadas aumentan y el diseno propuesto es robusto contra interferencias externas, variaciones de parametros y ataques dirigidos a forzar el rendimiento. En esta innovacion, la senal de salida del oscilador caotico se utiliza para modular la frecuencia de un reloj mas lento. Luego, con el borde ascendente del reloj mas lento modulado por el caos, se muestrea el reloj rapido. Hemos desarrollado un modelo numerico para el diseno propuesto y finalmente hemos verificado de forma numerica y experimental que los datos binarios obtenidos por esta tecnica de muestreo de oscilador, pasaron las pruebas utilizadas tanto en el conjunto de pruebas FIPS-140-2 [16] como en el conjunto completo de pruebas NlST de numero aleatorio [17] para una mayor velocidad de rendimiento en comparacion con los disenos de RNG anteriores basados en las otras tecnicas.
Debido a su extrema sensibilidad a las condiciones iniciales y al tener un exponente positivo de Lyapunov y un espectro de potencia similar al ruido, los sistemas caoticos se prestan a ser explotados para la generacion de
5
10
15
20
25
30
35
40
45
50
55
numeros aleatorios. Para obtener datos binarios aleatorios de un sistema caotico de tiempo continuo, hemos presentado una tecnica interesante, que se basa en generar datos binarios no invertibles a partir de la forma de onda del oscilador caotico dado. Cabe senalar que la no invertibilidad es una caractenstica clave para generar PRNG [19].
En la innovacion propuesta, para obtener bits aleatorios binarios de un oscilador caotico autonomo o no autonomo, usamos la arquitectura de doble oscilador. En este diseno, la salida de un oscilador rapido se muestrea en el borde ascendente del reloj mas lento modulado por el caos usando un flip-flop D o un flip-flop T. En un ejemplo, se usa un oscilador controlado por voltaje (vCo, pos sus siglas del ingles voltage-controlled oscillator) o un oscilador controlado por corriente (CCO por sus siglas del ingles current-controlled oscillator) para implementar la modulacion de la frecuencia de reloj mas lenta con la senal caotica que corresponde a uno del estado xi, X2 ... o, Xn, que son las cantidades normalizadas del oscilador caotico utilizado como nucleo del RNG propuesto. Hay que tener en cuenta que, aunque las trayectorias n-dimensionales en el plano x1 -x2-... - xn son invertibles, se puede obtener una seccion no invertible considerando solamente los valores correspondientes a uno de los estados, digamos x1.
La frecuencia central del VCO (o CCO) determina la frecuencia central del reloj mas lento. La deriva entre los dos osciladores proporciona generacion de bits aleatorios para ser mas robustos. Debido al fenomeno de alias no lineal asociado con el muestreo, la arquitectura del doble oscilador logra un mayor rendimiento y una mayor calidad estadfstica. En los disenos anteriores, una fuente de ruido se convierte en una secuencia binaria mediante el uso de un umbral, que basicamente es una conversion analogica a digital en dos bit quanta. Sin embargo, la arquitectura de doble oscilador proporciona la mayor parte de los componentes de frecuencia de la senal de entrada para afectar la salida.
Ademas, se ha desarrollado un modelo numerico para el diseno propuesto que permite la estimacion de la entropfa de bits de salida como una funcion de los parametros de diseno. Suponiendo que VCO (o CCO) tiene una funcion de transferencia lineal, la frecuencia del reloj mas lento fsiow se puede calcular de acuerdo con la siguiente ecuacion 1:
}slow — f slow center ( n-r.' 1 — + 1)
max
(1)
fsiow f . < 3falow
en donde 2 Jsiow 2 , para -X1 mgX <xi <ximaX. Entre los intervalos dados, el reloj mas lento produce
un valor de frecuencia de salida para cada valor x1. Si se conocen las frecuencias de reloj mas rapidas y mas lentas, asf como la diferencia de fase de inicio AT, la salida del oscilador rapido, muestreada en el borde ascendente del reloj mas lento modulado por el caos, se puede predecir como se ilustra en la figura 3. Se puede mostrar que los datos binarios S(dobie oscilador)i son los inversos del bit menos significativo de la relacion entre los penodos totales del reloj mas lento y el penodo del reloj rapido:
imagen1
donde el reloj rapido tiene un ciclo de trabajo del 50% y los valores xy se obtienen en los bordes ascendentes de
la senal de pulso periodico externo, es decir, que a veces t es satisfactorio ^slow “"ter(2xi m« + 1)tm0^7T — 0 Hemos verificado numericamente que, para las frecuencias de alta frecuencia ffast, el efecto de AT se hace insignificante y el valor medio de la secuencia de bits de salida del S(dobieoscilador) se acerca al ciclo de trabajo del reloj rapido.
De acuerdo con la ecuacion 2 dada, se han generado secuencias binarias para diferentes coeficientes de centros de frecuencia ffast y fsiow (f-alta y f-baja). En conclusion, hemos verificado numericamente que el S(dobleosciiador) de secuencia de bits, paso las pruebas del conjunto de pruebas FIPS-140-2 sin el procesamiento de Von Neumann,
ffast
hasta fsiow center = 40. En la figura 4, como puede aproximarse la entropia aproximada ApEn [17], del orden 8 para una longitud de secuencia de 20000 bit, la entropia de informacion maxima (In2) que podria ser posible para
ffast ffast
un TRNG perfecto se mostro como una funcion de fsiow center Como se muestra en la figura 4 fsiow center = 200 es un valor optimo para la relacion dada, luego de lo cual ApEn no cambia tanto. Como resultado, para obtener secuencias binarias perfectamente no correlacionadas con entropia maxima, la frecuencia de ffast debe aumentarse considerando un ciclo de trabajo equilibrado.
Debido a la falta de acceso a una instalacion de fabricacion adecuada, hemos elegido construir las innovaciones propuestas utilizando componentes discretos para mostrar la viabilidad de los circuitos y tambien hemos generado experimentalmente secuencias de bits. En el ejemplo, la arquitectura del doble oscilador se explota con
5
10
15
20
25
30
35
40
45
50
55
60
el oscilador caotico como se muestra en la figura 5. Dicho circuito se conoce a partir del documento "A Truly Random Number Generator Based on a Continuous-Time Chaotic Oscillator for Applications in Cryptography" ("Un generador de numeros verdaderamente aleatorios basado en un oscilador caotico de tiempo continuo para aplicaciones en criptograffa") de SALIH ERGUN et al, COMPUTER AND INFORMATION SCIENCES - ISCIS 2005, LECTURE NOTES IN COMPUTER SCIENCE, SPRINGER-VERLAG, BE, vol. 3733, 2005, pags. 205-214. En el circuito de ejemplo, 74HCT4046A VCO se usa para implementar la modulacion de la frecuencia de reloj mas lenta con la tension vi, que corresponde a la variable x?. La frecuencia central del VCO determina la frecuencia central del reloj mas lento.
Tal y como se explico anteriormente, para eliminar la polarizacion de la secuencia de bits de salida, el oscilador rapido debena tener un ciclo de trabajo equilibrado. Para obtener un resultado satisfactorio, el oscilador rapido se implementa dividiendo un oscilador de cristal ffastMHz de baja fluctuacion por N dentro del FPGA. De esta forma, obtendremos un oscilador rapido ffastMHz que tiene un ciclo de garantia del 50%.
Se diseno un equipo basado en FPGA, que tiene una interfaz PCI para cargar los datos binarios en la computadora. La velocidad maxima de almacenamiento de datos de nuestro equipo basado en FPGA es de 62
__Ls.f?i__
Mbps. De acuerdo con el modelo numerico, el valor adecuado de /»!»<» .**<*- se determina en 200 y obtenemos resultados satisfactorios de forma experimental a partir del conjunto completo de pruebas NIST cuando la frecuencia de reloj mas lenta se ajusta hasta 25 veces la frecuencia de operacion central del oscilador caotico fo. Luego, se muestrea el oscilador rapido en el borde ascendente del reloj mas lento usando un flip-flop D o un flip- flop T dentro del FPGA. El nivel tfpico de desviacion alta alcanzado por el oscilador modulado por caos para el circuito se muestra en la figura 6. El penodo mmimo medido y el penodo maximo, presentan una desviacion estandar mucho mayor que el penodo del oscilador rapido, por lo tanto, proporciona flujo de bits aleatorio no correlacionado.
Ademas, se adquirio una secuencia de bits de 2 GB de longitud a traves de la interfaz PCI del equipo basado en FPGA sin el procesamiento de Von Neumann. La frecuencia de reloj mas lenta, que determina la velocidad de transmision de datos, esta basicamente limitada por el ancho de banda de la tension vi y puede ajustarse hasta 25 fo para obtener resultados de prueba satisfactorios. Aunque la frecuencia del oscilador rapido es de 200 fsiow center, si se puede garantizar un ciclo de trabajo equilibrado, esta frecuencia debena aumentarse.
Finalmente, los bits obtenidos se sometieron a un conjunto completo de pruebas de NIST. Como resultado, hemos verificado experimentalmente que los datos binarios obtenidos mediante esta tecnica de muestreo por oscilador pasaron las pruebas del conjunto completo de pruebas de numeros aleatorios NIST sin el procesamiento de Von Neumann para una mayor velocidad de rendimiento en comparacion con los disenos de RNG anteriores basados en las otras tecnicas. Los valores P fueron uniformes y la proporcion de secuencias pasantes fue mayor que la tasa de aprobacion minima para cada prueba estadistica.
~ 4
rv-/ —
La velocidad de datos de rendimiento del S^owe oscilador) se puede estimar como S^owe oscilador) T en donde t es la constante de tiempo del oscilador caotico. Podemos deducir que los osciladores caoticos pueden integrarse facilmente en el proceso actual con una frecuencia central nominal en el rango de GHz. Sin embargo, debe notarse que los circuitos caoticos que operan a frecuencias mucho mas altas ya se muestran en la literatura. Por ejemplo, los resultados de simulacion de cadencia de la version BJT de un oscilador caotico que opera a 5,3GHz se presentan en [18]; lo que da como resultado un rendimiento del orden de unos pocos cientos de Gbit/s.
Cabe senalar que en la innovacion propuesta, el reloj mas lento con fluctuaciones o caos-modulado se reemplaza por un comparador dando un tratamiento adecuado a las compensaciones.
Como se muestra en la figura 7, la secuencia binaria aleatoria Scdoa se genera muestreando la salida de un oscilador rapido, en los bordes ascendente y/o descendente de la salida del comparador donde una de la senal, que corresponde a uno de los estados (x1 , x2, ... o xn) del oscilador caotico de tiempo continuo, se compara con un voltaje de umbral. Teniendo en cuenta las ventajas y desventajas de este enfoque, el primer pro del diseno basado en el comparador es la complejidad reducida, que se deriva del hecho de que un comparador puede implementarse usando estructuras simples en 1C en comparacion con la implementacion de VCO y CCO. Una
/fast
segunda ventaja de usar este diseno basado en el comparador es la capacidad de reducir la relacion f,io,ucentcr , que se determino en 200 como en las secciones anteriores, hasta 1. En la figura 8 como la entropfa aproximada ApEn, del orden 8 para una longitud de secuencia de 20 000 bit, se puede acercar a la entropia de informacion
ffast
maxima (In2) que podria ser posible para un TRNG perfecto se mostro como una funcion de f>towccnter , en
ffast
donde fsiowcenter = fo■ Como se muestra en la figura 8, para fo = 1, 5, 10, 50, 100, 500, m = f,to,,,center = 0,15 es un valor optimo para la relacion dada, luego de lo cual ApEn no cambia tanto. Aunque m = 1 es una razon factible, para obtener secuencias binarias perfectamente desvinculadas con entropfa maxima, la frecuencia de ffast debe aumentarse considerando un ciclo de trabajo equilibrado.
Ademas de los pros, tambien hay contras de este enfoque. El enfoque basado en el comparador no ofrece el
5
10
15
20
25
30
35
40
45
50
mismo nivel de flexibilidad que la arquitectura de doble oscilador modulado por caos. La velocidad de datos de rendimiento de la arquitectura de doble oscilador basado en el comparador Scdoa, se convierte efectivamente en 0,5fo mientras que era 25 fo para la arquitectura de doble oscilador modulada por caos.
Ademas, el enfoque basado en el comparador tambien se puede aplicar en la arquitectura de doble oscilador clasico donde se usa una fuente de ruido para modular la frecuencia del reloj mas lento. Como se muestra en la figura 9, el circuito de aplicacion contiene un comparador, en lugar de un VCO o un CCO. En los bordes ascendentes y/o descendentes de este comparador, se genera una secuencia binaria aleatoria muestreando la salida del oscilador rapido mientras se compara el voltaje de ruido con un voltaje umbral.
Teniendo en cuenta el intercambio entre el rendimiento y la simplicidad, el uso del caos de tiempo continuo con las innovaciones propuestas es muy prometedor en la generacion de numeros aleatorios con resultados muy elevados. Como resultado, los procedimientos propuestos son arquitecturas mejoradas donde se utiliza la arquitectura de doble oscilador con el oscilador caotico para maximizar la calidad estadfstica y el rendimiento de la secuencia de salida y para ser resistente contra interferencias externas, variaciones de parametros y ataques dirigidos a forzar el rendimiento.
APLICACION INDUSTRIAL
1. Generador de numeros verdaderamente aleatorios basado en un oscilador caotico autonomo para aplicaciones en criptografia
En el diseno propuesto, hemos obtenido datos aleatorios mediante el uso de la arquitectura de doble oscilador con el oscilador caotico para aumentar el rendimiento de salida y la calidad estadfstica de las secuencias de bits generadas. En este diseno, la senal de salida del oscilador caotico se usa para modular la frecuencia de un reloj mas lento. Luego, con el borde ascendente del reloj mas lento modulado por el caos, se muestrea el reloj rapido. Hemos desarrollado un modelo numerico para el diseno propuesto y finalmente hemos verificado de forma numerica y experimental que los datos binarios obtenidos por esta tecnica de muestreo de oscilador pasaron las pruebas utilizadas tanto en el conjunto de pruebas FIPS-140-2 como en el conjunto de pruebas completa de numeros aleatorios NIST para una mayor velocidad de procesamiento.
2. Oscilador caotico autonomo
El oscilador caotico autonomo que se utiliza como nucleo del RNG se propuso en [18]. El oscilador caotico MOS se presenta en la figura 10 y se deriva del clasico oscilador sinusoidal acoplado mediante la adicion de una seccion RC3 y una etapa de par diferencial (M3 - M4). Los pares de transistores Mg-Mg y M10-M11 se utilizan para implementar espejos de corriente simples con una relacion de transferencia de corriente de k. Suponiendo que Ci = C2 = C3 = C, el analisis de rutina del circuito produce la siguiente ecuacion 3:
imagen2
donde Ail = iL-R (corriente de inductores diferenciales),
imagen3
Vth es el
w
voltaje umbral NMOS, fjn es la movilidad electronica, Cox es la capacidad de oxido MOS y L es la relacion de aspecto de los pares de transistores M1-M2.
Usando las cantidades normalizadas: ^ ~ X'
VC2-VCI
2 Vref
%2 =
VC2+VC1.
2Vr
re/
V =
Air.R
2 V„j
z —
- VC 3
2VW, tn
= t/RC, y tomando Vref = Vth, las ecuaciones del sistema de la ecuacion 3 se transforman en:
imagen4
5
10
15
20
25
30
35
40
45
50
55
60
JldL (kl0-IB)R _ =J^= fc
en donde b = $RVTh, C= 2Vth , d = Wth , y sat 2V,t« V f> .
Las ecuaciones en 4 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 11 se obtiene del analisis numerico del sistema con b = 0,9; c = 0,15; d = 0,7 y k = 8 usando un algoritmo Runge-Kutta de cuarto orden con un tamano de paso adaptativo.
El oscilador caotico explotado ofrece algunas ventajas considerables sobre los existentes. El circuito emplea un par diferencial para realizar la no linealidad requerida, que es el bloque de construccion analogico basico mas utilizado debido a su alto rendimiento de IC. Ademas, el oscilador caotico esta equilibrado; por lo tanto, ofrece mejor rechazo de la fuente de alimentacion e inmunidad al ruido.
3. Simulacion de circuito
Para mostrar la capacidad de operacion de alta frecuencia del oscilador caotico MOS, la disposicion del circuito mostrado en la figura 10 se ha dibujado usando circuitos Cadence y post-layout (circuito post-diseno) y se ha simulado utilizando SPICE (Nivel 3) con el modelo de parametros del proceso CMOS de 1,5p. El circuito estaba polarizado con una fuente de alimentacion de ± 2,5V. Los valores de componentes pasivos fueron: L = 4,7pH, C = 4,7pF, (fo = ida*M.SMHz)i polarizacion fueron 0 = 240pA, Ib = 100^a,
respectivamente. El espacio de fase observado correspondiente a vc2 - vci frente a vc3 se muestra en la figura 12.
Esta claro que esta version MOS del oscilador caotico requiere inductores sin chip. Intentar reducir los valores del inductor mientras se mantiene la funcionalidad no fue posible sin aumentar las tensiones de suministro, las corrientes de polarizacion y las relaciones de aspecto del transistor. Sin embargo, un similar atractor caotico tambien se obtuvo mediante el uso de la simulacion SPICE con L = 20nH, C = 0,3pF, (f0 “ 2GHz), R = 258Q y con los parametros del modelo de 0,35p BiCMOS mientras que los voltajes de suministro fueron ± 2,5V y Las corrientes de polarizacion fueron Io = 1300pA, Ib = 400pA. Finalmente, el circuito del oscilador caotico es muy adecuado para la implementacion monolttica y es capaz de operar a frecuencias muy altas.
4. Generacion de numeros aleatorios
Debido a su extrema sensibilidad a las condiciones iniciales y al tener un exponente de Lyapunov positivo y un espectro de potencia similar al ruido, los sistemas caoticos se prestan para que sean explotados para la generacion de numeros aleatorios. Para obtener datos binarios aleatorios de un sistema caotico de tiempo continuo, hemos presentado una tecnica interesante, que se basa en generar datos binarios no invertibles a partir de la forma de onda del oscilador caotico dado. Cabe senalar que la no inversion es una caractenstica clave para generar PRNG.
Para obtener bits aleatorios binarios del atractor caotico, usamos los valores del estado xi del sistema en la ecuacion 4. Observese que, aunque las trayectorias 4-dimensionales en el plano xi-y-x2-z son invertibles, se puede obtener una seccion no invertible considerando solamente los valores correspondientes a uno de los estados, digamos xi. En este diseno, la salida de un oscilador rapido se muestrea en el borde ascendente del reloj mas lento modulado por el caos usando un flip-flop D. Un oscilador controlado por voltaje (VCO) se usa para implementar la modulacion de la frecuencia de reloj mas lenta con la senal caotica que corresponde a la variable xi. La frecuencia central del VCO determina la frecuencia central del reloj mas lento. La deriva entre los dos osciladores proporciona generacion de bits aleatorios para ser mas robustos. Debido al fenomeno de alias no lineal asociado con el muestreo, la arquitectura de doble oscilador logra un mayor rendimiento y una mayor calidad estadfstica [8].
Ademas, se ha desarrollado un modelo numerico para el diseno propuesto que permite la estimacion de la entropfa de bits de salida como una funcion de los parametros de diseno. Suponiendo que VCO tiene una funcion de transferencia lineal, la frecuencia fsiow del reloj mas se puede calcular de acuerdo como se muestra en la ecuacion 5:
fsiow — fslow center (
2xi
+ 1)
(5)
fsiow.
en donde 2 < fsiow < 2 , para -xi max < xi < xi max- Entre los intervals dados, el reloj mas lento produce un
valor de frecuencia de salida para cada valor xi. Si se conocen las frecuencias de reloj mas rapidas y mas lentas, asf como la diferencia de fase de inicio AT, la salida del oscilador rapido, muestreada en el borde ascendente del reloj mas lento modulado por el caos, se puede predecir como se ilustra en la figura 13. Se puede mostrar que los datos binarios del S(dobie oscilador) son los inversos del bit menos significativo de la relacion entre los penodos totales del reloj mas lento y el penodo del reloj rapido:
5
10
15
20
25
30
35
40
45
50
55
60
imagen5
donde el reloj rapido tiene un ciclo de trabajo del 50% y los valores xy se obtienen en los bordes ascendentes de
la serial de pulso periodico externo, es decir, a veces t que satisface ^slow <renier(2a:i mor + l)ii7iod27r — 0 Hemos verificado numericamente que, para las altas frecuencias ffast, el efecto de AT se hace insignificante y el valor medio de la secuencia de bits de salida del S(dobieosciiador) se acerca al ciclo de trabajo del reloj rapido.
Segun la ecuacion 6 dada, se han generado secuencias binarias para diferentes relaciones de ffast y fslowcenter. En conclusion, hemos verificado numericamente que el S^owe oscilador) de secuencia de bits, paso las pruebas del
f fast
conjunto de pruebas FIPS-140-2 sin el procesamiento de Von Neumann, hasta fslow center — 40. En la figura 14, se ve como puede aproximarse la entropfa aproximada ApEn [18], del orden 8 para una longitud de secuencia de 20000 bits, la entropia de informacion maxima (In2) que podria ser posible para un TRNG perfecto y se muestra
f fast
como una funcion de Como resultado, para obtener secuencias binarias perfectamente no
correlacionadas con entropfa maxima, la frecuencia de ffast debe aumentarse considerando un ciclo de trabajo equilibrado.
5. Verificacion experimental y realizacion de equipo de RNG
Hemos elegido construir el oscilador caotico y el RNG propuesto usando componentes discretos para mostrar la viabilidad de los circuitos. Para la figura 10, los valores de componentes pasivos fueron: L = 9mH, C = 10nF, R = 1000Q, Ib = 100pA y Io = 250pA. Los transistores MOS y las fuentes actuales, que se realizaron utilizando espejos de corriente simples, se implementaron con los conjuntos de transistores CMOS LM4007. Se configuro k igual a 8 ajustando la relacion de las resistencias de carga de espejo actuales. La frecuencia de operacion
i _ i
central del oscilador caotico: J0 TTTlc , se ajusto a un valor de frecuencia baja como 16,77 KHz a proposito para proporcionar el circuito para que no se vea afectado por capacitancias parasitarias. El circuito fue polarizado con una fuente de alimentacion de ± 5V y el atractor observado se muestra en la figura 15.
5.1. Arquitectura de doble oscilador
De acuerdo con el procedimiento explicado en la seccion 4, hemos generado bits aleatorios mediante el uso de la arquitectura del doble oscilador con el oscilador caotico como se muestra en la figura 5. En este circuito, se usa 74HCT4046A VCO para implementar la modulacion de la frecuencia de reloj mas lenta con la tension v1 = vc2 - vc1, que corresponde a la variable x1. La frecuencia central del VCO determina la frecuencia central del reloj mas lento.
Como se explico en la seccion 4, para eliminar la polarizacion de la secuencia de bits de salida, el oscilador rapido debena tener un ciclo de trabajo equilibrado. Para obtener un resultado satisfactorio, el oscilador rapido se implementa dividiendo un oscilador de cristal de baja intensidad de 152MHz por N = 8 dentro del FPGA. De esta manera, obtenemos un oscilador rapido de 19 MHz que tiene un ciclo de trabajo garantizado del 50%.
Un equipo basado en FPGA, que tiene una interfaz PCI, fue disenado para cargar los datos binarios en la computadora. La velocidad maxima de almacenamiento de datos de nuestro equipo basado en FPGA es de 62
f fast
Mbps. De acuerdo con el modelo numerico, el valor inicial de fslow center se determina en 200 y experimentalmente obtenemos resultados exitosos del conjunto completo de pruebas NIST cuando la frecuencia de reloj mas lenta se ajusta hasta 211 KHz. Luego, se muestra un oscilador rapido de 19 MHz en el borde ascendente del reloj mas lento utilizando un flip-flop D dentro del FPGA. El alto nivel de desviacion alcanzado por el oscilador modulado por caos para el circuito se muestra en la figura 16. El penodo mmimo medido de 3.255 ps y el penodo maximo de 8.360 pseg, presentan una desviacion estandar mucho mayor que el penodo del oscilador rapido, por lo tanto proporciona corriente de bits aleatoria no correlacionada.
Ademas, se adquirio una corriente de bit de longitud 2013MBits a traves de la interfaz PCI del equipo basado en FPGA sin procesamiento de Von Neumann. La frecuencia de reloj mas lenta, que determina la velocidad de transmision de datos, esta basicamente limitada por el ancho de banda de la tension v1 y puede ajustarse hasta 211 KHz para obtener resultados de prueba satisfactorios. Aunque la frecuencia del oscilador rapido es de 19 MHz, si se pudiera garantizar un ciclo de trabajo equilibrado, esta frecuencia debena aumentarse.
Finalmente, los bits obtenidos se sometieron a un conjunto completo de pruebas de NIST y hemos verificado experimentalmente que los datos binarios obtenidos por esta tecnica de muestreo de oscilador superan las pruebas del conjunto completo de pruebas de NIST sin el procesamiento de Von Neumann para una mayor velocidad de rendimiento. Los resultados correspondientes para la uniformidad de los valores p y la proporcion
5
10
15
20
25
30
35
de secuencias pasantes de la arquitectura del doble oscilador se muestran en la tabla 1. Se indica que, para un tamano de muestra de 335 * 1M Bits, la tasa de aprobacion mmima para cada estad^stica prueba con la excepcion de la prueba de excursion aleatoria (variante) es aproximadamente 0,973691.
Al usar un oscilador caotico de tiempo continuo con una frecuencia central en el rango de GHz como el nucleo del RNG, la velocidad de datos de rendimiento de la arquitectura del doble oscilador, que se determino como 221 KHz, puede ser probablemente mayor. En la seccion 3, presentamos los resultados de la simulacion del circuito post-diseno, lo que lleva a una frecuencia de operacion central en (f0 = 33,9MHz). Teniendo en cuenta que el circuito se realizo en el proceso BiCMOS de 0,35|j como se indica en la Seccion 3 (f0 “ 2GHz), podemos deducir que el oscilador caotico puede integrarse facilmente en el proceso actual con una frecuencia central nominal en el rango de GHz. Sin embargo, debe notarse que los circuitos caoticos que operan a frecuencias mucho mas altas se informan en la literatura. Por ejemplo, los resultados de simulacion de cadencia de la version BJT del mismo oscilador caotico que opera a 5,3GHz se presentan en [18]. Por lo tanto, todo esto indica que el uso del caos de tiempo continuo es muy prometedor en la generacion de numeros aleatorios con un rendimiento muy alto, del orden de decenas de Gbps.
Tabla 1: Resultados del conjunto de pruebas NIST para RNG usando arquitectura de doble oscilador con un
oscilador caotico autonomo.
PRUEBAS ESTADfSTICAS
Sdoble oscilador
P - valor
Proporcion
Frecuencia
0,373012 0,9881
Frecuencia de bloque
0,251604 0,9821
Sumas acumuladas
0,599316 0,9881
Carrera
0,008595 0,9791
Carrera mas larga
0,279886 0,9881
Rango
0,247746 0,9881
FFT
0,324180 0,9940
Plantillas no periodicas
0,913396 1,0000
Plantillas superpuestas
0,712343 0,9940
Universal
0,531095 0,9881
Apen
0,706149 0,9940
Excursiones aleatorias
0,549331 0,9951
Variaciones de excursiones aleatorias
0,580051 1,0000
Serie
0,928429 0,9970
Complejidad lineal
0,275709 0,9851
6. Generadores de numeros realmente aleatorios basados en un atractor de doble desplazamiento
En el diseno propuesto, hemos obtenido datos aleatorios mediante el uso de la arquitectura de doble oscilador con el oscilador caotico para aumentar el rendimiento de salida y la calidad estadfstica de las secuencias de bits generadas. En este diseno, la senal de salida del oscilador caotico se usa para modular la frecuencia de un reloj mas lento. Luego, con el borde ascendente del reloj mas lento modulado por el caos, se muestrea el reloj rapido. Finalmente, hemos verificado experimentalmente que los datos binarios obtenidos por esta tecnica de muestreo de oscilador pasan las pruebas de conjunto completo de pruebas de numeros aleatorios NIST para una velocidad de procesamiento mayor que la obtenida mediante el uso de un oscilador caotico por sf solo.
7. Atractor de doble desplazamiento
El atractor de doble desplazamiento que se utiliza como nucleo del RNG se obtiene a partir de un modelo simple mostrado en [22], que se expresa mediante la ecuacion 7. Debe observarse que cuando la no linealidad se reemplaza por una continua la no linealidad, el sistema es "cualitativamente similar" al oscilador de Chua.
x=y
V = z (7)
i — —ax — ay — az + sgn(x) '
5
10
15
20
25
30
35
40
45
50
55
60
65
Las ecuaciones en 7 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 17 se obtiene del analisis numerico del sistema con a = 0,666 usando un algoritmo Runge-Kutta de cuarto orden con un tamano de paso adaptativo.
8. Generacion aleatoria de bits
Para obtener datos binarios aleatorios de un sistema caotico de tiempo continuo, hemos presentado una tecnica interesante, que se basa en generar datos binarios no invertibles de la forma de onda del sistema caotico dado. Cabe senalar que la no inversion es una caractenstica clave para generar PRNG. Propusimos un nuevo diseno RNG que utiliza una arquitectura de doble oscilador con el oscilador caotico. En este diseno, la salida de un oscilador rapido se muestrea en el borde ascendente del reloj mas lento modulado por el caos usando un flip-flop D. Se podna usar un oscilador controlado por voltaje (VCO) para implementar la modulacion de la frecuencia de reloj mas lento con la senal de salida del oscilador caotico. La frecuencia central del VCO determina la frecuencia central del reloj mas lento. La deriva entre los dos osciladores proporciona generacion de bits aleatorios que son mas robustos. Debido al fenomeno de alias no lineal asociado con el muestreo, la arquitectura del doble oscilador logra un mayor rendimiento y una mayor calidad estadfstica. Se ha indicado que para obtener un flujo de bits aleatorio no correlacionado, el penodo del oscilador lento mas modulado debena presentar una desviacion estandar mucho mayor que el penodo del oscilador rapido. Aunque no hemos analizado numericamente la arquitectura del doble oscilador, hemos verificado experimentalmente que los datos binarios, obtenidos mediante esta tecnica de muestreo por oscilador, pasan las pruebas del conjunto completo de pruebas NIST sin el procesamiento de Von Neumann para una mayor velocidad de procesamiento.
9. Realizacion de equipo de RNG
Hemos elegido construir el circuito propuesto utilizando componentes discretos para mostrar la viabilidad del circuito.
El circuito estaba polarizado con una fuente de alimentacion de ± 5V. El diagrama de circuito que realiza el atractor de doble desplazamiento se muestra en la figura 18. Se utiliza AD844 como un amplificador operacional de alta velocidad y el comparador de voltaje LM211 se usa para realizar la no linealidad requerida. Los valores de componentes pasivos se tomaron como: Ri = R2 = aR3 = R = 10kD, R3 = 15kQ para a = 0,666; C17 = C18 = C19 = C = 2,2nF y Rk = 100kQ.
f = —
Por lo tanto, la frecuencia principal del oscilador caotico: J 2nr correspondiente a la constante de tiempo t donde t = RC, se ajusto a proposito a un valor de baja frecuencia como 7,234 KHz para proporcionar que el circuito no se viera afectado por capacitancias parasitarias. El atractor observado se muestra en la figura 19.
9.1 Arquitectura de doble oscilador
En el ejemplo, la arquitectura del doble oscilador se explota con el oscilador caotico como se muestra en la figura 5. En este circuito, 74HCT4046A VCO se usa para implementar la modulacion de la frecuencia de reloj mas lenta con la tension vi, que corresponde a la variable x. La frecuencia central del VCO determina la frecuencia central del reloj mas lento.
Para eliminar la polarizacion de la secuencia de bits de salida, el oscilador rapido debena tener un ciclo de trabajo balanceado. Para obtener un resultado satisfactorio, el oscilador rapido se implementa dividiendo un oscilador de cristal de baja intensidad de 152MHz por N = 8 dentro del FPGA. De esta manera, obtenemos un oscilador rapido de 19 MHz que tiene un ciclo de trabajo garantizado del 50%.
Se diseno un equipo basado en FPGA, que tiene una interfaz PCI para cargar los datos binarios en la computadora. La velocidad maxima de almacenamiento de datos de nuestro equipo basado en FPGA es de 62 Mbps. Los osciladores rapidos y lentos utilizados en [1] y [9] tienen ratios de frecuencia central del orden de 1: 100. En nuestro diseno, obtenemos resultados experimentales de forma exitosa de la suite completa de pruebas NIST cuando la frecuencia de reloj mas lenta se ajusta hasta 170 kHz Luego, se muestra un oscilador rapido de 19 MHz en el borde ascendente del reloj mas lento utilizando un flip-flop D dentro del FPGA. En la figura 20 se muestra una instantanea del osciloscopio que muestra el alto nivel de desviacion alcanzado por el oscilador modulado por caos para el circuito. El penodo mrnimo medido 3,875 psec y el penodo maximo 13,468 psec, presentan una desviacion estandar mucho mayor que el penodo del oscilador rapido, por lo tanto, proporciona un flujo de bits aleatorio no correlacionado. Ademas, se adquirio un flujo de bits de 24,2 GB de longitud a traves de la interfaz PCI del equipo basado en FPGA sin el procesamiento de Von Neumann. La frecuencia de reloj mas lenta, que determina la velocidad de transmision de datos, esta basicamente limitada por el ancho de banda de la tension vi y puede ajustarse hasta 170 KHz para obtener resultados de prueba satisfactorios. Aunque la frecuencia del oscilador rapido es de 19 MHz, si se puede garantizar un ciclo de trabajo equilibrado, esta frecuencia debena aumentarse.
Finalmente, los bits obtenidos se sometieron a un conjunto completo de pruebas NIST y hemos verificado
10
5
10
15
20
25
30
35
40
experimentalmente que los datos binarios obtenidos mediante esta tecnica de muestreo por oscilador superan las pruebas del conjunto completo de pruebas NIST sin el procesamiento de Von Neumann para una mayor velocidad de procesamiento. Los resultados de las pruebas correspondientes se dan en la tabla 2. Las tasas mmimas de aprobacion para cada prueba estadfstica con la excepcion de la prueba de excursion aleatoria (variante) para RNG usando la arquitectura de doble oscilador tambien se muestran en la primera lmea de la tabla 2.
En [22], una realizacion de chip del sistema de doble desplazamiento con una frecuencia central de operacion en
= 500 KHz ha sido presentado. Teniendo en cuenta que el circuito en [22] se realizo en un proceso relativamente lento de 1,2u CMOS, podemos deducir que el circuito se puede integrar facilmente en el proceso de hoy en un par de 10MHz. Sin embargo, debe notarse que en la literatura se informan los circuitos caoticos que funcionan a frecuencias mucho mas altas. Por ejemplo, los resultados de simulacion de cadencia de un circuito caotico que opera a 5,3GHz se presentan en [18]. Al usar un oscilador caotico de tiempo continuo con una frecuencia principal mayor que el nucleo del RNG, la tasa de datos de rendimiento de la arquitectura de doble oscilador, que se determino como 170 KHz, probablemente sea mas alta que la tasa indicada anteriormente.
Tabla 2: Resultados de la suite de pruebas NIST para RNG usando arquitectura de doble oscilador con un
atractor de doble desplazamiento.
imagen6
PRUEBAS ESTADfSTICAS
Secuencia bits Sdoble oscilador
Tasas mmimas de pases
0,9736
Frecuencia
0,9940
Frecuencia de bloque
0,9940
Sumas acumuladas
0,9925
Carrera
0,9940
Carrera mas larga
0,9881
Rango
0,9881
FFT
0,9970
Plantillas no periodicas
0,9895
Plantillas superpuestas
0,9821
Universal
0,9881
Apen
0,9851
Excursiones aleatorias
0,9914
Variaciones de excursiones aleatorias
0,9900
Serie
0,9895
Complejidad lineal
0,9761
10. Generadores de numeros realmente aleatorios basados en caos de tiempo continuo
A pesar del hecho de que, el uso de mapas caoticos de tiempo discreto en la realizacion de RNG ha sido bien conocido durante bastante tiempo, recientemente se demostro que los osciladores caoticos de tiempo continuo tambien pueden usarse para realizar TRNG. Siguiendo en esta direccion, investigamos la utilidad de los osciladores caoticos propuestos como nucleo de un RNG.
Aunque existen muchos osciladores caoticos en la literatura, solo algunos de ellos han sido disenados teniendo en cuenta los problemas del diseno de un IC de alto rendimiento, tales como bajo consumo de energfa, operacion de alta frecuencia, capacidad de operacion a bajos niveles de voltaje. En este trabajo, presentamos osciladores caoticos simples no autonomos, que son adecuados para la realizacion de un IC de alto rendimiento.
Hemos propuesto un diseno de RNG que utiliza una arquitectura de doble oscilador con el oscilador caoico propuesto para aumentar el rendimiento de salida y la calidad estadfstica de las secuencias de bits generadas. En este diseno, la senal de salida del oscilador caotico se usa para modular la frecuencia de un reloj mas lento. Luego, con el borde ascendente del reloj mas lento modulado por el caos, se muestrea el reloj rapido. Finalmente, hemos verificado experimentalmente que los datos binarios obtenidos por esta tecnica de muestreo de oscilador pasaron las pruebas del conjunto completo de pruebas de numeros aleatorios NIST para una
5
10
15
20
25
30
35
40
velocidad de procesamiento mayor que la obtenida usando solo el oscilador caotico continuo.
11. Osciladores propuestos
El oscilador caotico bipolar propuesto se presenta en la figura 21. Suponiendo que las capacitancias parasitarias que aparecen entre los colectores de los transistores bipolares y la tierra se denotan por Cp, el analisis de rutina del circuito produce las siguientes ecuaciones de estado:
Cv i = —i3 Li3 = (vx - V2)
Cpv2 = i3 - + ^)v2 + -j^Vpsgn{sin£lt)+ (8)
I0tanh(vi/2VT)
en donde i3 = i'r - L y Up(t) es el tren de impulsos periodico externo definido como vp(t) = sgn (sinQt) y Vt es el voltaje termico (Vt = kT/q), que es igual a 25,8mV a temperatura ambiente.
Usando las cantidades normalizadas: ^ - \ILIG x = vi/Vs, y = isRo/Vs, z = V2/Vs, Co = ioRo/Vs, a = Rc/RP, p = Ro/R,
uj = n%/LC i y tomando Vp = 0,5VS = Vpy tn = t/RC, donde \/s es un voltaje de escala arbitrario, las ecuaciones del sistema en la ecuacion 8 se transforma en:
x = -y
y = x~z (9)
tz = y — (a + P)z + asgn(sinujt) + cotanh(x)
Las ecuaciones en 9 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 22 se obtiene del analisis numerico del sistema con co = 25, a = 4, p = 12, w = 0.27, £ = 0,3 utilizando un algoritmo Runge-Kutta de cuarto orden con un tamano de paso adaptativo.
El oscilador caotico CMOS propuesto se presenta en la figura 23. Los pares de transistores T3-T4 y T5-T6 se utilizan para implementar espejos de corriente simples, donde las relaciones actuales de los espejos se indican por K. Suponiendo que las capacitancias parasitarias que aparecen entre las puertas de los pares de transistores T1-T2 y la tierra se denotan por Cp, el analisis de rutina del circuito produce la siguiente ecuacion 10:
C TJ'i = -t3
Li3 = (ui - v2)
Cpvz = i3 - (3 + ^)v2 + j^Vpsgn(sin{lt)
f h if Voi ~ V02 > V2Vsat
+M gm(VG1 - 7C2)/hK)^ ifV2Vmt>VG1-VC2>-V2Vsat { -h ifVGi~VG2<-V2Vsat
(10)
en donde 13 = i'r - ii_ y vp(t) = sgn (sinQt), gm = los pares de transistores T1-T2.
imagen7
w y i
es la relacion ancho-longitud de
Usando las cantidades normalizadas: R0 ~ 'Jl/C x _ \/G1/\/St y = j3Rg/\/s, z = Vg2/Vs, Co = 2loRo/Vs, a = Ro/RP, p = Ro/R, bo = RopVs/2, w = V,\fLG y tomando Vp = 0,5VS, y, tn = t/RC, donde \/s es un voltaje de escala arbitrario, las ecuaciones del sistema en la ecuacion 10 se transforman en: x = -y
y = x — z
ez = y — (a + p)z + asgn(sinut) 4- K
Las ecuaciones en 11 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 24 se obtiene del analisis numerico del sistema con co = 1,5, a = 2,67, p = 3,38, w = 0,33, bo = 0,9, £ = 0,1 usando un algoritmo Runge-Kutta de cuarto orden con un tamano de paso adaptativo.
Los osciladores caoticos propuestos ofrecen algunas ventajas considerables sobre los osciladores existentes.
0.5co if x >
W^~l2 \f¥0>x^-y/¥o
-0.5co if x <
5
10
15
20
25
30
35
40
45
50
55
60
Ambos circuitos emplean un par diferencial para realizar la no linealidad requerida, que es el bloque de construccion analogico basico mas utilizado debido a su alto rendimiento de IC. Las resistencias empleadas en los circuitos tienen valores muy pequenos, por lo que pueden realizarse de manera efectiva en IC. Ademas, los osciladores caoticos propuestos estan equilibrados; por lo tanto, ofrecen mejor rechazo de la fuente de alimentacion e inmunidad al ruido. Finalmente, la fuente externa utilizada para conducir los circuitos es un tren de impulsos periodico, que puede realizarse con precision y facilidad utilizando la senal de reloj ya disponible en el chip.
12. Mecanismo de generacion de caos
Se sabe que las condiciones de Melnikov pueden usarse para mostrar la existencia de herraduras en sistemas disipadores planares forzados casi hamiltonianos. De acuerdo con el Teorema de Smale-Birkhoff, para un sistema planar perturbado no lineal dado de la forma, x = f (x) + pg (x, t), donde f y g son funciones suaves y g es periodico en el tiempo con un penodo de TY, si se cumplen las siguientes condiciones:
1. Para p = 0, el sistema es hamiltoniano y tiene una orbita homoclmica que pasa a traves del punto critico del tipo montura o sillm.
2. Para p = 0, el sistema tiene una familia de parametros de orbitas periodicas &Y(t) del penodo Ty en el interior de la orbita homoclmica con, d&Y(0)/dY £ 0.
3. Para to e [0,T] La funcion Melnikov en la ecuacion 12 tiene ceros simples.
imagen8
entonces el sistema tiene movimientos caoticos y herraduras.
Es facil verificar que para £ = 0 (las capacitancias parasitarias se descuidan), el sistema en la ecuacion 9 puede escribirse de la siguiente manera:
x
. y
imagen9
(13)
en donde Xp(t) = sgn(sin(wt)), a = co/(a + fi) y p = 1/(a+fi). En este caso, se puede verificar facilmente que el sistema no perturbado obtenido para p = 0 tiene un punto critico de tipo montura en el origen para a> 1. Ademas, el sistema no perturbado es hamiltoniano y tiene una orbita homoclmica que pasa por el punto critico. Despues de reemplazar la funcion no suave Xp(t) = sgn(sin(wt)) con su aproximacion suave Xp(t) = tanh(10sin(wt)), calculamos numericamente la funcion Melnikov dada en la ecuacion 14:
imagen10
en la orbita homoclmica de la ecuacion 13 que se muestra en la esquina superior derecha de la figura 25. Como se muestra en la figura 25, hemos verificado que la funcion Melnikov tiene ceros simples para to e [0, T] y el sistema en la ecuacion 13 tiene movimientos caoticos y herraduras. El analisis numerico del sistema muestra que el sistema sigue siendo caotico para valores distintos de cero y pequenos. Por ejemplo, el mayor exponente de Lyapunov del sistema se encuentra en 0,9 para £ = 0,27.
13. Generacion aleatoria de bits
Para obtener datos binarios aleatorios de un sistema caotico autonomo, se ha presentado una tecnica interesante, que se basa en la generacion de datos binarios no invertibles a partir de la forma de onda del sistema caotico dado. Cabe senalar que la no inversion es una caractenstica clave para generar PRNG. Hay que tener en cuenta que, aunque la seccion bidimensional en el plano x-y es invertible, se puede obtener un mapa no invertible considerando unicamente los valores correspondientes a uno de los estados, por ejemplo x. En el RNG propuesto, se utiliza la arquitectura de doble oscilador con los osciladores caoticos propuestos. En este diseno, la salida de un oscilador rapido se muestrea en el borde ascendente del reloj mas lento modulado por el caos usando un flip-flop D. Un oscilador controlado por voltaje (VCO) se usa para implementar la modulacion de la frecuencia de reloj mas lenta con la senal de salida del oscilador caotico x. La frecuencia central del VCO determina la frecuencia central del reloj mas lento. La deriva entre los dos osciladores proporciona una generacion de bits aleatorios para que sean mas robustos. Debido al fenomeno de alias no lineal asociado con el muestreo, la arquitectura del doble oscilador logra un mayor rendimiento y una mayor calidad estadfstica. Se ha
5
10
15
20
25
30
35
40
45
50
55
60
65
mostrado que para obtener un flujo de bits aleatorio no correlacionado, el penodo del oscilador lento mas modulado debena presentar una desviacion estandar mucho mayor que el penodo del oscilador rapido. Aunque no hemos analizado numericamente la arquitectura del doble oscilador, hemos verificado experimentalmente que los datos binarios, obtenidos mediante esta tecnica de muestreo por oscilador, pasan las pruebas del conjunto completo de pruebas NIST sin el procesamiento de Von Neumann para una mayor velocidad de procesamiento.
14. Verificacion experimental
Hemos elegido construir los circuitos del oscilador caotico propuesto utilizando componentes discretos para mostrar la viabilidad de los circuitos. Ambos circuitos bipolares y CMOS se polarizaron con un unico suministro de energfa de 5V y la senal externa Vp(t) fue generada por un generador de onda cuadrada.
Los valores de los componentes pasivos del oscilador bipolar fueron: L = 10mH, C = 10nF, R = 180Q, Rp = 120Q e Io = 1,2mA. En la figura 21, los transistores bipolares y la fuente de corriente indicada por Io, que se realizo utilizando un espejo de corriente simple, se implementaron con los conjuntos de transistores CA3046 y CA3096 NPN y PNP. La amplitud de Vp(t) fue de 26 mV. Hemos verificado experimentalmente que el circuito bipolar propuesto tema movimientos caoticos para los siguientes valores de frecuencia de Vp(t) (5,95 KHz, 6,23 KHz, 7,12 KHz, 13,03 KHz, 14,48 KHz, 14,91 KHz, 17,07 KHz, 17,23 KHz, 18,08 KHz).
Los valores de los componentes pasivos del oscilador CMOS fueron: L = 10mH, C = 10nF, R = 340Q, Rp = 430Q y Io = 0,5mA. En la figura 23, los transistores CMOS y la fuente actual indicada por Io, que se realizo utilizando un espejo de corriente simple, se implementaron con matrices de transistores CMOS LM4007. La amplitud de Vp(t) fue de 383mV. Hemos verificado experimentalmente que el circuito CMOS propuesto tema movimientos caoticos para los siguientes valores de frecuencia de Vp(t) (5,95 KHz, 10 KHz, 11,1 KHz, 12,6 KHz).
Para ambos osciladores bipolares y CMOS, la frecuencia de Vp(t) se ajusto a un valor de baja frecuencia de 5,95 KHz a proposito para proporcionar que los circuitos que no se vieran afectados por capacitancias parasitarias. Los atractores observados se muestran en la figura 26 y en la figura 27 los osciladores bipolares y CMOS, respectivamente.
15. Realizacion de equipo de RNG
Hemos generado bits aleatorios mediante el uso de la arquitectura del doble oscilador con los osciladores caoticos como se muestra en la figura 5. En este circuito, de acuerdo con el procedimiento anterior, 74HCT4046A VCO se usa para implementar la modulacion de la frecuencia de reloj mas lenta con el voltaje vi, que corresponde a la variable x. La frecuencia central del VCO determina la frecuencia central del reloj mas lento.
Se diseno un equipo basado en FPGA, que tiene una interfaz PCI para cargar los datos binarios en la computadora. La velocidad maxima de almacenamiento de datos de nuestro equipo basado en FPGA es de 62 Mbps. Para eliminar la polarizacion de la secuencia de bits de salida, el oscilador rapido debe tener un ciclo de trabajo balanceado. Para obtener un resultado satisfactorio, el oscilador rapido se implementa dividiendo un oscilador de cristal de baja intensidad de 152MHz por N = 8 dentro del FPGA. De esta manera, obtenemos un oscilador rapido de 19 mHz que tiene un ciclo de trabajo garantizado del 50%.
Los osciladores lentos y rapidos utilizados en [1] y [9] tienen coeficientes de frecuencia central del orden de 1: 100. En nuestro diseno, obtenemos resultados exitosos de forma experimental en el conjunto completo de pruebas de NIST cuando la frecuencia de reloj mas lenta se ajusta hasta 1,81 MHz. Luego, se muestra un oscilador rapido de 19 MHz en el borde ascendente del reloj mas lento utilizando un flip-flop D dentro del FPGA. El alto nivel de fluctuacion alcanzado por el oscilador modulado por caos para el circuito CMOS se muestra en la figura 28. El penodo mmimo medido 610,927 ns y el penodo maximo 1001,024 ns presentan una desviacion estandar mucho mayor que el penodo del oscilador rapido, por lo tanto proporciona una secuencia de bits aleatoria no correlacionada.
Ademas, para circuitos bipolares y CMOS, se obtuvo un flujo de bits de longitud de 4,83 GBytes a traves de la interfaz PCI del equipo basado en FPGA sin procesamiento de Von Neumann. Los bits obtenidos se sometieron a un conjunto completo de pruebas NIST. Para diferentes valores de frecuencia de Vp(t) de 5,95 KHz a 18,08 KHz para el circuito bipolar y de 5,95 KHz a 12,6 KHz para el circuito CMOS donde los osciladores propuestos generan caos como se menciono anteriormente, hemos verificado experimentalmente que los datos binarios obtenidos por esta tecnica de muestreo de osciladores pasa las pruebas de la suite completa de pruebas NIST. Las tasas de aprobacion de las pruebas son aproximadamente las mismas para los valores de frecuencia dados de vp(t).
La frecuencia de Vp(t) se ajusta a 5,95 KHz. Los resultados de las pruebas del circuito CMOS se muestran en la tabla 3 para tres valores de frecuencia diferentes del oscilador mas lento cuando la frecuencia del oscilador rapido es de 19 MHz. La frecuencia de reloj mas lenta, que determina la velocidad de transmision de datos, esta basicamente limitada por la frecuencia de voltaje vi y puede ajustarse hasta 1,81 MHz, como se muestra en la
5
10
15
20
25
30
35
tabla 3. Si se pudiera garantizar un ciclo de trabajo balanceado, debena incrementarse la frecuencia del oscilador rapido.
Como resultado, se presentaros los osciladores Bipolar y CMOS, como dos nuevos osciladores caoticos de tiempo continuo adecuados para la realizacion de IC y nuevos TRNG basados en estos osciladores. Los resultados experimentales presentados en esta seccion no solo verifican la viabilidad de los circuitos propuestos, sino que tambien alientan su uso como el nucleo de un IC TRNG de alto rendimiento. En conclusion, hemos verificado experimentalmente que, cuando la frecuencia de la senal de pulso periodica externa se ajusta a 5,95 KHz, las velocidades de datos de rendimiento de las secuencias regionales son de 1,81 Mbps sin procesamiento de Von Neumann. Finalmente, hemos verificado experimentalmente que, para los circuitos bipolares y CMOS, los datos binarios obtenidos por esta tecnica de muestreo de oscilador pasaron las pruebas de la suite completa de pruebas NIST sin el procesamiento de Von Neumann para una mayor velocidad de procesamiento, al tiempo que se comparan con los disenos de TRNG donde se utilizan los osciladores caoticos de tiempo continuo por sf solos.
Tabla 3: Resultados del conjunto de pruebas NIST para RNG usando arquitectura de doble oscilador con un oscilador caotico no autonomo. (fvp(t) = 5,95KHz, oscilador rapido ffastosciiiator = 19MHz)
PRUEBAS ESTADfSTICAS
Fslowoscillador
1.58 MHz
1.81 MHz 1.94 MHz
Frecuencia
0.9931 1.0000 0.9940
Frecuencia de bloque
0.9946 0.9881 0.9791
Sumas acumuladas
0.9911 0.9985 0.9925
Carreras
0.9839 0.9940 x
Carrera mas larga
0.9821 0.9881 0.9851
Rango
0.9925 0.9910 0.9910
FFT
0.9991 1.0000 0.9940
Plantillas no periodicas
0.9882 0.9882 0.9802
Plantillas superpuestas
0.9848 0.9851 0.9433
Universal
1.0000 0.9970 0.9851
Apen
0.9779 0.9821 x
Excursiones aleatorias
0.9874 0.9870 0.9902
Variaciones de excursiones aleatorias
0.9906 0.9897 0.9880
Serie
0.9870 0.9746 0.9865
Lempel Ziv
0.9797 0.9821 0.9851
Complejidad lineal
0.9869 0.9881 0.9821
Referencias
[1] Jun, B., Kocher, P.: The Intel Random Number Generator. Cryptography Research, Inc., documentos tecnicos preparados para Inter Corp.
http://www.cryptography.com/resources/whitepapers/InteIRNG.pdf (1999).
[2] Menezes, A., Oorschot, P.van, Vanstone, S.: Handbook of Applied Cryptology. CRC Press (1996).
[3] Schrift, A. W., Shamir, A.: On the Universality of the Next Bit Test. Proceeding of the CRYPTO. (1990) 394-408.
[4] Schneier, B.: Applied Cryptography. 2nd edn. John Wiley & Sons (1996).
[5] Holman, W.T., Connelly, J.A., Downlatabadi, A.B.: An Integrated Analog-Digital Random Noise Source. IEEE Trans. Circuits and Systems I, Vol. 44. 6 (1997) 521-528.
[6] Bagini, V., Bucci, M.: A Design of Reliable True Random Number Generator for Cryptographic Applications. Proc. Workshop Cryptographic Hardware and Embedded Systems (CHES). (1999) 204218.
5
10
15
20
25
30
35
40
45
50
55
60
65
[7] Dichtl, M., Janssen, N.: A High Quality Physical Random Number Generator. Proc. Sophia Antipolis Forum Microelectronics (SAME). (2000) 48-53.
[8] Petrie, C.S., Connelly, J.A.: A Noise-Based IC Random Number Generator for Applications in Cryptography. IEEE Trans. Circuits and Systems I, Vol. 47. 5 (2000) 615-621.
[9] Bucci, M., Germani, L., Luzzi, R., Trifiletti, A., Varanonuovo, M.: A High Speed Oscillator-based Truly Random Number Source for Cryptographic Applications on a SmartCard IC. IEEE Trans. Comput. Vol. 52. (2003) 403-409.
[10] Stojanovski, T., Kocarev, L.: Chaos-Based Random Number Generators-Part I: Analysis. IEEE Trans. Circuits and Systems I, Vol. 48, 3 (2001) 281-288.
[11] Stojanovski, T., Pihl, J., Kocarev, L.: Chaos-Based Random Number Generators-Part II: Practical Realization. IEEE Trans. Circuits and Systems I, Vol. 48, 3 (2001) 382-385.
[12] Delgado-Restituto, M., Medeiro, F., Rodriguez-Vazquez, A.: Nonlinear Switched-current CMOS IC for Random Signal Generation. Electronics Letters, Vol. 29(25). (1993) 2190-2191.
[13] Callegari, S., Rovatti, R., Setti, G.: Embeddable ADC-Based True Random Number Generator for Cryptographic Applications Exploiting Nonlinear Signal Processing and Chaos. IEEE Transactions on Signal Processing, Vol. 53, 2 (2005) 793-805.
[14] Callegari, S., Rovatti, R., Setti, G.:First Direct Implementation of a True Random Source on Programmable Hardware. International Journal of Circuit Theory and Applications, Vol. 33 (2005) 1-16.
[15] Yalcin, M.E., Suykens, J.A.K., Vandewalle, J.: True Random Bit Generation from a Double Scroll Attractor. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, Vol. 51(7). (2004) 1395-1404.
[16] National Institute of Standard and Technology, FIPS PUB 140-2, Security Requirements for Cryptographic Modules, NIST, Gaithersburg, MD 20899, (2001).
[17] National Institute of Standard and Technology.: A Statistical Test Suite for Random and Pseudo Random Number Generators for Cryptographic Applications. NIST 800-22,
http://csrc.nist.gov/rng/SP800-22b.pdf (2001).
[18] Ozoguz, S., Ate, O., Elwakil, A.S.: An integrated circuit chaotic oscillator and its application for high speed random bit generation. Proceeding of the International Symposium on Circuit and Systems (ISCAS). (2005) 4345-4348.
[19] Shamir, A.: On The Generation of Cryptographically Strong Pseudorandom Sequences. ACM Transactions on Computer systems, Vol. 1. (1983) 38-44.
[20] Von Neumann, J.: Various Techniques Used in Connection With Random Digits. Applied Math Series - Notes by G.E. Forsythe, In National Bureau of Standards, Vol. 12. (1951) 36-38.
[21] Young, L.: Entropy, Lyapunov exponents and Hausdorff dimension in diffrentiable dynamical systems. IEEE Trans. Circuits Syst. I, Vol. 30. (1983) 599-607.
[22] Elwakil, A. S., Salama, K. N. and Kennedy, M. P.: An equation for generating chaos and its monolithic implementation. Int. J. Bifurcation Chaos, Vol. 12, no. 12, (2002) 2885-2896.
NOTAS EXPLICATIVAS SOBRE LAS FIGURAS
Figura 1. Amplificacion de una tecnica de fuente de ruido.
Figura 2. Arquitectura de doble oscilador clasico.
Figura 3. Senales de salida de reloj mas rapidas y lentas.
Figura 4. Aproximacion de la entropfa de la secuencia Sduaiosciiator con respecto al ffast/ fsiowcenter (doble oscilador con respecto al oscilador de frecuencia rapida / de centro lento).
5
10
15
20
25
30
35
40
45
50
Figura 5. Generacion de numeros aleatorios usando la arquitectura de doble oscilador y caos de tiempo continuo.
Figura 6. Medida del oscilador modulado por caos.
Figura 7. Generacion de numeros aleatorios usando una arquitectura de doble oscilador basada en comparador y caos de tiempo continuo.
Figura 8. Aproximacion de la entropfa de la secuencia Scdoa con respecto a ffast/fsiowcenter.
Figura 9. Generacion de numeros aleatorios usando arquitectura de doble oscilador basado en comparador y ruido
Figura 10. Oscilador caotico autonomo MOS Figura 11. Resultados del analisis numerico del oscilador caotico Figura 12. Atractor caotico de la simulacion del circuito post-diseno Figura 13. Rapido y las senales de salida de reloj mas lentas
Figura 14. Aproximacion de la entropfa de la secuencia de Sduaiosciiiator con respecto a ffast/fsiowcenter.
Figura 15. Resultados experimentales del oscilador caotico.
Figura 16. Medida del oscilador modulado por caos.
Figura 17. Resultados del analisis numerico del oscilador caotico.
Figura 18. Realizacion del circuito del atractor de doble desplazamiento.
Figura 19. Resultados experimentales del oscilador caotico.
Figura 20. Medida del oscilador modulado por caos.
Figura 21. Oscilador bipolar propuesto.
Figura 22. Resultados del analisis numerico del oscilador bipolar.
Figura 23. Oscilador CMOS propuesto.
Figura 24. Resultados del analisis numerico del oscilador CMOS.
Figura 25. Ceros de la funcion Melnikov calculados en la orbita homoclmica que se muestra en la esquina superior derecha.
Figura 26. Resultados experimentales del oscilador caotico bipolar.
Figura 27. Resultados experimentales del oscilador caotico CMOS.
Figura 28. Medida del oscilador modulado por caos.

Claims (2)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    REIVINDICACIONES
    1. Generador de bits aleatorios que incluye una arquitectura de doble oscilador que comprende un oscilador rapido con frecuencia rapida f(fast) y un oscilador caotico de tiempo continuo con frecuencia de centro lento f(siow center) y un comparador para reducir la complejidad de la implementacion del reloj mas lento, y que se basa en la generacion de bits binarios aleatorios no invertibles a partir de una de las senales del oscilador caotico, el generador de bits aleatorio que comprende:
    (a) un comparador para reducir la complejidad de la implementacion del reloj mas lento donde, una de las senales, que corresponde a uno de los estados (x1, x2, ... o xn) del oscilador caotico de tiempo continuo se compara con un voltaje de umbral,
    (b) un reloj rapido, que tiene un ciclo de trabajo del 50% que se implementa dividiendo un oscilador de baja fluctuacion dentro del equipo,
    (c) un flip-flop de tipo D (flip-flop D) o un flip-flop de tipo T (flip-flop T) para generar una secuencia binaria (S(CDOA)) muestreando la salida del oscilador rapido, en el aumento y/o la cafda de los bordes del comparador de salida,
    en donde la proporcion f(fast) / f(siow center) es mayor que 1 y menor que 200, de modo que se obtienen numeros aleatorios binarios con entropfa maxima.
  2. 2. Procedimiento para generar bits binarios aleatorios (S(CDOA)i) que utiliza un generador de bits aleatorio de acuerdo con la reivindicacion 1 que comprende una arquitectura de doble oscilador que comprende un oscilador caotico de tiempo continuo y un comparador para reducir la complejidad de la implementacion del reloj mas lento y que se basa en la generacion de bits binarios aleatorios no invertibles, desde uno de los estados que corresponde a una de las senale del oscilador caotico y que comprende las etapas de:
    (a) determinar los tiempos de muestreo designados en la condicion de transicion de un estado x1, x2, ... o xn del oscilador caotico definido como x1 ... n (t) = x1 ... n (0) con dx1. ... n / dt> 0 o dx1 ... n / dt <0.
    (b) generar la secuencia binaria aleatoria
    i. S(CDOA)i muestreando la salida de un oscilador rapido en los tiempos de muestreo correspondientes con las transiciones de la condicion de un estado definido en la etapa a; o,
    ii. S(CDOA)i, por S(CDOA)i = S (CDOA) (i-1), si el bit, muestreado de la salida de un oscilador rapido en los tiempos de muestreo correspondientes a las transiciones de la condicion de un estado definido en la etapa a , es 0 y S(CDOA)i = al inverso logico de S(CDOA)(i-1), si el bit muestreado de la salida de un oscilador rapido en los tiempos de muestreo correspondientes a las transiciones de la condicion de un estado definido en el paso a, es 1.
ES07735990.9T 2007-05-22 2007-05-22 Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo Active ES2644485T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2007/051938 WO2008142488A1 (en) 2007-05-22 2007-05-22 Method and hardware for generating random numbers using dual oscillator architecture and continuous-time chaos

Publications (1)

Publication Number Publication Date
ES2644485T3 true ES2644485T3 (es) 2017-11-29

Family

ID=38984204

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07735990.9T Active ES2644485T3 (es) 2007-05-22 2007-05-22 Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo

Country Status (4)

Country Link
US (1) US8612501B2 (es)
EP (3) EP2618253B1 (es)
ES (1) ES2644485T3 (es)
WO (1) WO2008142488A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100730086B1 (ko) * 2006-07-10 2007-06-19 삼성전기주식회사 듀얼 시스템 송수신장치
CN1949708B (zh) * 2006-11-10 2011-02-02 华为技术有限公司 随机数发生装置、方法及对应的数据交互系统
EP2618253B1 (en) * 2007-05-22 2019-02-13 TUBITAK-Turkiye Bilimsel ve Teknolojik ve Arastima Kurumu Method and hardware for generating random numbers using dual oscillator architecture and continuous-time chaos
TWI362611B (en) * 2007-12-12 2012-04-21 Phison Electronics Corp Random number generator and random number generating method thereof
US20100332575A1 (en) * 2009-06-29 2010-12-30 Ido Kanter High-Speed Random Number Generator
JP5341690B2 (ja) * 2009-09-14 2013-11-13 株式会社日立製作所 物理乱数生成装置
US9083322B2 (en) * 2011-07-12 2015-07-14 Fairchild Semiconductor Corporation Subsonic test signal generation technique
US20140197865A1 (en) 2013-01-11 2014-07-17 International Business Machines Corporation On-chip randomness generation
CN104461454A (zh) * 2013-09-14 2015-03-25 安徽量子通信技术有限公司 一种高速真随机数发生装置
CN104461453A (zh) * 2013-09-14 2015-03-25 安徽量子通信技术有限公司 一种产生真随机数的方法
CN104679475A (zh) * 2013-11-29 2015-06-03 上海华虹集成电路有限责任公司 真随机数产生电路
US20150324171A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Entropy source
US9727310B2 (en) * 2015-03-31 2017-08-08 Toshiba Corporation Entropy source for random number generator
US9660803B2 (en) 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
EP3324286B1 (en) * 2016-11-18 2019-09-04 Siemens Aktiengesellschaft Generating true random numbers for an integrated circuit
FR3072481B1 (fr) 2017-10-12 2019-11-08 Stmicroelectronics Dispositif de generation d'un signal aleatoire
CN108710561B (zh) * 2018-05-02 2020-06-26 北京理工大学 一种针对真随机数发生器的电源毛刺故障攻击测评平台
US11023209B2 (en) 2019-01-25 2021-06-01 International Business Machines Corporation On-chip hardware random number generator
CN110795063B (zh) * 2019-09-20 2023-03-21 太原理工大学 一种功耗和速率可调的物理随机数发生方法
CN110808728B (zh) * 2019-11-19 2023-10-20 天津津航计算技术研究所 基于高速动态比较器的随机信号发生方法
US11500616B1 (en) * 2020-07-29 2022-11-15 Ambarella International Lp True random number generator circuit
CN111966330B (zh) * 2020-09-02 2022-06-17 湖北大学 一种基于文氏桥振荡器结构的真随机数发生器
CN115037283B (zh) * 2022-08-12 2022-10-21 山东华翼微电子技术股份有限公司 一种高速相位抖动物理随机源电路及其工作方法
CN115065344B (zh) * 2022-08-15 2022-11-04 山东华翼微电子技术股份有限公司 一种低功耗相位抖动物理随机源电路及其工作方法
CN117075850B (zh) * 2023-08-29 2024-02-09 海光云芯集成电路设计(上海)有限公司 混沌电路、随机数序列发生器、芯片及相关设备
CN117539429B (zh) * 2023-11-21 2024-07-12 海光信息技术(苏州)有限公司 真随机数发生器、芯片及电子器件

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2390047B1 (es) * 1977-05-06 1982-09-17 Aerospatiale
US4545024A (en) * 1983-04-27 1985-10-01 At&T Bell Laboratories Hybrid natural random number generator
DE10103071A1 (de) * 2001-01-24 2002-08-08 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl
US6552588B1 (en) * 2001-10-05 2003-04-22 Sun Microsystems, Inc. Method and apparatus to generate pseudo-random non-periodic digital sequences
JP3695409B2 (ja) * 2002-03-05 2005-09-14 ソニー株式会社 乱数データ発生回路
US7188131B2 (en) * 2002-11-27 2007-03-06 Stmicroelectronics S.A. Random number generator
US7449967B2 (en) * 2003-02-28 2008-11-11 Panasonic Corporation Probabilistic pulse generator and differential absolute value computing element and manhattan distance arithmetic unit using this
DE102005009190B3 (de) * 2005-03-01 2006-05-18 Matthias Braeunig Verfahren und Anordnung zur Erzeugung einer Daten-Bitfolge durch Abtasten eines digitalisierten Rauschsignals
KR100829792B1 (ko) * 2006-04-04 2008-05-16 삼성전자주식회사 위상동기루프 회로를 구비한 난수 발생회로 및 난수발생방법
EP2618253B1 (en) * 2007-05-22 2019-02-13 TUBITAK-Turkiye Bilimsel ve Teknolojik ve Arastima Kurumu Method and hardware for generating random numbers using dual oscillator architecture and continuous-time chaos
US8131789B2 (en) * 2008-03-28 2012-03-06 Atmel Corporation True random number generator
US20100005123A1 (en) * 2008-07-01 2010-01-07 Agilent Technologies, Inc. Tracking Manufacturing Test Changes

Also Published As

Publication number Publication date
WO2008142488A1 (en) 2008-11-27
EP2176739B1 (en) 2017-07-19
US8612501B2 (en) 2013-12-17
EP2176739A1 (en) 2010-04-21
EP2618253B1 (en) 2019-02-13
US20100146025A1 (en) 2010-06-10
EP2605126A1 (en) 2013-06-19
EP2618253A1 (en) 2013-07-24

Similar Documents

Publication Publication Date Title
ES2644485T3 (es) Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo
ES2590280T3 (es) Generación de números aleatorios usando caos de tiempo continuo
Ergün et al. Truly random number generators based on a non-autonomous chaotic oscillator
Ergun et al. A high speed IC truly random number generator based on chaotic sampling of regular waveform
Ergün et al. Truly random number generators based on non‐autonomous continuous‐time chaos
JP2009545769A5 (es)
Merah et al. A pseudo random number generator based on the chaotic system of Chua’s circuit, and its real time FPGA implementation
Ergün et al. IC truly random number generators based on regular & chaotic sampling of chaotic waveforms
Güler et al. A high speed, fully digital IC random number generator
Ergun et al. A chaos-modulated dual oscillator-based truly random number generator
Bharat Meitei et al. FPGA implementation of true random number generator architecture using all digital phase-locked loop
Wei et al. A perspective of using frequency-mixing as entropy in random number generation for portable hardware cybersecurity ip
Ergün Security analysis of a chaos-based random number generator for applications in cryptography
Ergün Regional random number generator from a cross-coupled chaotic oscillator
Ergun Vulnerability analysis of a chaos-based random number generator
Yang et al. A 200Mbps random number generator with jitter-amplified oscillator
Ergun et al. Truly random number generators based on a double-scroll attractor
Ergün et al. A truly random number generator based on a continuous-time chaotic oscillator for applications in cryptography
Tavas et al. Integrated cross-coupled chaos oscillator applied to random number generation
Ergün Modeling and analysis of chaos-modulated dual oscillator-based random number generators
Ergün et al. Random number generation using dual oscillator architecture and discrete-time chaos
Ergün A truly random number generator based on a pulse-excited cross-coupled chaotic oscillator
Rai et al. Realization of chaotic oscillator and use in secure communication
Ergün A high-speed truly random number generator based on an autonomous chaotic oscillator
RU2440602C2 (ru) Генерация случайных чисел с использованием хаоса с непрерывным временем