ES2858452T3 - Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos - Google Patents

Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos Download PDF

Info

Publication number
ES2858452T3
ES2858452T3 ES17804656T ES17804656T ES2858452T3 ES 2858452 T3 ES2858452 T3 ES 2858452T3 ES 17804656 T ES17804656 T ES 17804656T ES 17804656 T ES17804656 T ES 17804656T ES 2858452 T3 ES2858452 T3 ES 2858452T3
Authority
ES
Spain
Prior art keywords
photon
random number
detected
number generator
detectors
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
ES17804656T
Other languages
English (en)
Inventor
Nicola Massari
Fabio Acerbi
Giorgio Fontana
David Stoppa
Nicola Zorzi
Lorenzo Pavesi
Massimiliano Sala
Alessio Meneghetti
Leonardo Gasparini
Zahra Bisadi
Alessandro Tomasi
Georg Pucker
Claudio Piemonte
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.)
Trentino Sviluppo SpA
Original Assignee
Trentino Sviluppo SpA
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 Trentino Sviluppo SpA filed Critical Trentino Sviluppo SpA
Application granted granted Critical
Publication of ES2858452T3 publication Critical patent/ES2858452T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography

Abstract

Generador de números aleatorios (1) del tipo que comprende: - una fuente de fotones (2); - uno o más detectores de fotones (31) configurados de tal manera que detecten al menos un fotón perteneciente a un flujo de fotones detectados (λ) generado por dicha fuente de fotones (2); - medios electrónicos de muestreo (4) asociados operativamente con dicho uno o más detectores de fotones (31) y configurados de tal manera que implementen un método lógico para la extracción de una secuencia binaria en base al tiempo de llegada de cada uno de dichos fotones detectados (λ); en el que dicha fuente de fotones (2) y dichos uno o más detectores de fotones (31) están dispuestos de modo que estén adyacentes entre sí e integrados en un único sustrato semiconductor (5); caracterizado por que dicho método de extracción lógica incluye las siguientes etapas: - subdividir la ventana de observación de cada uno de dichos detectores de fotones (31) en una pluralidad de subventanas de observación consecutivas (Tw, Tw1, Tw2, Tw3, Tw4) que tienen la misma duración; - detectar los tiempos de llegada de un primer fotón en cada una de dichas subventanas de observación (Tw, Tw1, Tw2, Tw3, Tw4); - en el caso de que dicho detector de fotones (31) no haya detectado ningún fotón durante una o más de dichas subventanas de observación (Tw, Tw1, Tw2, Tw3, Tw4), considerar como tiempo de llegada de dicho fotón en dicha una o más subventanas de observación (Tw, Tw1, Tw2, Tw3, Tw4) un tiempo mayor que la duración total de dicha una o más subventanas de observación (Tw, Tw1, Tw2, Tw3, Tw4); - comparar los tiempos de llegada detectados a nivel de un par de subventanas de observación adyacentes (Tw1-Tw2, Tw3-Tw4); - asignar el bit "1" en el caso de que se detecte el tiempo de llegada para la primera subventana (Tw1, Tw3) de dicho par (Tw1-Tw2, Tw3-Tw4) supera el tiempo de llegada detectado para la segunda subventana (Tw2, Tw4), o asignar el bit "0" en el caso de que el tiempo de llegada detectada para la segunda subventana (Tw2, Tw4) de dicho par (Tw1-Tw2, Tw3-Tw4) exceda el tiempo de llegada detectado para la primera subventana (Tw1, Tw3).

Description

DESCRIPCIÓN
Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos La presente invención se refiere a un generador de números aleatorios (RNG), en particular, a un generador de números aleatorios verdaderos (TRNG) del tipo mejorado.
Se sabe que los generadores de números aleatorios se utilizan actualmente en muchas aplicaciones, que van desde el campo científico al criptográfico.
En el primer caso, un ejemplo típico es el de la ciencia computacional, que requiere la generación de un cierto número de estados iniciales aleatorios que sirven como una descripción del estado inicial de la simulación.
Este tipo de aplicaciones generalmente requiere que las configuraciones iniciales no estén estrictamente correlacionadas entre sí, sino que puedan ser reproducidas de manera determinista para poder verificar, por ejemplo, el efecto de las variaciones en los códigos que realizan las simulaciones. Por esta razón, dichas secuencias se definen más correctamente como Pseudo Números Aleatorios (PRN), porque se definen mediante complejos algoritmos que parten de un valor inicial. En otras palabras, dado un número aleatorio inicial, que en la jerga técnica se llama "semilla", una fórmula, por compleja que sea, siempre reproducirá la misma secuencia de números aleatorios. Los respectivos generadores se denominan Pseudo Generadores de Números Aleatorios (PRNG).
Por el contrario, en el segundo caso, es decir, cuando se utilizan números aleatorios en técnicas de criptografía para la ejecución, por ejemplo, de operaciones bancarias, el enfoque descrito anteriormente parece ser débil, ya que es necesario asegurar que las secuencias generadas sean absolutamente impredecibles, para poder garantizar la seguridad de información altamente sensible. En este caso, el enfoque más seguro implica la generación de números aleatorios obtenidos desde un proceso de generación que realmente debe ser un proceso aleatorio y no debe permitir que la secuencia generada se prediga de ninguna manera. Estos generadores, de hecho, se conocen como Generadores de Números Aleatorios Verdaderos (TRNG). En particular, mecanismos cuánticos tales como, por ejemplo, la generación de fotones por una fuente de luz, se encuentran entre los métodos más investigados para obtener dichas secuencias de números aleatorios verdaderos y se basan en la indeterminación del evento medido, que se encuentra entre las propiedades del propio sistema cuántico.
Desde el punto de vista de la teoría de la información, el nivel de imprevisibilidad de los números aleatorios generados a través de las dos técnicas antes mencionadas se puede expresar mediante el parámetro definido como "entropía", que de hecho se conoce como la cantidad de incertidumbre o información presente en una variable aleatoria.
Además, es importante subrayar que con su directiva NIST SP800-22 el Instituto Nacional de Estándares y Tecnología (NIST) especifica aproximadamente quince pruebas estadísticas que permiten establecer si un determinado Generador de Números Aleatorios tiene un nivel suficiente de entropía o no.
Como ya se mencionó, el uso de PRNG para fines relacionados con la criptografía es peligroso, no solo porque ciertos algoritmos presentan debilidades que potencialmente se hacen evidentes solo algún tiempo después de su introducción, sino también porque si una persona malintencionada debe recuperar la semilla desde la que se generan todas las secuencias aleatorias, él/ella podría predecir todas las salidas posteriores basadas en la misma semilla con absoluta certeza.
Por lo tanto, una solución basada en fenómenos físicos, y en particular en fenómenos cuánticos, es mucho más preferible, dada la imprevisibilidad intrínseca de estos eventos, incluso por sujetos que conocen perfectamente los algoritmos utilizados y tienen una alta capacidad de cálculo a su disposición. Sin embargo, si bien los algoritmos para la generación de números pseudoaleatorios pueden seleccionarse para crear secuencias que tengan ciertas propiedades estadísticas que se determinan con absoluta certeza, en vista, de hecho, de su naturaleza determinista, los números aleatorios obtenidos a partir de fenómenos físicos están sujetos a limitaciones prácticas debidas, por ejemplo, a variaciones en la calidad de producción de instrumentos, fluctuaciones de la fuente de alimentación, factores ambientales tales como campos externos y variaciones de temperatura. En general, estas desviaciones del caso ideal determinan una desviación de una distribución estadística uniforme, que es independiente de los eventos que se pueden medir en un espacio muestral. En consecuencia, es posible observar una reducción incluso en el nivel de entropía de dichos Generadores de Números Aleatorios Verdaderos.
Para evitar este inconveniente, dichos Generadores de Números Aleatorios Verdaderos necesitan una etapa adicional, denominada postprocesamiento, que se realiza aguas abajo de la extracción de la secuencia de códigos aleatorios, a partir del fenómeno físico específico. Esta etapa de postprocesamiento, de hecho, permite mejorar la uniformidad de distribución de probabilidad de la secuencia de código aleatorio. Sin embargo, como desventaja, dicha etapa de postprocesamiento impacta en la tasa de bits que el generador es capaz de garantizar.
También se sabe, como ya se mencionó anteriormente, que uno de los fenómenos físicos más explotados para la generación de números aleatorios verdaderos es la Fotónica Cuántica. Por este motivo, dichos generadores, que pertenecen a la macrocategoría de TRNG, también se indican más específicamente con el acrónimo QRNg (Generador de Números Aleatorios Cuántico). En estos generadores, de hecho, una fuente de luz atenuada genera unos pocos fotones (valor bajo del flujo de fotones detectados Á) que son adquiridos por uno o más detectores de fotón único, cada uno de los cuales se conoce con el acrónimo SPAD (Diodo Avalancha de Fotón Único). Además, el sistema incluye una circuitería electrónica adecuada ubicada aguas abajo de los SPAD mencionados anteriormente y que consiste en circuitos auxiliares y, generalmente, de uno o más TDC (Convertidor de Tiempo a Digital) o contadores capaces de extraer una secuencia de bits aleatoria de cada uno de dichos SPAD midiendo el tiempo de llegada de los fotones adquiridos o contándolos.
Desde el punto de vista de implementación, en estos generadores la fuente de luz y el detector o detectores son dispositivos separados que necesitan ser acoplados y apantallados convenientemente. Sin embargo, esta implementación, en desventaja, obviamente no es inmune a la influencia de factores ambientales externos incontrolados. Además, el hecho de que la fuente de luz y el detector o detectores sean dispositivos separados que se acoplan sucesivamente entre sí hace que todo el generador de números aleatorios sea altamente vulnerable a cualquier acción de forzamiento o manipulación.
Además, nuevamente como desventaja, dicha implementación conlleva un alto coste del dispositivo, debido a la necesidad de alinear ópticamente los dos dispositivos.
También se sabe que el flujo de fotones generado por dichos generadores obedece a un proceso de Poisson, lo que significa que los eventos adquiridos son independientes entre sí y que la probabilidad de contar n fotones dentro de una ventana de observación T w sigue la distribución de Poisson:
Figure imgf000003_0001
donde, de hecho, Á indica el flujo de fotones detectado.
El flujo de fotones detectado Á, las características de los detectores SPAD y el modo de extracción de bits determinan el rendimiento final del generador.
Explicado todo lo anterior, cabe señalar que en el mercado se encuentran disponibles diferentes tipos de Generadores de Números Aleatorios basados en el concepto QRNG. Estos generadores, en particular, cubren una amplia gama de aplicaciones, desde dispositivos portátiles USB que suministran solo unos pocos cientos de kbit/seg hasta grandes sistemas electrónicos capaces de garantizar una tasa de bits de cientos de Mbit/seg. Además, en la literatura existente sobre este tema se han propuesto varias lógicas y arquitecturas, que se configuran para la determinación de secuencias de números aleatorios verdaderos a partir de un fenómeno físico, en particular de la detección de fotones. La mayoría de estos detectan el "tiempo de llegada" o el número de fotones que inciden en la superficie sensible del detector o detectores SPAD. Un ejemplo de un generador de números aleatorios cuánticos conocido basado en el tiempo de llegada se encuentra en la Publicación Internacional WO 2016/016741 A1.
En particular, con respecto a la técnica basada en el llamado tiempo de llegada, se ha propuesto medir el tiempo que transcurre desde el momento en que un fotón entra en contacto con un único SPAD y el momento en que el fotón sucesivo entra en contacto con el mismo SPAD. Sin embargo, aunque esta técnica permite obtener una alta tasa de bits, presenta un sesgo considerable debido a que, como ya se explicó, la fuente de fotones obedece a dicho proceso de Poisson.
Para superar este inconveniente, la técnica conocida propone que se actúe directamente sobre la fuente de fotones, controlando convenientemente el flujo de fotones generado por dicha fuente. Esta operación, en particular, incluye la variación de la corriente piloto de la fuente de fotones, destinada a hacer que su distribución estadística en el tiempo sea lo más uniforme posible.
Sin embargo, como desventaja, este enfoque requiere que se introduzcan circuitos electrónicos específicos en el Generador de Números Aleatorios, donde dichos circuitos deberían ser capaces de pilotar la fuente de fotones, como se explicó anteriormente, aumentando así la complejidad y el tamaño del propio generador.
La presente invención pretende superar todos los inconvenientes mencionados anteriormente.
En particular, es un objeto de la invención proporcionar un Generador de Números Aleatorios Verdaderos que permita garantizar un alto nivel de entropía, de tal manera que supere al menos las pruebas estadísticas definidas por el NIST.
Otro objeto de la invención es proporcionar un Generador de Números Aleatorios Verdaderos que haga posible obtener una alta tasa de bits en la generación de secuencias aleatorias de bits.
Otro objeto de la invención es proporcionar un Generador de Números Aleatorios Verdaderos que tenga una estructura más compacta, más robusta y menos compleja que los Generadores de Números Aleatorios conocidos en la técnica.
De nuevo, otro objeto de la invención es proporcionar un Generador de Números Aleatorios Verdaderos que presente un alto nivel de seguridad contra cualquier intento de forzar o alterar sus componentes internos.
Otro objeto de la invención, pero no menor, es proporcionar un Generador de Números Aleatorios Verdaderos que sea más económico en comparación con los generadores de la técnica conocida.
Los objetos descritos anteriormente se logran mediante el Generador de Números Aleatorios Verdaderos que tiene las características descritas en la reivindicación principal.
En particular, el Generador de Números Aleatorios Verdaderos objeto de la invención comprende una fuente de fotones con un flujo de fotones detectados A, uno o más detectores de fotones, preferiblemente detectores de fotón único (SPAD), y medios electrónicos de muestreo asociados operativamente a dicho uno o más detectores de fotones para generar una secuencia de bits basada en el número de fotones detectados en dichos detectores de fotones.
Dicho Generador de Números Aleatorios Verdaderos se caracteriza por que la fuente de fotones y el detector o detectores de fotones se colocan uno al lado del otro y se integran en un único sustrato semiconductor.
Dichos objetos, junto con las ventajas que se describen a continuación, se destacan en la descripción de una realización preferida de la invención que se proporciona a modo de ejemplo no limitativo con referencia a los dibujos adjuntos, en los que:
- La figura 1 muestra una vista esquemática de una primera realización del Generador de Números Aleatorios objeto de la invención;
- La figura 2 muestra una vista esquemática de una segunda realización, alternativa a la mostrada en la figura 1, del Generador de Números Aleatorios de la invención;
- La figura 3 muestra una vista esquemática de una tercera realización, alternativa a la primera realización mostrada en la figura 1 y a la segunda realización mostrada en la figura 2, del Generador de Números Aleatorios de la invención;
- La figura 4 muestra una vista esquemática de una cuarta realización, alternativa a la mostrada en la figura 1, del Generador de Números Aleatorios de la invención;
- La figura 5 muestra una vista en sección de un ejemplo de realización del Generador de Números Aleatorios de la invención realizado según una técnica de microfabricación CMOS;
- La figura 6 muestra un diagrama de tiempo de la aplicación de un primer algoritmo de extracción lógica implementado usando el Generador de Números Aleatorios de la invención;
- La figura 7 muestra un diagrama de tiempo de la aplicación del algoritmo de extracción lógica de la figura 6 que incluye algunos etapas opcionales adicionales en comparación con las representadas en la figura 6;
- Las figuras 8 a 10 muestran diagramas de tiempo de la aplicación de un segundo algoritmo de extracción lógica implementado usando el Generador de Números Aleatorios de la invención.
El Generador de Números Aleatorios (RNG) objeto de la invención, en particular el Generador de Números Aleatorios Verdaderos (TRNG) de la invención, se muestra esquemáticamente en las figuras 1 a 4, donde se indica con 1.
Como se puede observar en los dibujos mencionados anteriormente, el Generador de Números Aleatorios 1 de la invención comprende una fuente de fotones 2 con un flujo de fotones detectado igual a l .
No se puede excluir que, según una realización alternativa, por ejemplo, la representada en la figura 4, el generador 1 pueda incluir más de una fuente de fotones 2.
Según la realización preferida de la invención, el generador de números aleatorios 1 además comprende, como se muestra en la figura 1, una matriz 3 de detectores de fotones 31.
Preferentemente, pero no necesariamente, cada uno de dichos detectores es un detector de fotón único 31 comúnmente identificado por el acrónimo SPAD.
En particular, como ya se mencionó anteriormente, un solo detector SPAD 31 es capaz de detectar y suministrar como salida la información relacionada con la incidencia de un solo fotón dentro de su volumen sensible y posiblemente con el tiempo de llegada de este último dentro de una ventana de observación de duración preestablecida.
Entre dos ventanas de observación sucesivas, cada detector SPAD 31 sufre una etapa de restauración de las condiciones iniciales, denominada Tiempo Muerto en jerga técnica, durante la cual el mismo SPAD 31 no es capaz de detectar ningún fotón.
De acuerdo con la realización preferida de la invención ilustrada en la figura 1, en la matriz 3 de detectores de fotones del tipo SPAD, cada detector SPAD 31 funciona de forma independiente, en paralelo con los otros detectores SPAD 31, pero la matriz 3 tiene una única salida común para la lectura de la señal generada por la misma matriz 3 de SPAD 31 desde fuera.
Como es evidente a partir de la figura 1, la ventaja de tener una matriz 3 de detectores SPAD 31 radica en que el ángulo sólido de detección de los fotones generados por la fuente de fotones 2 se amplía y también consiste en que se reducen los tiempos muertos, aumentando así el rendimiento del propio generador.
Sin embargo, no se puede excluir que, de acuerdo con una realización alternativa de la invención ilustrada en la figura 2, el generador de números aleatorios 1 siempre pueda incluir una matriz 3 de detectores SPAD 31, en el que, sin embargo, cada detector SPAD 31 es independiente de los demás, lo que significa que puede generar hacia el exterior una señal que es independiente de las señales generadas por los demás detectores SPAD 31. Además, de acuerdo con una realización diferente del generador de números aleatorios 1 de la invención, no ilustrada en las figuras, dicha matriz 3 puede dividirse en subconjuntos de detectores SPAD 31, comprendiendo cada subconjunto un número preestablecido de detectores SPAD 31 conectados entre sí en paralelo, de tal manera que generen una única señal hacia el exterior.
En este último caso, cada uno de dichos subconjuntos de detectores SPAD 31 puede interactuar con el exterior independientemente de los otros subconjuntos.
Esta independencia permite de forma ventajosa paralelizar la extracción de las secuencias binarias aleatorias del generador de números aleatorios 1, aumentando así la tasa de bits de este último.
Además, de acuerdo con una realización diferente ilustrada en la figura 3, el generador de números aleatorios 1 de la invención puede incluir solo un detector SPAD 31.
Nuevamente, una cuarta realización del generador de números aleatorios 1 que es el objeto de la invención puede incluir, como ya se ha mencionado, una pluralidad de fuentes de fotones 2, cada una asociada con una matriz 3 de detectores de fotones 31, como se muestra en la figura 4. En otras palabras, si la combinación de una fuente de fotones 2 con uno o más detectores de fotones 31 se define como píxel, dicha cuarta realización del generador de números aleatorios 1 de la invención puede verse como una matriz de píxeles que permite paralelizar la operación de extracción de números aleatorios.
En cuanto a la fuente de fotones 2, según la realización preferida también comprende al menos un SPAD. En este caso, tanto la matriz 3 de detectores SPAD 31, que sirven como receptores, y la fuente de fotones 2 que comprenden al menos dichos SPAD están configurados y polarizados de tal manera que funcionen en el llamado modo Geiger con la misma tensión de polarización.
Como ya se mencionó anteriormente y como se muestra esquemáticamente en las figuras 1 a 4, el generador de números aleatorios 1 de la invención comprende también medios de muestreo electrónicos 4, que en el caso de la realización preferida de la figura 1 están operativamente conectados a dicha salida común para la lectura de la señal generada por la matriz 3 de detectores SPAD 31.
En lo que respecta, en cambio, a la realización mostrada en la figura 2, los medios de muestreo electrónico 4 se proporcionan para cada detector SPAD 31 perteneciente a la matriz 3, mientras que en la tercera realización mostrada en la figura 3 hay un solo medio de muestreo electrónico 4 para el detector SPAD individual 31, y finalmente en la cuarta realización representada en la figura 4 medios de muestreo electrónico 4 se proporcionan para cada píxel.
En cualquier caso, dichos medios electrónicos de muestreo 4 están configurados para implementar un método o algoritmo lógico predefinido para la extracción de una secuencia binaria en base a los tiempos de llegada de dichos fotones al nivel de los respectivos detectores SPAD 31. Algunos ejemplos preferidos de dicho método de extracción lógica se describen en detalle a continuación.
Según la invención, en el generador de números aleatorios 1 dicha fuente de fotones 2 y la matriz 3 de detectores SPAD 31 o el único detector SPAD 31 se llevan a cabo uno al lado del otro y se integran en un único sustrato semiconductor 5.
Esto hace que el flujo de fotones detectado A generado por la fuente de fotones 2 fluya hacia la matriz 3 de detectores SPAD 31 colocada a su lado a través del material semiconductor con el que se han realizado dichos componentes (fenómeno conocido como "diafonía óptica"), a diferencia de lo que ocurre en los Generadores de Números Aleatorios de la técnica conocida, en los que los mismos fotones fluyen por el acoplamiento vacío intermedio espacio entre dichos dos componentes, que son físicamente distintos entre sí.
Ventajosamente, dicha configuración integrada hace que el generador de números aleatorios 1 de la invención sea más compacto y estructuralmente menos complejo que los generadores del tipo conocido.
Además, gracias a la integración de todos los componentes del generador de números aleatorios 1, este último es más robusto e inmune a las influencias ambientales externas y a cualquier intento de forzar o manipular por parte de personas malintencionadas.
Esta configuración integrada y, por lo tanto, este acoplamiento directo entre la fuente de fotones 2 y el detector o detectores SPAD 31 son ventajosas con respecto a las soluciones donde se utilizan divisores de haz, ya que obtienen una iluminación uniforme de los detectores SPAD 31 sin necesidad de asegurarse de que el divisor esté constantemente en una condición perfectamente alineada.
Según la realización preferida de la invención, la fuente de fotones 2 y la matriz 3 de detectores SPAD 31 están hechos sobre dicho sustrato semiconductor 5 a través de las mismas etapas de fabricación, de manera que se definan dichos elementos con la misma estructura químico-física en términos de perfiles de dopaje. Aún más precisamente, como se mencionó anteriormente, incluso la fuente de fotones 2 puede fabricarse con la misma estructura químico-física que un SPAD completamente idéntico a los SPAD 31 pertenecientes a dicha matriz 3. Ventajosamente, esto permite reducir drásticamente los costes de producción de los distintos componentes que componen el generador de números aleatorios 1 de la invención, ya que es posible obtener una o más fuentes de fotones 2 y/o uno o más detectores SPAD 31 en el mismo sustrato semiconductor 5 sin necesidad de variar, en particular, sin necesidad de aumentar, el número de etapas de fabricación.
En cuanto al sustrato semiconductor 5, según la realización preferida de la invención es un sustrato de silicio 51. Sin embargo, no se puede excluir que, en diferentes realizaciones de la invención, con el fin de incrementar la eficiencia del acoplamiento emisor-fuente, dicho sustrato semiconductor 5 pueda estar hecho con un material semiconductor diferente al silicio.
En cuanto a la matriz 3 de detectores SPAD 31, se sabe que cada uno de los mismos se obtiene principalmente a través de una unión p-n convenientemente dopada, de tal manera que permita la ocurrencia del fenómeno conocido como "generación de avalanchas" en la jerga técnica cuando el mismo detector SPAD 31, convenientemente polarizado, se somete al impacto de un fotón dentro de su volumen sensible.
En cuanto a la fuente de fotones 2, también se define a través de una unión p-n convenientemente dopada, de tal manera que se genera el flujo de fotones detectado A cuando dicha fuente 2 está convenientemente sesgada hacia adelante o hacia atrás.
En particular, de acuerdo con la realización preferida de la invención, la fuente de fotones 2 está configurada de tal manera que se obtenga un espectro de emisión del flujo de fotones detectado A incluido principalmente entre 800 nm y 1000 nm. En este espectro, la eficiencia de cada detector SPAD 31 puede considerarse que no es excesivamente alto, inferior al 10%. Por tanto, se estima que, para obtener, por ejemplo, una tasa de detección de aproximadamente 500.000 cuentas/seg, una tasa de fotones útiles (flujo de fotones que alcanza el volumen sensible del detector o detectores SPAD 31 de la fuente de fotones 2) se necesita más de 5.000.000 ph/seg.
Por lo tanto, volviendo a la fabricación del Generador de Números Aleatorios 1, el hecho de que las estructuras de la fuente de fotones 2 y de los detectores SPAD 31 tengan una unión p-n como característica principal confirma la ventaja descrita anteriormente, es decir, la posibilidad de realizar las mismas etapas de fabricación para hacer dicha fuente de fotones 2 y los detectores SPAD 31.
Preferiblemente, pero no necesariamente, de acuerdo con la realización preferida de la invención, la fuente de fotones 2 y los detectores SPAD 31, obtenidos a través de las mismas etapas de fabricación, tienen la misma estructura químico-física. Sin embargo, no se puede excluir que en diferentes realizaciones del Generador de Números Aleatorios 1 de la invención, la fuente de fotones 2 y los detectores SPAD 31 pueden fabricarse con diferentes estructuras químico-físicas, en particular con diferentes tamaños y/o diferentes niveles de dopaje, incluso si se obtienen mediante las mismas etapas de fabricación.
En cuanto a la técnica utilizada para integrar dichos componentes en el sustrato semiconductor 5, de acuerdo con la realización preferida de la invención, se trata de la técnica CMOS o compatible con CMOS de microfabricación de circuitos integrados.
La ventaja de utilizar dicha técnica de microfabricación CMOS radica en que es posible integrar en el sustrato semiconductor 5 también dichos medios de muestreo 4 de las señales de salida de la matriz 3 de detectores SPAD 31.
Un ejemplo de un posible Generador de Números Aleatorios 1 de la invención obtenida mediante dicha técnica de microfabricación CMOS se representa esquemáticamente en una vista en sección en la figura 5. Dicho Generador de Números Aleatorios 1, con mayor detalle, utiliza un sustrato dopado/estructura epitaxial de tipo p 100, en el que se crea un pozo n profundo 101 y se hacen las uniones que definen la fuente de fotones 2 y los detectores SPAD 31 con un implante de tipo p+ 102. Además, para evitar campos eléctricos que son más altos en los bordes de la zona sensible que en el centro de la misma, estructuras de "anillos de guarda" 103 se proporcionan preferiblemente, creando un anillo con pozo p alrededor del implante p+ 102.
No se puede excluir, sin embargo, que en diferentes realizaciones de la invención la técnica utilizada para fabricar la fuente de fotones 2 y los detectores SPAD 31 puede ser una técnica del tipo personalizado. La ventaja que ofrece esta última solución radica en que las etapas de fabricación del Generador de Números Aleatorios 1 de la invención se puede optimizar para obtener la fuente de fotones 2 y los detectores SPAD 31.
Según un ejemplo de implementación de un Generador de Números Aleatorios con una técnica de fabricación personalizada, los detectores SPAD 31 y la fuente de fotones 2 pueden estar integrados en una estructura/sustrato epitaxial dopado de tipo p, en el que un implante llamado "superficial" y un implante de mejora están definidos en la estructura epitaxial, siendo dicho implante "superficial" más superficial, de tipo n+ y concéntrico con la estructura epitaxial, pero con una extensión más reducida, siendo dicho implante de mejora de tipo p- y con un dopaje reducido, pero en cualquier caso un dopaje mayor que el de la estructura epitaxial.
De esta forma, se crea una estructura denominada con "anillo de guarda virtual". Para evitar problemas relacionados con la "diafonía de carga" o la "inyección de carga", causada por la estructura epitaxial común que comparten los dos implantes, es posible separar la fuente de fotones y el detector o detectores de fotones, colocándolos a distancias adecuadas, o para crear profundas trincheras que rodeen tanto el área que define la fuente de fotones como el área que define el detector o detectores. Finalmente, una opción adicional es la posibilidad de crear una unión auxiliar que, cuando está convenientemente polarizada, recoge el exceso de carga que puede transferirse desde la fuente de fotones al detector o detectores. La creación de trincheras también reduciría la diafonía óptica, que en cambio es una característica deseada. Sin embargo, esta reducción no supera un porcentaje del orden del 30-50%, por lo que es aceptable si aporta el beneficio de eliminar completamente dicho problema.
Como ya se explicó anteriormente, el Generador de Números Aleatorios 1 de la invención está configurado para permitir alternativamente que la fuente de fotones 2 tenga polarización directa o inversa para generar el flujo de fotones detectado A.
En el caso de polarización inversa, la fotoluminiscencia se aprovecha durante fenómenos de generación de avalanchas, que se producen de forma controlada, pero según intervalos aleatorios.
En el caso de polarización directa, los fotones producidos se comportan de una manera muy similar al caso de polarización inversa y las eficiencias de generación (fotones por carga eléctrica transitada) son relativamente similares o superiores, pero la polarización directa puede reducir la potencia disipada en comparación para invertir la polarización, dada la tensión más baja aplicada.
Para indicar un orden de magnitud, de hecho, una fuente de fotones con polarización directa 2 necesita una tensión de unos pocos voltios, mientras que una fuente de fotones con polarización inversa necesita una tensión de varias docenas de voltios.
Por lo tanto, una fuente de fotones con polarización directa 2 ventajosamente permitiría también reducir el espacio necesario para aislar eléctricamente la propia fuente de fotones 2 de la matriz 3 de detectores SPAD 31. En consecuencia, todavía ventajoso, dicha fuente de fotones con polarización directa 2 hace posible obtener un diseño más compacto del generador de números aleatorios 1 y un menor coste del mismo debido a la menor cantidad de silicio utilizado para fabricar el propio generador. Sin embargo, dado que la estructura y la técnica de fabricación de la fuente de fotones 2 y los detectores SPAD 31 son similares o incluso idénticos, la ventaja que ofrece la polarización inversa radica en que se puede usar la misma tensión para polarizar ambos componentes.
En particular, esta última solución permite reducir la complejidad y las dimensiones generales tanto de la estructura como del circuito externo: la fuente de fotones 2 y los detectores SPAD 31, de hecho, pueden compartir el mismo implante, teniendo un terminal en común, y en consecuencia se pueden acercar entre sí, reduciendo así el espacio ocupado y al mismo tiempo mejorando su acoplamiento óptico.
En cualquier caso, la escasa eficiencia del proceso de fotoluminiscencia en la generación de pocos fotones está a favor de la "detección cuántica", como el detector o detectores SPAD 31 es/son sensibles, por definición, al fotón único.
Como ya se mencionó anteriormente, según la realización preferida de la invención también los medios electrónicos de muestreo 4 están integrados en el sustrato semiconductor 5 junto con la fuente de fotones 2 y la matriz 3 de detectores SPAD 31.
En este caso, además de estar configurado para leer la señal o señales generadas por la matriz 3 de detectores SPAD 31, dichos medios electrónicos de muestreo 4 puede configurarse ventajosamente para controlar directa y fácilmente las condiciones de funcionamiento de la fuente de fotones 2 y corregir cualquier parámetro de polarización, o para habilitar o excluir emisores con el fin de obtener el flujo de fotones deseado o la tasa de bits deseada.
Además, según la realización preferida de la invención, a nivel de su superficie superior 1a el generador de números aleatorios 1 está cubierto con un filtro inhibidor de luz 6. En particular, preferentemente pero no necesariamente, dicho filtro inhibidor de luz 6 incluye una capa de metalización 61 que se puede realizar directamente durante el proceso de producción, por ejemplo, mediante la técnica CMOS, como último nivel de metalización. Esta solución tiene la función de blindar el detector o detectores SPAD 31 de la luz externa y, por lo tanto, de hacerlos sensibles solo a los fotones que transitan desde la fuente de fotones 2 a través del sustrato semiconductor 5 debido al fenómeno de diafonía. Además, la capa de metalización 61 tiene también la función de mejorar el acoplamiento de los fotones emitidos por el sustrato semiconductor, en particular, el sustrato de silicio, reflejando la radiación generada por la misma fuente de fotones 2 hacia el interior, impidiendo así su salida del sustrato de silicio. Esto además da como resultado el acoplamiento óptico mejorado entre la fuente de fotones 2 y la matriz 3 de SPAD 31.
Además, ventajosamente, la cubierta metálica tiene también la función de proteger el Generador de Números Aleatorios 1 de cualquier intento de penetración por parte de personas malintencionadas con la funcionalidad del sistema.
En consecuencia, la presencia de dicha metalización permite garantizar una mayor seguridad y fiabilidad de los números aleatorios generados por dicho generador 1 de la invención.
Finalmente, opcionalmente, el Generador de Números Aleatorios 1 de la invención puede comprender también medios electrónicos de postprocesamiento 7 configurados para recibir como entrada las secuencias binarias extraídas por dichos medios electrónicos de muestreo 4, que a su vez están asociados con la matriz 3 de detectores SPAD 31.
Dichos medios electrónicos de postprocesamiento 7 están configurados para procesar dichas secuencias binarias de tal manera que realicen una operación denominada "blanqueamiento". Esta última palabra indica una pluralidad de operaciones de compresión destinadas a mejorar las propiedades estadísticas de las secuencias binarias producidas. En consecuencia, ventajosamente, dicha etapa adicional de postprocesamiento hace posible aumentar el nivel de entropía del generador de números aleatorios 1 de la invención.
Como ya se mencionó anteriormente, los medios de muestreo 4, que de acuerdo con la realización preferida están conectados a la matriz 3 de detectores SPAD 31, o alternativamente a un subconjunto de dichos detectores SPAD 31, o a un solo detector SPAD 31, o incluso a un solo píxel, se configuran de tal manera que implementen un método de extracción lógica destinado a extraer una secuencia binaria en función del número de fotones detectados en dicha matriz 3 de detectores SPAD 31, en el subconjunto, en dicho solo un detector SPAD 31, o incluso en un solo píxel. Según la invención, un primer método de extracción lógica implementado a través de dichos medios de muestreo 4 del generador de números aleatorios 1 de la invención incluye la subdivisión de la ventana de observación de cada detector SPAD 31 en una pluralidad de subventanas de observación consecutivas Tw teniendo la misma duración, así como una comparación de los tiempos de llegada de los fotones detectados dentro de dichas subventanas de observación consecutivas Tw. Dichas subventanas de observación Tw se generan a partir de un reloj de referencia, indicado por CLK en el diagrama de la figura 6, cuyo ciclo de trabajo define el tiempo en que el detector SPAD 31 está al nivel del tiempo muerto (CLK = H).
En particular, el método de extracción lógica propuesto aquí incluye, a nivel de cada subventana Tw, la medición del tiempo de llegada de un primer fotón mediante un Convertidor de Tiempo a Digital (TDC) o alternativamente a través de un instrumento analógico llamado Convertidor de Tiempo a Analógico (TAC). El diagrama que se muestra en la figura 6 representa la detección de fotones TDC1, TDC3 y TDC4, respectivamente a nivel de las subventanas de observación Tw i, Tw3 y Tw4. Para cada par de subventanas de observación adyacentes, que en el ejemplo de la figura 6 son los pares de ventanas Tw i-Tw2 y Tw3-Tw4, se comparan los tiempos de llegada detectados para los respectivos fotones. En general, en el proceso de extracción de bits que se realiza mediante el método de extracción lógica de la invención, se asigna el bit "1" cuando el tiempo de llegada detectado para la primera subventana del par es superior al tiempo de llegada detectado para la segunda subventana y bit "0" se asigna en el caso contrario. El método de extracción lógica incluye además tres casos límite, que se describen a continuación.
En el primer caso límite, no se detecta ningún fotón en ninguna de las dos subventanas de observación de un par. En este caso, no se asigna ningún bit.
En el segundo caso, los tiempos de llegada de los dos fotones detectados a nivel de las dos subventanas de observación adyacentes se corresponden perfectamente entre sí. De acuerdo con el método de extracción lógica de la invención, en este caso tampoco se asigna ningún bit.
En el tercer caso previsto por el método de extracción lógica de la invención, no se detecta ningún fotón en una de las dos subventanas de observación de un par, mientras que en la otra subventana de observación se detecta un fotón con un tiempo de llegada específico.
Según la invención, el método de extracción lógica tiene en cuenta un tiempo de llegada también para la subventana en la que no se ha detectado ningún fotón y este tiempo de llegada se considera más largo que la duración total de la subventana de observación. Esto permite ventajosamente asignar un bit también en dicho tercer caso límite, según la lógica descrita anteriormente.
Por ejemplo, en el caso representado en la figura 6, en lo que respecta al primer par de subventanas Tw i-Tw2, el método de extracción lógica de la invención asigna un bit igual a 0, dado que TDC1 < Tw2 (TDC2), mientras que en lo que respecta al segundo par Tw3-Tw4, el método de extracción lógica asigna un bit igual a 1, dado que TDC3 > TDC4. Comparando dicho método de extracción lógica de la invención con la medición de los tiempos entre llegadas, indicados por t12 y t23 en la figura 6, la cual es conocida en la técnica, se puede observar que en el segundo caso para generar un bit se deben haber detectado al menos dos fotones por cada par, mientras que en las mismas condiciones el método de extracción lógica de la invención puede generar un número máximo de bits igual a 2, es decir, igual al número de fotones detectados. Esto significa que, considerando un número par N de subventanas de observación, el método de extracción lógica propuesto por la invención es ventajosamente capaz de extraer un número máximo de N/2 bits.
Opcionalmente, de acuerdo con el método de extracción lógica de la invención, el número de bits extraídos se puede ampliar comparando los tiempos de llegada resultantes de dicha primera comparación con pares de subventanas adyacentes. De hecho, como se puede observar en el ejemplo de la figura 7, las sucesivas comparaciones deben realizarse partiendo de los tiempos de llegada más cortos TDC01 y TDCU, por un lado, y TDC05 y TDC07, por otro lado, (o alternativamente los tiempos de llegada más largos) identificados en la etapa de comparación anterior (1a etapa). En este caso, considerando un número par N de subventanas de observación, el método de extracción lógica de la invención es capaz de extraer un número máximo de N-1 bits.
Una minimización de la subventana de tiempo Tw permitirá un aumento potencial de la tasa de bits, compatible con el flujo de fotones incidente.
Entre otras cosas, es importante resaltar que la solución que ofrece el método de extracción lógica que se acaba de describir se puede reivindicar por sí mismo, sin necesidad de implementar dicho método de extracción lógica en un Generador de Números Aleatorios 1 fabricado según la realización preferida de la invención o según las realizaciones alternativas que se acaban de describir. De hecho, dicha última solución por sí sola permite incrementar la eficiencia del generador sobre el que podría implementarse para incrementar la tasa de bits final, garantizando al mismo tiempo una buena inmunidad a posibles variaciones de parámetros externos tal como el flujo de fotones y la temperatura.
Alternativamente, un segundo método de extracción lógica que es parte de la invención y se puede implementar en los medios de muestreo 4 del Generador de Números Aleatorios 1 se propone a continuación. Dicho segundo método de extracción lógica, en particular, se basa en la medición del tiempo de llegada del fotón único, que tiene en cuenta los defectos intrínsecos de los detectores SPAD. Dicho método de extracción lógica, de hecho, es simple y fácil de implementar, robusto, capaz de generar números aleatorios de alta calidad y adecuado para ser aplicado a un Generador de Números Aleatorios completamente integrado en un sustrato semiconductor.
Este método de extracción lógica tiene principalmente por objeto hacer frente a las variaciones en la emisión del flujo de fotones generado por la fuente de fotones. Para ello, el método de extracción lógica incluye esencialmente, como característica principal, la subdivisión de la ventana de tiempo de observación del fotón único para cada uno de los detectores de fotones 31 en una estructura con intervalos de tiempo y subintervalos.
Preferentemente, cada ventana de observación se subdivide en una pluralidad de intervalos I, cada uno de los cuales se divide a su vez en N subintervalos sS teniendo la misma duración, con N > 2. Cada uno de los subintervalos sS está asociado a un símbolo, con el fin de generar un número aleatorio en el caso de que se detecte un solo fotón a nivel de uno y solo uno de dichos subintervalos de tiempo. Cabe señalar que cada uno de dichos símbolos asociado a uno de dichos subintervalos sS es unívoco y distinto de los símbolos asociados con los subintervalos sS restantes.
En la realización preferida, como se representa esquemáticamente en la figura 8, el número N de subintervalos sS es igual a 16 y en este caso los símbolos utilizados corresponden a los dieciséis dígitos hexadecimales (0, 1,2, 3 ... D, E, F).
Sin embargo, no se puede excluir que el número N de subintervalos sS asociado a un símbolo puede ser diferente de 16, siempre que cada uno de los mismos esté asociado a un símbolo unívoco, distinto de los asociados a los demás subintervalos.
Dado que, como ya se mencionó anteriormente, los detectores SPAD fabricados en el sustrato semiconductor en realidad presentan algunas no idealidades, el método de extracción lógica de la invención agrega características adicionales al concepto de subdividir cada intervalo I en subintervalos sS ilustrado anteriormente, con el fin de minimizar los efectos de dichas no idealidades.
Con mayor detalle, dichas no idealidades comprenden fenómenos que son bien conocidos en el sector de los detectores SPAD, tales como pulsación posterior, tiempo muerto, fluctuación y recuentos de oscuridad.
Todos estos fenómenos no deseados dependen en gran medida de la temperatura, el envejecimiento de los componentes, la tensión de polarización, etc.
En particular, el fenómeno de la pulsación posterior puede influir fuertemente en la fuente de fotones, de modo que no obedezca a un proceso de Poisson que, en cambio, debería seguir normalmente.
Debe partirse de la premisa de que las características del método de extracción lógica que se presenta a continuación tienen como finalidad mejorar algunos aspectos del proceso de detección, que inevitablemente están sujetos a no idealidades tanto en lo que respecta al detector o detectores como a los medios de muestreo. En cuanto a dichas características adicionales del método de extracción lógica de la invención además de la subdivisión representada en la figura 8, en primer lugar incluyen la subdivisión de dicho intervalo de tiempo I en al menos 2N subintervalos, donde los primeros N subintervalos son los subintervalos sS asociados con un símbolo, mientras que los segundos N subintervalos sN1 restantes no están asociados con ningún símbolo, lo que significa que no pueden generar un número aleatorio en el caso de que un fotón impacte el detector exactamente durante los últimos subintervalos sN1. En particular, como se puede observar en la representación del intervalo I que se muestra en la figura 9, que es más compleja en comparación con la que se muestra en la figura 8, cada subintervalo sN1 se interpone temporalmente entre dos subintervalos consecutivos sS.
Según la realización preferida de la invención, como se muestra en la figura 8, el método de extracción lógica incluye la subdivisión de dicho intervalo de tiempo I en 32 subintervalos, en donde 16 subintervalos sS están asociados con un símbolo, mientras que los 16 subintervalos restantes sN1 no están asociados con ningún símbolo. Esta característica lleva al resultado técnico de mitigar los efectos del tiempo muerto entre subintervalos del detector y los efectos de la fluctuación electrónica en general.
Además, de acuerdo con el método de extracción lógica de la invención, cada intervalo I comprende más subintervalos M sN2, con M > 2 y preferiblemente M = 2N, dispuestos consecutivamente y definidos antes (o alternativamente después) de dichos subintervalos 2N sN1 y sS descrito arriba. Dichos subintervalos M adicionales sN2 tampoco están asociados con ningún símbolo, y, por lo tanto, también en este caso, si un fotón impacta en el detector durante dichos subintervalos adicionales sN2, no se genera ningún número aleatorio.
Preferiblemente, como se muestra siempre en la figura 9, de acuerdo con el método de extracción lógica de la invención cada intervalo I comprende otros 32 subintervalos sN2 dispuestos consecutivamente y definidos antes (o alternativamente después) de dichos 32 subintervalos sN1 y sS descritos arriba. Esta característica adicional conduce al resultado técnico de enmascarar los efectos de la pulsación posterior y del tiempo muerto entre los intervalos I.
Una vez más, una característica adicional del método de extracción lógica de la invención es la definición de un superintervalo SI, cuya duración corresponde preferentemente a la duración de la ventana de observación de cada detector de fotones y que a su vez comprende 16 intervalos consecutivos I, cada uno de los cuales está provisto de dichos 64 subintervalos sN1, sN2 y sS, como se muestra en la figura 10. En particular, de acuerdo con el método de extracción lógica entre dos intervalos consecutivos I los subintervalos sS asociados con un símbolo se escalonan cíclicamente en una posición, como se representa esquemáticamente siempre en la figura 10. Por ejemplo, el primer intervalo I de la izquierda en la figura 10 presenta los subintervalos sS ordenado de 0 a F, mientras que el intervalo inmediatamente adyacente I presenta los subintervalos sS ordenados de F a E y así sucesivamente para los intervalos sucesivos I.
Esta característica permite ventajosamente obtener el resultado técnico de redistribuir la fluctuación debida al contador y al circuito lógico a todos los símbolos. No se puede excluir que, de acuerdo con una realización alternativa del método de extracción lógica que se acaba de describir, el número de intervalos I perteneciente a dicho superintervalo SI puede ser diferente de 16. Entre otras cosas, cabe señalar que la solución del método de extracción lógica propuesta puede ser reivindicada por sí misma, sin necesidad de implementar dicho método de extracción lógica en un Generador de Números Aleatorios 1 de acuerdo con la realización preferida de la invención o con las realizaciones alternativas descritas anteriormente. De hecho, dicha última solución por sí sola permite incrementar la eficiencia del generador sobre el que se implementa, con el fin de incrementar la tasa de bits final y al mismo tiempo garantizar una buena inmunidad a posibles variaciones de parámetros externos como el flujo de fotones y la temperatura.
De acuerdo con lo anterior, por lo tanto, el Generador de Números Aleatorios de la invención logra todos los objetos establecidos.
En particular, la invención consigue el objeto de proporcionar un Generador de Números Aleatorios que permita garantizar un alto nivel de entropía, de tal manera que supere al menos las pruebas estadísticas definidas por el NIST.
Además, la invención consigue el objetivo de proporcionar un generador de números aleatorios que permita obtener una alta tasa de bits en la generación de secuencias aleatorias de bits.
La invención también logra el objetivo de proporcionar un Generador de Números Aleatorios que tiene una estructura más compacta, más robusta y menos compleja en comparación con los Generadores de Números Aleatorios de la técnica conocida.
De nuevo, la invención también logra el objetivo de proporcionar un Generador de Números Aleatorios con un alto nivel de seguridad contra cualquier intento de forzar y manipular sus componentes internos.
Finalmente, la invención también logra el objetivo de proporcionar un Generador de Números Aleatorios que sea más económico que los generadores de la técnica conocida.

Claims (10)

REIVINDICACIONES
1. Generador de números aleatorios (1) del tipo que comprende:
- una fuente de fotones (2);
- uno o más detectores de fotones (31) configurados de tal manera que detecten al menos un fotón perteneciente a un flujo de fotones detectados (A) generado por dicha fuente de fotones (2);
- medios electrónicos de muestreo (4) asociados operativamente con dicho uno o más detectores de fotones (31) y configurados de tal manera que implementen un método lógico para la extracción de una secuencia binaria en base al tiempo de llegada de cada uno de dichos fotones detectados (A);
en el que dicha fuente de fotones (2) y dichos uno o más detectores de fotones (31) están dispuestos de modo que estén adyacentes entre sí e integrados en un único sustrato semiconductor (5);
caracterizado por que dicho método de extracción lógica incluye las siguientes etapas:
- subdividir la ventana de observación de cada uno de dichos detectores de fotones (31) en una pluralidad de subventanas de observación consecutivas (Tw, Tw i, Tw2, Tw3 , Tw4) que tienen la misma duración;
- detectar los tiempos de llegada de un primer fotón en cada una de dichas subventanas de observación (Tw, Tw i, Tw2, Tw3, Tw4);
- en el caso de que dicho detector de fotones (31) no haya detectado ningún fotón durante una o más de dichas subventanas de observación (Tw, Tw i, Tw2, Tw3, Tw4), considerar como tiempo de llegada de dicho fotón en dicha una o más subventanas de observación (Tw, Tw i, Tw2, Tw3, Tw4) un tiempo mayor que la duración total de dicha una o más subventanas de observación (Tw, Tw i, Tw2, Tw3, Tw4);
- comparar los tiempos de llegada detectados a nivel de un par de subventanas de observación adyacentes ( Tw i-Tw2, Tw3-Tw4);
- asignar el bit "1" en el caso de que se detecte el tiempo de llegada para la primera subventana (Tw i, Tw3) de dicho par (Tw i-Tw2, Tw3-Tw4) supera el tiempo de llegada detectado para la segunda subventana (Tw2, Tw4), o asignar el bit "0" en el caso de que el tiempo de llegada detectada para la segunda subventana (Tw2, Tw4) de dicho par (Tw i-Tw2, Tw3-Tw4) exceda el tiempo de llegada detectado para la primera subventana (Tw i, Tw3).
2. Generador de números aleatorios (1) del tipo que comprende:
- una fuente de fotones (2);
- uno o más detectores de fotones (31) configurados de tal manera que detecten al menos un fotón perteneciente a un flujo de fotones detectados (A) generado por dicha fuente de fotones (2);
- medios electrónicos de muestreo (4) asociados operativamente con dicho uno o más detectores de fotones (31) y configurados de tal manera que implementen un método lógico para la extracción de una secuencia binaria en base al tiempo de llegada de cada uno de dichos fotones detectados (A);
en el que dicha fuente de fotones (2) y dichos uno o más detectores de fotones (31) están dispuestos de modo que estén adyacentes entre sí e integrados en un único sustrato semiconductor (5);
caracterizado por que dicho método de extracción lógica incluye las siguientes etapas:
- subdividir la ventana de observación de cada uno de dichos detectores de fotones (31) en una pluralidad de intervalos (I);
- subdividir cada uno de dichos intervalos (I) en subintervalos M 2N (sS, sN1, sN2), con N y M > 2;
- asignar un símbolo a cada uno de los primeros N subintervalos (sS), siendo dicho símbolo unívoco y distinto de los símbolos asociados con los restantes dichos primeros N subintervalos (sS);
- definir segundos N subintervalos (sN1) de tal manera que cada uno de dichos segundos N subintervalos (sN1) se interponga temporalmente entre dos de dichos primeros N subintervalos consecutivos (sS), no estando asociados dichos segundos N subintervalos (sN1) con ningún símbolo;
- definir M subintervalos (sN2) antes o después de dichos primeros N subintervalos (sS) y dichos segundos N subintervalos (sN1), no estando asociados dichos M subintervalos (sN2) con ningún símbolo;
- para cada par de dichos intervalos consecutivos (I), desplazar cíclicamente en una posición dichos símbolos asociados con dichos primeros N subintervalos (sS) de un primero de dichos intervalos (I) de dicho par con respecto a los símbolos asociados con dichos primeros N subintervalos (sS) del segundo de dichos intervalos (I) de dicho par; - durante dicha ventana de observación, determinar en cuál de dichos primeros N subintervalos (sS) asociado a un símbolo y perteneciente a uno de dichos intervalos (I) se detecta un fotón;
- generar dicha secuencia binaria en base al símbolo asociado con dicho primer subintervalo (sS) en el que se ha detectado dicho fotón.
3. Generador de números aleatorios (1) según la reivindicación 1 o 2, caracterizado por que dicha fuente de fotones (2) y dicho uno o más detectores de fotones (31) se fabrican sobre dicho sustrato semiconductor (5) mediante las mismas etapas de fabricación, de tal manera que se defina dicha fuente de fotones (2) y dicho uno o más fotones detectores (31) con la misma estructura fisicoquímica en términos de perfiles de dopaje.
4. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que dicho sustrato semiconductor (5) es un sustrato de silicio (51).
5. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que cada uno de dichos uno o más detectores de fotones (31) es un detector de fotones del tipo SPAD (31), configurado para operar en el modo Geiger.
6. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que dicha fuente de fotones (2) es una unión p-n convenientemente dopada para la generación de dicho flujo de fotones detectados (A) mediante polarización directa, realizándose cada uno de dichos uno o más detectores de fotones (31) junto a dicha fuente de fotones (2) y estando configurado para operar en polarización inversa.
7. Generador de números aleatorios (1) según la reivindicación 6, caracterizado por que dicha fuente de fotones (2) está configurada para operar en polarización directa con una tensión de polarización de unos pocos voltios, estando configurado cada uno de dichos uno o más detectores de fotones (31) para operar en polarización inversa con una tensión de polarización negativa de varias docenas de voltios.
8. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que dicha fuente de fotones (2) y dicho uno o más detectores de fotones (31) se fabrican en dicho sustrato semiconductor (5) mediante la técnica CMOS de microfabricación de circuitos integrados.
9. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que dichos medios electrónicos de muestreo (4) están hechos de tal manera que están integrados en dicho sustrato semiconductor (5) junto con dicha fuente de fotones (2) y con dicho uno o más detectores de fotones (31).
10. Generador de números aleatorios (1) según cualquiera de las reivindicaciones anteriores, caracterizado por que su superficie superior (1a) está cubierta con un filtro inhibidor de luz (6).
ES17804656T 2016-10-21 2017-10-20 Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos Active ES2858452T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT102016000106164A IT201600106164A1 (it) 2016-10-21 2016-10-21 Generatore di numeri casuali di tipo perfezionato, in particolare generatore di numeri realmente casuali di tipo perfezionato
PCT/IB2017/056536 WO2018073802A1 (en) 2016-10-21 2017-10-20 Improved random number generator, in particular improved true random number generator

Publications (1)

Publication Number Publication Date
ES2858452T3 true ES2858452T3 (es) 2021-09-30

Family

ID=58159403

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17804656T Active ES2858452T3 (es) 2016-10-21 2017-10-20 Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos

Country Status (7)

Country Link
US (1) US11080022B2 (es)
EP (1) EP3529694B1 (es)
KR (1) KR102190209B1 (es)
CN (1) CN109804348B (es)
ES (1) ES2858452T3 (es)
IT (1) IT201600106164A1 (es)
WO (1) WO2018073802A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102483374B1 (ko) * 2018-05-11 2022-12-30 한국전자통신연구원 양자 난수 생성 장치 및 방법
IT201800009281A1 (it) * 2018-10-09 2020-04-09 Fond Bruno Kessler Uso di un dispositivo semiconduttore per la generazione di numeri casuali
US10901695B1 (en) * 2020-03-03 2021-01-26 Randaemon Sp. Z O.O. Apparatus, systems, and methods for beta decay based true random number generator
CN112882684A (zh) * 2021-02-20 2021-06-01 合肥硅臻芯片技术有限公司 量子随机数芯片的封装结构及其量子随机数生成方法
IT202100009356A1 (it) * 2021-04-14 2022-10-14 Fond Bruno Kessler Generatore di numeri casuali (rng), in particolare generatore di numeri realmente casuali (trng) di tipo perfezionato
WO2023208431A1 (en) * 2022-04-28 2023-11-02 Ams-Osram Ag Spad-based dithering generator and tof sensor comprising the same
LU505175A1 (de) 2022-10-04 2024-04-04 Elmos Semiconductor Se Integrierter Quanten-Zufallszahlengenerator
DE102023126168A1 (de) 2022-10-04 2024-04-04 Elmos Semiconductor Se Integrierter Quanten-Zufallszahlengenerator
CN116643721B (zh) * 2023-07-27 2023-10-27 合肥硅臻芯片技术有限公司 一种随机数发生装置及发生方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930333B2 (en) * 2004-04-19 2011-04-19 Soreq Nuclear Research Center High-speed, true random-number generator
US20060010182A1 (en) * 2004-07-06 2006-01-12 Altepeter Joseph B Quantum random number generator
US7651206B2 (en) * 2006-12-19 2010-01-26 Eastman Kodak Company Output image processing for small drop printing
WO2008113067A2 (en) * 2007-03-15 2008-09-18 Johns Hopkins University Deep submicron and nano cmos single photon photodetector pixel with event based circuits for readout data-rate reduction
GB2457238B (en) * 2008-02-05 2011-01-19 Toshiba Res Europ Ltd A random number generator and random number generating method
CN103097281A (zh) * 2010-07-19 2013-05-08 因西亚瓦(控股)有限公司 微光学装置
KR101564954B1 (ko) * 2012-10-08 2015-11-02 에스케이 텔레콤주식회사 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치
US9658831B2 (en) * 2014-03-11 2017-05-23 Sony Corporation Optical random number generator and method for generating a random number
CN106687916B (zh) * 2014-07-30 2019-06-25 特伦蒂诺发展公司 真随机数生成器
CN105468332B (zh) * 2015-11-20 2017-11-28 中国科学技术大学 一种数据处理后置型的即时真随机信号发生器
DE102016215362A1 (de) * 2016-08-17 2018-02-22 Robert Bosch Gmbh Quantenzufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl mit einem Quantenzufallszahlengenerator

Also Published As

Publication number Publication date
EP3529694B1 (en) 2020-12-16
CN109804348A (zh) 2019-05-24
US20190205100A1 (en) 2019-07-04
KR20190055179A (ko) 2019-05-22
CN109804348B (zh) 2023-07-25
IT201600106164A1 (it) 2018-04-21
EP3529694A1 (en) 2019-08-28
KR102190209B1 (ko) 2020-12-14
WO2018073802A1 (en) 2018-04-26
US11080022B2 (en) 2021-08-03

Similar Documents

Publication Publication Date Title
ES2858452T3 (es) Generador mejorado de números aleatorios, en particular generador mejorado de números aleatorios verdaderos
ES2703983T3 (es) Generador de números aleatorios verdaderos
US9588737B2 (en) Random number generating method and apparatus using light source and single photon detector
US8168934B2 (en) Integrated circuit comprising an array of single photon avalanche diodes
Tisa et al. High-speed quantum random number generation using CMOS photon counting detectors
KR20180027527A (ko) Spad 어레이 구조 및 동작 방법
US20160117149A1 (en) Method and System for Generating Random Numbers
Berube et al. Development of a single photon avalanche diode (SPAD) array in high voltage CMOS 0.8 µm dedicated to a 3D integrated circuit (3DIC)
Xu et al. A $16\times 16$ Pixel Post-Processing Free Quantum Random Number Generator Based on SPADs
Shawkat et al. A digital CMOS silicon photomultiplier using perimeter gated single photon avalanche diodes with asynchronous AER readout
ES2935207T3 (es) Dispositivo y método para generar secuencias de bits aleatorios
Engelmann Dark Count Rate of Silicon Photomultipliers
US20200310759A1 (en) Random number generator and method of fabricating the same
EP3637248A1 (en) Use of a semiconductor device for the generation of random numbers
Therrien et al. Optimization of single photon avalanche diode array detectors with a custom simulator
Castro et al. Impact of dark counts in low-light level silicon photomultiplier multi-readout applications
D’Ascenzo et al. The Digital Silicon Photomultiplier
US20230353130A1 (en) Generation of quantum random numbers from single-photon avalanche diodes
Pozas-Flores et al. Design of a smart SiPM based on focal-plane processing elements for improved spatial resolution in PET
Kim et al. Characterization of silicon photomultipliers at National Nano-Fab Center for PET-MR
Yang et al. A spad array sensor based on breakdown pixel extraction architecture with background readout for scintillation detector
Incoronato et al. Linear SPAD array single-and multiple-photon coincidence-based Quantum Random Number Generator
Lin et al. A photon-counting avalanche photodiode array with fully integrated active quenching and recharging circuit
Vilella et al. Low Dark Count Geiger Mode Avalanche Photodiodes Fabricated in Conventional CMOS Technologies