ES2590280T3 - Generación de números aleatorios usando caos de tiempo continuo - Google Patents

Generación de números aleatorios usando caos de tiempo continuo Download PDF

Info

Publication number
ES2590280T3
ES2590280T3 ES06836004.9T ES06836004T ES2590280T3 ES 2590280 T3 ES2590280 T3 ES 2590280T3 ES 06836004 T ES06836004 T ES 06836004T ES 2590280 T3 ES2590280 T3 ES 2590280T3
Authority
ES
Spain
Prior art keywords
chaotic
vtop
vbottom
binary
sampling
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
ES06836004.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 ES2590280T3 publication Critical patent/ES2590280T3/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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

Método para generar bits de datos aleatorios binarios a partir de una señal eléctrica caótica (v1) desde un oscilador caótico autónomo o no autónomo de tiempo continuo, cuya señal presenta dos regiones en su distribución de muestreo, con un mínimo en el límite entre las dos regiones que comprende las etapas de; a. generar dos secuencias binarias muestreadas S(top)i y S(bottom)i mediante la comparación de la señal eléctrica caótica (v1) con valores de umbral Vtop, Vbottom y Vmiddle y el muestreo de los resultados de esta comparación de acuerdo con una señal demuestreo de acuerdo con la siguiente ecuación:**Fórmula** donde sgn(.) es la función signo, Vtop y Vbottom son los umbrales para las distribuciones superior e inferior, respectivamente, y Vmiddle es un valor umbral predeterminado correspondiente al límite entre las dos regiones; b. controlar los valores de umbral Vtop, Vbottom mediante la aplicación de pruebas monobit a cada una de las secuencias binarias muestreadas S(top)i y S(bottom)i y adaptar los valores umbral Vtop, Vbottom de forma que reducen la variación S(top)i y S(bottom)i c. generar bits de datos aleatorios binarios S(xor)i mediante el uso de las secuencias binarias S(top) y S(bottom))i definidas en la etapa b anterior de acuerdo con la siguiente ecuación:**Fórmula** donde se explota la operación exclusiva-o (Exor) para eliminar el desvío con el fin de no disminuir el rendimiento. d. generar la señal de muestreo dividido la frecuencia de una señal de pulso periódico externo vp(t) por un valor de pre escarificador y aplicar ciclos de pruebas en los datos aleatorios binario generados S(xor)i y adaptar el valor pre escarificador en función de los ciclos de pruebas fallidas.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Generacion de numeros aleatorios usando caos de tiempo continuo ANTECEDENTES DE LA INVENCION
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 los generadores de numeros aleatorios (RNG por sus siglas en ingles de Random Number Generators). En ese sentido, 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 para la 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 tubridos requieren numeros aleatorios. Los generadores de contrasenas las impugnaciones, los valores aleatorios utilizados solo una vez, los bytes de relleno y los valores en blanco son creados 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, metodos 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].
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.
Con el fin de ser compatible con otros elementos del sistema, es preferible usar osciladores caoticos que se pueden integrar con el silicio. Se han realizado numerosos intentos para introducir osciladores caoticos de tiempo discreto asf como de tiempo continuo (CMOS por sus siglas en ingles). En la mayona de estos intentos, los circuitos resultantes eran complicados y ocuparon un area de silicio de gran tamano. Los osciladores caoticos de tiempo discreto suelen emplear cualquiera de las tecnicas de corriente conmutada o corriente conmutada-C. La utilizacion de un multiplicador, ademas de los muchos condensadores y amplificadores operacionales da como resultado automaticamente un circuito grande. En comparacion con los generadores de numeros aleatorios basados en fuentes caoticas de tiempo discreto se ve que RNG basados en fuentes caoticas de tiempo continuo pueden ofrecer tipos de datos mucho mas altos con circuitos integrados menos complejos y menos ruidosos, en particular debido a la ausencia de etapas sucesivas de muestra y retencion.
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.
5
10
15
20
25
30
35
40
45
50
55
60
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 al azar). Ruido de avalancha no es una opcion practica para una fuente de ruido debido a la tension tipica 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.
E,=j4kTRSK
Suponiendo un escaso ruido 1/f, la tension de ruido termico de la resistencia de fuente Rsrc seria 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 vc‘- donde es el limite teorico para el ruido termico generado por una resistencia en derivacion con un condensador. La amplitud de la tension de ruido termico sobre un ancho de banda de 1 Hz se puede aumentar mediante el aumento del valor de Rsrc, Pero a costa de una reduccion de ancho de banda de ruido termico, de manera que Eni permanecera constante para un determinado CAmp. La tecnica de muestreo del oscilador jitter utiliza una fuente aleatoria que se deriva de dos osciladores de libre funcionamiento, uno rapido y otra mas lento. Los disenos RNG publicados utilizando esta tecnica informan que los niveles tfpicos de la fluctuacion de fase 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 se muestrear con el flanco ascendente del reloj lento y rapido de ruido modulado. Asf la deriva entre los dos relojes, proporciona la fuente de dfgitos binarios aleatorios. Del mismo modo a la amplificacion de una tecnica de fuente de ruido, el ruido debe ser amplificado a un nivel en el que se pueda usar para modular la frecuencia del reloj mas lento. La frecuencia de reloj mas lento, lo que determina el rendimiento de las tasas de transferencia de datos, esta basicamente, limitado por el ancho de banda de la senal de ruido que se utiliza para la modulacion donde la principal razon de la limitacion es el ancho de banda del amplificador.
ESTADO DE LA TECNICA
Hay pocos disenos RNG aportados por la literatura; sin embargo, fundamentalmente, se mencionan cuatro tecnicas diferentes para la generacion de numeros aleatorios: la amplificacion de una fuente de ruido [5,6] el muestreo del oscilador jitter [1,7,8,9], mapas caoticos de tiempo discreto [10,11,12,13,14] y 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, se ha demostrado recientemente que los osciladores de tiempo continuo caoticos tambien se pueden utilizar para realizar TRNG. Siguiendo en esta direccion, se investigo la utilidad de las innovaciones propuestas para generar datos binarios desde los osciladores caoticos de tiempo continuo. En [23] se propone un generador de bits aleatorios estocastico que incluye un generador de senal variable, y un comparador estocasticamente operativo para emitir una senal binaria dependiendo de cual senal de una senal de entrada u otra senal de entrada sea mayor o menor que la otra. Al comparar la innovacion propuesta con el diseno RNG anterior basado en un oscilador caotico de tiempo continuo dado en [15], la innovacion propuesta se ha verificado numericamente que es capaz de tasas con una magnitud 7 veces mas alta. Ademaq la secuencia de bits de la muestra dada en
http://www.esat.kuleuven.ac.be/~mey/Ds2RbG/ Ds2RbG.html falla en las pruebas de bloque de frecuencias, de funcionamiento y ApEn (por sus siglas in ingles de Approximate Entropy o Entropfa Aproximada) del conjunto completo de pruebas NlST. Ademas, el bucle de compensacion de desplazamiento, que se utilizo en la innovacion propuesta para maximizar la calidad estadfstica de la secuencia de salida y para ser robusto frente a variaciones de los parametros y los ataques, no es factible para el diseno anterior dado en [15] debido a la razon de que la secuencia obtenida de bits puede sobrepasar el conjunto de pruebas de Diehard gracias al procesamiento de Von Neumann.
En la innovacion propuesta en forma de onda del oscilador caotico, que esta en el orden de unos pocos voltios con una frecuencia central nominal en el rango de GHz, se convirtieron en secuencias binarias directamente por un comparador sin utilizar un amplificador, en el que el lfmite teorico para el rendimiento de las tasas de transferencia de datos se determina por la frecuencia central nominal del oscilador caotico que resulta en el orden de unos pocos Gbit/s. Tales altas velocidades de datos pueden hacer que RNG de tiempo continuo atractivo en comparacion con sus homologos basados en las otras tecnicas. Tanto un oscilador caotico autonomo y no autonomo se pueden utilizar como la base del diseno propuesto RNG donde los datos al azar pueden obtenerse a partir de la seccion dimensional de 1 o por muestreo periodicamente uno de los estados del sistema caotico.
BREVE DESCRIPCION DE LA INVENCION
5
10
15
20
25
30
35
40
45
50
55
60
65
Al comparer la innovacion propuesta con el diseno RNG anterior basado en un oscilador caotico de tiempo continuo dado en [15], se ha verificado numericamente que la innovacion propuesta es capaz de tasas de magnitud de 7 veces de mas altas. Ademas, la secuencia de bits de muestra dada en
http://www.esat.kuleuven.ac.be/~mey/Ds2RbG/Ds2RbGhtml falla en las pruebas de bloque de frecuencias, de funcionamiento y Apen del conjunto completo de pruebas NIST. Ademas, el bucle de compensacion de desplazamiento, que se utilizo en la innovacion propuesta para maximizar la calidad estadfstica de la secuencia de salida y para ser robusta frente a las variaciones de los parametros y los ataques, no es factible para el diseno anterior dada en [15] debido a la razon de que la secuencia obtenida de bits puede sobrepasar el conjunto de pruebas de Diehard gracias al procesamiento de Von Neumann.
Inicialmente, hemos verificado numericamente que los flujos de bits generados a partir de la innovacion propuesta pasan las cuatro pruebas basicas de numeros aleatorios de FTPS-140-2 del conjunto de pruebas [16]. La interferencia externa es una preocupacion importante en el diseno RNG ya que las senales interferidas y aleatorias tienen niveles comparables. Para resolver este problema y para ser robusto frente a las variaciones de los parametros y los ataques dirigidos a forzar el rendimiento, hemos propuesto compensacion y bucles para la compensacion de frecuencia que aumentan la calidad estadfstica de las secuencias de bits generados. Por otra parte, tambien hemos comprobado experimentalmente que los datos binarios obtenidos a partir de las innovaciones propuestas pasan las pruebas NIST de numeros aleatorios del conjunto completo de pruebas [17].
BREVE DESCRIPCION DE LAS FIGURAS
Figura 1. Amplificacion de una tecnica de fuente de ruido.
Figura 2. Distribucion de x1.
Figura 3. Generacion regional de numeros aleatorios mediante el uso de las muestras periodicas.
Figura 4. Generacion regional de numeros aleatorios de la seccion 1-dimensional obtenida en las
transiciones de estado.
Figura 5. Generacion regional de numeros aleatorios de la seccion 1-dimensional de un oscilador caotico
no autonomo obtenido en el flanco ascendente de vp(t).
Figura 6. Espectro de frecuencias de vl.
Figura 7. Oscilador caotico MOS autonomo.
Figura 8. Resultados de analisis numerico del oscilador caotico.
Figura 9. Atractor caotico de la simulacion del circuito despues de la presentacion.
Figura 10. Histograma de x1 obtenido para wtmod2n = 0.
Figura 11. Resultados experimentales del oscilador caotico.
Figura 12. Histograma de vl obtenido en el flanco ascendente de vp(t).
Figura 13. Espectro de frecuencias de v1.
Figura 14. Resultados del analisis numerico del oscilador caotico.
Figura 15. Histograma de x obtenido para Wtmod2n = 0 (w = 1=2).
Figura 16. Realizacion del circuito del atractor de doble desplazamiento.
Figura 17. Resultados experimentales del oscilador caotico.
Figura 18. Generacion regional de numeros aleatorios utilizando oscilador caotico.
Figura 19. Histograma de vl obtenido en el flanco ascendente de vp(t).
Figura 20. Espectro de frecuencias de v1.
Figura 21. Efecto de la compensacion de la desviacion de Vtop.
Figura 22. Resultados del analisis numerico del oscilador caotico.
5
10
15
20
25
30
35
40
45
50
55
60
65
Figura 23. Seccion Poincare del sistema caotico definida como z(t) = 0.
Figura 24. Histograma de x obtenido en z(t) = 0.
Figura 25. Realizacion del circuito del atractor de doble desplazamiento.
Figura 26. Los resultados experimentales del oscilador caotico.
Figura 27. Generacion regional de numeros aleatorios utilizando oscilador caotico.
Figura 28. Histograma de v1 obtenido en v3(t) = 0 con dv3/dt> 0.
Figura 29. Oscilador bipolar propuesto.
Figura 30. Resultados del analisis numerico del oscilador bipolar.
Figura 31. Oscilador CMOS propuesto.
Figura 32. Resultados del analisis numerico del oscilador CMOS.
Figura 33. Ceros de la funcion Melnikov calculada sobre la orbita homoclmica mostrados en la esquina superior derecha.
Figura 34. Mapa Poincare del sistema bipolar de wtmod2n = 0:30.
Figura 35. Histograma de x obtenida del sistema bipolar de wtmod2n = 0:30.
Figura 36. Mapa de Poincare del sistema CMOS de wtmod2n = 0:55.
Figura 37. Histograma de x obtenido a partir del sistema de CMOS para wtmod2n = 0:55.
Figura 38. Resultados experimentales del oscilador caotico bipolar.
Figura 39. Resultados experimentales del oscilador caotico CMOS.
Figura 40. Generacion regional de numeros aleatorios utilizando el solo el oscilador caotico propuesto.
Figura 41. Histograma de v1 obtenido 46ysec despues de los flancos de subida de vp(t) para el circuito bipolar.
Figura 42. Histograma de v1 obtenido 35ysec antes de los flancos de subida de vp(t) para el circuito CMOS.
DESCRIPCION DETALLADA DE LA INVENCION
Debido a su extrema sensibilidad a las condiciones iniciales y que tiene un exponente positivo de Lyapunov y un espectro de potencia similar al ruido, los sistemas caoticos se prestan para ser explotados para la generacion de numeros aleatorios. Con el fin de obtener datos binarios al azar de un sistema caotico de tiempo continuo, hemos presentado una tecnica interesante, que se basa en la generacion de un conjunto de datos binarios no invertibles de la forma de onda del oscilador caotico dado. Cabe senalar que la no invertibilidad es una caractenstica clave para la generacion de PRNG [19]. En la innovacion propuesta, para obtener bits aleatorios binarios de un oscilador caotico autonomo o no autonomo, se utilizo la siguiente:
1. Muestras del estado xi de la seccion 1-dimensional obtenida en la transicion de estado de otro estado
(xi, X2,... o Xn) definido como X2 .n (t) = X2..n(0) con dx2 .n/dt> 0 o dx2 .n/dt <0.
2. Muestras periodicas nf del estado xi, xz... o, Xn obtenido en los flancos de subida de una senal de impulsos periodica externa, es decir, a velocidad t satisfaciendo wt mod 2n = 0, donde w es la frecuencia de la senal de pulso. En el caso de utilizar un oscilador caotico no autonomo como nucleo de la propuesta de diseno RNG:
3. La seccion 1-dimensional del estado xi, obtenido en los flancos de subida de la senal de impulso periodica externa (a velocidad t satisfaciendo wt mod2n = en donde w es la frecuencia de la senal de impulso y 0<t0<1) usado para conducir el oscilador caotico no autonomo, tambien fue explotada para obtener bits aleatorios binarios.
5
10
15
20
25
30
35
40
45
50
55
En las secciones definidas anteriormente xi, X2,... y, Xn son las cantidades normalizadas de oscilador caotico utilizado como nucleo del RNG propuesto. Hay que tener en cuenta que, aunque las trayectorias de n- dimensionales en el plano xi- X2-...- Xn son invertibles, se puede obtener una seccion no invertible considerando solo los valores correspondientes de uno de los estados, por ejemplo xi.
Inicialmente, hemos generado numericamente xi's y examinado la distribucion de los valores muestreados para determinar secciones apropiadas donde la distribucion se ve como senal aleatoria. Sin embargo, no pudimos encontrar secciones en la que los valores xi tuvieran una sola normal distribucion X [2] para un conjunto diferente de parametros, se determinaron diversas secciones donde la distribucion de xi tiene al menos dos regiones. Para un conjunto apropiado de parametros, la distribucion del estado xi en las secciones definidas anteriormente que se parecen a las de la figura 2. La distribucion de xi que tiene dos regiones, nos sugiere generar datos binarios aleatorios desde los umbrales de los valores regionales xi. Siguiendo esta direccion, hemos generado los datos binarios S(parte superior)i [en adelante S^pxl y S(parte inferior)i [en adelante S(bottom)] de las secciones 1- dimensionales de acuerdo con la ecuacion 1:
Sow = sgnki -q!op) when xu £ ^
S<w,o, = s&n (*v ~ 'it,**,* ) when xYl < qnMs
donde sgn(.) es la funcion signo, xii's son los valores de xi obtenidos a partir de una de las secciones definidas anteriormente, qparte superior [en adelante qtop] y qparte inferior [en adelante qbottom] que son los umbrales para las distribuciones de la parte superior e inferior, respectivamente, y qparte media [en adelante qmiddie] es el lfmite entre las distribuciones. Para ser capaz de elegir los umbrales apropiadamente, se examinaron las distribuciones superior e inferior como se muestra en y, a continuacion, qtop y qbottom se determinaron como las medianas de las distribuciones superior e inferior, respectivamente.
La generacion de la secuencia binaria obtenida de este modo no depende tanto del valor qmiddie, ya que para este valor lfmite, la densidad de distribucion de x es minima. Sin embargo, la densidad de distribucion de x para los valores de umbral qtop, qbottom es maxima por lo que la secuencia binaria obtenida puede estar sesgada. Con el fin de eliminar el desvfo desconocido en esta secuencia, la conocida tecnica cte correccion de inclinacion de Von Neumann a tecnica [20] se puede emplear. Esta tecnica consiste en convertir el par de bits 01 en la salida de 0,10 en la salida 1 y de descartar pares de bits 00 y 11. Sin embargo, esta tecnica disminuye el rendimiento deoido a la generacion aproximadamente de 1 bit desde 4 bits.
Para eliminar el desvfo, otro metodo, ® (o-exclusiva) operacion se utilizo, en lugar del procesamiento de Von Neumann a fin de no disminuir el rendimiento. El problema potencial con la exclusiva-o el metodo es que una pequena cantidad de correlacion entre los bits de entrada anadira sesgo significativo a la salida [4]. Los coeficientes de correlacion de secuencias binarias generadas Stop y Sbottom obtenidas a partir de las secciones definidas anteriormente se calculan muy cerca de 0 y se determina que las secuencias binarias generadas son independientes Esto fue, de hecho, lo que se esperaba ya que los sistemas caoticos se caracterizan por tener un exponente Lyapunov positivo [21], y la auto- correlacion de la series temporales caoticas desaparecen bruscamente. De acuerdo con este resultado, hemos generado los nuevos datos binarios S(xor)i mediante el uso de la ecuacion dada 2:
l5W “ Slm)i ® <2>
El valor medio y de la secuencia binaria S(xor) asf obtenida, se puede calcular por la ecuacion dada 3:
imagen1
I
donde el valor medio de Stop=lJ y el valor medio de Sbottom =v. Asi, si ^ y v estan cerca de 2 entonces ip esta muy
2
cerca de 2 . Como resultado, hemos verificado numericamente que la secuencia de bits SXOr, que se obtuvo de varias secciones definidas anteriormente para los valores mmimos apropiados de acuerdo con el procedimiento dado en la ecuacion 2, pasan las pruebas completas de la suite de prueba FIPS-140-2 sin procesamiento de Von Neumann. Llamamos a la generacion de numeros aleatorios de acuerdo con el procedimiento anterior, como RNG- Regionai.
5
10
15
20
25
30
35
40
45
50
55
60
Debido a la falta de acceso a una instalacion de fabricacion adecuada, hemos elegido para la construccion de las innovaciones propuestas el uso de componentes discretos con el fin de demostrar la viabilidad de los circuitos y tambien hemos generado experimentalmente flujos de bits.
En RNG Regional, para obtener una seccion no invertible solo se utilizo la variable xi y la tension vi, que corresponde a la variable xi, se convirtio en secuencias binarias. Para producir bits aleatorios binarios de un oscilador caotico autonomo o no autonomo mediante el uso de las muestras periodicas de xi, se utilizo el circuito (que comprende un aparato de un generador de bit aleatorio) que se muestra en la figura 3. El flujo de bits de salida de los comparadores se muestrea y se almacena en formato binario en el flanco ascendente del generador de onda cuadrada periodica externa Vp(t) para obtener valores vi en la seccion definida como wt mod 2n = 0. Con el fin de poner en practica el procedimiento donde se utilizaron muestras xi, de la seccion 1-dimensional de un oscilador caotico autonomo o no autonomo, obtenidos en la transicion de estado de otro estado (x>,... o, xn), definido como x2..n(t) = x2..n(o) con dx2.n/ dt> 0 o dx2n/ dt < 0, se tomaron muestras del flujo de bits de salida de los comparadores vi y se almacenaron en formato binario en los flancos de subida o de bajada del otro estado V2.. n del comparador utilizando el circuito dado en la figura 4.
En la innovacion propuesta la seccion 1-dimensional de xi, a partir de un oscilador caotico no autonomo obtenido a velocidad t satisfaciendo wt mod 2n = to, puede ser tambien utilizado para generar bits aleatorios. Para obtener valores xi en la seccion definida, se tomaron muestras del flujo de bits de salida de los comparadores y se almacenaron en formato binario despues de una barrera de retardo, en un tiempo ajustado dentro de un penodo del tren de impulsos periodica externo, Vp(t), que tambien se utilizo para accionar el oscilador caotico no autonomo. La implementacion del circuito se muestra en la figura 5. En los circuitos regionales de generacion de numeros aleatorios dados anteriormente, los comparadores se llevaron a cabo a partir de chips LM211 y los niveles de voltaje Vparte superior [en adelante Vtop], Vparte media [en adelante Vmiddie] y Vparte inferior [en adelante Vbottom] se utilizaron para realizar los umbrales de la Ecuacion 1, respectivamente. La Vtop y Vbottom fueron generadas por dos convertidores analogicos digitales (DAC) de 12-bit de modo de tension. Cada DAC se puede ajustar en etapas de 0,5859375mV en las que la referencia de tension del DAC es 2,4V. En la implementacion de la ecuacion 1 y 2 se transforma en:
^W> = sgn(y„ -K/) vu >V miMt
=sgn(v1( -VWcM) whenvu <Vm.idle (4)
^(xw)i ® '^(SrtrtwuV
Un hardware basado en FPGA, que tiene una interfaz PCI fue disenado para cargar los datos binarios en el equipo. El intervalo de compensacion para los umbrales de la Vtop y Vbottom, la compensacion de frecuencia, la barrera de retardo y o-exclusiva operacion se llevaron a cabo dentro de FPGA. Despues de la compensacion de la desviacion y de la frecuencia y o-exclusiva operacion, los numeros aleatorios candidatos se han subido al ordenador a traves de la interfaz PCI. Tasa maxima de almacenamiento de datos de nuestro hardware basado en FPGA es de 62 Mbps.
Nos hemos dado cuenta experimentalmente que, para un conjunto apropiado de parametros y retardos de muestreos ajustados, hay varias secciones en las que la distribucion de vi tiene dos regiones que se parecen a la figura 2.
Para ser capaz de determinar los valores iniciales de los umbrales de forma apropiada, de manera similar a la generacion de bit numericos, se examinaron distribuciones superior e inferior fueron. Entonces, valores iniciales de Vtop y Vparte inferior se determinaron como las medianas de las distribuciones superior e inferior, respectivamente. El muestreo de frecuencia de vi, se determino dividiendo la frecuencia de Vp(t) o la salida del comparador V2. n en un valor de pre-escarificador dentro de la FPGA. Para la determinacion del valor inicial del pre-escarificador apropiadamente, el espectro de frecuencia de vi se observo y se parecen a las dadas en la figura 6. Como se muestra en la figura la senal caotica vi tiene un espectro de potencia similar al ruido. La frecuencia central del oscilador caotico la indica el marcador de solido. Hasta el marcador de trazos, la region en la que el espectro de potencia es plana, la senal caotica vi contiene todas las frecuencias en cantidades iguales y la densidad espectral de potencia esta en su maximo. Por lo tanto, sin perdida de generalidad, v1(t) y v1(t+ t0) puede ser consderada como no correlacionada para todos fo^0 y vi puede ser muestreada hasta el fmuestreo indicado por el marcador de trazos como una fuente de senal aleatoria. Por ultimo, el valor inicial del pre escarificador se determino dividiendo la frecuencia de vp(t) o la salida del comparador v2..n en fmuestreo.
Las compensaciones de la desviacion de los umbrales de Vtop y Vbottom se obtendna mediante la aplicacion del conjunto de pruebas de monobit de la suite FIPS-140 [16] para las secuencias binarias de Stop y Sbottom. Para cada secuencia, se adquirieron flujos de bits de longitud de 20000 Bits, si el numero de 0's > 10.275 entonces el correspondiente umbral disminuyo y si el numero de 0's < 9.725 entonces el correspondiente umbral incremento. El
7
5
10
15
20
25
30
35
40
45
bucle de compensaciones de frecuencia se realizo mediante la aplicacion de ciclos de prueba de la suite FIPS- 140-2 de pruebas para la secuencia binaria Sxor. Si 3 Sxor flujos de bits de longitud 20000 Bits que fueron adquiridos en la secuencia fallaron en la prueba realizadas, lo que indica sobre el muestreo de vt, entonces el muestreo de frecuencia de Vi fue reducido por al aumentar el valor del pre-escarificador. Si fuera necesario, la frecuencia de muestreo se puede ampliar externamente a traves de la interfaz PCI.
Despues de que se estabilizaron los valores del pre-escarificador y de umbral, un flujo de bits de longitud al menos 500 Mbits fue adquirido de los tramos definidos anteriormente mediante el uso de los circuitos indicados en la figura 3, figura 4 y figura 5 y se sometieron a la prueba completa de la suite NIST. Como resultado, hemos verificado experimentalmente que, la secuencia de bits Sxor, pasa las pruebas de completa de la suite NIST para numeros aleatorios sin el procesamiento de Von Neumann. Los valores-P fueron uniformes y la proporcion de secuencias que pasan fueron mayores que la tasa de aprobacion minima para cada prueba estadfstica.
(
f,
)
El rendimiento de las tasas de transferencia de datos de Sxor se convierte efectivamente en 2 porque al dividir Vi en dos regiones en funcion de la distribucion. El rendimiento de las tasas de transferencia de datos de
, 0.05
fj vr “
Sxor puede ser estimada como ” donde t es la constante de tiempo del oscilador caotico. Podemos
deducir que los osciladores caoticos se pueden integrar facilmente en el proceso de hoy con una frecuencia central nominal en el rango de los GHz. Sin embargo, hay que senalar que los circuitos caotcos que funcionen a frecuencias mucho mas altas se dan a conocer en la literatura. Por ejemplo, los resultados de simulacion de la cadencia de la version BJT de un oscilador caotico operando a 5,3GHz se presentan en [18]. Asf que, todo esto indica que el uso de caos de tiempo continuo es muy prometedor en la generacion de numeros aleatorios con muy altos rendimientos. Como resultado, el metodo propuesto es tambien una arquitectura mejorada en donde se anaden bucles de compensacion de la desviacion de la frecuencia para maximizar la calidad estadfstica de la secuencia de salida y para ser robusto frente a interferencias, variaciones de los parametros externos y los ataques dirigidos a la fuerza rendimiento
Aplicacion industrial
2. Generador de numeros aleatorios verdaderos con desviacion y frecuencia compensadas basado en un oscilador caotico autonomo para aplicaciones en criptografia
En el diseno propuesto, hemos obtenido datos aleatorios por muestreo periodicamente uno de los estados del sistema caotico y numericamente verificado que los flujos de bits generados por el RNG propuesto pasan las cuatro pruebas basicas de numeros aleatorios de la serie de pruebas FIPS-140-2. La interferencia externa es una preocupacion importante en el diseno RNG ya que las senales interferidas y aleatorias tienen niveles comparables. Para resolver este problema y para ser robusto frente a variaciones de los parametros y los ataques dirigidos contra la fuerza del rendimiento, hemos propuesto bucles para la compensacion de la desviacion y frecuencia que aumentan la calidad estadfstica de las secuencias de bits generados. Por otra parte, tambien hemos comprobado experimentalmente que los datos binarios obtenidos desde el oscilador caotico pasan las pruebas completas de la suite NIST para numeros al azar.
3. Oscilador caotico autonomo
El oscilador caotico autonomo que se utiliza como nucleo de la RNG fue propuesto en [18]. El oscilador caotico MOS se presenta en la figura 7 y se deriva del oscilador sinusoidal de acople cruzado clasico mediante la adicion de una seccion RC3 y una etapa diferencial de par (M3 - M4)- Mg - M8 y M10 - M11 pares de transistores se utilizan para implementar simples espejos de corriente con una relacion de transferencia de corriente de k. Asumiendo que C1 = C2 = C3 = C, analisis de rutina del circuito se dan la siguiente ecuacion 5:
imagen2
5
10
15
20
25
30
35
donde A\l= k-iR (inductores' diferenciales de corriente),
es la tension
W
umbral NMOS, p„ es la movilidad de los electrones, Cox es la capacitancia de oxido de MOS y ^ es la relacion de
r=Jl/c, xx
aspecto Mi - M2 pares de transistores. El uso de las cantidades normalizadas:
IV.
"f
■*2
Ai.R r= y=~~ , ' W ’
“ty ’ ' r>\r ' ZK ,
"f v"f r,J tn=t/RC, y teniendo Vref=VTH, las ecuaciones del sistema en la ecuacion 5 se
transforma en:
imagen3
en donde
imagen4
Las ecuaciones en 6 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 8 se obtiene del analisis numerico del sistema con b=0,9, c=0,15, d=0,7 y k=8 utilizando un 4° algoritmo de orden Runge-Kutta con un tamano de paso de adaptacion.
El oscilador caotico explotado ofrece algunas ventajas considerables sobre los ya existentes. El circuito emplea un par diferencial para darse cuenta de la no linealidad requerida, que es el bloque de construccionbasico analogico mas utilizado debido a su alto rendimiento IC. Por otra parte, el oscilador caotico es equilibrado; por lo tanto, ofrece un mejor rechazo a la fuente de alimentacion e inmunidad al ruido.
4. Circuito de simulacion
Con el fin de demostrar la capacidad de operacion de alta frecuencia del oscilador caotico MOS, la disposicion del circuito de en la figura 7 ha sido elaborado utilizando la cadencia y el circuito de post-diseno se ha simulado usando SPICE (Nivel 3) con los parametros del modelo de 1,5p proceso CMOS. El circuito estaba polarizado con fuente de alimentacion ±2,5V. Los valores de los componentes pasivos fueron: L = 4,7 yH, C = 4,7 pF,
I fo =-----!= = 33.9Af«i]
t 2W±c ; , R=1000Q y las corrientes de polarizacion eran fc=240^A, IB = 100 pA respectivamente. El
espacio de fases observada correspondiente a Vc2- vci frente Vc3 se muestra en la figura 9.
Es evidente que esta version MOS del oscilador caotico requiere inductores fuera de chip. El intento de reducir los valores del inductor manteniendo al mismo tiempo la funcionalidad no era posible sin aumentar las tensiones de alimentacion, las corrientes de polarizacion y las relaciones de aspecto del transistor. Sin embargo, atractores caotico similares tambien se obtuvieron mediante el uso de la simulacion SPICE con L= 20nH, C = 0.3 pF, (fo ~ 2GHz), R = 258Q y con los parametros del modelo de 0,35^ proceso BiCMOS mientras que las tensiones de alimentacion eran de ±2,5V y las corrientes de polarizacion eran de Io = 1300 1300pA, Ib = 400 1300pA. Por ultimo, el circuito oscilador caotico es muy adecuado para la implementacion monolftica y es capaz de funcionar a frecuencias muy altas.
5
10
15
20
25
30
35
40
45
50
5. Generacion de numeros aleatorios
Debido a su extrema sensibilidad a las condiciones iniciales y a que tiene un exponente positivo de Lyapunov y un espectro de potencia similar al ruido, los sistemas caoticos se prestan para ser explotados para la generacion de numeros aleatorios. Con el fin de obtener datos binarios al azar de un sistema caotico de tiempo contnuo, hemos presentado una tecnica interesante, que se basa en la generacion de un conjunto de datos binarios no invertibles de la forma de onda del oscilador caotico dado. Cabe senalar que no invertibilidad es una caractenstica clave para la generacion de PRNG.
Para obtener bits aleatorios binarios del atractor caotico, se utilizaron las muestras del estado xi del sistema en la ecuacion 6, obtenida en los flancos de subida de una senal de impulsos periodica externa, es decir, a velocidades t satisfactorias wt mod 2n donde w es la frecuencia de la senal de pulso. Hay que tener en cuenta que, aunque las trayectorias 4-dimensionales en el plano xi - y - X2 - z son invertibles, se puede obtener una seccion no invertible considerando solo los valores correspondientes a uno de los estados, por ejemplo xi.
Inicialmente se examino la distribucion de la muestra de valores xi periodicamente para determinar secciones apropiadas donde la distribucion se ve como senal aleatoria. Aunque, no pudimos encontrar secciones de las cuales los valores xi tienen una sola distribucion X normal para un conjunto diferente de parametros dados en la ecuacion 6, se determinaron diversas secciones donde la distribucion de xi tiene al menos dos regiones. Para b=0,9, c=0,15, d=0,7 y k= 8, la distribucion del estado xi en la seccion se define anteriormente como se muestra en la figura 10.
La distribucion de xi que tiene dos regiones, nos sugiere que genera datos binarios aleatorios desde la los valores xi regionales para los umbrales regionales. Siguiendo esta direccion, hemos generado los datos binarios S(top)i y
S^offomj/de la seccion 1-dimensional segun la ecuacion 7:
■W = SSnk “ V ) WhCH *U * ImMle
whenx\i<ci,nM>. (7)
donde sgn(.) es la funcion signo, xji's son los valores de xi en la seccion 1-dimensional obtenida para t mod 2tt= 0, q(top) y qbottom son los umbrales para la las distribuciones de la parte superior e inferior, respectivamente, y qmiddie es el lfmite entre las distribuciones. Para ser capaz de elegir los umbrales apropiadamente, se examinaron las distribuciones superior e inferior como se muestra en la figura 10 y, a continuacion, se determinaron la q(top) y qbottom como las medianas de las distribuciones superior e inferior, que eran 0,79569678515 y -0.7932956l92, respectivamente, cuando qmiddie se determino como 0.
La generacion de la secuencia binaria obtenida de este modo no depende mucho del valor qmiddie, ya que para este valor lfmite, la densidad de distribucion de x es minima. Sin embargo, la densidad de distribucion de x para los valores de umbral (q(top), qbottom) es maxima por lo que la secuencia binaria obtenida puede estar sesgada. Con el fin de eliminar el desvfo desconocido en esta secuencia, se puede emplear la conocida tecnica de correccion de inclinacion de Von Neumann. Esta tecnica consiste en convertir el par de bits 01 en la salida de 0, 10 a la salida 1 y de descartar pares de bits 00 y 11. Sin embargo, esta tecnica disminuye el rendimiento debido a la generacion de aproximadamente 1 bit desde 4 bits.
Para eliminar el desvfo, otro metodo, ® (o-exclusiva) operacion se utilizo, en lugar del procesamiento de Von Neumann a fin de no disminuir el rendimiento. El problema potencial con la exclusiva-o el metodo es que una pequena cantidad de correlacion entre los bits de entrada anadira sesgo significativo a la salida. Los coeficientes de correlacion de secuencias binarias generadas Stop y Sbottom de longitud 196 KBits se calculan como 0,00446 y se determina que las secuencias binarias generadas son independientes. Este de hecho, fue lo que se esperaba ya que los sistemas caoticos se caracterizan por tener un exponente de Lyapunov positivo, y la auto-correlacion de la serie temporal caotica desaparece bruscamente. De acuerdo con este resultado, hemos generado los nuevos datos binarios S(xor)i mediante el uso de la ecuacion dada 8:
S(rvr)t = S(tOp)> ® (8)
El valor medio ip de la secuencia binaria S(xor) obtenido de este modo, se puede calcular por la ecuacion dada 9:
imagen5
5
10
15
20
25
30
35
40
45
50
55
donde el valor medio de Sbottom =(J y el valor medio de Sbottom = v. Asi, si /j y v estan cerca 2 entonces ip esta muy
cerca 2. Como resultado, hemos verificado numericamente que la secuencia de bits SXOr que se obtuvo para los valores mmimos apropiados dadas de acuerdo con el procedimiento en la ecuacion 8, han pasado las pruebas de banco de pruebas FIPS-140-2 sin procesamiento de Von Neumann. Llamamos a la generacion de numeros aleatorios de acuerdo con el procedimiento anterior, como RNG regional.
6. Verificacion experimental y realizacion de hardware de generadores de numeros aleatorios
Debido a la falta de acceso a una instalacion de fabricacion adecuada, hemos elegido para construir el oscilador caotico y los generadores de numeros aleatorios propuestos de estructura discreta con el fin de demostrar la viabilidad de los circuitos. Para la figura 7, los valores de los componentes pasivos fueron: L=9mH, C=10nF, R=1000Q, /b=100(UA y Io=250^A. Los transistores MOS y las fuentes de corriente, las cuales se realizaron utilizando espejos de corriente simples, se llevaron a cabo con el transistor de matrices CMOS LM4007. Se fijo k igual a 8 mediante el ajuste de la relacion de las resistencias de carga de espejo de corriente. La frecuencia de
funcionamiento del centra del oscilador caotico: 2rc^LC i se ajusto a un valor de baja frecuencia como 16,77
KHz con el proposito de proporcionar que el circuito no fuera afectado por capacidades parasitarias. El circuito estaba polarizado con una fuente de alimentacion de ±5V y se observo que el atractor se muestra en la figura 11. De acuerdo con el procedimiento explicado en la seccion 5, hemos generado bits aleatorios de acuerdo a las distribuciones regionales al tomar muestras periodicamente de uno de los estados del oscilador caotico.
60.1 RNG regional
En RNG Regional, para obtener una seccion no invertible solo se utilizo la variable xi y la tension Vi = Vc2 - vci, que corresponde a la variable xi, se convirtio en secuencias binarias. Con el fin de poner en practica este procedimiento, se utilizo el circuito mostrado en la figura 18b. En este circuito, los comparadores se llevaron a cabo a partir de chips LM211 y los niveles de tension Vtop, Vmiddie y Vbottom se utilizaron para realizar los umbrales de la ecuacion 7, respectivamente. La Vtop y Vbottom fueron generadas por dos convertidores analogicos digitales (DAC) de 12-bit de modo de tension. Cada DAC se puede ajustar en etapas de 0,5859375 mV en las que la referencia de tension del DAC es 2,4V. En la implementacion de la ecuacion 7 y 8 se transforma en:
•W = sgn(v„ - ) when v„ 2 VmuUU
*(**»> = sgafri; “ vr— J when 'V < Vn»~ (10)
^(wf )r *^(fvp'i* ® *^(fwnr0wK
Un hardware basado en FPGA, que tiene una interfaz PCI fue disenado para cargar los datos binarios en el equipo. Para obtener valores x en la seccion definida como t mod 2n = 0, la corriente de bits de salida de los comparadores se muestrea y se almacena en formato binario en el flanco ascendente del generador de onda cuadrada periodica externa Vp(t). Compensacion de la desviacion para los umbrales de la Vtop y Vbottom, y la o- exclusiva operacion se realizaron dentro de la FPGA. Despues de la compensacion de la desviacion y de la frecuencia y o-exclusiva operacion, los numeros aleatorios candidatos se cargaron en el ordenador a traves de la interfaz PCI. La tasa maxima de almacenamiento de datos de nuestro hardware basado FPG A es de 62 Mbps.
De acuerdo con el procedimiento explicado en la seccion 5, se analizo la distribucion de Vi. Como resultado, la distribucion de Vi obtenido en el flanco ascendente de Vp(t) se muestra en la figura 12. Para ser capaz de determinar los valores iniciales de los umbrales de forma apropiada, de manera similar a la generacion de bit numerico, distribuciones superior e inferior fueron examinadas. Entonces, los valores iniciales de Vtop y Vbottom se determinaron como las distribuciones de las medianas de la parte superior e inferior que eran 1,114V y -1,122V, respectivamente, mientras que Vmiddie se determino como 0mV. La frecuencia de muestreo de Vi, se determino dividiendo la frecuencia de Vp(t) en el valor del pre escarificador dentro de la FPGA. Para la determinacion del valor inicial del pre-escarificador apropiadamente, el espectro de frecuencia de Vi dada en la figura se observo 13. Como se muestra en la figura la serial caotica Vi tiene un espectro de potencia similar al ruido. La frecuencia central del oscilador caotico se indica por el marcador de solido fijado en 17 KHz. Hasta el marcador de trazos establecido a 4 KHz, la region en la que el espectro de potencia es plano, la senal caotica Vi contiene todas las frecuencias en cantidades iguales y la densidad espectral de potencia esta en su maximo. Por lo tanto, sin perdida de generalidad, Vi (t) y, Vi (t + t0) pueden ser considerados como no correlacionados para todos t0 t 0 y Vi pueden ser muestreados hasta 4 KHz como una fuente de senal aleatoria. Por ultimo, el valor inicial del pre-escarificador se determino como 6, mientras que la frecuencia de Vp(t) fue de 24 KHz.
Las compensaciones de desvfo para los umbrales de Vtop y Vbottom se obtendnan mediante la aplicacion de pruebas de monobit FIPS-140-2 del banco de pruebas para Stop y Sbottom de secuencias binarias. Para cada secuencia, se
11
5
10
15
20
25
30
adquirieron flujos de bits de longitud 20000 Bits, si numero de ceros > 10.275, entonces el correspondiente umbral se redujo y si el numero de ceros < 9,725 entonces el correspondiente umbral se aumento. El bucle de compensaciones de frecuencia se realizo mediante la aplicacion de ciclos de prueba de FIPS-140-2 del banco de pruebas para Sxor de secuencia binaria. Si 3 Sxor flujos de bits de longitud 20000 bits que fueron adquiridos en la secuencia fallaron en las pruebas de funcionamiento, lo que indica un sobre muestreo de vi, entonces, la frecuencia de muestreo de vi fue reducido al aumentar el valor del pre-escarificador. Si fuera necesario, la frecuencia de muestreo se puede ampliar externamente a traves de la interfaz PCI.
Despues de que se estabiliza el valor del pre-escarificador y del umbral, flujos de bits de longitud 503MBits fueros adquiridos y se sometieron al conjunto completo de la prueba NIST. Como resultado, hemos verificado experimentalmente que, la secuencia de bits Sxor, pasan las pruebas del banco de pruebas de numeros aleatorios completa de NIST sin procesamiento de Von Neumann. Los resultados para la uniformidad de los valores de p y la proporcion de secuencias que pasan del circuito RNG regional se dan en la tabla 1. Se ha informado de que, para un tamano de muestra de 503x1Mbits, la tasa de aprobacion minima para cada prueba estadfstica con la excepcion de la prueba de excursion aleatoria (variante) es de aproximadamente 0,976691.
c)
Cuando la frecuencia central del oscilador caotico era 16 a 77 kHz, los valores del pre-escarificador se hicieron
(TAKHzp
estables a 7 y el rendimiento de las tasas de transferencia de datos de Sxor se convierte efectivamente v 2 1714bps, porque al dividir vi en dos regiones en funcion de la distribucion. El rendimiento maximo de la velocidad
x 1714-viC 0,01626
“ [j 7
de datos de Sxor se puede estimar como
En la seccion 4, hemos presentado disenos de resultados de la simulacion del circuito, lo que conduce a una frecuencia central de operacion al (f0 “ 33,9MHz). Teniendo en cuenta que el circuito se realizo en proceso 0,35u BiCMOS como se indica en la seccion 4 (fo ~ 2GHz), se puede deducir que el oscilador caotico se puede integrar facilmente en los procesos de hoy dfa con una frecuencia central nominal en el rango de los GHz. Sin embargo, hay que senalar que los circuitos caoticos que funcionen a frecuencias mucho mas altas ya han sido dados a conocer en la literatura. Por ejemplo, los resultados de simulacion de la cadencia de la version BJT del mismo oscilador caotico operando a 5,3GHz se presentan en [18]. Por lo tanto, todo esto indica que el uso de caos de tiempo continuo es muy prometedor en la generacion de numeros aleatorios con un rendimiento muy alto, del orden de cientos de Mbps.
Tabla 1. Los resultados del banco de pruebas NIST para RNG regional
PRUEBA ESTADfSTICA
Sxor
P-Valor
Proporcion
Frecuencia
0,465415 0,9881
Bloque de frecuencias
0,382115 0,9920
Sumas cumulativas
0,717714 0,9861
Ciclos de pruebas
0,869278 0,9781
Pruebas largas
0,556460 0,9861
Rango
0,818343 0,9901
FFT
0,614226 0,9920
Modelos no periodicas
0,697257 1,0000
Modelos superpuestos
0,548314 0-9841
Universal
0,250558 0,9920
ApEn
0,382115 0,9901
Recorridos aleatorios
0,425817 1,0000
5
10
15
20
25
30
35
40
45
Variante recorridos aleatorios
0,961765 0,9969
Series
0,399442 0,9881
Complejidad lineal
0,305599 0,9940
7. Generador compensado de numeros aleatorios verdaderos basado en un atractor de doble de doble desplazamiento
En el diseno propuesto, inicialmente hemos obtenido datos aleatorios por muestreo periodicamente de uno de los estados del sistema caotico y numericamente verificado que los flujos de bits generados por el RNG propuesto pasa las cuatro pruebas basicas de numeros aleatorios de serie de pruebas FIPS-140-2. La interferencia externa es una preocupacion importante en el diseno RNG ya que las senales de interferencia y aleatorias tienen niveles comparables. Para resolver este problema y para ser robusto frente a variaciones de los parametros y los ataques dirigidos a la fuerza del rendimiento, hemos propuesto bucles para la compensacion de la desviacion y de la frecuencia que aumentan la calidad estadfstica de las secuencias de bits generados. Por ultimo, hemos comprobado experimentalmente que los datos binarios obtenidos del circuito propuesto pasan las pruebas de NIST completa de numeros aleatorios de conjunto de pruebas sin procesamiento posterior.
8. Atractor de doble desplazamiento
El atractor de doble desplazamiento que se utiliza como nucleo del RNG se obtiene a partir de un simple modelo dado en [22], que se expresa por la ecuacion 11. Debe tenerse en cuenta que cuando la no linealidad se sustituye por una no linealidad continua, el sistema es "cualitativamente similar" al oscilador de Chua.
x— y
y—z
z = -ax - ay - az - sgn (jt)
(11)
donde sgn(.) es la funcion signo. Las ecuaciones en 11 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 14 se obtiene a partir del analisis numerico del sistema con a=0,666... usando un 4° algoritmo de orden de Runge-Kutta con un tamano de paso de adaptacion.
9. Generacion de bits aleatorios
Con el fin de obtener datos binarios al azar de un sistema caotico de tiempo contnuo, hemos presentado una tecnica interesante, que se basa en la generacion de un conjunto de datos binarios no invertibles de la forma de onda del sistema caotico dado. Cabe senalar que la no invertibilidad es una caractenstica clave para la generacion de numeros pseudo aleatorios.
Para obtener bits aleatorios binarios del atractor caotico, se utilizaron las muestras del estado x del sistema en la ecuacion 11, que se obtiene en los flancos de subida de una senal de impulsos periodica externa, es decir, a velocidad t satisfactoria wt mod 2n = 0 donde w es la frecuencia de la senal de pulso. Hay que tener en cuenta que, aunque las trayectorias de 3- dimensional en el plano y - y - z son invertibles, se puede obtener una seccion no invertible considerando solo los valores correspondientes a uno de los estados, por ejemplo x.
Inicialmente se examino la distribucion de la los valores x de muestra periodicamente para determinar secciones apropiadas donde la distribucion se ve como una senal aleatoria. Aunque, no pudimos encontrar secciones en las cuales los valores x tienen una sola distribucion X normal para diferentes valores dados en de la ecuacion 11, se determinaron diversas secciones donde la distribucion de x tiene al menos dos regiones. Para a=0,666..., la distribucion del estado x en la seccion definida anteriormente se muestra en la figura 15.
La distribucion de x que tiene dos regiones, nos sugiere generar datos binarios aleatorios desde los valores regionales x para los umbrales regionales. Siguiendo esta direccion, hemos generado los datos binarios S(top)i y S(bottom)i de la seccion 1-dimensional segun la ecuacion 12:
■%„»> = sBn (x< “ ) when x >
' s8n(-r. ) whenx, <
5
10
15
20
25
30
35
40
45
50
-1 mod It = 0{to = 1/2)1
donde xi's son los valores de x en la seccion 1-dimensional obtenido para 2 , q(top) y qbottom son los
umbrales para las distribuciones de las partes superior e inferior, respectivamente, y qmiddie es el hmite entre las distribuciones. Para ser capaz de elegir los umbrales apropiadamente, se examinaron las distribuciones superior e inferior como se muestra en la figura 15 y, a continuacion, se determinaron la q(top) y qbottom como las medianas de las distribuciones superior e inferior, que eran 0,9656158849 y -0.9640518966, respectivamente, cuando qmidde se determino como 0.
La generacion de la secuencia binaria obtenida de este modo no depende mucho del valor qmiddie, ya que para este valor lfmite, la densidad de distribucion de x es minima. Sin embargo, la densidad de distribucion de x para los valores de umbral (qo), qbottom) es maxima por lo que la secuencia binaria obtenida puede estar sesgada. Con el fin de eliminar el desvra desconocido en esta secuencia, la conocida tecnica de correccion de inclinacion de Von Neumann se puede emplear. Esta tecnica consiste en convertir el par de bits 01 en la salida de 0, 10 a la salida 1 y descartar pares de bits 00 y 11. Sin embargo, esta tecnica disminuye el rendimiento debido a la generacion de aproximadamente 1 bit desde 4 bits.
Para eliminar el desvra, otro metodo, ® (o-exclusiva) operacion se utilizo, en lugar del procesamiento de Von Neumann a fin de no disminuir el rendimiento. El problema potencial con la exclusiva-o el metodo es que una pequena cantidad de correlacion entre los bits de entrada anadira desvra significativo a la salida. El coeficente de correlacion de secuencias binarias generadas Stop y Sbottom de longitud 152 KBits se calcula como 0,00018 y se determina que las secuencias binarias generadas son independientes Esto fue, de hecho, lo que se esperaba ya que los sistemas caoticos se caracterizan por tener un exponente Lyapunov positivo, y la auto- correlacion de la series temporales caoticas desaparecen bruscamente. De acuerdo con este resultado, hemos generado los nuevos datos binarios S(XOr)i mediante el uso de la ecuacion 13 dada:
= SUcpi' ® S(b0!,om)i 03)
El valor medio ip de la secuencia binaria Sxor obtenido de este modo, se puede calcular por la ecuacion 14 dada:
imagen6
donde el valor medio de Sf0p = /v y el valor medio de Sbottom = v. Asf, si p y v estan cerca a 2 entonces ip esta muy
cerca de 2 . Como resultado, hemos verificado numericamente que la secuencia de bits Sxor, que se obtuvo para los valores mrnimos apropiados dadas acuerdo con el procedimiento dado en la ecuacion 13, han pasado las pruebas de banco de pruebas FIPS-140-2 sin procesamiento de Von Neumann. Llamamos a la generacion de numeros aleatorios de acuerdo con el procedimiento anterior, como RNG regional.
10. Realizacion de hardware RNG
Debido a la falta de acceso a una instalacion de fabricacion adecuada, hemos elegido para construir el circuito propuesto el uso de componentes discretos con el fin de demostrar la viabilidad del circuito.
100.1 Verificacion experimental del oscilador caotico
El diagrama de circuito de la realizacion del atractor de doble desplazamiento se da en la figura 16. Se utiliza AD844 como un amplificador operacional de alta velocidad y se utiliza un comparador de tension LM211 para dar cuenta de la no linealidad requerida. Los valores de los componentes pasivos se tomaron como: Ri = R2 = aR3 = R
= 10kD, R3 = 15kQ para a = 0.666..., Cn = Cw = Cig = C = 2.2nF, y Rk=100kQ.
f =—-
Por lo tanto, la frecuencia de operacion del centra del oscilador caotico: correspondiente a la constante de
tiempo t donde t = RC, se ajusto a un valor de frecuencia baja como 7,234 KHz con el proposito de proporcionar que el circuito no sea afectado por las capacidades parasitarias. El circuito estaba polarizado con una fuente de alimentacion de ±5V y el atractor observado se muestra en la figura 17.
10.2 RNG regional
En RNG regional, la tension vi, que corresponde a la variable x, se convirtio en secuencias binarias de acuerdo con el procedimiento que se explica en la seccion 9. A fin de poner en practica este procedimiento, el circuito
5
10
15
20
25
30
35
40
45
50
55
60
mostrado en la figura 18 se utilizo. En este circuito, los comparadores se realizaron a partir de chips LM211 y los niveles de voltaje Vtop, Vmiddie y Vbottom se utilizaron para realizar los umbrales de la ecuacion 12, respectivamente. La Vtop y Vbottom fueron generadas por dos convertidores analogicos digitales (DAC) de 12-bit de modo de tension. Cada DAC se puede ajustar en etapas de 0,5859375 mV en las que la referencia de tension del DAC es 2,4V.
Un hardware basado en FPGA, que tiene una interfaz PCI fue disenado para cargar los datos binarios en el equipo. Para obtener los valores x en la seccion definida como wt mod 2n = 0, la corriente de bits de salida de los comparadores se muestreo y se almaceno en formato binario en el flanco ascendente del generador de onda cuadrada periodica externa Vp(t). La compensacion de la desviacion para los umbrales de la Vtop y Vbottom, y la o- exclusiva operacion se llevaron a cabo dentro de la FPGA. Despues de la compensacion de la desviacion y de la frecuencia y o-exclusiva operacion, los numeros aleatorios candidatos se cargaron en el ordenador a traves de la interfaz PCI. La tasa maxima de almacenamiento de datos de nuestro hardware basado FPG A es de 62 Mbps.
100.3 Compensacion de la desviacion y de la frecuencia
De acuerdo con el procedimiento explicado en la Seccion 9, se analizo la distribucion de Vi. Como resultado, la distribucion de Vi obtenido en el flanco ascendente de Vp(t) se muestra en la figura 19.
Para ser capaz de determinar los valores iniciales de los umbrales de forma apropiada, de manera similar a la generacion de bit numerico, se examinaron los valores de las distribuciones superior e inferior. Entonces se determinaron los valores iniciales de la parte superior e inferior como las medianas de las distribuciones de la parte superior e inferior que eran 470mV y - 470mV, respectivamente, mientras que Vmiddie se determino como OmV. El muestreo de la frecuencia Vi, se determino dividiendo la frecuencia de Vp(t) entre el valor del pre escarificador dentro de la FPGA.
Para la determinacion del valor inicial del pre escarificador apropiadamente, el espectro de frecuencia de Vi dada en la figura 20 se observo. Como se muestra en la figura 20 la senal caotica v1 tiene un espectro de potencia similar al ruido. La frecuencia central del oscilador caotico la indica el marcador de conjunto solido a 7,234 KHz. Hasta el marcador de trazos ajustado a 1,55 KHz, la region en la que el espectro de potencia es plana, la sena caotica v1 contiene todas las frecuencias en cantidades iguales y la densidad espectral de potencia esta en su maximo. Por lo tanto, sin perdida de generalidad, Vi(t) y Vi(t+t0) se puede considerar como no correlacionados para todos los tp t 0 y Vi puede ser muestreado hasta 1,55 KHz como fuente de senal aleatoria. Por ultimo, el valor inicial del pre escarificador se determino como 3, mientras que la frecuencia de Vp(t) fue de 4,65 KHz.
Las compensaciones de la desviacion de los umbrales de la Vtop y Vbottom se obtendnan mediante la aplicacion de pruebas monobit del banco de pruebas FIPS-140-2 para las secuencias binarias de la Stop y Sbottom. Para cada secuencia, se adquirieron flujos de bits de longitud 20000 Bits, si el numero de ceros > 10275 entonces los umbrales correspondientes se reducen, y si numero de ceros <9,725 entonces el correspondiente umbral se aumenta.
El bucle de compensacion de frecuencia se realizo mediante la aplicacion de ciclos de pruebas del banco de pruebas FTPS-140-2 para la secuencia binaria Sxor. Si 3 flujos de bits Smr de longitud 20000 Bits que fueron adquiridos en la secuencia fallaron en los ciclos de prueba, lo que indica un sobre muestreo de Vi, entonces el muestreo de la frecuencia Vi fue reducido al aumentar el valor del pre escarificador. El valor del pre escarificador, cuyo valor inicial se determino en 3, se transformo en estable a 4. Si fuese necesario, el muestreo de la frecuencia se puede ampliar externamente a traves de la interfaz PCI. El efecto de la compensacion de la desviacion de la Vtop, que es similar a uno para Vbottom, se muestra en la figura 21 a pesar del hecho de que, el valor inicial de umbral no se ajusta apropiadamente, el valor medio de la corriente de bits de longitud 20000 Bits alcanzo y se hizc _1_
estable a 2 por la compensacion.
10.4 Resultados de la prueba
Despues de que los valores del pre escarificador y de umbral se estabilizaron, se obtuvo un flujo de bits de longitud 223 Mbits y se sometio a la prueba de conjunto completo NIST. Como resultado, hemos verificado experimentalmente que, la secuencia de bits Sxor, supero las pruebas de banco de pruebas de numeros aleatorios completa NIST sin el procesamiento de Von Neumann. Los resultados para la uniformidad de los valores-P y la proporcion de transmitir las secuencias del circuito RNG regional se muestran en la Tabla 2 donde el valor-P (0 < P-valor < 1) es un numero real estimando la probabilidad de que un RNG perfecto habria producido una secuencia menos aleatoria que la secuencia dada. Se ha informado de que, para un tamano de muestra de 223 x 1Mbits, la tasa de transmision minima para cada prueba estadfstica con la excepcion de la prueba de excursion aleatoria (variante) es de aproximadamente 0,970011.
Cuando la frecuencia central del oscilador caotico fue de 7,234 KHz el rendimiento de las tasas de transferencia de
(A.65KHz/A
datos de Sxor efectivamente se convierte en 2 581bps, (valor del pre escarificador: 4) a causa de la
division de Vi entre dos regiones en funcion de la distribucion. El rendimiento de las tasas de transferencia de
581r 0.012782
~~ t ~ r
datos de Sxor se puede generalizar como *•" donde 7new = Rnew, Cnew- En [22], se ha presentado
5 un chip de realizacion del sistema de doble desplazamiento con R„ew = 28.5KQ y Cnew = 15pF, que conduce a una
/=—l—=500KHz
frecuencia central de operacion en Teniendo en cuenta que el circuito en [22] se realizo en un
proceso relativamente lento a 1,2u CMOS, se puede deducir que el circuito se puede integrar facilmente en los procesos de hoy dfa con un par de 10MHz y puede generar un rendimiento mas cercano a Mbps. Sin embargo, hay que senalar que los circuitos caoticos que funcionen a frecuencias mucho mas altas son ya conocidos en la 10 literatura. Por ejemplo, los resultados de simulacion de cadencia de un circuito caotico que funciona a 5,3GHz se muestran en [18].
Tabla 2. Los resultados del banco de pruebas NIST para RNG regional
PRUEBA ESTADfSTICA
Sxor Secuencia de bits
P-Valor
Proporcion
Frecuencia
0,084879 0,9955
Bloque de frecuencias
0,020612 0,9821
Sumas cumulativas
0,186566 0,9955
Ciclos de pruebas
0,392456 0,9776
Pruebas largas
0,613470 0,9821
Rango
0,298151 0,9865
FFT
0,231847 0,9865
Modelos no periodicas
0,716974 1,0000
Modelos superpuestos
0,053938 0,9776
Universal
0,941144 0,9955
ApEn
0,449956 0,9821
Recorridos aleatorios
0,725540 1,0000
Variante recorridos aleatorios
0,901761 1,0000
Series
0,744459 0,9955
Complejidad lineal
0,797289 0,9865
15
Al comparar nuestro diseno RNG regional con la anterior propuesta mostrada en [15], hemos verificado experimentalmente que, para el mismo oscilador caotico el rendimiento de las tasas de transferencia de datos del metodo RNG dado en [15] fue 385bps. Ademas la secuencia de bits obtenida a partir del metodo RNG indicado en 20 [15] puede superar el conjunto de pruebas de la suite Diehard con solo el procesamiento Von Neumann.
Como resultado los disenos propuestos, los TRNG compensados basados en un oscilador caotico autonomo y un atractor de doble desplazamiento, son arquitecturas donde los bucles para la compensacion de la desviacion y de la frecuencia se anaden para maximizar la calidad estadfstica de las secuencias de salida y para que sea mas 25 robusto frente a la interferencia externa, las variaciones de los parametros y los ataques dirigidos para forzar el rendimiento.
5
10
15
20
25
30
35
40
45
50
11. Generadores de numeros realmente aleatorios en base a un atractor de doble desplazamiento
En el TRNG propuesto, hemos obtenido datos aleatorios de la seccion de Poincare del sistema caotico y numericamente verificado que los flujos de bits generados por el generador de numeros aleatorios propuesto pasan las cuatro pruebas basicas de numeros aleatorios segun la serie de pruebas de la suite FIPS-140-2. Por otra parte, tambien hemos comprobado experimentalmente que los datos binarios obtenidos del circuito propuesto pasan las pruebas de banco de pruebas NIST completo para numeros al azar.
12. Atractor de doble de doble desplazamiento
El atractor de doble desplazamiento que se utiliza como nucleo de RNG se obtiene a partir de un simple modelo dado en [22], que se expresa por la ecuacion 15. Debe tenerse en cuenta que cuando la no linealidad se sustituye por una no linealidad continua, el sistema es "cualitativamente similar" al oscilador de Chua.
w
x=y
y-z (15)
«
z = -ax—ay -az + sgnU)
Las ecuaciones en 15 generan caos para un conjunto diferente de parametros por ejemplo, el atractor caotico que se muestra en la figura 22 se obtiene del analisis numerico del sistema con a= 0,666 usando 4° algoritmo de orden de Runge-Kutta con un tamano de paso de adaptacion.
13. Generacion de bits aleatorios
Con el fin de obtener datos binarios al azar de un sistema caotico de tiempo continuo, hemos presentado una tecnica interesante, que se basa en la generacion de un conjunto de datos binarios no invertibles de la forma de onda del sistema caotico dado. Cabe senalar que la no invertibilidad es una caractenstica clave para la generacion de PRNG.
Para obtener bits aleatorios binarios del atractor caotico, utilizamos la seccion de Poincare definida por z(t) = 0 del sistema de la ecuacion 15. Hay que tener en cuenta que, aunque la seccion 2-dimensional de Poincare del plano x - y es invertible, se puede obtener una seccion no invertible considerando solo los valores correspondientes a uno de los estados, digamos x.
Inicialmente examinamos la distribucion de los valores de x en la seccion de Poincare definida como z(t)=zo con
*>0
& donde zo varia de zm/n a zmax para determinar secciones apropiadas donde la distribucion se ve como serial aleatoria. Aunque, no pudimos encontrar secciones de Poincare de las cuales los valores x tienen una unica distribucion normal o x2 para diferentes valores de zo, determinamos varias secciones de Poincare donde la distribucion de x tiene al menos dos regiones. Para el sistema caotico, los valores de las propiedades del estado x en la seccion de Poincare definida anteriormente para z(t) = 0, y su distribucion se muestran en la figuia 23 y la figura 24, respectivamente. La distribucion de x que tiene dos regiones, nos sugiere generar datos binarios aleatorios desde los valores x regionales para los umbrales regionales. Siguiendo esta direccion, hemos generado los datos binarios S(top)iy SpoHom;/de la seccion de Poincare de acuerdo con la ecuacion 16:
imagen7
donde sgn(.) es la funcion signo, xi's son los valores de x en la seccion de Poincare, q(top) y qbottom son los umbrales para las distribuciones de la parte superior e inferior, respectivamente, y qmiddie es el lfmite entre las distribuciones. Para ser capaz de elegir los umbrales apropiadamente, se examinaron las distribuciones superior e inferior como se muestra en la figura 24 y, a continuacion, se determinaron la q(top) y qbottom como las medianas de las distribuciones superior e inferior, que eran 0,8158 y -1,0169, respectivamente, cuando qmiddie se determino como O.
Generacion de la secuencia binaria obtenida de este modo no lo hace depende tanto de qmiddie valor, ya que para este valor lfmite, la densidad de distribucion de x es mmimo. Sin embargo, la densidad de distribucion de x para valores de umbral (qo, qbottom) es maxima por lo que la secuencia binaria obtenida puede estar sesgada. Con el fin de eliminar el desvfo desconocido en esta secuencia, la conocida tecnica de correccion de inclinacion de Von Neumann se puede emplear. Esta tecnica consiste en convertir el par de bits 01 en la salida de 0, 10 a la salida 1 y de descartar pares de bits 00 y 11. Sin embargo, esta tecnica disminuye el rendimiento debido a la generacion de aproximadamente 1 bit de 4 bits.
5
10
15
20
25
30
35
40
45
Para eliminar el desvra, hemos explotado otro metodo, ® (o-exclusiva) operacion en lugar de procesamiento de Von Neumann a fin de no disminuir el rendimiento. El problema potencial con la exclusiva-o metodo es que una pequena cantidad de correlacion entre los bits de entrada anadira un desvra significativo a la salida. Se calculo el coeficiente de correlacion de las secuencias binarias generadas Stop y Sbottom de longitud 32,000, como aproximadamente 0,00087 y determino que las secuencias binarias generadas son independientes. De acuerdo con este resultado, hemos generado nuevos datos binarios S(Xor)i mediante el uso de la ecuacion 17:
imagen8
El valor medio ip de la secuencia binaria Sxor obtenido de este modo, se puede calcular por la ecuacion dada 18:
imagen9
donde el valor medio de Stop = p y el valor medio de Sbottom = v. Asi, si/jyv estan cerca 2 entonces ip esta muy
cerca de 2. Como resultado, hemos verificado numericamente que la secuencia de bits Sxor, que se obtuvo para los valores mmimos apropiados dados de acuerdo con el procedimiento dado en la ecuacion 17, ha pasado las pruebas del banco de pruebas FIPS-140-2 sin procesamiento Von Neumann. Llamamos a la generacion de numeros aleatorios de acuerdo con el procedimiento anterior, como RGN regional.
14. Realizacion de hardware RNG
Debido a la falta de acceso a una instalacion de fabricacion adecuada, hemos elegido para construir el circuito propuesto el uso de componentes discretos con el fin de demostrar la viabilidad del circuito.
El circuito fue polarizado con una fuente de alimentacion de ±5V. El diagrama de circuito de la realizacion de la atractor de doble desplazamiento se presenta en la figura 25. Se usa AD844 como amplificador operacional de alta velocidad y se usa un comparador de tension LM211 para determinar la no linealidad requerida. Los valores de los componentes pasivos se tomaron como: R1 - R2 = aR3 = R = 10kQ, R3 = 15kQ para a = 0,666..., C17 = C18 = C19 = C = 2-2nF, y RK=100kQ.
I--'-
Por lo tanto, la frecuencia de operacion del centra del oscilador caotico: correspondiente a la constante
de tiempo t donde t =RC, se ajusto a un valor de frecuencia baja de 7,234 KHz con el proposito de proporcionar que el circuito no sea afectado por las capacidades parasitarias. El atractor observado se muestra en la figura 26.
40.1 RNG regional
En el RNG Regional, para obtener un mapa no invertible solo se utilizaron las variables x de la seccion de Poincare. El voltaje vi, que corresponde a la variable x, se convirtio en secuencias binarias de acuerdo con el procedimiento que se explica en la seccion 13. A fin de poner en practica este procedimiento, se utilizo el circuito mostrado en la figura 27. En este circuito, los comparadores se realizaron a partir de chips LM211 y se utilizaron los niveles de voltaje Vtop, Vmiddie y Vbottom para realizar los umbrales en la ecuacion 16, respectivamente. En la implementacion la ecuacion 16 y la ecuacion 17 se transforma en:
imagen10
Un hardware basado en FPGA, que tiene una interfaz PCI fue disenado para cargar los datos binarios en el
— > 0
equipo. Para obtener x valores en la seccion Poincare definido como z(t)= 0 con dt i el voltaje V3, que corresponde a la variable z se comparo con OV y en el flanco ascendente de este comparador, se tomaron muestras del flujo de bits de salida de los otros y se almacenaron en formato binario. La operacion o-exclusiva para la secuencia So se realizaron dentro de la FPGA y despues de la exclusiva-u operacion, los numeros aleatorios candidatos se cargan en el ordenador a traves de la interfaz del PCT. La tasa maxima de almacenamiento de datos de nuestro hardware basado en FPGA es de 62 Mbps.
5
10
15
20
25
30
35
40
De acuerdo con el procedimiento explicado en la seccion 13, se analizo la distribucion dev?. Como resultado, una
*i>o
instantanea osciloscopio muestra la distribucion de v? obtenido en V3(t)= 0 con dt se representa en la figura 28. Para ser capaz de determinar los umbrales apropiadamente, de manera similar a la generacion de bit numerico, se examinaron las distribuciones superior e inferior. Entonces, se determinaron Vmp y Vbottom como las medianas de las distribuciones de la parte superior e inferior que eran de 524mVy - 417mV, Respectivamente, mientras Vmiddie se determino como se OmV.
Entonces, el flujo de bits Sxor de longitud 105MBytes fue obtenido desde el circuito RGN regional para los valores mmimos dados para el umbral. Los bits obtenidos se sometieron a la serie completa de pruebas NIST y fracasaron en los ciclos de pruebas, pruebas de funcionamiento mas extensas y pruebas Apen. Esto nos mostro el sobre muestreo de v?. Entonces, para mejorar los resultados, se obtuvo una segunda secuencia de bits mediante la implementacion de un contador dentro de la FPGA. Se muestrea la corriente de bits de salida de los comparadores vi en los flancos de subida del segundo comparador V3.
Como resultado, hemos verificado experimentalmente que, la secuencia de bits Sxor generada en los flancos de subida, han pasado las pruebas del banco de pruebas de numeros aleatorios NIST completa sin V en procesamiento de Neumann para los valores mmimos apropiados dados con tolerancia ±2mV. Los resultados de la prueba, que corresponden a las proporciones de paso del circuito RNG regional se presentan en la Tabla 3. Cuando la frecuencia principal del oscilador caotico es 7,234 KHz de velocidad de rendimiento de datos Sxor, el cual se genera en los segundos flancos de subida, se convierte efectivamente en 1820bps. El rendimiento de las
18207 0,04004
' tor _
tasas de transferencia de datos se puede generalizar como ** *'» donde Tnew Rnew Cnew En [22], un
chip de realizacion del sistema de doble de desplazamiento con una frecuencia central de operacion en }------* • = 500K?fe
2lVTr«* ha sido presentado. Teniendo en cuenta que el circuito en [22] se realizo en un proceso 1,2u
CMOS relativamente lento, se puede deducir que el circuito se puede integrar facilmente en los procesos de hoy en dfa con un par de 10MHz y puede generar rendimientos en el orden de unos pocos Mbps. Sin embargo, hay que senalar que los circuitos caoticos que funcionan a frecuencias mucho mas altas son ya conocidos en la literatura. Por ejemplo, los resultados de simulacion de cadencia de un circuito caotico que funciona a 53GHz se presentan en [18].
Al comparar nuestro diseno RNG regional con la anterior propuesta en [15], hemos verificado numericamente que, el rendimiento de las tasas de transferencia de datos del metodo RNG dado en [15] era de 1634 bits por 100000 unidad de tiempo normalizado, mientras que la tasa de rendimiento de datos de la secuencia regional Sxor era de 7719 bits por 100000 unidad de tiempo normalizado. Ademas la secuencia de bits obtenida a partir del metodo indicado en RNG [15] puede pasar el conjunto de pruebas de Diehard con solo el procesamiento Von Neumann y la muestra de secuencia de bits dada en
http://www.esat.kuleuven.ac.be/-mey / Ds2RbG / Ds2RbG.html falla en las pruebas de bloque de frecuencias, de funcionamiento y Apen del conjunto completo de pruebas NIST.
Tabla 3. Resultados del conjunto de pruebas NIST para RNG regional
PRUEBA ESTADfSTICA
Sxor Secuencia de bits
Rangos mmimos de aprobacion
0,9807
Frecuencia
0,9819
Bloque de frecuencias
0,9819
Sumas cumulativas
0,9833
Ciclos de pruebas
0,9924
Pruebas largas
0,9838
Rango
0,9914
FFT
1,0000
Modelos no periodicas
0,9844
Modelos superpuestos
0,9838
5
10
15
20
25
30
35
Universal
1,0000
ApEn
0,9885
Recorridos aleatorios
1,0000
Variante recorridos aleatorios
1,0000
Series
0,9890
Complejidad lineal
0,9828
En conclusion, hemos verificado experimentalmente que, cuando la frecuencia principal del oscilador caotico es 7.234 KHz y sin procesamiento Von Neumann, el rendimiento de las tasas de transferencia de datos de la secuencia regional, salida xor es 1820bps. Teniendo en cuenta que un oscilador caotico de tiempo continuo con una frecuencia principal de, por ejemplo, 40 Mhz se utiliza como nucleo del RNG propuesto en IC, el rendimiento de las tasas de transferencia de datos de RNG regional pueden ser probablemente aumentadas hasta un 10 Mbps. En conclusion, podemos deducir que el uso de caos de tiempo continuo es muy prometedor en la generacion de numeros aleatorios con tasas muy altas y constantes de datos sin post procesamiento.
15. Generadores de numeros verdaderamente 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 son bien conocidos desde hace algun tiempo, se ha demostrado recientemente que los osciladores caoticos de tiempo continuo tambien se pueden utilizar para realizar TRNG. Siguiendo en esta direccion, se investigo la utilidad de los osciladores caoticos propuestos como nucleo de un RGN. Aunque existen muchos osciladores caoticos en la literatura, solo unos pocos de ellos estan disenados en teniendo en cuenta los problemas de IC de alto rendimiento, tales como bajo consumo de energfa, funcionamiento de alta frecuencia, capacidad de funcionar a niveles de baja tension. En este trabajo, se presentan osciladores caoticos no autonomos simples, que son adecuados para un alto rendimiento en realizaciones IC.
Inicialmente, hemos obtenido datos aleatorios a partir de mapas de Poincare estroboscopicos 1-dimensionales de los sistemas caoticos propuestos y numericamente comprobados que, cuando el mapa se divide en regiones en funcion de la distribucion, los flujos de bits generados por el RNG en torno a los circuitos propuestos, pasaron las cuatro pruebas de numeros al azar basicos de la serie de pruebas FIPS-140-2. Por otra parte, tambien hemos comprobado experimentalmente que los datos binarios obtenidos de los circuitos caoticos pasaron la prueba NIST completa para la serie de prueba de numeros aleatorios.
16. Osciladores propuestos
El oscilador caotico bipolar propuesto se presenta en la figura 29. Suponiendo que las capacidades parasitas que aparecen entre los colectores de los transistores bipolares y el suelo se denotan por Cp, un analisis de rutina del circuito produce las siguientes ecuaciones de estado:
Cv, =-«,
L 'h =(v, -V,) (20)
imagen11
donde i3=iR-iL y Vp(t) es el tren de pulsos periodico externo definido como Vp(t) = sgn (sin Qt) y Vt es la tension termica (Vt = kT/q), que es igual a 25,8m\/a temperatura ambiente.
El uso de las cantidades normalizadas: ^ ~~ x = Vl/yc y = j3Rg/vs, Z =V2/VS. Co = loRo/Vs, a = Ro/RP, f3=Ro/R,
(O- CljLC y teniendo Vp=0,5Vs=Vt y tn = t/RC, donde \/s es una tension de escala arbitraria, las ecuaciones del sistema en la ecuacion 20 se transforma en:
5
10
15
20
25
30
*=-y
y = x-z (21)
e z = y-{a + fi)z + a$gn(sigax)+ c0 tanh(x)
Las ecuaciones en 21 generan caos para diferentes conjunto de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 30 se obtiene del analisis numerico del sistema con co=25, a=4, (3=12, w=0,27, £=0,3 utilizando un 4° algoritmo de orden de Runge-Kutta con un tamano de paso de adaptacion.
El oscilador caotico CMOS propuesto se presenta en la figura 31, T3-T4 y T5-T6 utiliza pares de transistores para implementar simples corrientes de espejo, donde las relaciones de corriente de espejo se denotan por K. Suponiendo que las capacidades parasitas que aparecen entre las barreras de los pares de transistores T1-T2 y el suelo se denotan por Cp, un analisis de rutina del circuito da la siguiente ecuacion 22:
C vt = —
Li, =tv, -vj
sgn(sinSir) (22)
ifV0l-Vc>^2.V^
ifJzv*>Vcl-VC2>-J2Vw,
imagen12
V..,=
donde i3 = ip- L, Vp(t) = sgn(singQt), pares de transistores T1-T2.
[0097] Usando las cantidades normalizadas (3=Ro/R, b0 = Ro,(3Vs/2, ® 3 Q-JlC y teniendo Vp =0,5VS y
% r. W IV —
1 i y, Lesla proporcion anchura-longitud de los x =Vgi/Vs, y = i3Ro/Vs z = Vg2/Vs, Cq=2IqRq/Vs, a=Ro/Rp,
tn = t/RC, donde Vs es un voltaje de escala arbitraria, las ecuaciones del sistema en la ecuacion 22 se transforma en:
imagen13
Las ecuaciones en 23 generan caos para diferentes conjuntos de parametros. Por ejemplo, el atractor caotico que se muestra en la figura 32 se obtiene del analisis numerico del sistema con c0=1,5, a=2,67, p=3,38, w=0,33, b0=0,9, £=0,1 utilizando un 4° algoritmo de orden de Runge-Kutta con un tamano de paso de adaptacion.
[0099] Los osciladores caoticos propuestos ofrecen algunas ventajas considerables sobre los osciladores existentes. Ambos circuitos emplean un par diferencial para realizar la no linealidad requerida, que es el bloque de construccion basico analogico mas ampliamente usado debido a su alto rendimiento IC. Las resistencias empleadas en los circuitos tienen valores muy pequenos, por lo que se pueden realizar con eficacia en IC. Por otra parte, los osciladores caoticos propuestos son equilibrados; de ah que ofrecen un mejor rechazo al suministro de energfa y a la inmunidad al ruido. Finalmente, la fuente externa utilizada para conducir los circuitos es un tren de impulsos periodica, que puede ser precisa y facilmente realizable usando la senal de reloj ya disponible en el chip.
17. Mecanismo de generacion de caos
5
10
15
20
25
30
35
40
45
50
Se sabe que las condiciones de Melnikov se pueden utilizar para demostrar la existencia de herraduras en los sistemas de disipacion planar obligados de Hamilton. De acuerdo con el teorema de Smale-Birkhoff, para un plano dado de un sistema no lineal perturbado de la forma, x = f (x) + fjg (x,t), donde f y g son funciones suaves y g es periodica en el tiempo con un penodo de TY, si se satisfacen las siguientes condiciones:
1.1. Para y= 0, el sistema es hamiltoniano y tiene una orbita homoclmica que pasa por el punto crftico de tipo asiento,
2.2. Para jU=0, el sistema tiene una familia de parametros de las orbitas periodicas ©Y(t) de penodo Ty, en el interior de la orbita homoclmica con, 5©y(0)I5y^0
3.3. Para to e [0, T] la funcion de Melnikov
tiene ceros simples,
entonces el sistema tiene movimientos caoticos y herraduras.
Es facil comprobar que para £=0 (las capacitancias parasitas se descuidan), el sistema en la ecuacion 21 se puede escribir como se indica:
imagen14
~y ^
0 '
+M |_x —dtanhxj
Cl. § 1 I
(24)
donde Xp(t)= sgn(sin(wt)), a=co/(a+p) y, y=1/(a+p). En este caso, se puede verificar facilmente que el sistema no perturbado obtuvo para y= 0 un punto critico del tipo asiento en el origen de a>1. Ademas, el sistema no perturbado es hamiltoniano y tiene una orbita homoclmica que pasa por el punto cntico. Despues de sustituir la funcion suave Xp(t)=sgn(sin(wt)) por una aproximacion suave Xp(t)=tanh(10sin(wt)), hemos calculado numericamente la funcion Melnikov en la ecuacion 25:
M(rc)= ]-v°(v° +ac,b + t0))dt (25)
en la orbita homoclmica de la ecuacion 24 mostrada en la esquina superior derecha de la figura 33 como se muestra en la figura 33, hemos comprobado que la funcion de Melnikov tiene ceros simples para to e [0,T] y el sistema de la ecuacion 24 tiene movimientos caoticos y herraduras. El analisis numerico del sistema muestra que el sistema sigue siendo caotico para los valores distintos de cero y valores £ pequenos. Por ejemplo, el mayor exponente Lyapunov del sistema se encuentra como 0,9 para £ = 0,27.
18. Generacion de bits aleatorios
Con el fin de obtener datos binarios aleatorios a partir de un sistema caotico autonomo, se ha presentado una tecnica interesante, que se basa en la generacion de un conjunto de datos binarios no invertibles de la forma de onda del sistema caotico dado. Cabe senalar que la no invertibilidad es una caractenstica clave para la generacion de PRNG.
Para obtener bits aleatorios binarios de los atractores caoticos propuestos, utilizamos los mapas de Poincare estroboscopicos de los sistemas caoticos de la ecuacion 21 y 23. Hay que tener en cuenta que, aunque la seccion de Poincare de 2 dimensiones en el plano x-y es invertible, y uno puede obtener un mapa no invertible considerando solo los valores correspondientes a uno de los estados, por ejemplo x.
Inicialmente se examino la distribucion de valores x en el mapa de Poincare a lo largo de un periodo de la senal de impulso periodica externa para determinar mapas apropiados donde las distribuciones parecen senales aleatorias. Aunque, no pudimos encontrar mapas en los cuales los valores x tienen una sola normal distribucion x2, se determinaron secciones de Poincare apropiadas donde la distribucion de x tiene al menos dos regiones. Para el sistema bipolar, el mapa Poincare para wt mod 2n = 0,30 y la distribucion correspondiente se muestran en la figura 34 y la figura 35, respectivamente. Similar al sistema bipolar, el mapa Poincare para wt mod 2n = 0,55, y la distribucion correspondiente se muestran en la figura 36 y la figura 37, respectivamente, para el sistema CMOS.
5
10
15
20
25
30
35
40
45
50
La distribucion de x que tiene dos regiones, sugiere que podemos generar datos binarios aleatorios a partir de los valores regionales de x para los umbrales regionales. Siguiendo esta direccion, hemos generado los datos binarios
S(toP)i y S(bottom)i de la seccion de Poincare de acuerdo con la ecuacion 26:
imagen15
donde sgn(.) es la funcion signo, x's son los valores de x en la seccion de Poincare, q(top) y qbottom son los umbrales para las distribuciones de la parte superior e inferior, respectivamente, y qmiddie es el hmite entre las distribuciones. Para ser capaz de elegir los umbrales apropiadamente, se examinaron las distribuciones superior e inferior como se muestra en la figura 35 y la figura 37. Entonces, para el sistema bipolar q(top) y qbottom se determinaron como las medianas para las distribuciones superior e inferior, que eran -0,593 y -2,183, respectivamente, cuando qmiddie se determino como -1,394. Similar al sistema bipolar, para el sistema CMOS q(top) y qbottom se determinaron como las medianas de las distribuciones superior e inferior, que eran 0,549 y -1,576, respectivamente, cuando qmiddie se determino como -0,610.
La generacion de la secuencia binaria obtenida de este modo no depende tanto de los valores qmiddie, ya que para estos valores lfmite, la densidad de distribucion de x es mmimo. Sin embargo, la densidad de distribucion de x para valores del umbral (q(top), qbottom) es maxima por lo que la secuencia binaria obtenida puede estar desviada. Con el fin de eliminar el desvfo desconocido en esta secuencia, se emplea la tecnica conocida de correccion de inclinacion de Von Neumann. Esta tecnica consiste en convertir el par de bits 01 en la salida de 0, 10 a la salida 1 y de descartar pares de bits 00 y 11.
Utilizando el procedimiento anterior, las secuencias de bits (Stop, Sbottom) de la longitud de 240.000 han sido obtenidos para ambos sistemas bipolares y CMOS y se someten a las cuatro pruebas (monobit, poker, ciclos de pruebas y pruebas de funcionamiento de largo plazo) en el banco de pruebas FIPS-140-2. Hemos verificado que las secuencias de bits pasan estas pruebas para los valores umbral mencionados con tolerancia ± 0,03.
Para eliminar el desvfo, tambien se utilizo otro metodo, ® (o-exclusiva) operacion en lugar de procesamiento Von Neumann. El problema potencial con la exclusiva-o metodo es que se anadira una pequena cantidad de correlacion entre los bits de entrada anadira un sesgo significative a la salida. Se calculo el coeficiente de correlacion de las secuencias binarias generadas Stop y Sbottom de longitud 32,000, como aproximadamente 0,00011 y se determino que las secuencias binarias generadas son independientes. De acuerdo con este resultado, hemos generado los nuevos datos binarios S(XOr)i mediante el uso de la ecuacion 27:
imagen16
El valor medio ip de la secuencia binaria Sxor, asi obtenida, se puede calcular por la ecuacion 28:
imagen17
donde el valor medio de Stop = p y el valor medio de Sbottom = v. Asi, sifjyv estan cerca de 2 entonces ip esta
_1_
muy cerca de 2 . Como resultado, hemos verificado numericamente que para ambos sistemas bipolar y CMOS, las secuencias de bits Sxor's, que fueron obtenidas para los valores umbral mmimos apropiados de acuerdo con el procedimiento dado en la ecuacion 27, paso las pruebas del banco de pruebas FIPS-140-2 sin procesamiento Von Neumann. Llamamos generacion de numeros aleatorios (Stop, Sbottom, Sxor) de acuerdo con el procedimiento anterior, como RNG regional.
19. La verificacion experimental
Debido a la falta de acceso a una instalacion de fabricacion adecuado, hemos elegido para construir los circuitos osciladores caoticos propuestos utilizar componentes discretos con el fin de demostrar la viabilidad de los circuitos. Tanto los circuitos bipolares como los CMOS estaban polarizados con una sola fuente de alimentacion 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 y, I0=1,2mA. En la figura 29, los transistores bipolares y la fuente de corriente indicada por Io, que se realizo usando un simples corriente de espejo, se llevaron a cabo con el CA3046 y CA3096 NPN y matrices de transistores PNP.
5
10
15
20
25
30
35
40
45
50
55
60
La amplitud de Vp(t) fue de 26mV. 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 and I0=0,5mA. En la figura 31, los transistores CMOS y la fuente de corriente indicada por Io, que se realizo usando una simple corriente de espejo, se llevaron a cabo con matrices de transistores CMOS LM4007. La amplitud de Vp(t) fue 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 GHz, 11,1 KHz, 12,6 KHz).
Para ambos osciladores bipolar y CMOS, la frecuencia de Vp(t) se ajusto a un valor de frecuencia baja tal como 5,95 KHz con el proposito de proporcionar que los circuitos no sean afectados por las capacidades parasitas. Los atractores observados se muestran en la figura 38 y la figura 39 para los osciladores bipolar y CMOS, respectivamente.
20. Realizacion de hardware de RNGS
Hemos generado bits aleatorios de acuerdo con la distribucion regional de los mapas de Poincare estroboscopicas de los osciladores caoticos propuestas.
200.1 RNG regional
En RNG Regional, para obtener un mapa no invertible solo se utilizaron las variables x de la seccion de Poincare. La tension vi, que corresponde a la variable x, se convirtio en secuencias binarias de acuerdo con el procedimiento que se explica en la seccion 18. Para poner en practica este procedimiento, se utilizo el circuito mostrado en la figura 40. En este circuito, los comparadores se realizaron a partir de chips LM311 y los niveles de voltaje Vtop, Vmiddie y Vbottom se utilizaron para realizar los umbrales de la ecuacion 26, respectivamente. En la implementacion de la ecuacion 26 y la ecuacion 27 se transforma en:
s[wp) ~ sgn(vu - ) when v„ £ V„Mtt
V**,, = sgrita whenvu < VmMc (29)
k “" ^{rop)| ®
Un hardware basado en FPGA, que tiene una interfaz PCI fue disenado para cargar los datos binarios en el equipo. En un tiempo ajustado dentro de un penodo del tren de impulsos periodico externa, Vp(t), se muestreo un flujo de bits de salida de los comparadores y se almaceno en formato binario. El procesamiento Von Neumann para las secuencias Stop y Sbottom y la operacion (o-exclusiva) para la secuencia Sxor tambien se realizaron dentro de FPGA. Despues del procesamiento Von Neumann y operacion (o-exclusiva), los numeros aleatorios candidatos se han subido al ordenador a traves de la interfaz PCI. La tasa maxima de almacenamiento de datos de nuestro hardware basado en FPGA es de 62 Mbps.
De acuerdo con el procedimiento explicado en la seccion 18, se analizo la distribucion de vi a lo largo de un penodo de Vp(t). Como resultado, para el circuito bipolar, la distribucion de vi obtenido 46jusec despues de que los flancos de subida de Vp(t) y para los circuitos CMOS, la distribucion de vi obtenida 35jusec antes de los flancos de subida de vp(t) se muestran en la figura 41 y la figura 42, respectivamente.
Para ser capaz de determinar los umbrales apropiadamente, de manera similar a la generacion de bit numerico, se examinaron las distribuciones superior e inferior de los circuitos bipolares y CMOS. Entonces, para el circuito bipolar Vtop y Vbottom se determinaron como las medianas de las distribuciones de la parte superior e inferior que eran 103mV y -287mV, respectivamente, mientras Vmiddie se determino como -107mV. Similar al circuito bipolar, para el circuito CMOS la Vtop y Vbottom se determinaron como las medianas de las distribuciones de la parte superior e inferior que eran 999mVy -217mV, respectivamente, mientras Vmiddie se determino como se 560mV.
Entonces, flujos de bits de longitud 2GBytes para Stop, Sbottom y Sxor fueron obtenidos de ambos circuitos caoticos bipolar y CMOS para los valores dados como mmimos apropiados. Los bits obtenidos se sometieron a la suite completa de pruebas NIST. Como resultado, experimentalmente se ha comprobado que, las secuencias de bits Stop y Sbottom asf obtenidos han superado las pruebas de conjunto completo de pruebas NIST despues del procesamiento Von Neumann y que la secuencia de bits Sxor, generada por Stop y Sbottom ha superado las pruebas del banco de pruebas NIST completa para numeros aleatorios sin procesamiento de Von Neumann. Los resultados de la prueba, que corresponden a los indices de aprobacion del circuito caotico CMOS se presentan en la Tabla 4.
Suponiendo que, las distribuciones superior e inferior tienen aproximadamente la misma densidad, las tasas de bits de Stop y Sbottom son iguales a la mitad del tren de pulsos periodico externo. Como se explica en la seccion 18, el procesamiento Von Neumann genera aproximadamente 1 bit desde 4 bits. Cuando la frecuencia de vp(t) es de
5
10
15
20
25
^.9iKHzl2
5,95 KHz, el rendimiento de las tasas de transferencia de datos Stop y Sbottom se reduce a 4 743bps,
(5.9SA3fe
donde el rendimiento de las tasas de transferencia de datos SXOr se convierte efectivamente en - 2975bps. Como resultado se presentaron dos osciladores caoticos de tiempo continuo novedosos bipolar y CMOS, para la realizacion de IC y las novedosas TRNG basadas de estos osciladores. Los resultados numericos y experimentales presentados en esta seccion no solo verifican la viabilidad de los circuitos propuestos, sino tambien fomentan su uso como el nucleo de un alto rendimiento IC TRNG. En conclusion, hemos verificado experimentalmente que, cuando la frecuencia de la senal de impulso periodica externa se ajusta a 5,95 KHz, el rendimiento de las tasas de transferencia de datos de las secuencias regionales y de salida Xor son 743bps despues del procesamiento Von Neumann y de 2975bps sin procesamiento Von Neumann, respectivamente.
Tabla 4. Resultados del banco de pruebas NIST para RNG regional utilizando solo oscilador caotico CMOS
PRUEBA ESTADfSTICA
Secuencia de bits
Stop
Sbottom Sxor
Frecuencia
0,9957 1,0000 0,9881
Bloque de frecuencias
0,9829 0,9831 0,9890
Sumas cumulativas
0,9957 1,0000 0,9885
Ciclos de pruebas
0,9573 0,9718 0,9919
Pruebas largas
0,9829 0,9831 0,9847
Rango
0,9915 0,9774 0,9909
FFT
1,0000 1,0000 0,9995
Modelos no periodicas
0,9846 0,9845 0,9852
Modelos superpuestos
0,9915 0,9944 0,9847
Universal
1,0000 1,0000 1,0000
ApEn
0,9444 0,9322 0,9840
Recorridos aleatorios
0,9925 0,9877 1,0000
Variante recorridos aleatorios
0,9856 0,9869 1,0000
Series
0,9893 0,9915 0,9897
Lempel Ziv
1,0000 1,0000 1,0000
Complejidad lineal
1,0000 0,9718 0,9785
Referencias
1. Jun, B., Kocher, P.: The Intel Random Number Generator. Cryptography Research, Inc. white paper prepared for Inter Corp.
http://www.cryptography.com/resources/whitepapers/InteIRNG.pdf (1999)
2. Menezes, A., Oorschot, P.van, Vanstone, S.: Handbook of Applied Cryptology. CRCPress (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) 204-218
5
10
15
20
25
30
35
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., Varanonuuvo, 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., Ates, 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) 43454348
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
23. Michihito Ueda, Kyoto-shi (JP): Probabilistic pulse generator and differential absolute value computing element and manhattan distance arithmetic unit using this, US 2006/0155551 A1. US Patent Application Publication. 13 July 2006, 1-51

Claims (2)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Metodo para generar bits de datos aleatorios binarios a partir de una senal electrica caotica (vi) desde un oscilador caotico autonomo o no autonomo de tiempo continuo, cuya senal presenta dos regiones en su distribucion de muestreo, con un mmimo en el l^mite entre las dos regiones que comprende las etapas de;
    a. generar dos secuencias binarias muestreadas S(top)i y S(bottom)i mediante la comparacion de la senal electrica caotica (vi) con valores de umbral Vtop, Vbottom y Vmiddle y el muestreo de los resultados de esta comparacion de acuerdo con una senal de muestreo de acuerdo con la siguiente ecuacion:
    S(t0p)i = sgn(virv,0p) when v,, > vmiddie
    S(bottom)i ~ sgn^j-VbottoJ when vti &lt; vmidd|e
    donde sgn(.) es la funcion signo, Vtop y Vbottom son los umbrales para las distribuciones superior e inferior, respectivamente, y Vmiddle es un valor umbral predeterminado correspondiente al lfmite entre las dos regiones;
    b. controlar los valores de umbral Vtop, Vbottom mediante la aplicacion de pruebas monobit a cada una de las secuencias binarias muestreadas S(top)i y S(bottom)i y adaptar los valores umbral Vtop, Vbottom de forma que reducen la variacion S(top)i y S(bottom)i
    c. generar bits de datos aleatorios binarios S(xor)i mediante el uso de las secuencias binarias S(top) y S(bottom))i definidas en la etapa b anterior de acuerdo con la siguiente ecuacion:
    imagen1
    donde se explota la operacion exclusiva-o (Exor) para eliminar el desvm con el fin de no disminuir el rendimiento.
    d. generar la senal de muestreo dividido la frecuencia de una senal de pulso periodico externo vp(t) por un valor de pre escarificador y aplicar ciclos de pruebas en los datos aleatorios binario generados S(xor)i y adaptar el valor pre escarificador en funcion de los ciclos de pruebas fallidas.
  2. 2. Aparato para generar bits de datos aleatorios binarios de una senal electrica (vi) a partir de un oscilador caotico autonomo o no autonomo de tiempo continuo, cuya senal presenta dos regiones en su distribucion de muestreo, con un mmimo en el lfmite entre las dos regiones que comprende
    a. medios para generar dos secuencias binarias muestreadas S(top)i y S(bottom)i mediante la comparacion de la senal electrica (vi) con los valores de umbral Vtop, Vbottom y Vmiddle y el muestrear sus resultados de acuerdo con una serial de muestreo de acuerdo con la siguiente ecuacion:
    S(top)i “ SQD(Vii- Vtop) When V-|j — Vmiddle
    S(bottom)i “ Sgn(Vii- Vbottom) When V1 j ‘'Vmiddle
    donde sgn(.) es la funcion signo, Vtop y Vbottom son los umbrales para las distribuciones superior e inferior, respectivamente, y Vmiddle es un valor umbral predeterminado correspondiente al lfmite entre las dos regiones;
    b. medios para controlar los valores de umbral Vtop, Vbottom mediante la aplicacion de pruebas monobit a cada una de las secuencias binarias muestreadas S(top)i y S(bottom)i y adaptar los valores umbral Vtop, Vbottom de forma que reducen la variacion S(top)i y S(bottom)i
    c. medios para generar bits de datos aleatorios binarios S(xor)i mediante el uso de las secuencias binarias S(parte superior) y S(bottom))i definidas en la etapa b anterior de acuerdo con la siguiente ecuacion:
    imagen2
    donde se explota la operacion exclusiva-o (Exor) para eliminar el desvfo con el fin de no disminuir el rendimiento.
    d. medios para generar la senal de muestreo al dividir la frecuencia de una senal de pulso periodico externo Vp(t) por un valor de pre escarificador y aplicar ciclos de pruebas en los datos aleatorios binarios generados S(xor)i y adaptar el valor pre escarificador en funcion de los ciclos de pruebas fallidas.
    10 3. El procedimiento para generar bits de datos aleatorios binarios de la reivindicacion 1, donde la prueba monobit
    se selecciona del conjunto de pruebas estadfsticas de la suite FIPS-140-1, FIPS-140-2 o NIST 800-22 vigentes en la fecha de presentacion de esta invencion.
    15 4. El procedimiento para generar bits de datos aleatorios binarios de la reivindicacion 1, en donde los ciclos de
    pruebas se seleccionan del conjunto de pruebas estadfsticas de la suite FIPS-140-1, FIPS-140-2 o NIST 800-22 vigentes en la fecha de presentacion de esta invencion.
ES06836004.9T 2006-08-03 2006-08-03 Generación de números aleatorios usando caos de tiempo continuo Active ES2590280T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/TR2006/000035 WO2008016337A1 (en) 2006-08-03 2006-08-03 Random numbers generation using continous-time chaos

Publications (1)

Publication Number Publication Date
ES2590280T3 true ES2590280T3 (es) 2016-11-21

Family

ID=37932070

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06836004.9T Active ES2590280T3 (es) 2006-08-03 2006-08-03 Generación de números aleatorios usando caos de tiempo continuo

Country Status (6)

Country Link
US (1) US8738675B2 (es)
EP (1) EP2047361B1 (es)
JP (1) JP5988069B2 (es)
ES (1) ES2590280T3 (es)
IL (1) IL196665A0 (es)
WO (1) WO2008016337A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019802B2 (en) * 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
US7904494B2 (en) * 2006-12-08 2011-03-08 International Business Machines Corporation Random number generator with random sampling
US7795983B1 (en) 2006-12-26 2010-09-14 Hrl Laboratories, Llc Chaotic signal enabled low probability intercept communication
DE102007025780A1 (de) * 2007-05-22 2008-11-27 Atmel Germany Gmbh Vorrichtung und Verfahren zur Erzeugung einer Zufallszahl
JP5341690B2 (ja) * 2009-09-14 2013-11-13 株式会社日立製作所 物理乱数生成装置
US8750504B1 (en) 2011-07-07 2014-06-10 Cape Light Institute Incorporated Method of providing a portable true random number generator based on the microstructure and noise found in digital images
US8379848B2 (en) * 2011-07-07 2013-02-19 Cape Light Institute, Inc. Method of providing a portable true random number generator based on the microstructure and noise found in digital images
US8542071B2 (en) 2011-10-25 2013-09-24 Hewlett-Packard Development Company, L.P. Chaotic oscillator-based random number generation
KR101721176B1 (ko) * 2012-10-24 2017-03-29 에스케이 텔레콤주식회사 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치
US20140197865A1 (en) * 2013-01-11 2014-07-17 International Business Machines Corporation On-chip randomness generation
US9524619B2 (en) 2014-02-05 2016-12-20 Z4 Poker, LLC Systems and methods for playing a wagering game
KR101557761B1 (ko) * 2014-02-12 2015-10-06 한국전자통신연구원 실난수 발생기의 출력 수열 안정화 장치 및 방법
CN105281887B (zh) * 2014-06-20 2018-05-08 马英杰 2~14个涡卷混沌吸引子系统及电路
CN105681019B (zh) * 2014-12-03 2018-10-12 刘志伟 基于忆阻器的含x方的Chen型超混沌系统的构建方法
CN105159653B (zh) * 2015-08-18 2018-03-20 珠海市一微半导体有限公司 随机数后处理电路及方法
CN106100820B (zh) * 2016-06-06 2019-04-16 南京信息工程大学 幅频可调混沌信号发生器
US9891889B2 (en) * 2016-06-30 2018-02-13 International Business Machines Corporation Injecting CPU time jitter to improve entropy quality for random number generator
US10508785B2 (en) * 2017-06-30 2019-12-17 Hni Technologies Inc. Light system for fireplace including chaos circuit
FR3072481B1 (fr) * 2017-10-12 2019-11-08 Stmicroelectronics Dispositif de generation d'un signal aleatoire
CN107566109B (zh) * 2017-10-16 2023-06-13 中船第九设计研究院工程有限公司 一种三维混沌电路
CN110519210A (zh) * 2018-05-22 2019-11-29 中国科学院苏州纳米技术与纳米仿生研究所 密钥分发方法及终端设备
CN109039601B (zh) * 2018-07-18 2021-03-19 电子科技大学 一种基于后处理的混沌安全密钥分发方法及系统
CN110308892B (zh) * 2019-07-01 2023-08-22 湖南国科微电子股份有限公司 一种基于查表法的游程测试方法
CN111835498B (zh) * 2020-06-24 2024-03-29 佛山科学技术学院 一种多翅膀混沌信号发生器和加密系统
US20220308836A1 (en) * 2021-03-23 2022-09-29 Usa As Represented By The Secretary Of The Army Actively stabilized random number generator
CN113873094B (zh) * 2021-09-24 2023-05-23 电子科技大学 一种混沌压缩感知图像加密方法
CN116563673B (zh) * 2023-07-10 2023-12-12 浙江华诺康科技有限公司 烟雾训练数据生成方法、装置和计算机设备
CN117539429A (zh) * 2023-11-21 2024-02-09 海光信息技术(苏州)有限公司 真随机数发生器、芯片及电子器件

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3790768A (en) * 1972-09-28 1974-02-05 Prayfel Inc Random number generator
JP2961898B2 (ja) * 1990-12-22 1999-10-12 ソニー株式会社 カオス発生装置
US6218973B1 (en) * 1999-03-05 2001-04-17 Motorola, Inc. Binary random number generator
JP3447976B2 (ja) * 1999-03-26 2003-09-16 システム工学株式会社 故障判断機能を備えた乱数生成装置
GB2353155A (en) * 1999-08-05 2001-02-14 Mitsubishi Electric Inf Tech A random binary signal generator with a narrowed autocorrelation function
JP2001156773A (ja) * 1999-11-25 2001-06-08 Nippon Telegr & Teleph Corp <Ntt> 暗号方法及び復号方法及び暗号システム及び暗号装置及び復号装置及び暗号プログラムを格納した記憶媒体及び復号プログラムを格納した記憶媒体
JP3502065B2 (ja) * 2001-04-24 2004-03-02 株式会社三技協 乱数発生装置
JP3929471B2 (ja) * 2003-02-28 2007-06-13 松下電器産業株式会社 確率的パルス発生器と差分絶対値演算器及びこれを用いたマンハッタン距離演算装置

Also Published As

Publication number Publication date
JP2009545769A (ja) 2009-12-24
IL196665A0 (en) 2009-11-18
US20100005128A1 (en) 2010-01-07
EP2047361A1 (en) 2009-04-15
JP5988069B2 (ja) 2016-09-07
WO2008016337A1 (en) 2008-02-07
EP2047361B1 (en) 2016-06-08
US8738675B2 (en) 2014-05-27

Similar Documents

Publication Publication Date Title
ES2590280T3 (es) Generación de números aleatorios usando caos de tiempo continuo
ES2644485T3 (es) Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo
Ergün et al. Truly random number generators based on a non-autonomous chaotic oscillator
JP2009545769A5 (es)
Bucci et al. A high-speed oscillator-based truly random number source for cryptographic applications on a smart card IC
Ergün et al. Truly random number generators based on non‐autonomous continuous‐time chaos
Ergun et al. A high speed IC truly random number generator based on chaotic sampling of regular waveform
Suresh et al. Entropy extraction in metastability-based TRNG
Güler et al. A high speed, fully digital IC random number generator
Ergün et al. IC truly random number generators based on regular & chaotic sampling of chaotic waveforms
Güler et al. A digital IC random number generator with logic gates only
Liang et al. A wide-range variation-resilient physically unclonable function in 28 nm
Anandakumar et al. Efficient and lightweight FPGA-based hybrid PUFs with improved performance
Yu et al. Recombination of physical unclonable functions
Güler et al. A high speed IC random number generator based on phase noise in ring oscillators
Ergun et al. A chaos-modulated dual oscillator-based truly random number generator
Petrie et al. A noise-based random bit generator IC for applications in cryptography
Ergün Regional random number generator from a cross-coupled chaotic oscillator
Yang et al. A 200Mbps random number generator with jitter-amplified oscillator
Amaki et al. A process and temperature tolerant oscillator-based true random number generator
Wei et al. A Perspective of Using Frequency-Mixing as Entropy in Random Number Generation for Portable Hardware Cybersecurity IP
von Kaenel et al. Dual true random number generators for cryptographic applications embedded on a 200 million device dual CPU SoC
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
RU2440602C2 (ru) Генерация случайных чисел с использованием хаоса с непрерывным временем