ES2566922T3 - Generación de número aleatorio - Google Patents

Generación de número aleatorio Download PDF

Info

Publication number
ES2566922T3
ES2566922T3 ES07804224.9T ES07804224T ES2566922T3 ES 2566922 T3 ES2566922 T3 ES 2566922T3 ES 07804224 T ES07804224 T ES 07804224T ES 2566922 T3 ES2566922 T3 ES 2566922T3
Authority
ES
Spain
Prior art keywords
ram
lfsr
bits
output
read
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
ES07804224.9T
Other languages
English (en)
Inventor
Emam Omar
Peter Bennie
James Stuart Glanfield
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.)
Airbus Defence and Space Ltd
Original Assignee
Airbus Defence and Space Ltd
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
Priority claimed from GB0618019A external-priority patent/GB0618019D0/en
Priority claimed from EP06270084A external-priority patent/EP1901477A1/en
Application filed by Airbus Defence and Space Ltd filed Critical Airbus Defence and Space Ltd
Application granted granted Critical
Publication of ES2566922T3 publication Critical patent/ES2566922T3/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

Método de generación de un número aleatorio en un vehículo espacial que incluye las etapas de: - proporcionar una RAM que tiene una salida que puede emitir una serie de bits en el que la serie de bits de salida es susceptible al cambio tras el impacto sobre la RAM de partículas de radiación que se producen libremente en espacio; exponer la RAM a dicha radiación durante un periodo suficiente para cambiar al menos uno de los bits, y leer de la salida la serie de bits tal como cambia mediante dicha radiación, mediante lo cual se produzca el número aleatorio.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
Generacion de numero aleatorio
Esta invencion se refiere a la generacion de numero aleatorio y, en particular, a la generacion de numeros aleatorios para su uso en criptografla para comunicaciones seguras con un vehlculo espacial o vehlculo situado o que se desplaza por la frontera del espacio. El termino “espacio” se usa a continuacion en el presente documento para significar el espacio o una region relativamente cerca de la Tierra u otro planeta pero que esta sustancialmente fuera de la ionosfera de ese planeta y el termino “vehlculo espacial” significa un vehlculo situado o que se desplaza por el espacio tal como se ha definido por tanto.
Se usan comunicaciones seguras, ya sea entre dos o mas vehlculos espaciales o entre un vehlculo espacial tal como un satelite y la Tierra y otro planeta, por motivos de secreto comercial. La clave para un metodo de comunicacion criptografica es la generacion de numero aleatorio. Los numeros aleatorios tambien pueden ser utiles en otros campos, por ejemplo juegos de azar, proteccion frente a virus, etc. pero el uso pretendido en esta invencion es la comunicacion criptografica.
Se conoce para determinadas aplicaciones de comunicacion criptografica entre Tierra-espacio usar el denominado cifrado de claves simetricas de comunicaciones entre, digamos, un satelite y una estacion terrestre. En este metodo se almacena la misma clave numerica tanto en la estacion terrestre como en el satelite. La clave la desconocen terceros y es posible una conexion relativamente segura usando este metodo.
A medida que aumenta progresivamente el numero de bits en la clave numerica, es probable que disminuya la eficiencia de una disposicion de clave simetrica en comparacion con un esquema de acuerdo de clave asimetrica. Un esquema de acuerdo de clave asimetrica es cuando las estaciones en comunicacion generan un numero aleatorio que va a usarse para generar una clave. Entonces tiene lugar una serie de intercambios de comunicacion entre las estaciones usando un algoritmo conocido. Aunque estas comunicaciones entre las estaciones pueden interceptarse por cualquier tercera parte interesada, la tercera parte no conoce ninguno de los numeros aleatorios asimetricos seleccionados. Cada estacion solo conoce su propio numero aleatorio. El proceso matematico usado entre las estaciones permite que se establezca una unica clave segura que no puede calcularse por un observador. Este proceso depende por tanto de la generacion por cada parte en comunicacion de un numero aleatorio seguro.
Para usar un esquema de acuerdo de clave entre un vehlculo espacial y una estacion terrestre, serla necesario que se generase un numero aleatorio en el vehlculo espacial. Por ejemplo, si se generase un numero pseudoaleatorio mediante un registro de desplazamiento con retroalimentacion lineal (LFSR), sin importar cuantos bits contuviese el registro de desplazamiento, el numero no se considerarla suficientemente seguro porque tiene una posicion inicial conocidas y sigue un patron conocido.
Es un objeto de la invencion proporcionar un medio de establecimiento de un numero aleatorio, es decir, un numero cuyo patron no puede determinarse, medio que puede usarse en un vehlculo espacial.
Tambien es un objeto de la invencion proporcionar un medio de obtencion de una clave criptografica segura mientras se esta en un vehlculo espacial.
Segun un aspecto de la presente invencion, se proporciona un metodo de generacion de un numero aleatorio en un vehlculo espacial que incluye las etapas de proporcionar un dispositivo que tiene una salida que puede emitir una serie de bits en el que la serie de bits de salida es susceptible al cambio tras el impacto sobre el dispositivo de partlculas de radiacion que se producen libremente en espacio, exponer el dispositivo a dicha radiacion durante un periodo suficiente para cambiar al menos uno de los bits, y leer de la salida la serie de bits tal como cambia mediante dicha radiacion, mediante lo cual se produce el numero aleatorio.
El metodo proporciona por tanto un medio de generacion de un numero aleatorio verdadero, en el espacio, usando el fenomeno que se produce de manera natural de radiacion espacial aleatoria tal como rayos cosmicos. Se sabe desde hace mucho tiempo que los “iones pesados” provocan inversiones de bits en un dispositivo electronico tal como una memoria de acceso aleatorio (“RAM”) cuando pasan a su traves. Tales eventos se han denominado “redisposiciones de eventos simples” o “SEU” (single event upsets). Para que se produzcan tales SEU, se cree actualmente que el vehlculo espacial ha de estar a una distancia de aproximadamente 700 km por encima de la Tierra para que este fuera de manera suficiente de la influencia de la Tierra como para permitir que la radiacion sea eficaz, al menos con los dispositivos conocidos actualmente.
La invencion trata de aprovechar este fenomeno de manera que proporcione un procedimiento a bordo relativamente economico y sencillo de implementar que sea fiable y eficaz. La RAM y cualquier otro aparato necesario pueden implementarse, preferiblemente en software solo, en una matriz de puertas programables por campo (“FPGA”) o un circuito integrado para aplicaciones especlficas (“ASIC”, application-specific integrated circuit) de modo que se mantengan al mlnimo el coste, volumen y peso. Se cree que otras soluciones para el problema de generacion de un numero aleatorio en un vehlculo espacial implicarlan el uso de mas hardware. Esto anadirla peso y aumentarla el
5
10
15
20
25
30
35
40
45
50
55
60
65
consumo de energla y requerirla la cualificacion del hardware y por tanto serla mas caro.
Por tanto, el dispositivo puede ser una RAM y la etapa de leer del dispositivo puede comprender interrogar a la RAM.
El metodo puede incluir la etapa de proporcionar un generador de numero pseudoaleatorio para propagar una secuencia de bits, legible como salida, y conectar el dispositivo a una entrada del generador de numero pseudoaleatorio, mediante lo cual cada cambio en la salida del dispositivo se propagara mediante el generador de numero pseudoaleatorio. El generador de numero pseudoaleatorio puede ser convenientemente un LFSR y la etapa de propagacion del cambio en el estado, o la salida, del dispositivo puede incluir retroalimentar la salida del LFSR al dispositivo.
La etapa de propagacion del cambio en la salida del dispositivo puede incluir las etapas de:
a) leer, de una primera direccion de RAM, los bits almacenados en la misma;
b) usar los bits almacenados como valores semilla del LFSR;
c) temporizar el LFSR;
d) leer de una segunda direccion de RAM los bits almacenados en la misma;
e) leer los bits emitidos desde el LFSR tras la temporizacion de los mismos;
f) combinar los bits almacenados de la segunda direccion de RAM con los bits emitidos desde el LFSR e introducir el resultado en la primera direccion de RAM;
g) leer de la segunda direccion de RAM los bits almacenados en la misma e introducir los bits almacenados en la entrada del LFSR;
h) temporizar el LFSR;
repetir las etapas c) a h) para direcciones de RAM sucesivas hasta que se alcanza una direccion de RAM final, tras lo cual leer la primera direccion de RAM como la siguiente direccion de RAM sucesiva y, cuando se requiera, interrumpir las etapas c) a h) para temporizar sucesivamente el LFSR un numero requerido de veces para leer una serie de bits de longitud requerida de la salida del LFSR.
Este procedimiento tiene el efecto de propagar tanto como sea posible los cambios en la salida de la RAM debidos a las inversiones de bits que se han producido como resultado de SEU. La salida del LFSR es por tanto muy diferente de la salida de la RAM. Una alta velocidad de reloj, combinada con un gran numero de bits en la RAM y en el LFSR tiene el efecto de poner a disposicion numeros aleatorios extremadamente largos que son, por tanto, adecuados para usarse en el establecimiento de una clave criptografica, por ejemplo en un esquema de acuerdo de clave asimetrica, o de intercambio de clave.
El metodo puede incluir ajustar la tasa de temporizacion del LFSR y un periodo de tiempo durante el que se hace funcionar el metodo antes de que se lea un numero aleatorio, mediante lo cual se asegura un grado de cambio deseado de un valor semilla existente en el LFSR al comienzo del metodo.
El dispositivo puede seleccionarse del grupo: electronico y optico y tambien del grupo: analogico y digital. Por tanto, puede aplicarse igualmente bien el principio de la invencion, efectos de evento simple (“SEE”, single event effects) que provocan cambios en un dispositivo, a dispositivos electronicos u opticos y a dispositivos analogicos o digitales. Si se eligiese un dispositivo analogico, es posible que los cambios debidos a SEE se produjeran mucho mas frecuentemente que con un dispositivo digital ya que el SEE no tiene que tener una fuerza suficiente como para provocar una inversion de bit, solo un pequeno cambio en el estado, quiza instantaneo. Entonces podrla detectarse un pequeno cambio debido a un SEE, amplificarse y sintonizarse en una senal digital. No existe ningun motivo por el que no deba usarse cualquier dispositivo analogico comun con sensibilidad apropiada, por ejemplo, resistencia, condensador, diodo, inductor.
Por supuesto, el uso de una RAM en el metodo y aparato preferidos almacenara el cambio de estado provocado por el SEU, de modo que la interrogacion en un momento posterior recogera un cambio inducido por sEu. Una rAm, para su uso en el espacio, tiene la ventaja de que esta libremente disponible, es relativamente economica, ligera (especialmente cuando se implementa en un microchip) y es probable que este disponible en una forma cualificada para el espacio.
La RAM y el LFSR pueden incorporarse ventajosamente en un unico microchip. Alternativamente, digamos si se requiere una memoria mas grande para aprovechar las inversiones de bits a una tasa mayor, la RAM puede formarse por separado, digamos en otro microchip.
5
10
15
20
25
30
35
40
45
50
55
60
65
Ventajosamente el LFSR se proporciona con suficiente almacenamiento de bits de manera que el numero total de bits que puede generarse mediante el LFSR antes de repetirse es de longitud bastante mayor que cualquier numero individual que se requiriese que se leyera del LFSR. Con los fines de generar un numero aleatorio para su uso en la obtencion de una clave criptografica, se selecciono una RAM K6R4008CID (marca comercial reg.) de Samsung de 4 millones de bits. Con una prediccion de que se producen SEU una vez cada 15.000 dlas para cada bit, cuando se esta en orbita geoestacionaria, la tasa global de inversion de bits serla de una cada 5,4 minutos. Por tanto, en un periodo de una hora, se esperarlan 11,1 inversiones de bits. Con una tasa de temporizacion de 1 MHz, cada direccion de bit se leerla 6866 veces en una hora. Esto proporcionarla como aleatorio un numero tal como serla probable que fuese necesario.
Segun un segundo aspecto de la invencion, se proporciona un metodo de obtencion, mientras se esta en un vehlculo espacial, de una clave criptografica segura que incluye las etapas de proporcionar, en el vehlculo espacial, un dispositivo que puede producir informacion aleatoria cuando se somete a fenomenos espaciales aleatorios, obtener dicha informacion aleatoria y producir un numero aleatorio a partir de la misma, y ejecutar un algoritmo mediante lo cual se establece la clave segura.
Se preven otros tipos de fenomenos espaciales aleatorios que serla posible usar en la invencion.
Segun el tercer aspecto de la invencion, se proporciona un aparato de comunicacion con vehlculos espaciales que incorpora un dispositivo para generar numeros aleatorios, teniendo el dispositivo una salida que puede emitir una serie de bits en el que la serie de bits de salida es susceptible al cambio tras el impacto sobre el dispositivo de paquetes de radiacion que se producen libremente en espacio para permitir que el dispositivo produzca un numero aleatorio, medios conectados al dispositivo para comunicarse con una estacion de comunicacion alejada del aparato y medios para utilizar el numero aleatorio en la determinacion de una clave de comunicacion criptografica segura para comunicarse con la estacion de comunicacion alejada.
La invencion se describira ahora a modo de ejemplo con referencia al dibujo adjunto.
Segun la invencion, el aparato de comunicacion con vehlculos espaciales para comunicarse o bien con otro vehlculo espacial, por ejemplo un satelite, o bien una estacion terrestre en la Tierra u otro planeta puede hacerse funcionar desde un satelite en orbita para generar, cuando se requiera, un numero aleatorio para su uso en una clave numerica criptografica para permitir la comunicacion segura desde el satelite.
La invencion se basa en un aparato y metodo para generar tal numero aleatorio y para generar la clave criptografica segura para permitir la comunicacion segura mencionada anteriormente. La parte de generacion de numero aleatorio de la invencion se ilustra en el dibujo en forma de diagrama de bloques. Una maquina de estado algorltmica (ASM, algorithmic state machine) esta unida operativamente a una memoria de acceso aleatorio (RAM) de 4 megabits, un registro de desplazamiento con retroalimentacion lineal (LFSR) y un contador. Los enlaces de lectura y escritura entre la RAM y la ASM, por una parte, y la RAM y el contador, por otra parte, pueden verse en el dibujo. Ademas, puede verse la retroalimentacion del LFSr, a traves de la ASM a la RAM.
La invencion esta disenada para usar inversiones de bits experimentadas por la RAM cuando esta en el espacio para producir numeros aleatorios verdaderos, es decir numeros cuyo patron no puede determinarse por un observador. El LFSR se implementa en logica secuencial en un micro-chip y se usa junto con la RAM para garantizar que se propagan las redisposiciones de evento simple (SEU) de inversion de bit.
En funcionamiento, se lee cada ubicacion de memoria en la RAM por turnos y se carga en el LFSR. El LFSR se temporiza entonces una vez y se combina cada valor con los datos en otra ubicacion de RAM y se escribe de vuelta en la RAM. El LFSR es lo suficientemente grande en cuanto al almacenamiento de bits de manera que puede leerse cualquier numero de bits requerido practico del mismo antes de que empiece a repetirse el patron (incluso suponiendo que no se han producido SEU en la RAM mientras tanto).
Cada direccion de RAM tendra un valor semilla escrito en la misma inicialmente (cualquier valor distinto de cero). Entonces se leera cada direccion por turnos y se almacenara en registros de un LFSR, de manera conveniente un LFSR de 36 bits. Tras temporizarse el LFSR, se combina la salida (mediante una puerta XOR) con los datos en la siguiente direccion de RAM sucesiva y se escribe de vuelta en la direccion de RAM original. Este procedimiento es continuo y tras un tiempo dado, los datos en la RAM seran completamente impredecibles y por tanto aleatorios. Siempre que se requiera que se emita un numero aleatorio del aparato, se detiene el procedimiento anterior y se leen tantos bits como se requieran del LFSR. Con un LFSR de 36 bits, pueden emitirse aproximadamente 68 billones de bits antes de que se produzca una repeticion (incluso sin producirse SEU). Tales salidas pseudoaleatorias tambien son eficazmente aleatorias sin que se produzca ninguna inversion de bits en la RAM siempre que se desconozca el momento exacto en que la secuencia se inicio y termino y ademas de modo que el aparato funcione a una alta tasa de reloj.
Tal como puede observarse a partir de los dibujos, la ASM tambien comprueba constantemente la condicion de todo
5
10
15
20
25
30
35
40
45
50
55
60
65
cero en la RAM. Si se produce esta condicion, la RAM no funcionara. Si se detecta una condicion de este tipo, la ASM reinicia la ubicacion de la RAM a un valor distinto de cero conocido.
Cuando esta en funcionamiento, el aparato actua como un generador de numero aleatorio grande y complejo. Cada vez que se produce un SEU en la rAm, cambia el patron de los datos almacenados en la RAM. Cuando se emiten estos datos al LFSR, un pequeno cambio en la salida de datos desde la RAM tiene un efecto muy grande sobre los datos que se emiten desde el LFSR.
A continuacion, se expone como Anexo cierto codigo informatico de muestra que usa una pequena RAM interna para llevar a cabo el metodo de la invencion.
ANEXO
library IEEE;
use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; use IEEE.std_logic_unsigned.all; entity Top_level_RNG is port (Sysclock : in std_logic;
Resetz : in std_logic;
Data_out_RD : in std_logic;
Random_data_out : out std_logic); end Top_level_RNG; architecture rtl of Top_level_RNG is component RAM_128_36 port(Data in std_logic_vector(35 downto 0);
Q : out std_logic_vector(35 downto 0);
WAddress : in std_logic_vector (6 downto 0);
RAddress : in std_logic_vector (6 downto 0);
WE : in std_logic;
RE : in std_logic;
WClock : in std_logic;
RClock : in std_logic); end component; signal
Wr_data,Rd_data,LFSR_data_in,LFSR_data_out,LF SR_data,Wr_data_int : std_logic_vector (35 downto 0); signal count,count_plus_1 : std_logic_vector (6 downto 0);
signal current_state,next_state : std_logic_vector (1 downto 0);
signal WE,RE,count_en : std_logic;
Begin
--RAM port map
Actel_RAM_128_36 : RAM_128_36 port map(Data=>Wr_data,Q=>Rd_data,
WAddress=>count,RAddress=>count=>plus_1 ,WE=>W E,RE=>RE, WClock=>Sysclock,RClock=>Sysclock);
--7 bit address counter Process (sysclock,resetz)
Begin
if resetz = '0' then count <= (others=>'0'); elsif rising_edge(sysclock) then if count_in = '1' then count <= count_plus_1; end if; end if;
end process;
count_plus_1 <= count + '1';
--LFSR registers process (sysclock,resetz)
Begin
if resetz = '0' then
5
10
15
20
25
30
35
40
45
50
55
60
65
LFSR_data <= (others=>101); elsif rising_edge(sysclock) then LFSR_data <= LFSR_data_in; end if;
end process;
--LFSR Feedback taps
LFSR_data_out(35 downto 1) <= LFSR_data(34 downto 0);
LFSR_data_out(0) <= LFSR_data(35) Xor LFSR_data(24);
--The output is combined with the next input, with an xor gate Wr_data_int <= LFSR_data_out xor Rd_data;
--state machine registers - 2 bit process (sysclock,resetz)
Begin
if resetz = '0' then current_state <= (others=>'0'); elsif rising_edge(sysclock) then current_state <= next_state; end if;
end process;
--Main state machine process
(current_state,count,Rd_data,LFSR_data_out,Data_out_RD,LFSR_data,Wr_data_int)
begin
next_state <= “00”;
WE <= '0';
RE <= '0'; count_en <= '0';
LFSR_data_in <= (others=>'0');
Wr_data <= (others=>'0');
Random_data_out <= '0'; case current_state is
--All locaciones in RAM are set to the default number when “00” => count_en <= '1';
WE <= '1';
Wr_data <=
“001010000101101000101001000001011111”; if count = “1111111” then next_state <= “01”; else
next_state <= “00”; end if;
--Allow a clock for the first read back data to be output from the RAM when “01” =>
RE <= '1'; next_state <= “10”;
--Allow a clock for the read back data to propagate through the LFSR when “10” =>
RE <= '1';
LFSR_data_in <= Rd_data; next_state <= “11”;
--Loop back continously monitoring for the very unlikely all zero condition
--unless the output is being read then hold until it has finished
when “11” =>
next_state <= “11”;
if Data_out_RD = '1' then
Random_data_out <= LFSR_data(35);
LFSR_data_in <= LFSR_data_out; else
count_en <= '1';
WE <= '1';
RE <= '1';
LFSR_data_in <= Rd_data; if Wr data int =
“000000000000000000000000000000000000”then Wr_data <= “001010000101101000101001000001011111”; else
Wr_data <= Wr_data_int: end if; end if;
when others => null;
end case; end process; end RTL;

Claims (9)

1.
5
10
15 2.
20 3.
4.
25
30
35
40
45
50
5.
55
Metodo de generacion de un numero aleatorio en un vehlcuio espacial que incluye las etapas de:
- proporcionar una RAM que tiene una salida que puede emitir una serie de bits
en el que la serie de bits de salida es susceptible al cambio tras el impacto sobre la RAM de partlculas de radiacion que se producen libremente en espacio;
exponer la RAM a dicha radiacion durante un periodo suficiente para cambiar al menos uno de los bits, y
leer de la salida la serie de bits tal como cambia mediante dicha radiacion, mediante lo cual se produzca el numero aleatorio.
Metodo segun la reivindicacion 1, que incluye la etapa de proporcionar un generador de numero pseudoaleatorio para propagar una secuencia de bits legible como salida y conectar la RAM a una entrada del generador de numero pseudoaleatorio, mediante lo cual cada cambio en la salida de la RAM se propagara mediante el generador de numero pseudoaleatorio.
Metodo segun la reivindicacion 2, en el que la etapa de proporcionar el generador de numero pseudoaleatorio implica proporcionar un LFSR y en el que la etapa de propagacion del cambio en la salida de la RAM incluye retroalimentar la salida del LFSR a la RAM.
Metodo segun la reivindicacion 3, en el que la etapa de propagacion del cambio en la salida de la RAM incluye las etapas de:
a) leer de una primera direccion de RAM los bits almacenados en la misma;
b) usar los bits almacenados como valores semilla del LFSR;
c) temporizar el LFSR;
d) leer de una segunda direccion de RAM los bits almacenados en la misma;
e) leer los bits emitidos desde el LFSR tras dicha temporizacion de los mismos;
f) combinar los bits almacenados de la segunda direccion de RAM con los bits emitidos desde el LFSR e introducir el resultado en la primera direccion de RAM;
g) leer de la segunda direccion de RAM los bits almacenados en la misma e introducir los bits almacenados en la entrada del LFSR;
h) temporizar el LFSR;
repetir las etapas c) a h) para direcciones de RAM sucesivas hasta que se alcanza una direccion de RAM final, tras lo cual leer la primera direccion de RAM como la siguiente direccion de RAM sucesiva y, cuando se requiera,
interrumpir las etapas c) a h) para temporizar sucesivamente el LFSR un numero requerido de veces para leer una serie de bits de longitud requerida de la salida del LFSR.
Metodo segun la reivindicacion 4, que incluye ajustar la tasa de temporizacion del LFSR y un periodo de tiempo durante el que se hace funcionar el metodo antes de que se lea un numero aleatorio, mediante lo cual se garantice un grado de cambio deseado de un valor semilla existente en el LFSR al comienzo del metodo.
6. Metodo segun cualquier reivindicacion anterior, en el que la RAM proporcionada se selecciona del grupo: electronica y optica y se selecciona ademas del grupo: analogica y digital.
60 7. Metodo segun cualquier reivindicacion anterior, cuando depende de la reivindicacion 4, en el que la RAM y
el LFSR se proporcionan en un unico microchip o en el que la RAM y el LFSR se proporcionan cada uno en forma de un microchip.
8. Metodo segun cualquier reivindicacion anterior, cuando depende de la reivindicacion 4, que incluye la etapa 65 de proporcionar el LFSR con suficiente almacenamiento de bits de manera que el numero total de bits que
puede generarse por el LFSR antes de repetir es de mayor longitud que cualquier numero individual que se
requiere que se lea del LFSR.
5
10
Metodo de obtencion, mientras se esta en un vehlculo espacial, de una clave criptografica segura que incluye las etapas de:
proporcionar, en el vehlculo espacial, una RAM que puede producir informacion aleatoria cuando se somete a radiacion que se produce libremente en espacio;
exponer la RAM a dicha radiacion durante un periodo suficiente para cambiar al menos uno de los bits;
obtener dicha informacion aleatoria y producir un numero aleatorio a partir de la misma, y
ejecutar un algoritmo que utiliza dicho numero aleatorio, mediante lo cual se establece la clave segura.
15 10. Aparato de comunicacion con vehlculos espaciales que incorpora una RAM para generar numeros
aleatorios, teniendo la RAM una salida que puede emitir una serie de bits en el que la serie de bits de salida es susceptible al cambio tras el impacto sobre la RAM de paquetes de radiacion que se producen libremente en espacio para permitir que la RAM produzca un numero aleatorio, medios conectados a la RAM para comunicarse con una estacion de comunicacion alejada del aparato y medios para utilizar el 20 numero aleatorio en la determinacion de una clave de comunicacion criptografica segura para comunicarse
con la estacion de comunicacion alejada.
11. Aparato de comunicacion con vehlculos espaciales segun la reivindicacion 10, que incluye un generador de numero pseudoaleatorio para propagar una secuencia de bits en su salida basandose en una secuencia de 25 bits diferente aplicada a su entrada, teniendo dicho generador de numero pseudoaleatorio una entrada que
puede conectarse a la salida de la RAM mediante lo cual cada cambio en la salida de la RAM se propagara mediante el generador de numero pseudoaleatorio.
12.
30
Aparato de comunicacion con vehlculos espaciales segun la reivindicacion 11, en el que el generador de numero pseudoaleatorio comprende un LFSR.
13. Aparato de comunicacion con vehlculos espaciales segun la reivindicacion 12, en el que el LFSR tiene una capacidad de almacenamiento de bits mayor que cualquier secuencia de bits individual que va a leerse del mismo.
35
14. Aparato de comunicacion con vehlculos espaciales segun cualquiera de las reivindicaciones 10 a 13, en el que la RAM se selecciona del grupo: electronica y optica y se selecciona ademas del grupo: analogica y digital.
40 15. Aparato de comunicacion con vehlculos espaciales segun cualquiera de las reivindicaciones 12 a 14, en el
que la RAM y el LFSR estan comprendidos ambos en un unico microchip o la RAM y el LFSR estan comprendidos cada uno en un microchip.
ES07804224.9T 2006-09-13 2007-09-12 Generación de número aleatorio Active ES2566922T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP06270084 2006-09-13
GB0618019A GB0618019D0 (en) 2006-09-13 2006-09-13 Random number generation
EP06270084A EP1901477A1 (en) 2006-09-13 2006-09-13 Random number generation
GB0618019 2006-09-13
PCT/GB2007/003427 WO2008032044A1 (en) 2006-09-13 2007-09-12 Random number generation

Publications (1)

Publication Number Publication Date
ES2566922T3 true ES2566922T3 (es) 2016-04-18

Family

ID=38719516

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07804224.9T Active ES2566922T3 (es) 2006-09-13 2007-09-12 Generación de número aleatorio

Country Status (6)

Country Link
US (1) US20090316898A1 (es)
EP (1) EP2060057B1 (es)
JP (1) JP2010503883A (es)
CA (1) CA2663266A1 (es)
ES (1) ES2566922T3 (es)
WO (1) WO2008032044A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840730A1 (en) * 2006-03-31 2007-10-03 Alain Schumacher Method and apparatus for generating true random numbers
US9465582B1 (en) * 2010-11-18 2016-10-11 The Boeing Company Significant random number generator
US8984373B2 (en) * 2012-02-22 2015-03-17 Silicon Motion, Inc. Method for accessing flash memory and associated flash memory controller
US8861725B2 (en) 2012-07-10 2014-10-14 Infineon Technologies Ag Random bit stream generator with enhanced backward secrecy
US8879733B2 (en) * 2012-07-10 2014-11-04 Infineon Technologies Ag Random bit stream generator with guaranteed minimum period
CN102855118B (zh) * 2012-08-10 2016-03-30 上海交通大学 一种随机数生成方法及装置
CN110955408A (zh) * 2019-12-02 2020-04-03 上海威固信息技术股份有限公司 一种基于Xilinx FPGA的真随机数生成方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145639A (ja) * 1984-12-19 1986-07-03 Toshiba Corp 半導体乱数発生装置
JP3358953B2 (ja) * 1996-09-17 2002-12-24 アイオニクス沖縄株式会社 擬似ランダムビット列生成器及びそれを使用する暗号通信方法
JP3358954B2 (ja) * 1996-09-17 2002-12-24 アイオニクス沖縄株式会社 擬似ランダムビット列生成器及びそれを使用する暗号通信方法
JP3504130B2 (ja) * 1997-12-01 2004-03-08 株式会社東芝 周期信号ドライブ装置
US7036059B1 (en) * 2001-02-14 2006-04-25 Xilinx, Inc. Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
AU2004231962A1 (en) * 2003-04-21 2004-11-04 Vg Games Ltd Systems and methods for generating random numbers from astonomical events
US20060010183A1 (en) * 2004-07-09 2006-01-12 President And Fellows Of Harvard College Random number generation
DE102004047425B4 (de) * 2004-09-28 2007-06-21 Micronas Gmbh Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen

Also Published As

Publication number Publication date
CA2663266A1 (en) 2008-03-20
EP2060057A1 (en) 2009-05-20
JP2010503883A (ja) 2010-02-04
US20090316898A1 (en) 2009-12-24
EP2060057B1 (en) 2016-01-06
WO2008032044A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
ES2566922T3 (es) Generación de número aleatorio
Alam et al. RAM-Jam: Remote temperature and voltage fault attack on FPGAs using memory collisions
Agoyan et al. How to flip a bit?
ES2159274T3 (es) Procedimiento de calculo para criptografiar una curva eliptica.
US20150074159A1 (en) Methods for determining a result of applying a function to an input and evaluation devices
ES2386061T3 (es) Procedimiento de detección de anomalias en un circuito criptográfico protegido por lógica diferencial y circuito para implementar a dicho procedimiento
US20030204541A1 (en) Seedable pseudo-random number generator
US9465585B2 (en) Method for detecting a correlation
WO2011076962A1 (es) Método y sistema para generar números pseudo-aleatorios impredecibles
Sewak et al. FPGA implementation of 16 bit BBS and LFSR PN sequence generator: A comparative study
Bhasin et al. Exploiting FPGA block memories for protected cryptographic implementations
Huang et al. Trace buffer attack on the AES cipher
ES2807214T3 (es) Procedimiento de protección de circuitos electrónicos contra interceptación por análisis de potencia y circuito electrónico que usa el mismo
TWI579763B (zh) 具有亂數產生模式的儲存電路
CN106921490B (zh) 一种真随机数发生器及标签芯片
WO2008061395A1 (fr) Circuit de cryptage aes d&#39;un flot de données exécuté lors d&#39;un déséquencement
Lac et al. Thwarting fault attacks using the internal redundancy countermeasure (IRC)
EP1901477A1 (en) Random number generation
EP4252106B1 (en) Random number generation
Mukherjee An overview of eSTREAM ciphers
Wang et al. An ultra-low overhead LUT-based PUF for FPGA
Krishnan et al. Modelling of Random Number Generator based on PUFs and LFSR for secret key generation
CN109086631B (zh) 一种抗模型攻击的强/弱混合型puf电路
Anagnostopoulos et al. Lightweight security solutions for IoT implementations in space
Kömürcü et al. A ring oscillator based PUF implementation on FPGA