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 PDF

Info

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
Application number
ES14772301.9T
Other languages
English (en)
Inventor
Pascale Böffgen
Markus Dichtl
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Application granted granted Critical
Publication of ES2644707T3 publication Critical patent/ES2644707T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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

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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. 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 mediante
    la 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. 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. 3. Procedimiento de acuerdo con la reivindicacion 1 o 2,
    en el que el circuito (10) se configura como oscilador en anillo multipista.
  4. 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-esima
    para elegir un equipo de representacion j-esimo (Kj) desde el primer equipo de representacion (K1) hasta el equipo de representacion m-esimo (Km) y
    para prescribir una funcion espedfica j-esima (gj) 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 (f1,. fj) al prescribir la funcion espedfica j- esima (gj) como funcion j-esima (fj), 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 (f1);
    - una unidad i-esima
    para 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 y
    5
    10
    15
    20
    25
    30
    35
    40
    para prescribir una funcion espedfica i-esima (gi) de entre un conjunto de representaciones biyectivas como funcion i-esima (fi), sucediendo que
    mediante 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 y
    mediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente, comenzando con la primera funcion (fi).
  5. 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 que
    mediante 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 y
    mediante 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 que
    mediante 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 y
    mediante la concatenacion i-esima, pueden aplicarse las i funciones en una secuencia ascendente. comenzando con la primera funcion (fi).
ES14772301.9T 2013-10-31 2014-09-17 Diseño de un circuito adecuado para generar bits aleatorios y circuito para generar bits aleatorios Active ES2644707T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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