ES2644707T3 - Diseño de un circuito adecuado para generar bits aleatorios y circuito para generar bits aleatorios - Google Patents
Diseño de un circuito adecuado para generar bits aleatorios y circuito para generar bits aleatorios Download PDFInfo
- Publication number
- ES2644707T3 ES2644707T3 ES14772301.9T ES14772301T ES2644707T3 ES 2644707 T3 ES2644707 T3 ES 2644707T3 ES 14772301 T ES14772301 T ES 14772301T ES 2644707 T3 ES2644707 T3 ES 2644707T3
- Authority
- ES
- Spain
- Prior art keywords
- representation
- function
- team
- esima
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DISENO DE UN CIRCUITO ADECUADO PARA GENERAR BITS ALEATORIOS Y CIRCUITO PARA
GENERAR BITS ALEATORIOS
DESCRIPCION
La invencion se refiere a un procedimiento y a un equipo para disenar un circuito adecuado para generar bits aleatorios y a un circuito para generar bits aleatorios. Se genera por ejemplo una secuencia de bits aleatorios, que se utiliza como numero binario aleatorio. El procedimiento propuesto y el equipo, asf como el circuito, sirven por ejemplo para implementar generadores de numeros aleatorios.
En aplicaciones relevantes para la seguridad, por ejemplo en procedimientos de autentificacion asimetricos, son necesarias secuencias de bits aleatorios como numeros binarios aleatorios. Al respecto se desea, en particular en aplicaciones moviles, una inversion en hardware lo mas reducida posible. Las medidas conocidas para generar numeros aleatorios utilizan fuentes aleatorias analogicas.
Como fuentes aleatorias analogicas se amplifican y digitalizan fuentes de ruidos, como por ejemplo el ruido de diodos Zener. Al respecto se unen la tecnica de conexion digital con la analogica.
Ademas se utilizan osciladores en anillo y sus variantes como generadores de numeros aleatorios. En osciladores en anillo, que estan constituidos por un numero impar de inversores conectados uno tras otro, resulta por ejemplo una jitter (fluctuacion de fase) aleatoria debido a tiempos de propagacion oscilantes de las senales a traves de los inversores. Esta jitter, es decir, una oscilacion irregular en el tiempo cuando se modifica el estado de las senales enviadas a traves de los inversores, puede acumularse cuando hay varias pasadas a traves del circuito del oscilador en anillo, con lo que en definitiva resulta una senal analogica aleatoria.
La entidad solicitante conoce un llamado oscilador en anillo multipista. En consecuencia, se propone un equipo para generar bits aleatorios que incluye: varios equipos de representacion, estando preparado el equipo de representacion correspondiente para representar una cantidad n predeterminada de senales de entrada con ayuda de una representacion combinatoria en una cantidad p predeterminada de senales de salida. Al respecto estan concatenados los equipos de representacion entre sf y esta configurado al menos un bucle de realimentacion. El bucle de realimentacion esta configurado en particular tal que una variacion del estado de al menos una senal de salida de un equipo de representacion elegido se lleva como una variacion del estado de al menos una senal de entrada a otro equipo de representacion.
Con preferencia no es el otro equipo de representacion ningun equipo de representacion directamente contiguo.
Al respecto existe en particular un bucle de realimentacion cuando una variacion de estado de al menos una senal de salida de realimentacion de un determinado equipo de representacion se lleva como una variacion de estado de al menos una senal de entrada de otro equipo de representacion tal que una o varias senales de salida del equipo de representacion determinado se ve/n influida/s por la variacion del estado de la senal de salida de realimentacion.
Ademas esta establecida al menos una representacion combinatoria tal que una variacion de estado de una senal de entrada del correspondiente equipo de representacion en promedio se reproduce en mas de una senal de salida del correspondiente equipo de representacion.
La cantidad n de senales de entrada del correspondiente equipo de representacion puede corresponderse con la cantidad p de senales de salida. No obstante, puede tambien pensarse en que n sea diferente de p, es decir, que con ayuda del correspondiente equipo de representacion se reproduzcan los estados de las senales de entrada en estados de senales de salida, siendo la cantidad de senales de salida menor o mayor que la cantidad de senales de entrada para el correspondiente equipo de representacion.
Los equipos de representacion pueden ser puertas logicas o combinatorias, que en particular realizan una representacion biyectiva de n senales de entrada en n senales de salida. Las senales de entrada oscilan entre niveles que pueden asociarse a estados logicos, como bits 1 o high (alto) o bien 0 o low (bajo). Bajo una reproduccion biyectiva se entiende una reproduccion inequvoca entre los 2n valores logicos posibles de las senales de entrada y los 2n valores logicos de las senales de salida.
En este sentido resulta con ayuda de los equipos de representacion, en unas formas de realizacion del equipo, un oscilador en anillo de n pistas. Los equipos de representacion pueden denominarse tambien nodos o puertas. La correspondiente representacion combinatoria esta realizada en particular tal que en promedio cuando tiene lugar una variacion del estado de una senal de entrada tiene lugar un cambio de estado en mas de una senal de salida. Esto da lugar a que el correspondiente jitter de la senal de entrada se reproduzca en varias senales de salida y por lo tanto se amplifique. Un jitter que se presente una sola vez en una senal, se copia con ayuda de los equipos de representacion o bien de las reproducciones combinatorias allf implementadas en varias pistas de salida, con lo que los componentes del jitter apenas pueden compensarse.
5
10
15
20
25
30
35
40
45
50
55
60
65
Se puede hablar en cuanto al equipo tambien de un circuito oscilador en anillo multipista. Frente a los osciladores en anillo clasicos de una sola pista, existe en particular la ventaja de que pueden tomarse valores de bits aleatorios con una mayor velocidad de datos. Por ejemplo puede derivarse una senal de bits aleatoria en una o varias de las rutas de datos que resultan en base a las n senales de entrada y/o salida.
Se puede decir que el equipo desarrolla "oscilaciones" o propaga cambios de senal en el circuito. Con preferencia depende al menos una de las senales de salida causalmente de sf misma, al realimentarse, realizandose la realimentacion con ayuda de al menos una representacion intercalada.
Para un tal oscilador en anillo multipista es especialmente ventajoso que no presente ningun punto fijo, ya que la existencia de un punto fijo puede dar lugar a que el anillo entre en un estado estacionario sin oscilaciones, con lo que ya no podnan generarse otros bits aleatorios.
Se conoce por el estado de la tecnica la generacion aleatoria de un circuito en anillo con una determinada longitud hasta que se encuentra un oscilador en anillo multipista sin un punto fijo.
El documento de patente US 8099449 B1 da a conocer un metodo para generar numeros aleatorios mediante una oscilacion multiplicadora con un circuito multiplicador para recibir senales de entrada asmcronas, siendo una primera senal de entrada una senal de realimentacion en base a una salida del multiplicador.
Partiendo de esta base, consiste el objetivo de la presente invencion en proporcionar un procedimiento mejorado y un equipo para disenar circuitos complejos y/o flexibles.
Este objetivo se logra de acuerdo con la invencion mediante un procedimiento, un equipo y un circuito segun las caractensticas indicadas en las reivindicaciones independientes. Otras variantes ventajosas de la invencion se indican en las reivindicaciones dependientes.
Se propone un procedimiento para disenar un circuito adecuado para generar bits aleatorios, en el que
- el circuito presenta un numero m de equipos de representacion;
- a cada uno de los equipos de representacion se lleva un numero n de bits de entrada, siendo n un valor mayor que 1;
- mediante cada uno de los equipos de representacion se ejecuta mediante la correspondiente funcion una representacion biyectiva de los n bits de entrada en n bits de salida, presentando las siguientes etapas:
(a) eleccion de un equipo de representacion j-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo y prescripcion de una funcion espedfica j-esima a partir de un conjunto de representaciones biyectivas como funcion j-esima, sucediendo que
- mediante una concatenacion j-esima de las j funciones al prescribir la funcion espedfica j-esima como funcion j-esima, se ejecuta una representacion j-esima sin puntos fijos;
- mediante la concatenacion j-esima, se aplican las j funciones en una secuencia ascendente, comenzando con la primera funcion;
(b) eleccion de al menos un equipo de representacion i-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo, siendo i diferente de j y prescripcion de una funcion espedfica i-esima a partir de un conjunto de representaciones biyectivas como funcion i-esima, sucediendo que
- mediante una concatenacion i-esima de las i funciones al prescribir la funcion espedfica i-esima como funcion i-esima, se ejecuta una representacion i-esima sin puntos fijos;
- mediante la concatenacion i-esima, se aplican las i funciones en una secuencia ascendente, comenzando con la primera funcion.
Por lo tanto discurren por ejemplo n senales a traves de un circuito con forma anular con m equipos de representacion, denominados tambien nodos. Cada nodo esta formado por puertas logicas. Cada nodo tiene n bits de input (entrada) y output (salida). Los nodos estan elegidos tal que su representacion de los n bits de input sobre los n bits de output significa una representacion biyectiva o biyeccion, es decir, cuando los inputs asumen todos los 2n valores posibles, asumen tambien los outputs todos los 2n valores posibles, desde luego en general en otra secuencia.
El circuito es en particular un oscilador anular multipista. En particular origina una variacion de estado de una senal de entrada del correspondiente equipo de representacion en promedio una variacion en mas de una senal de salida.
5
10
15
20
25
30
35
40
45
50
55
60
65
Para asegurar que un tal circuito con forma anular - denominado abreviadamente anillo - oscila continuamente, no tiene que tener el circuito ningun punto fijo. Para describir con mas exactitud las circunstancias del punto fijo, se separa el anillo en un punto cualquiera, pero que sea fijo, entre los nodos.
Entonces se tiene un circuito con n bits de input (entrada), que a traves de m nodos, de los cuales cada uno ejecuta una representacion biyectiva fi para un mdice i que tiene los valores 1 a m de n bits de entrada en n bits de salida, aporta tras el nodo m-esimo n bits de output (salida).
En particular, resulta una m-esima representacion o representacion global fm' del anillo dividido mediante una concatenacion m-esima fm' = fm° f m-i° f m-2° ... °f2° fi, leyendose en la presente solicitud una concatenacion de funciones de derecha a izquierda, es decir, se aplica primero fi, a continuacion f2, etc. Aplicar significa aqu que la primera funcion fi se aplica a una primera tupla de entrada en el primer equipo de representacion, que esta formado por los n bits de entrada, es decir, la primera tupla de entrada se representa en una primera tupla de salida, segun una norma de representacion de la primera funcion. La segunda funcion se aplica en particular a la primera tupla de salida, que forma asf una segunda tupla de entrada para el segundo equipo de representacion. El segundo equipo de representacion proporciona a continuacion una segunda tupla de salida. Luego se aplica una tercera funcion, por ejemplo a la segunda tupla de salida, etc.
El anillo completo queda entonces exactamente libre de puntos fijos cuando para todas las posibles n tuplas x como primera tupla de entrada es fm'(x) t x.
En texto, esto significa que para todas las posibles n tuplas x, la primera tupla de entrada no es igual a la tupla de salida m-esima en el equipo de representacion m-esimo.
De acuerdo con la invencion, se elige como funcion j-esima del equipo de representacion j-esimo una funcion espedfica j-esima de un conjunto de representaciones biyectivas, con lo que mediante una concatenacion j-esima de las j funciones se realiza una representacion j-esima libre de puntos fijos. Se buscan biyecciones de n a n bits como candidatos para la funcion j-esima hasta que se encuentra una funcion j-esima espedfica que cumple la condicion de que la concatenacion de todas las funciones precedentes en el anillo hasta la funcion j-esima esta libre de puntos fijos y la misma se utiliza como funcion j-esima. Por ejemplo puede realizarse la busqueda de la funcion j-esima aleatoriamente.
A continuacion se elige al menos un equipo de representacion i-esimo desde el primer hasta el m-esimo equipo de representacion, siendo i t de j. A la funcion i-esima se asocia una funcion espedfica i-esima de entre un conjunto de representaciones biyectivas, con lo que mediante una concatenacion i-esima de las i funciones se realiza una representacion i-esima libre de puntos fijos.
Tambien entonces se analizan biyecciones de n a n bits como candidatos para la funcion i-esima, hasta que para todas las posibles n tuplas x la aplicacion de la concatenacion de la primera hasta la i-esima funcion sobre la primera tupla de entrada aporta una tupla de salida i-esima, que es distinta de la primera tupla de entrada. Por ejemplo puede realizarse la busqueda de la funcion i-esima aleatoriamente.
Se analiza entonces por lo tanto la representacion de la primera tupla de entrada en la tupla de salida i- esima, es decir, la concatenacion i-esima de la primera funcion hasta la funcion i-esima en relacion con la caractenstica de libre de puntos fijos. Puede considerarse por lo tanto en particular una concatenacion parcial dentro del circuito.
El procedimiento descrito hace posible un diseno eficiente de circuitos con forma anular de cualquier longitud y que pueden acortarse flexiblemente para generar bits aleatorios.
El circuito disenado segun el procedimiento descrito hace posible la conmutacion flexible de la realimentacion desde la salida del equipo de representacion j-esimo a la entrada del primer equipo de representacion a una realimentacion desde la salida del equipo de representacion i-esimo a la entrada del primer equipo de representacion. Entonces se forman con ambas realimentaciones anillos libres de puntos fijos.
Segun un perfeccionamiento, se elige basandose en el procedimiento de diseno antes descrito, cada uno de los m-i equipos de representacion a partir del primer equipo de representacion hasta el equipo de representacion m-esimo y una funcion espedfica correspondiente se asocia a la correspondiente funcion, con lo que cada concatenacion fj'= fj°...°f1 para todos los j de 1 a m, inclusive 1 y m, significa una representacion libre de puntos fijos de la primera tupla de entrada. Para la primera funcion f es suficiente entonces elegir una funcion libre de puntos fijos, ya que para crear la primera tupla de salida no se utiliza ninguna concatenacion. Con ello resulta una flexibilidad especialmente alta al acortar el circuito.
El circuito asf disenado hace posible la utilizacion de un oscilador anular u oscilador anular multipista con longitud flexible. Es posible disenar, a partir del anillo libre de puntos fijos disenado mediante el procedimiento descrito, sin necesidad de puertas adicionales, anillos libres de puntos fijos de longitud variable. Por ejemplo se obtiene, mediante realimentacion de los bits de salida de un nodo i-esimo
5
10
15
20
25
30
35
40
45
50
55
60
65
cualquiera de entre los m nodos a las entradas del primer nodo, anillos libres de puntos fijos de la longitud i, es decir, longitudes con valores de 1 a m.
Para un anillo elegido aleatoriamente con por ejemplo 100 nodos y en cada caso 4 bits de entrada y de salida, la probabilidad de obtener un anillo libre de puntos fijos, que tambien pueda acortarse hasta cualquier longitud, manteniendo con ello su caractenstica de libre de puntos fijos, solo es de aprox. 2,53 x 10-43 Un tal procedimiento no sena realizable. Por el contrario se indica segun el procedimiento descrito una solucion iterativa eficiente.
El procedimiento iterativo descrito se utiliza solo una vez en el diseno del anillo. Posteriores reestructuraciones que acortan el anillo, por ejemplo desde una longitud de j equipos de representacion, encontrandose j entre 1 y m o pudiendo ser m, a i equipos de representacion con i mayor o igual a 1 e inferior a j, no originan, ventajosamente, ningun nuevo coste para asegurar la existencia de un oscilador libre de puntos fijos.
Segun una variante, se configura el circuito como oscilador de anillo multipista. Esto posibilita el diseno eficiente de un circuito libre de puntos fijos, en el que existe una gran cantidad n de bits de entrada por cada equipo de representacion y debiendo ser posible una realimentacion variable al primer equipo de representacion, con lo que tambien el anillo acortado mediante la realimentacion esta libre de puntos fijos.
La invencion se refiere ademas a un equipo para disenar un circuito adecuado para generar bits aleatorios, en el que
- el circuito presenta un numero m de equipos de representacion;
- cada uno de los equipos de representacion recibe un numero n de bits de entrada, siendo n un valor mayor que 1;
- mediante cada uno de los equipos de representacion puede ejecutarse mediante la correspondiente funcion una representacion biyectiva de los n bits de entrada en n bits de salida, incluyendo:
una unidad j-esima
para elegir un equipo de representacion j-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo y
para prescribir una funcion espedfica j-esima a partir de un conjunto de representaciones biyectivas como funcion j-esima, sucediendo que
mediante una concatenacion j-esima de las j funciones al prescribir la funcion espedfica j-esima como funcion j-esima, puede ejecutarse una representacion j-esima sin puntos fijos y
mediante la concatenacion j-esima, pueden aplicarse las j funciones en una secuencia ascendente, comenzando con la primera funcion;
- una unidad i-esima
para elegir al menos otro equipo de representacion i-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo, siendo i diferente de j y
para prescribir una funcion espedfica i-esima de entre un conjunto de representaciones biyectivas como funcion i-esima, sucediendo que
mediante una concatenacion i-esima de las i funciones al prescribir la funcion espedfica i-esima como funcion i-esima, puede ejecutarse una representacion i-esima sin puntos fijos y
mediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente comenzando con la primera funcion.
Con ayuda del equipo propuesto se determina un circuito de utilizacion flexible. Pueden generarse sin coste adicional en cuanto a puertas dentro del circuito, mediante conmutacion adecuada de las lmeas de union, anillos libres de puntos fijos de longitud variable. Con un anillo de la longitud m determinado con ayuda del equipo propuesto, se dispone de anillos flexibles tambien adecuados con longitudes inferiores.
La unidad j-esima y la unidad i-esima pueden estar implementadas en tecnica de hardware y/o tambien en tecnica de software. En una implementacion en tecnica de hardware puede estar configurada la correspondiente unidad como equipo o como parte de un equipo, por ejemplo como ordenador o como microprocesador. En una implementacion en tecnica de software puede estar configurada la correspondiente unidad como producto de programa de ordenador, como una funcion, como una rutina, como parte de un codigo de programa o como objeto que puede ejecutarse.
5
10
15
20
25
30
35
40
45
50
55
60
65
La invencion se refiere ademas a un circuito para generar bits aleatorios, en el que
- el circuito presenta un numero m de equipos de representacion;
- cada uno de los equipos de representacion recibe un numero n de bits de entrada, siendo n un valor mayor que 1;
- mediante cada uno de los equipos de representacion puede ejecutarse mediante la correspondiente funcion una representacion biyectiva de los n bits de entrada en n bits de salida;
- puede elegirse un equipo de representacion j-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo y puede prescribirse como la funcion j-esima una funcion espedfica j-esima a partir de un conjunto de representaciones biyectivas, sucediendo que
mediante una concatenacion j-esima de las j funciones al prescribir la funcion espedfica j-esima como funcion j-esima, puede ejecutarse una representacion j-esima sin puntos fijos y
mediante la concatenacion j-esima, pueden aplicarse las j funciones en una secuencia ascendente, comenzando con la primera funcion;
- puede elegirse al menos otro equipo de representacion i-esimo desde el primer equipo de representacion hasta el equipo de representacion m-esimo, siendo i diferente de j y puede prescribirse como funcion i-esima una funcion espedfica i-esima de entre un conjunto de representaciones biyectivas, sucediendo que
mediante una concatenacion i-esima de las i funciones al prescribir la funcion espedfica i-esima como funcion i-esima, puede ejecutarse una representacion i-esima sin puntos fijos y
mediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente comenzando con la primera funcion.
El circuito propuesto o el anillo propuesto de la longitud m se puede acortar flexiblemente sin necesitar puertas adicionales. Puede conmutarse entre una realimentacion desde la salida del equipo de representacion j-esima hasta la entrada del primer equipo de representacion a una realimentacion desde la salida del equipo de representacion i-esimo hasta la entrada del primer equipo de representacion. Ambos anillos generados estan libres de puntos fijos.
Puede ser en particular procedente mantener flexible la longitud del anillo, para poder influir sobre el consumo de corriente del anillo. Otra ventaja adicional de los anillos con longitud variable es que, puesto que los osciladores en anillo multipista muy cortos tienden a oscilaciones periodicas en vez de caoticas, con un anillo de acuerdo con la invencion puede buscarse un anillo corto en el que se presentan oscilaciones caoticas sin modificar las funciones logicas.
La invencion se describira a continuacion mas en detalle con un ejemplo de realizacion en base a una figura.
Se muestra en:
figura 1 una representacion esquematica de un circuito segun un ejemplo de realizacion de la invencion.
En la figura se representa un circuito 10 con un numero m, m = 4, de equipos de representacion Ki, K2, K3 = Kj, K4 = Ki = Km.
A modo de ejemplo se genera un circuito de la longitud 4 y el mismo se cierra para formar un anillo. En la figura se representa un oscilador en anillo multipista con tres pistas (n = 3).
En el primer equipo de representacion Ki se elige una biyeccion aleatoria como primera funcion fi, con lo que la primera representacion esta libre de puntos fijos. Con ello se ha encontrado una primera funcion espedfica gi. En el segundo equipo de representacion K2 se elige una biyeccion como segunda funcion f2, con lo que la segunda concatenacion f2' de la primera funcion fi y la segunda funcion f2 esta libre de puntos fijos. Con ello se ha encontrado una segunda funcion espedfica g2. Igualmente se elige en el tercer equipo de representacion K3 una biyeccion como tercera funcion f3, con lo que la tercera concatenacion f3' de la primera funcion fi, segunda funcion f2 y tercera funcion f3 esta libre de puntos fijos. Con ello se ha encontrado una tercera funcion espedfica g3. Igualmente se elige en el cuarto equipo de representacion K4 una biyeccion como cuarta funcion f4, con lo que la cuarta concatenacion f4' de la primera funcion fi, segunda funcion f2, tercera funcion f3 y cuarta funcion f4 esta libre de puntos fijos. Con ello se ha encontrado una cuarta funcion espedfica g4.
El siguiente fragmento VHDL muestra como esta constituido un anillo de 4 pistas de la longitud 4 de Spartan-3 Look-Up-Tables (tablas de busqueda), abreviadamente LUTs, para un chip Xilinx. Cada uno de los equipos de representacion Ki, K2, K3, K4 esta compuesto por 4 LUTs, representando cada LUT los 4
5
10
15
20
25
30
35
40
45
50
55
60
65
bits de input (entrada) sobre un bit de output (salida). La representacion en cada equipo de representacion Ki, K2, K3, K4 es una biyeccion del conjunto de todas las tuplas de 4 bits sobre el conjunto de todas las tuplas de 4 bits.
- LUT4: 4-input Look-Up Table with general output (tabla de busqueda de 4 entradas con salida general)
- Spartan-3
- Xilinx HDL Libraries Guide (gma de librerias), version 12.2 LUT0inst:LUT4
mapeo generico (generic map) (INIT > x"c92e") mapeo de puertos (port map)
(O > salida (4), I0 > salida (0), I1 > salida (1), I2 > salida (2), I 3 > salida (3));
LUT1inst:LUT4
mapeo generico (INIT > x"a8da") mapeo de puertos
(O > salida (5), I0 > salida (0), I1 > salida (1), I2 > salida (2), I 3 > salida (3));
LUT2inst:LUT4
mapeo generico (INIT > x"b1a3") mapeo de puertos
(O > salida (6), I0 > salida (0), I1 > salida (1), I2 > salida (2), I 3 > salida (3));
LUT3inst:LUT4
mapeo generico (INIT > x"44eb") mapeo de puertos
(O>salida (7), I0 > salida (0), I1 > salida (1), I2 > salida (2), I 3 > salida (3));
LUT4inst:LUT4
mapeo generico (INIT > x"21b7") mapeo de puertos
(O > salida (8), I0 > salida (4), I1 > salida (5), I2 > salida (6), I 3 > salida (7));
LUT5inst:LUT4
mapeo generico (INIT > x"7a23") mapeo de puertos
(O > salida (9), I0 > salida (4), I1 > salida (5), I2 > salida (6), I 3 > salida (7));
LUT6inst:LUT4
mapeo generico (INIT > x"1d0f") mapeo de puertos
(O > salida (10), I0 > salida (4), I1 > salida (5), I2 > salida (6), I3 > salida (7));
LUT7inst:LUT4
mapeo generico (INIT > x"cda2") mapeo de puertos
(O > salida (11), IO > salida (4), I1 > salida (5), I2 > salida (6), I3 > salida(7));
LUT8inst:LUT4
mapeo generico (INIT > x"6d2c") mapeo de puertos
(O > salida (12), IO > salida (8), I1 > salida (9), I2 > salida (10), I3 > salida (11));
LUT9inst:LUT4
mapeo generico (INIT > x"5f81") mapeo de puertos
(O > salida (13), I0 > salida (8), I1 > salida (9), I2 > salida (10) , I3 > salida (11));
LUT10inst:LUT4 mapeo generico mapeo de puertos
(O > salida (14), I0 > salida (8), I1 > salida (9), I2 > salida (10), I3 > salida (11));
LUT11inst:LUT4
mapeo generico (INIT > x"7658") mapeo de puertos
(O > salida (15), I0 > salida (8), I1 > salida (9), I2 > salida (10) , I3 > salida (11));
5
10
15
20
25
30
35
40
45
LUT12inst:LUT4
mapeo generico (INIT > x"1c5e")
mapeo de puertos
(O > salida (16), I0 > salida (12), I1 > salida (13), I2 > salida (1 4), I3 > salida (15));
LUT13inst:LUT4
mapeo generico (INIT > x"16e9") mapeo de puertos
(O > salida (17), I0 > salida (12), I1 > salida (13), I2>salida (1 4), I3>salida (15));
LUT14inst:LUT4
mapeo generico (INIT > x"9353") mapeo de puertos
(O > salida (18), I0 > salida (12), I1 > salida (13), I2 > salida (14), I3 > salida (15);
LUT15inst:LUT4
mapeo generico (INIT > x"bc31")
mapeo de puertos
(O > salida (19), I0 > salida (12), I1 > salida (13), I2 > salida(14), I3 > salida (15));
La funcion logica de la LUT se adjunta entonces como parametro hexadecimal en forma de una tabla de valores de 16 bits como el llamado parametro INIT, por ejemplo INIT > x"bc31" para la ultima LUT.
Con las siguientes 4 instrucciones puede transformarse el circuito 10 en un anillo libre de puntos fijos de la longitud 4 con el primer equipo de representacion K1, el segundo equipo de representacion K2, el tercer equipo de representacion K3 y el cuarto equipo de representacion K4:
salida (0) < salida (16); salida (1) < salida (17); salida (2) < salida (18); salida (3) < salida (19);
Con las siguientes 4 asignaciones puede acortarse por ejemplo el circuito 10 en un anillo libre de puntos fijos de la longitud 2 con el primer equipo de representacion K1 y el segundo equipo de representacion K2:
salida (0) < salida (8); salida (1) < salida (9); salida (2) < salida (10); salida (3) < salida(11);
Asf es posible una conmutacion flexible entre las longitudes 4 y 2.
Puesto que esta conmutacion flexible es posible para cualesquiera longitudes y para cualesquiera acortamientos, puede por ejemplo reducirse el consumo de corriente claramente mediante la conmutacion y con ello adaptarse a exigencias a formular a un generador de numeros aleatorios en funcion del campo de aplicacion, sin que sea necesario un nuevo diseno del circuito 10.
Claims (5)
- 5101520253035404550556065REIVINDICACIONES1. Procedimiento para disenar un circuito (10) adecuado para generar bits aleatorios, en el que- el circuito (10) presenta un numero m de equipos de representacion (Ki, K2,. Kj,. Ki,... Km);- a cada uno de los equipos de representacion (K1, k2,. Kj,. Ki,... Km) se lleva un numero n de bits de entrada, siendo n un valor mayor que 1;- mediante cada uno de los equipos de representacion (K1, K2,... Kj,. Ki,. Km) se ejecuta mediantela correspondiente funcion f f2,. fj,.fi,., fm) una representacion biyectiva de los n bits de entrada en n bits de salida, presentando las siguientes etapas:(a) eleccion de un equipo de representacion j-esimo (Kj) desde el primer equipo de representacion (K1) hasta el equipo de representacion m-esimo (Km) y prescripcion de una funcion espedfica j- esima (gi) a partir de un conjunto de representaciones biyectivas como funcion j-esima (fj), sucediendo que- mediante una concatenacion j-esima (fj) de las j funciones (1,. fj) al prescribir la funcion espedfica j-esima (gj) como funcion j-esima (fj), se ejecuta una representacion j-esima sin puntos fijos;- mediante la concatenacion j-esima, se aplican las j funciones en una secuencia ascendente, comenzando con la primera funcion (fi);(b) eleccion de al menos un equipo de representacion i-esimo (Ki) desde el primer equipo de representacion (K1) hasta el equipo de representacion m-esimo (Km), siendo i diferente de j y prescripcion de una funcion espedfica i-esima (gi) a partir de un conjunto de representaciones biyectivas como funcion i-esima (fi), sucediendo que- mediante una concatenacion i-esima (fi') de las i funciones (1,. fi) al prescribir la funcion espedfica i-esima (gi) como funcion i-esima (fi), se ejecuta una representacion i-esima sin puntos fijos;- mediante la concatenacion i-esima, se aplican las i funciones en una secuencia ascendente comenzando con la primera funcion (f1).
- 2. Procedimiento de acuerdo con la reivindicacion 1, en el que- se elige cada uno de los m equipos de representacion de entre el primer equipo de representacion(K1) hasta el equipo de representacion m-esimo (Km) y se prescribe segun las etapas (a) o (b) una funcion espedfica correspondiente (g1, g2,. gj,.gi,., gm) como la correspondiente funcion (f1, f2,. fj,.fi__fm).
- 3. Procedimiento de acuerdo con la reivindicacion 1 o 2,en el que el circuito (10) se configura como oscilador en anillo multipista.
- 4. Equipo para disenar un circuito (10) adecuado para generar bits aleatorios,en el que- el circuito (10) presenta un numero m de equipos de representacion (K1, K2,. Kj, ... Ki, ... Km);- cada uno de los equipos de representacion (K1, K2,. Kj,. Ki, ... Km) recibe un numero n de bits de entrada, siendo n un valor mayor que 1;- mediante cada uno de los equipos de representacion (K1, K2,. Kj, ... Ki, ... Km) puede ejecutarse mediante la correspondiente funcion (f1, f2, ... fj, .fi,., fm) una representacion biyectiva de los n bits de entrada en n bits de salida,incluyendo:- una unidad j-esimapara elegir un equipo de representacion j-esimo (Kj) desde el primer equipo de representacion (K1) hasta el equipo de representacion m-esimo (Km) ypara prescribir una funcion espedfica j-esima (gj) a partir de un conjunto de representaciones biyectivas como funcion j-esima (fj), sucediendo quemediante una concatenacion j-esima (fj') de las j funciones (f1,. fj) al prescribir la funcion espedfica j- esima (gj) como funcion j-esima (fj), puede ejecutarse una representacion j-esima sin puntos fijos ymediante la concatenacion j-esima, pueden aplicarse las j funciones en una secuencia ascendente, comenzando con la primera funcion (f1);- una unidad i-esimapara elegir al menos otro equipo de representacion i-esimo (Ki) de entre el primer equipo de representacion (K1) hasta el equipo de representacion m-esimo (Km), siendo i diferente de j y510152025303540para prescribir una funcion espedfica i-esima (gi) de entre un conjunto de representaciones biyectivas como funcion i-esima (fi), sucediendo quemediante una concatenacion i-esima (fi') de las i funciones (fi,... fi) al prescribir la funcion espedfica i- esima (gi) como funcion i-esima (fi), puede ejecutarse una representacion i-esima sin puntos fijos ymediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente, comenzando con la primera funcion (fi).
- 5. Circuito (10) para generar bits aleatorios, en el que- el circuito (10) presenta un numero m de equipos de representacion (Ki, K2,... Kj, ... Ki, ... Km);- cada uno de los equipos de representacion (Ki, K2,... Kj, ... Ki, ... Km) recibe un numero n de bits de entrada, siendo n un valor mayor que 1;caracterizado porque- mediante cada uno de los equipos de representacion (Ki, K2,... Kj, ... Ki, ... Km) puede ejecutarse mediante la correspondiente funcion (fi, f2, ... fj, .fi,., fm) una representacion biyectiva de los n bits de entrada en n bits de salida;- puede elegirse un equipo de representacion j-esimo (Kj) desde el primer equipo de representacion (Ki) hasta el equipo de representacion m-esimo (Km) y puede prescribirse como la funcion j- esima (fj) una funcion espedfica j-esima (gj) a partir de un conjunto de representaciones biyectivas,sucediendo quemediante una concatenacion j-esima (fj') de las j funciones (fi,. fi) al prescribir la funcion espedfica j-esima (gj) como funcion j-esima (fj), puede ejecutarse una representacion j-esima sin puntos fijos ymediante la concatenacion j-esima pueden aplicarse las j funciones en una secuencia ascendente, comenzando con la primera funcion (fi);- puede elegirse al menos otro equipo de representacion i-esimo (Ki) desde el primer equipo de representacion (Ki) hasta el equipo de representacion m-esimo (Km), siendo i diferente de j y puede prescribirse como funcion i-esima (fi) una funcion espedfica i-esima (gi) de entre un conjunto de representaciones biyectivas, sucediendo quemediante una concatenacion i-esima (fi') de las i funciones (fi,. fi) al prescribir la funcion espedfica i-esima (gi) como funcion i-esima (fi), puede ejecutarse una representacion i-esima sin puntos fijos ymediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente. comenzando con la primera funcion (fi).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013222218 | 2013-10-31 | ||
DE102013222218.1A DE102013222218A1 (de) | 2013-10-31 | 2013-10-31 | Konstruieren einer Schaltung geeignet zur Erzeugung von Zufallsbits und Schaltung zur Erzeugung von Zufallsbits |
PCT/EP2014/069756 WO2015062780A1 (de) | 2013-10-31 | 2014-09-17 | Konstruieren einer schaltung geeignet zur erzeugung von zufallsbits und schaltung zur erzeugung von zufallsbits |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2644707T3 true ES2644707T3 (es) | 2017-11-30 |
Family
ID=50625776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14772301.9T Active ES2644707T3 (es) | 2013-10-31 | 2014-09-17 | Diseño de un circuito adecuado para generar bits aleatorios y circuito para generar bits aleatorios |
Country Status (6)
Country | Link |
---|---|
US (1) | US10157248B2 (es) |
EP (1) | EP3028140B1 (es) |
CN (1) | CN105659207B (es) |
DE (1) | DE102013222218A1 (es) |
ES (1) | ES2644707T3 (es) |
WO (1) | WO2015062780A1 (es) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014209689A1 (de) * | 2014-05-21 | 2015-11-26 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
DE102014221827A1 (de) * | 2014-10-27 | 2016-05-12 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
DE102017223099A1 (de) | 2017-12-18 | 2019-06-19 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Übertragen von Daten zwischen einem ersten und einem zweiten Netzwerk |
EP3502806A1 (de) | 2017-12-22 | 2019-06-26 | Siemens Aktiengesellschaft | Verfahren zum schutz der produktionsdaten zur herstellung eines produkts |
EP3503493A1 (de) | 2017-12-22 | 2019-06-26 | Siemens Aktiengesellschaft | Kommunikationsvorrichtung und verfahren zum verarbeiten eines netzwerkpakets |
EP3506143B1 (en) | 2017-12-27 | 2024-02-14 | Siemens Aktiengesellschaft | Interface for a hardware security module |
EP3509247A1 (de) | 2018-01-03 | 2019-07-10 | Siemens Aktiengesellschaft | Verfahren und schlüsselgenerator zum rechnergestützten erzeugen eines gesamtschlüssels |
EP3509004A1 (en) | 2018-01-03 | 2019-07-10 | Siemens Aktiengesellschaft | Adaption of mac policies in industrial devices |
EP3514743A1 (en) | 2018-01-22 | 2019-07-24 | Siemens Aktiengesellschaft | Device and method for providing instruction data for manufacturing an individualized product |
EP3534282A1 (de) | 2018-03-01 | 2019-09-04 | Siemens Aktiengesellschaft | Verfahren und sicherheitsmodul zum rechnergestützten ausführen von programmcode |
EP3557463B1 (de) | 2018-04-16 | 2020-10-21 | Siemens Aktiengesellschaft | Verfahren und ausführungsumgebung zum ausführen von programmcode auf einem steuergerät |
EP3562194B1 (en) | 2018-04-23 | 2021-07-28 | Siemens Aktiengesellschaft | Method for identifying at least one network slice configuration of a mobile network, communication system, and automation system |
EP3562090B1 (en) | 2018-04-25 | 2020-07-01 | Siemens Aktiengesellschaft | Data processing device for processing a radio signal |
EP3561713B1 (en) | 2018-04-25 | 2022-07-13 | Siemens Aktiengesellschaft | Retrieval device for authentication information, system and method for secure authentication |
EP3561709B1 (en) | 2018-04-25 | 2020-07-29 | Siemens Aktiengesellschaft | Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus |
EP3562116A1 (en) | 2018-04-26 | 2019-10-30 | Siemens Aktiengesellschaft | Cryptographic key exchange or key agreement involving a device without network access |
EP3570489B1 (en) | 2018-05-18 | 2020-04-08 | Siemens Aktiengesellschaft | Device and method for transforming blockchain data blocks |
DK3584654T3 (da) | 2018-06-19 | 2020-08-10 | Siemens Ag | Hierarkisk fordelt ledger |
EP3598364A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Timing constraint for transactions of a distributed database system |
EP3598365A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Traffic shaping for transactions of a distributed database system |
EP3598363A1 (en) | 2018-07-17 | 2020-01-22 | Siemens Aktiengesellschaft | Resource reservation for transactions of a distributed database system |
EP3599740A1 (de) | 2018-07-25 | 2020-01-29 | Siemens Aktiengesellschaft | Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank |
EP3609148A1 (de) | 2018-08-06 | 2020-02-12 | Siemens Aktiengesellschaft | Verfahren und netzwerkknoten zur verarbeitung von messdaten |
EP3609240A1 (de) | 2018-08-09 | 2020-02-12 | Siemens Aktiengesellschaft | Computerimplementiertes verfahren und netzwerkzugangsserver zum verbinden einer netzwerkkomponente mit einem netzwerk, insbesondere einem mobilfunknetz, mit einem erweiterten netzwerkzugangskennzeichen |
EP3614319A1 (en) | 2018-08-20 | 2020-02-26 | Siemens Aktiengesellschaft | Tracking execution of an industrial workflow of a petri net |
EP3629332A1 (de) | 2018-09-28 | 2020-04-01 | Siemens Aktiengesellschaft | Sicheres ausgeben einer substanz |
EP3633914A1 (de) | 2018-10-05 | 2020-04-08 | Siemens Aktiengesellschaft | Verfahren und system zur nachweisbaren datenverarbeitung unter anwendung von obfuskation |
EP3637345A1 (de) | 2018-10-10 | 2020-04-15 | Siemens Aktiengesellschaft | Verknüpfung von identitäten in einer verteilten datenbank |
EP3687209A1 (en) | 2019-01-25 | 2020-07-29 | Siemens Aktiengesellschaft | Secure multi-hop communication paths |
EP3693918A1 (en) | 2019-02-08 | 2020-08-12 | Siemens Gamesa Renewable Energy A/S | Operational data of an energy system |
EP3736715A1 (en) | 2019-05-10 | 2020-11-11 | Siemens Aktiengesellschaft | Managing admission to a distributed database based on a consensus process |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990025790A (ko) * | 1997-09-18 | 1999-04-06 | 이계철 | 다중궤환 루프 링발진기 및 그 지연셀 |
CA2327911A1 (en) * | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Obscuring functions in computer software |
US7411997B2 (en) | 2001-03-26 | 2008-08-12 | Japan Science And Technology Corporation | Apparatus and method for filtering a spectrum spread communication |
DE60220498T2 (de) | 2001-03-27 | 2007-09-20 | Seiko Epson Corp. | Ansteuerschaltung für piezoelektrischen aktor |
JP2006072891A (ja) | 2004-09-06 | 2006-03-16 | Sony Corp | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 |
DE102004047425B4 (de) | 2004-09-28 | 2007-06-21 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
JP4445475B2 (ja) * | 2006-02-03 | 2010-04-07 | 株式会社東芝 | 発振器、pll発振器、無線装置 |
US8099449B1 (en) | 2007-10-04 | 2012-01-17 | Xilinx, Inc. | Method of and circuit for generating a random number using a multiplier oscillation |
DE102008018678B4 (de) | 2008-04-14 | 2011-02-03 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge |
CN103034472B (zh) | 2012-12-12 | 2016-01-27 | 深圳国微技术有限公司 | 一种真随机数发生器 |
EP2799980A3 (de) | 2013-05-03 | 2014-11-19 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
DE102013208152A1 (de) | 2013-05-03 | 2014-11-20 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
-
2013
- 2013-10-31 DE DE102013222218.1A patent/DE102013222218A1/de not_active Withdrawn
-
2014
- 2014-09-17 WO PCT/EP2014/069756 patent/WO2015062780A1/de active Application Filing
- 2014-09-17 CN CN201480059738.3A patent/CN105659207B/zh not_active Expired - Fee Related
- 2014-09-17 US US15/033,630 patent/US10157248B2/en not_active Expired - Fee Related
- 2014-09-17 ES ES14772301.9T patent/ES2644707T3/es active Active
- 2014-09-17 EP EP14772301.9A patent/EP3028140B1/de not_active Not-in-force
Also Published As
Publication number | Publication date |
---|---|
WO2015062780A1 (de) | 2015-05-07 |
US20160253438A1 (en) | 2016-09-01 |
EP3028140B1 (de) | 2017-08-02 |
US10157248B2 (en) | 2018-12-18 |
DE102013222218A1 (de) | 2014-05-22 |
CN105659207B (zh) | 2018-05-22 |
CN105659207A (zh) | 2016-06-08 |
EP3028140A1 (de) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2644707T3 (es) | Diseño de un circuito adecuado para generar bits aleatorios y circuito para generar bits aleatorios | |
ES2619686T3 (es) | Equipo y procedimiento para generar bits aleatorios | |
Fredricksen | A survey of full length nonlinear shift register cycle algorithms | |
Ponraj et al. | k-Difference cordial labeling of graphs | |
US20140250160A1 (en) | Random number generator | |
KR20140108362A (ko) | 난수 발생기 | |
JP5800422B2 (ja) | 連想メモリ | |
ODonnell et al. | A composition theorem for parity kill number | |
Dragon et al. | The grandmama de Bruijn sequence for binary strings | |
TWI220219B (en) | Oscillator bias variation mechanism | |
Amir et al. | Positive speed for high-degree automaton groups | |
CN105354008A (zh) | 一种随机数生成器的输出电路及输出方法 | |
Goldreich et al. | On randomness extraction in AC0 | |
Sawada et al. | De Bruijn sequences for the binary strings with maximum density | |
US7298811B2 (en) | Synchronous frequency dividers and components therefor | |
TWI662471B (zh) | 真實隨機數產生裝置及其產生方法 | |
JP2009259013A (ja) | 擬似乱数生成装置 | |
US9116764B2 (en) | Balanced pseudo-random binary sequence generator | |
Limniotis et al. | De Bruijn sequences and suffix arrays: Analysis and constructions | |
Tan et al. | On the Fourier spectra of new APN functions | |
JP2019016321A (ja) | 乱数生成回路 | |
Fisher et al. | Generation of finite inductive, pseudo random, binary sequences | |
US20230333818A1 (en) | Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy | |
Kanovei et al. | Effective compactness and sigma-compactness | |
Li et al. | Properties of the cycles that contain all vectors of weight≤ k |