WO2016070855A1 - Method for generating variable codes - Google Patents

Method for generating variable codes Download PDF

Info

Publication number
WO2016070855A1
WO2016070855A1 PCT/CR2014/000005 CR2014000005W WO2016070855A1 WO 2016070855 A1 WO2016070855 A1 WO 2016070855A1 CR 2014000005 W CR2014000005 W CR 2014000005W WO 2016070855 A1 WO2016070855 A1 WO 2016070855A1
Authority
WO
WIPO (PCT)
Prior art keywords
events
numbers
asynchronous
random
event
Prior art date
Application number
PCT/CR2014/000005
Other languages
Spanish (es)
French (fr)
Inventor
Carlos Luis CORDERO JIMÉNEZ
Original Assignee
Monitoreo Tecnológico, S.A.
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 Monitoreo Tecnológico, S.A. filed Critical Monitoreo Tecnológico, S.A.
Priority to PCT/CR2014/000005 priority Critical patent/WO2016070855A1/en
Publication of WO2016070855A1 publication Critical patent/WO2016070855A1/en

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

Definitions

  • the present invention relates to the technological field as it is a process of generating codes from asynchronous or pseudo-asynchronous events by means of a manual or automatic command.
  • asynchrony is defined as "Lack of temporal coincidence in the facts.” In engineering it is considered “asynchronous”, a phenomenon or event that is completely isolated and without continuation or correspondence in time with another event, whether or not similar.
  • the asynchronous event-based model makes the advantages of multithreaded applications available to the user, while avoiding many of the complex problems inherent in multithreaded design. Using a class that supports this model can allow you to:
  • each output can be described by a Boolean function of its input variables. That is, the outputs of a combinational network depend only on their inputs.
  • the element that is replaced by the variable symbol is called the variable value.
  • a Boolean constant is a value belonging to the set ⁇ 0,1 ⁇ .
  • the values of the outputs, at a given time do not depend exclusively on the values of the inputs at that time, but also depend on the previous state or internal state.
  • bistable The bistable sequential system is the bistable, and of this, the type D (or bolt) is the most commonly used today.
  • a random number is generated by a mathematical formula or with the help of software that is responsible for generating it through an algorithm.
  • a set of variable numbers can be said to be obtained in such a way that every number obtained has the same probability of being chosen and the choice of one does not depend on the choice of the other. Whenever random numbers are generated, there is talk of a set of numbers in a range (1, n) in which the probability that one of those numbers is chosen will always be 1 / n.
  • Variable numbers are normally used to represent reality through mathematical models such as that of the daily climate (with certainty it is not known what the weather of a particular day will be), since the weather of one day does not depend on the weather of the previous day, so the probability of rain today does not influence the probability of rain tomorrow.
  • average points are used and plotted on a Cartesian plane, to later draw the line that allows identifying which are the closest points and in this way have a minimum range and margin of error on the calculation that is being made at a variable.
  • Variable number sets are very useful in probability and statistics, because their use allows empirically estimating various probabilities and hopes.
  • Variable numbers are always being used in web applications with which you interact every day, a way to simulate variable numbers can be using "javascript" with the random method.
  • Variable numbers generated with JavaScript can be used for countless things on a web page: display a random banner, a different header, a phrase, generate a security code, etc. 2.3. Types of random numbers:
  • a value generator for a random variable is achieved in two steps: • First you have to define a random number generator evenly distributed between 0 and 1.
  • a sequence is a segment of the numbers produced by the generator: a sequence ends where the next one begins.
  • a variable number generator consists of a function that returns the values of a sequence of real numbers, (ui, U2,..., N ), where each u is in the range [0, 1]
  • the first element of the sequence is called the initial seed of the series, and from it it must be possible to generate the rest of the sequence so that it is reproducible.
  • the generated sequence must be quite long, in order to allow long simulations and / or with many random variables. • It must be computed very efficiently, since each simulation could require the generation of a considerable number of variable numbers, of the order of millions.
  • the condition of uniformity must also be met for all sub-sequences of size k of the generated sequence. That is, the u ⁇ must be distributed evenly in [0, 1] the pairs (u ⁇ , u ⁇ + i) must be distributed evenly in the plane [0, 1] x [0, 1] the triplets (u ⁇ , u ⁇ + I, u ⁇ + 2) must be distributed evenly in the cube [0, 1] 3 . Ensuring the k-uniformity of the sequences is crucial for simulation experiments.
  • the series obtained can be replayed.
  • the most frequently used are based on electrical circuits equipped with a noise source (often a resistor or a semiconductor diode) that is amplified, sampled and compared with a reference signal to produce bit sequences. For example, if the noise is less than the reference a 0 is produced and if a 1 is greater.
  • a noise source often a resistor or a semiconductor diode
  • the 1's do not have the same probability as the 0's, so they must be post-processed to obtain random bit sequences.
  • Arithmetic They are deterministic algorithms that are executed by the computer.
  • N ⁇ + 1 (aN ⁇ + c) mod m where "a” is the multiplier and "m" the module.
  • the sequence is periodic: when a number reappears a second time, the sequence is repeated.
  • the period depends on the values of a, c and m, as well as the initial value; the maximum possible is m.
  • each new random integer Ni is obtained by manipulating the bits of the previous number, Ni— 1. In C language, this can easily be done 0 using operators on bits, » «, ⁇ ,
  • p (x) be defined in a finite interval, (a, b), and M an upper bound of p (x).
  • the value x appears with a probability density p (x), although not all the values we obtain in the method are used.
  • a variable with chi-square distribution with k degrees of freedom can be obtained by adding the squares of k variables with distribution N (0, 1).
  • a variable with Erlang-k distribution can be obtained by adding k variables with exponential distribution.
  • sequences of maximum period m are obtained. For example, if m is a power of 2, it would be enough that c is odd and "a" equals
  • the autocorrelation test verifies the correlation between random numbers and compares them with the desirable zero correlation.
  • the GAP test (of gaps or distance): is used to ensure that the recurrence ⁇ 0 of each particular digit in a number flow occurs with a random interval. The KS test is then used to compare these intervals with the expected length of gaps.
  • the Poker test test groups of numbers together like a poker hand and! 5 compare each hand with the expected hand using the Chi-square test.
  • test run up and down it is usually the main test used to verify the dependence. Detects if a statistically unacceptable pattern that increases or decreases exists between adjacent numbers in a flow of numbers.
  • the invention is mainly used in the field of statistics, systems simulation, key generation for information encryption.
  • Number banks are currently generated by two main methods, the first is through algorithms that take a "seed" which is a presumed number chosen from a selection and with that seed through specialized algorithms it generates a set of numbers which actually they are predictable) by what they are called pseudo variables.
  • the second method is through devices that take numbers generated by variable physical phenomena, these phenomena can be white noise, thermal noise, cosmic noise, atmospheric variables, etc. These values are unpredictable or
  • the behavior of complex living beings is determined by events
  • the present invention consists of a method to generate codes from asynchronous or pseudo-asynchronous events consists in collecting numbers from numerous 5 sources, each source sends the number asynchronously by means of a command manual or automatic The collection of numbers collected is grouped into groups to form asynchronous codes of different sizes.
  • the source is software that takes the least significant bit of a computer clock and sends it via Internet protocols to the collector. This software can be any instant messaging system such as MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk. The source can send larger numbers.
  • the process generates codes or keys for communications, system simulation or encrypted transactions from asynchronous events. For this, the process starts from the digitization of an event, the specific time of occurrence of the event is recorded. That time is sent to a server and when it is on that server the least significant bit of the time sent consisting of a one or a zero is selected. The union of all events constitutes an unrepeatable row of codes whose flow must be continuous.
  • This process allows the collection and grouping of events from various remote sources.
  • software is used that takes an event registered in an electronic device and sends it to a central computer which groups it together to form large chains of events.
  • the process sends the recorded event using a manual command or an automatic pseudo asynchronous, asynchronous or synchronous command.
  • You could use one or more bits taken from the clock of an electronic device as a recorded event.
  • the method could use as a source of the registered number the value of the clock generated by an integrated circuit of a computer equipment, cell phone, appliances; the watch
  • the method uses a computer, a cell phone, a smart device, an electronic tablet, an electronic phone book, microprocessor devices, microcontrollers, machines as a sending device for the registered number. sequential logics, slot machines, ATMs, video game consoles.
  • the software that facilitates it can be instant messaging systems which requires human, animal or machine interaction, instant messaging systems MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk, search engines and internet, social networks and use as a means of communication the
  • the events generated are grouped in the order of arrival, in random order, in groups of variable size, in arrangements sequentially or randomly.
  • the number of events sent to the central computer is greater than one and an array of centralized or distributed servers is used as the central computer.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a method for generating codes from asynchronous or pseudo-asynchronous events, consisting in harvesting numbers from numerous sources, each source transmitting the number asynchronously by means of a manual or automatic command. The harvested collection of numbers is grouped to form asynchronous codes of different sizes. The source is a piece of software that takes the least significant bit from a computer clock and transmits it to the harvester via Internet protocols. This software can be any instant messaging system, such as MSN Messenger, ICQ, Yahoo! Messenger, AOL Instant Messenger or Google Talk. The source can transmit numbers of a larger size.

Description

"PROCESO DE GENERACIÓN DE CÓDIGOS VARIABLES"  "VARIABLE CODE GENERATION PROCESS"
CAMPO DE LA INVENCION La presente invención se relaciona con el campo tecnológico por ser un proceso de generación de códigos a partir de eventos asincrónicos o pseudo-asincrónicos mediante un comando manual o automático. FIELD OF THE INVENTION The present invention relates to the technological field as it is a process of generating codes from asynchronous or pseudo-asynchronous events by means of a manual or automatic command.
ANTECEDENTES DE LA INVENCIÓN BACKGROUND OF THE INVENTION
1. Asincronía y eventos asincrónicos: 1. Asynchrony and asynchronous events:
Según el Diccionario de la Real Academia Española, asincronía se define como "Falta de coincidencia temporal en los hechos". En ingeniería se considera "asincrónico", un fenómeno o suceso que se encuentra completamente aislado y sin continuación o correspondencia en el tiempo con otro suceso, sea o no similar. According to the Dictionary of the Royal Spanish Academy, asynchrony is defined as "Lack of temporal coincidence in the facts." In engineering it is considered "asynchronous", a phenomenon or event that is completely isolated and without continuation or correspondence in time with another event, whether or not similar.
El modelo asincrónico basado en eventos pone a disposición del usuario las ventajas de las aplicaciones multiproceso, al tiempo que evita muchos de los problemas complejos inherentes al diseño multiproceso. Utilizar una clase que admita este modelo puede permitirle: The asynchronous event-based model makes the advantages of multithreaded applications available to the user, while avoiding many of the complex problems inherent in multithreaded design. Using a class that supports this model can allow you to:
• Realizar tareas que exigen mucho tiempo (como descargas y operaciones con bases de datos) "en segundo plano", sin interrumpir la aplicación. • Perform tasks that require a lot of time (such as downloads and database operations) "in the background", without interrupting the application.
• Ejecutar simultáneamente varias operaciones y recibir la notificación correspondiente cuando finalice cada una de ellas.  • Simultaneously execute several operations and receive the corresponding notification when each of them ends.
• Esperar a que estén disponibles los recursos sin que la aplicación se detenga (no responda).  • Wait until resources are available without the application stopping (do not respond).
• Establecer comunicación con operaciones asincrónicas pendientes utilizando el modelo habitual de eventos y delegados.  • Establish communication with asynchronous operations pending using the usual model of events and delegates.
1.1 Funciones boleanas: 1.1 Boolean functions:
Cuando se tiene un sistema digital combinacional, cada salida puede describirse por una función booleana de sus variables de entrada. Es decir, las salidas de una red combinacional dependen solamente de sus entradas.  When you have a combinational digital system, each output can be described by a Boolean function of its input variables. That is, the outputs of a combinational network depend only on their inputs.
i Una variable booleana es un símbolo, el cual puede ser sustituido por un elemento del conjunto B={0,1}. El elemento que es sustituido por el símbolo de la variable se llama el valor de la variable. Una constante booleana es un valor perteneciente al conjunto {0,1}. i A Boolean variable is a symbol, which can be substituted by an element of the set B = {0,1}. The element that is replaced by the variable symbol is called the variable value. A Boolean constant is a value belonging to the set {0,1}.
En los sistemas secuenciales, los valores de las salidas, en un momento dado, no dependen exclusivamente de los valores de las entradas en dicho momento, sino también dependen del estado anterior o estado interno. In sequential systems, the values of the outputs, at a given time, do not depend exclusively on the values of the inputs at that time, but also depend on the previous state or internal state.
El sistema secuencial más simple es el biestable, y de este, el de tipo D (o cerrojo) es el más utilizado actualmente. The simplest sequential system is the bistable, and of this, the type D (or bolt) is the most commonly used today.
La mayoría dé los sistemas secuenciales están gobernados por señales de reloj. A éstos se los denomina "síncronos" o "sincrónicos", a diferencia de los "asincronos" o "asincrónicos" que son aquellos que no son controlados por señales de reloj. Most sequential systems are governed by clock signals. These are called "synchronous" or "synchronous", unlike "asynchronous" or "asynchronous" which are those that are not controlled by clock signals.
2. Series de números irrepetibles en orden aleatorio: Estas series se construyen bajo el principio siguiente: si sale un número "X" y se desea un número más, la probabilidad de que salga el mismo número será la misma en comparación con el resto de datos que existan. 2. Series of unrepeatable numbers in random order: These series are constructed under the following principle: if an "X" number comes out and one more number is desired, the probability that the same number will appear will be the same compared to the rest of existing data
2.1 Definición de número aleatorio: 2.1 Definition of random number:
Un número aleatorio es generado por una fórmula matemática o con la ayuda de un software que se encargue de generarlo por medio de un algoritmo. A random number is generated by a mathematical formula or with the help of software that is responsible for generating it through an algorithm.
Un conjunto de números variables se puede decir que es obtenido de forma tal que todo número obtenido tiene la misma probabilidad de ser elegido y la elección de uno no depende de la elección del otro. Siempre que se generen números aleatorios, se habla de un conjunto de números en un rango (1 , n) en el cuál la probabilidad de que uno de esos números sea elegido será siempre 1/n. A set of variable numbers can be said to be obtained in such a way that every number obtained has the same probability of being chosen and the choice of one does not depend on the choice of the other. Whenever random numbers are generated, there is talk of a set of numbers in a range (1, n) in which the probability that one of those numbers is chosen will always be 1 / n.
Los números variables, son utilizados normalmente para representar la realidad por medio de los modelos matemáticos como por ejemplo, el del clima diario (con certeza no se sabe cuál será el clima de un día en particular), pues el clima de un día no depende del clima del día anterior, por tanto la probabilidad de que llueva hoy no influye en la probabilidad de que llueva mañana. 2.2. Utilización: Variable numbers are normally used to represent reality through mathematical models such as that of the daily climate (with certainty it is not known what the weather of a particular day will be), since the weather of one day does not depend on the weather of the previous day, so the probability of rain today does not influence the probability of rain tomorrow. 2.2. Utilization:
Si bien se utilizan constantemente sin tener conciencia de esto, se adecúan en especial para realizar cálculos de integrales, de varianza, de la moda o de errores.  Although they are constantly used without being aware of this, they are especially suited for calculations of integrals, variance, fashion or errors.
En estos casos se utilizan puntos promedio y se grafican en un plano cartesiano, para posteriormente trazar la recta que permita identificar cuáles son los puntos más cercanos y de esta forma tener un rango y margen de error mínimo sobre el cálculo que se está realizando a una variable. In these cases, average points are used and plotted on a Cartesian plane, to later draw the line that allows identifying which are the closest points and in this way have a minimum range and margin of error on the calculation that is being made at a variable.
Los conjuntos de números variables son muy útiles en probabilidad y estadística, porque su uso permite estimar empíricamente varias probabilidades y esperanzas. Variable number sets are very useful in probability and statistics, because their use allows empirically estimating various probabilities and hopes.
Los números variables siempre están siendo utilizados en las aplicaciones web con las que se interactúa todos los días, una forma de simular los números variables puede ser utilizando "javascript" con el método random. Variable numbers are always being used in web applications with which you interact every day, a way to simulate variable numbers can be using "javascript" with the random method.
Los números variables generados con JavaScript pueden ser utilizados para infinidad de cosas en una página web: mostrar un banner aleatorio, una cabecera distinta, una frase, generar un código de seguridad, etc. 2.3. Tipos de números aleatorios: Variable numbers generated with JavaScript can be used for countless things on a web page: display a random banner, a different header, a phrase, generate a security code, etc. 2.3. Types of random numbers:
Se pueden encontrar dos clasificaciones:  Two classifications can be found:
- Números uniformemente distribuidos - Números distribuidos no uniformes - Uniformly distributed numbers - Non-uniform distributed numbers
En el caso de los no uniformes, de igual forma es necesario tomar un número uniforme y luego invertir la variable para que se pueda continuar con un proceso aparte. Para estos procedimientos se puede usar la distribución de Cauchy, la distribución gaussiana o la de Bernulli. Para los uniformemente distribuidos cabe resaltar que los generadores de números tienen unas características propias que los identifican como tal y son: In the case of non-uniforms, it is also necessary to take a uniform number and then invert the variable so that a separate process can be continued. The Cauchy distribution, the Gaussian distribution or the Bernulli distribution can be used for these procedures. For uniformly distributed, it should be noted that number generators have their own characteristics that identify them as such and are:
• Estos tipos de números no deben caer en ciclos • These types of numbers should not fall into cycles
• Las series de números generados tienen que ser reproducibles • The series of numbers generated must be reproducible
• Rapidez al adquirir los números · El generador debe procurar tener un almacenamiento mínimo • Speed in acquiring the numbers · The generator must try to have a minimum storage
• Todos los números que sean generados tienen que estar uniformemente distribuidos ósea que su probabilidad de salida tiene que ser la misma. · Todos los elementos generados tiene que ser independientes de los que sean generado anteriormente • All the numbers that are generated have to be uniformly distributed so that their probability of exit has to be the same. · All the elements generated must be independent of those generated previously
3. Métodos de generación de series de números irrepetibles en orden aleatorio y pseudo-aleatorio: 3. Methods of generating series of unrepeatable numbers in random and pseudo-random order:
El planteamiento moderno consiste en utilizar una computadora para generar, de manera sucesiva, números pseudoaleatorios. Estos constituyen una sucesión de valores que, aunque son producidos de manera determinista, tienen toda la apariencia de ser variables aleatorias uniformes e independientes en (0,1). The modern approach is to use a computer to successively generate pseudorandom numbers. These constitute a succession of values that, although produced in a deterministic way, have all the appearance of being uniform and independent random variables in (0,1).
En la práctica ninguna función produce datos aleatorios verdaderos. Las funciones producen números pseudoaleatorios. In practice, no function produces true random data. Functions produce pseudorandom numbers.
La mayoría de los métodos generadores comienzan con un número inicial (semilla, X0), a este número se le aplica un determinado procedimiento y así se encuentra el primer "número random". Usando este número como entrada, el procedimiento es repetido para lograr un próximo "número random" Xn n >1. Most of the generating methods start with an initial number (seed, X 0 ), a certain procedure is applied to this number and thus the first "random number" is found. Using this number as input, the procedure is repeated to achieve a next "random number" X n n> 1.
Un generador de valores para una variable aleatoria se consigue en dos pasos: • Primero hay que definir un generador de números aleatorios distribuidos uniformemente entre 0 y 1. A value generator for a random variable is achieved in two steps: • First you have to define a random number generator evenly distributed between 0 and 1.
• Después se transforma esta secuencia para generar los valores de la variable aleatoria deseada. • This sequence is then transformed to generate the values of the desired random variable.
Requisitos de los generadores: Generator Requirements:
• Las series generadas deben ser reproducibles; así, en distintos experimentos se puede utilizar exactamente la misma secuencia de números aleatorios para reproducir las mismas condiciones.  • The generated series must be reproducible; Thus, in different experiments exactly the same sequence of random numbers can be used to reproduce the same conditions.
• Debe permitir la generación de varias secuencias separadas de números aleatorios. Una secuencia es un segmento de los números producidos por el generador: una secuencia termina donde comienza la siguiente. • It must allow the generation of several separate sequences of random numbers. A sequence is a segment of the numbers produced by the generator: a sequence ends where the next one begins.
Así, puede dedicarse una secuencia diferente para cada fuente de aleatoriedad del modelo. Thus, a different sequence can be dedicated to each source of randomness of the model.
Principio básico:  Basic Principle:
Un generador de números variables consiste en una función que devuelve los valores de una secuencia de números reales, (ui , U2, . . . , un), donde cada u¡ está en el rango [0, 1]· A variable number generator consists of a function that returns the values of a sequence of real numbers, (ui, U2,..., N ), where each u is in the range [0, 1]
El primer elemento de la secuencia se le denomina semilla inicial de la serie, y a partir de ella debe ser posible generar el resto de la secuencia para que ésta sea reproducible. The first element of the sequence is called the initial seed of the series, and from it it must be possible to generate the rest of the sequence so that it is reproducible.
Propiedades de un generador: Properties of a generator:
Entre las propiedades que debe cumplir un buen generador para realizar simulaciones, destacaríamos las siguientes: Among the properties that a good generator must fulfill to perform simulations, we would highlight the following:
• Los valores ui deben ser independientes y estar idénticamente distribuidos. • The ui values must be independent and identically distributed.
• La secuencia generada debe ser bastante larga, con el fin de permitir simulaciones largas y/o con muchas variables aleatorias. • Debe computarse muy eficientemente, ya que cada simulación podría requerir la generación de una cantidad considerable de números variables, del orden de millones. La condición de uniformidad debe cumplirse además para todas las subsecuencias de tamaño k de la secuencia generada. Es decir: los u¡ deben distribuirse uniformemente en [0, 1] los pares (u¡, u¡+i) deben distribuirse uniformemente en el plano [0, 1] x[0, 1] los tríos (u¡, u¡+i, u¡+2) deben distribuirse uniformemente en el cubo [0, 1]3. Asegurar la k-uniformidad de las secuencias es crucial para los experimentos de simulación. • The generated sequence must be quite long, in order to allow long simulations and / or with many random variables. • It must be computed very efficiently, since each simulation could require the generation of a considerable number of variable numbers, of the order of millions. The condition of uniformity must also be met for all sub-sequences of size k of the generated sequence. That is, the u¡ must be distributed evenly in [0, 1] the pairs (u¡, u¡ + i) must be distributed evenly in the plane [0, 1] x [0, 1] the triplets (u¡, u ¡ + I, u¡ + 2) must be distributed evenly in the cube [0, 1] 3 . Ensuring the k-uniformity of the sequences is crucial for simulation experiments.
Independencia: Una serie es independiente si no puede ser especificada mediante un algoritmo que requiera menos bits que la serie en sí. Independence: A series is independent if it cannot be specified by an algorithm that requires fewer bits than the series itself.
3.1. Computación análoga: 3.1. Analog Computing:
Las series son obtenidas con medios físicos.  The series are obtained with physical means.
Ventajas: Es muy rápido y las series que se obtienen son verdaderamente aleatorias. Desventajas: Las que se obtiene no se pueden repetir.  Advantages: It is very fast and the series obtained are truly random. Disadvantages: Those that are obtained cannot be repeated.
3.2. Tablas: 3.2. Boards:
Se pueden obtener 100,000 números. 100,000 numbers can be obtained.
Ventajas: Las series que se obtienen se pueden reproducir nuevamente. Advantages: The series obtained can be replayed.
Desventajas: Es muy demorado y demanda mucho espacio de almacenamiento 3.3. Computación digital Disadvantages: It is very delayed and demands a lot of storage space 3.3. Digital computing
Tiene una función y un valor inicial, de los cuales se generan los números aleatoriamente. Ventajas: Es rápido, las series que se obtiene se pueden repetir y no ocupa mucho espacio de almacenamiento. It has a function and an initial value, of which the numbers are generated randomly. Advantages: It is fast, the series obtained can be repeated and does not take up much storage space.
Desventajas: Los números obtenidos dependen de los anteriores Disadvantages: The numbers obtained depend on the previous ones
3.4. Manual 3.4. Manual
Se puede tomar como ejemplo, lanzar un dado y realizar extracción de unas bolas numeradas dentro de una urna. You can take as an example, throw a dice and make extraction of numbered balls inside an urn.
Ventajas: Las series que se obtienen son verdaderamente aleatorias Advantages: The series obtained are truly random
Desventajas: Es muy lento, se necesita gran almacenamiento ya que cada serie que se obtiene tiene que ser guardada y las series que se obtiene no se pueden repetir Disadvantages: It is very slow, large storage is needed since each series that is obtained has to be saved and the series that is obtained cannot be repeated
3.5 Generadores de números aleatorios: 3.5 Random number generators:
3.5.1 Tipos de Generadores: · Físicos: Son dispositivos físicos que emplean fuentes externas: la desintegración de un material radioactivo o el ruido eléctrico, para generar números aleatorios. 3.5.1 Types of Generators: · Physical: These are physical devices that use external sources: the decay of a radioactive material or electrical noise, to generate random numbers.
Los más frecuentemente usados están basados en circuitos eléctricos dotados de una fuente de ruido (frecuentemente una resistencia o un diodo semiconductor) que es amplificada, muestreada y comparada con una señal de referencia para producir secuencias de bits. Por ejemplo, si el ruido es menor que la referencia se produce un 0 y si es mayor un 1. The most frequently used are based on electrical circuits equipped with a noise source (often a resistor or a semiconductor diode) that is amplified, sampled and compared with a reference signal to produce bit sequences. For example, if the noise is less than the reference a 0 is produced and if a 1 is greater.
Frecuentemente, en las secuencias de bits así obtenidas los 1's no tienen la misma probabilidad que los 0's, con lo cual deben ser post-procesadas para obtener secuencias de bits aleatorios. Frequently, in the bit sequences thus obtained the 1's do not have the same probability as the 0's, so they must be post-processed to obtain random bit sequences.
Para su aplicación, estos bits aleatorios se unen para formar bytes, números enteros o números reales, según se requiera. • Aritméticos: Son algoritmos deterministas que son ejecutados mediante el computador. For your application, these random bits are joined to form bytes, integers or real numbers, as required. • Arithmetic: They are deterministic algorithms that are executed by the computer.
Los buenos generadores aritméticos producen secuencias de números que son 5 indistinguibles de realizaciones independientes de variables uniformes. Existen dos grandes familias de generadores aritméticos: los generadores lineales y los no lineales. Good arithmetic generators produce sequences of numbers that are indistinguishable from independent realizations of uniform variables. There are two large families of arithmetic generators: linear and nonlinear generators.
En simulación los generadores más comúnmente usados son los lineales. In simulation the most commonly used generators are linear.
0 3.5.2 Modelos de Generadores: 0 3.5.2 Generator Models:
Existen varios modelos que permiten generar números aleatorios, entre los cuales los más citados en la bibliografía son: There are several models that allow generating random numbers, among which the most cited in the literature are:
5 · GCL (Generadores de Congruencia Lineal) 5 · GCL (Linear Congruence Generators)
Estos generadores son los más utilizados y los más conocidos. Se basan en la relación de recurrencia: N¡+1 = (aN¡ + c) mod m donde "a" es el multiplicador y "m" el módulo. These generators are the most used and the best known. They are based on the recurrence relationship: N¡ + 1 = (aN¡ + c) mod m where "a" is the multiplier and "m" the module.
0 · Hay "m" valores posibles de N¡, entre 0 y m - 1. 0 · There are "m" possible values of N¡, between 0 and m - 1.
• La secuencia es periódica: cuando vuelve a aparecer un número por segunda vez, la secuencia se vuelve a repetir. El periodo depende de los valores de a, c y m, así como del valor inicial; el máximo posible es m. • The sequence is periodic: when a number reappears a second time, the sequence is repeated. The period depends on the values of a, c and m, as well as the initial value; the maximum possible is m.
;5  ;5
• Generadores de desplazamiento de bits  • Bit Shift Generators
En estos generadores cada nuevo número entero aleatorio Ni, se obtiene manipulando los bits del número anterior, Ni— 1. En lenguaje C, esto se puede hacer fácilmente 0 utilizando operadores sobre bits, », «, Λ, |, &. In these generators each new random integer Ni, is obtained by manipulating the bits of the previous number, Ni— 1. In C language, this can easily be done 0 using operators on bits, »,«, Λ , |, &.
• Generadores de Fibonacci Son generadores muy rápidos que tienen un periodo muy largo. Los generadores de Fibonacci se basan en una recurrencia del tipo N¡ = (N¡-r o N¡_s) mod m, donde r < s son enteros dados y o denota alguna de las operaciones +,-,χ,Λ. Este tipo de generador precisa iniciar (con otro generador) y mantener una lista de los últimos s números generados. • Fibonacci generators They are very fast generators that have a very long period. Fibonacci generators are based on a recurrence of the type N¡ = (N¡- r or N¡_ s ) mod m, where r <s are given integers and I denote some of the operations +, -, χ, Λ . This type of generator needs to start (with another generator) and keep a list of the last generated numbers.
• Cuadrados medios Este método comienza con un número inicial (semilla). Este número es elevado al cuadrado. Se escogen los dígitos del medio de este nuevo número (según los dígitos que se deseen) y se colocan después del punto decimal. Este número conforma el primer "número random". • Medium squares This method begins with an initial number (seed). This number is squared. The middle digits of this new number (according to the desired digits) are chosen and placed after the decimal point. This number forms the first "random number".
• Distribución Exponencial  • Exponential Distribution
Para obtener Y con distribución
Figure imgf000010_0001
To get Y with distribution
Figure imgf000010_0001
Entonces queda la ecuación:
Figure imgf000010_0002
Then the equation remains:
Figure imgf000010_0002
Entonces, el cambio adecuado será y = — J- In ( 1— x )  Then, the appropriate change will be y = - J- In (1— x)
• Distribución Normal • Normal distribution
Para obtener Y e N (0, 1), nos queda la siguiente ecuación:
Figure imgf000011_0001
To obtain Y e N (0, 1), we have the following equation:
Figure imgf000011_0001
Para resolver esta ecuación, se aplica el algoritmo de Box- Müller (por densidad de probabilidades). To solve this equation, the Box-Müller algorithm (by density of probabilities) is applied.
• Aceptación y rechazo  • Acceptance and rejection
Es un método sencillo y general, aunque en ocasiones no es muy eficiente. It is a simple and general method, although sometimes it is not very efficient.
Sea p(x) definida en un intervalo finito, (a, b), y M una cota superior de p(x). Let p (x) be defined in a finite interval, (a, b), and M an upper bound of p (x).
Se generan dos valores aleatorios x e U(a, b) y p e U(0,M). Entonces: Two random values x e U (a, b) and p e U (0, M) are generated. So:
{ se acepta x si p(x) > p {x is accepted if p (x)> p
se rechaza x si p(x) < p  x is rejected if p (x) <p
El valor x aparece con una densidad de probabilidad p(x), aunque no se aprovechan todos los valores que obtenemos en la realización del método. The value x appears with a probability density p (x), although not all the values we obtain in the method are used.
Este es el único método disponible cuando la distribución de probabilidades es complicada. This is the only method available when the distribution of probabilities is complicated.
Es la base del algoritmo de Metrópolis, el más utilizado en física computacional. It is the basis of the Metropolis algorithm, the most used in computational physics.
• Método de Convolución: • Convolution Method:
El principio de este método es que, para obtener los valores de X bastará con generar 2 valores para Y-i y Y2, y devolver su suma. La suma de un conjunto de variables aleatorias (convolución) es diferente al de la suma de sus funciones de distribución (composición). The principle of this method is that, to obtain the values of X it will be enough to generate 2 values for Yi and Y 2 , and return their sum. The sum of a set of random variables (convolution) is different from the sum of its distribution functions (composition).
Existen varias distribuciones que pueden generarse por convolución: • Una variable con distribución normal puede obtenerse sumando un número suficiente de variables aleatorias con cualquier distribución. There are several distributions that can be generated by convolution: • A variable with normal distribution can be obtained by adding a sufficient number of random variables with any distribution.
• Una variable con distribución chi-cuadrado con k grados de libertad puede obtenerse sumando los cuadrados de k variables con distribución N (0, 1). • A variable with chi-square distribution with k degrees of freedom can be obtained by adding the squares of k variables with distribution N (0, 1).
• Una variable con distribución Erlang-k puede obtenerse sumando k variables con distribución exponencial.  • A variable with Erlang-k distribution can be obtained by adding k variables with exponential distribution.
• La suma de dos variables con distribución U (0, 1) forma una variable con distribución triangular. • The sum of two variables with distribution U (0, 1) forms a variable with triangular distribution.
Todos los modelos mencionados, permiten la generación de números ya sea uniformemente distribuidos o distribuidos no uniformes. All the mentioned models, allow the generation of numbers either uniformly distributed or non-uniform distributed.
4. Pruebas numéricas de secuencias: 4. Numerical sequence tests:
Estas consisten en realizar dos tipos de pruebas, empíricas y teóricas. Si los generadores superan estas pruebas, podremos asegurar que estamos ante un generador de números aleatorios bastante competente. These consist of performing two types of tests, empirical and theoretical. If the generators pass these tests, we can ensure that we have a fairly competent random number generator.
Pruebas empíricas (sobre la muestra de la secuencia): Empirical tests (on the sequence sample):
- Test de uniformidad: hace falta que los valores estén uniformemente distribuidos en [0, 1]. Se puede realizar un test X2. Alternativamente, podemos estimar los momentos de orden k, Xk = 1/N∑ ¡(x¡)k y comprobar que se aproximan a sus correspondientes valores teóricos, 1/(k + 1). - Uniformity test: the values need to be uniformly distributed in [0, 1]. An X 2 test can be performed. Alternatively, we can estimate the moments of order k, X k = 1 / N∑ ¡(x¡) k and check that they approximate their corresponding theoretical values, 1 / (k + 1).
- Test serial: se generan parejas de valores (x1 , x2), y se comprueba si se distribuyen uniformemente en el cuadrado [0, 1] * [0, 1]. - Serial test: pairs of values (x1, x2) are generated, and it is checked whether they are distributed evenly in the square [0, 1] * [0, 1].
- Test de correlaciones: se determina la correlación entre números separados k lugares en la secuencia, C(k) = 1/N∑¡ x¡x¡+k. Su valor tendría que acercarse a 1/4. - Correlation test: the correlation between separate numbers k places in the sequence is determined, C (k) = 1 / N∑¡ x¡x¡ + k . Its value would have to approach 1/4.
Pruebas teóricas (sobre toda la secuencia): La sencillez de los generadores de congruencia lineal permiten demostrar propiedades importantes: Theoretical tests (over the entire sequence): The simplicity of linear congruence generators allow to demonstrate important properties:
- Para determinar valores de a, c y m se obtienen secuencias de periodo máximo m. Por ejemplo, si m es una potencia de 2, bastaría con que c sea impar y "a" sea igual a - To determine values of a, c and m, sequences of maximum period m are obtained. For example, if m is a power of 2, it would be enough that c is odd and "a" equals
5 un múltiplo de 4 más 1. 5 a multiple of 4 plus 1.
- Test espectral: si se forman vectores con k valores consecutivos, un = (xn, xn+i . ■ ■ xn+k), estos forman hiperplanos paralelos en el espacio k-dimensional. La separación dk entre los planos tiene que ser la mínima posible. - Spectral test: if vectors with consecutive values are formed, u n = (x n , x n + i. ■ ■ x n + k), they form parallel hyperplanes in the k-dimensional space. The separation dk between the planes has to be the minimum possible.
0  0
Entre las pruebas más conocidas para verificar estas series destacan:  Among the best known tests to verify these series are:
- La prueba de Frecuencias: es utilizada para comprobar que los datos estén Uniformemente distribuidos. - The Frequency test: it is used to verify that the data is evenly distributed.
5  5
- La prueba de autocorrelación: verifica la correlación entre números aleatorios y los compara con la deseable correlación de cero.  - The autocorrelation test: verifies the correlation between random numbers and compares them with the desirable zero correlation.
- La prueba GAP (de huecos o de distancia): es usada para asegurar que la recurrencia ¡0 de cada dígito particular en un flujo de números suceda con un intervalo aleatorio. La prueba KS es entonces usada para comparar estos intervalos con la longitud esperada de huecos. - The GAP test (of gaps or distance): is used to ensure that the recurrence ¡0 of each particular digit in a number flow occurs with a random interval. The KS test is then used to compare these intervals with the expected length of gaps.
- La prueba Póquer: prueba grupos de números juntos como una mano de poker y !5 compara cada mano con la mano esperada usando la prueba Chi-cuadrada. - The Poker test: test groups of numbers together like a poker hand and! 5 compare each hand with the expected hand using the Chi-square test.
- La prueba de corrida arriba abajo: es generalmente la prueba principal usada para verificar la dependencia. Detecta si un patrón inaceptable estadísticamente que se incrementa o decrece existe entre números adyacentes en un flujo de números. - The test run up and down: it is usually the main test used to verify the dependence. Detects if a statistically unacceptable pattern that increases or decreases exists between adjacent numbers in a flow of numbers.
- Prueba de Series: Mide la correlación entre elementos adyacentes en una secuencia de números aleatorios. - Series Test: Measures the correlation between adjacent elements in a sequence of random numbers.
5 Descripción del Invento 5 Description of the Invention
La invención se utiliza principalmente en el campo de la estadística, simulación de sistemas, generación de claves para encriptación de información. The invention is mainly used in the field of statistics, systems simulation, key generation for information encryption.
5  5
Los bancos de números se generan actualmente mediante dos métodos principales, el primero es mediante algoritmos que toman una "semilla" que es un número que se presume elegido de una selección y con esa semilla mediante algoritmos especializados genera un conjunto de números los cuales en realidad son predecíbles ) por lo que se le llaman pseudo variables.  Number banks are currently generated by two main methods, the first is through algorithms that take a "seed" which is a presumed number chosen from a selection and with that seed through specialized algorithms it generates a set of numbers which actually they are predictable) by what they are called pseudo variables.
El segundo método es mediante aparatos que toman números generados por fenómenos físicos variables, estos fenómenos pueden ser ruido blanco, ruido térmico, ruido cósmico, variables atmosféricas, etc. Estos valores son impredecibles o bienThe second method is through devices that take numbers generated by variable physical phenomena, these phenomena can be white noise, thermal noise, cosmic noise, atmospheric variables, etc. These values are unpredictable or
> dependen de tantas variables que en la práctica no se pueden predecir. Aunque su grado de variabilidad es extremadamente alto, la velocidad de generación es sumamente baja por lo que no se pueden generar grandes tablas de números variables requeridos para la generación de claves o en criptografía. > depend on so many variables that in practice cannot be predicted. Although its degree of variability is extremely high, the generation speed is extremely low, so large tables of variable numbers required for key generation or cryptography cannot be generated.
) Existen numerosas empresas que ofrecen bancos de números de buena calidad sin embargo al ser previamente conocidos son inútiles en criptografía aunque funcionan para procesos de simulación. ) There are numerous companies that offer good quality number banks, but being previously known they are useless in cryptography although they work for simulation processes.
El comportamiento de los seres vivos complejos está determinado por eventosThe behavior of complex living beings is determined by events
> asincrónicos, o sea que suceden en cualquier momento y ese momento no tiene relación alguna o tiene una relación muy lejana a otro evento. Por ejemplo, el tiempo en que transcurre para que un mismo un animal cace a su siguiente presa, depende de tantas variables que el mismo animal no puede controlar, así que esa duración entre presas es aleatoria. De la misma manera el comportamiento humano es aleatorio en> asynchronous, that is, they happen at any time and that moment has no relationship or has a very distant relationship to another event. For example, the time it takes for the same animal to fall to its next prey depends on so many variables that the same animal cannot control, so that duration between prey is random. In the same way human behavior is random in
) sus pequeños detalles, por ejemplo cada cuanto bostezamos o cada cuanto oprimimos el botón de búsqueda en algún buscador de internet. ) its small details, for example how often we yawn or how often we press the search button on an internet search engine.
La presente invención consiste en un método para generar códigos a partir de eventos asincrónicos o pseudo-asincrónicos consiste en recolectar números de numerosas 5 fuentes, cada fuente envía el número dé manera asincrónica mediante un comando manual o automático. La colección de números recolectada se une en grupos para formar códigos asincrónicos de diferentes tamaños. La fuente es un software que toma el bit menos significativo del reloj de una computadora y lo envíe mediante protocolos de Internet al recolector. Este software puede ser cualquier sistema de mensajería instantánea tales como MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk. La fuente puede enviar números de mayor tamaño. The present invention consists of a method to generate codes from asynchronous or pseudo-asynchronous events consists in collecting numbers from numerous 5 sources, each source sends the number asynchronously by means of a command manual or automatic The collection of numbers collected is grouped into groups to form asynchronous codes of different sizes. The source is software that takes the least significant bit of a computer clock and sends it via Internet protocols to the collector. This software can be any instant messaging system such as MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk. The source can send larger numbers.
El proceso genera códigos o claves para comunicaciones, simulación de sistemas o transacciones encriptadas a partir de eventos asincrónicos. Para ello, el proceso inicia a partir de la digitalización de un evento se consigna la hora específica de ocurrencia del evento. Esa hora se envía a un servidor y cuando está en ese servidor se selecciona el bit menos significativo de la hora enviada que consiste en un uno o un cero. La unión de todos los eventos constituye una hilera de códigos irrepetible cuyo flujo debe ser continuo. The process generates codes or keys for communications, system simulation or encrypted transactions from asynchronous events. For this, the process starts from the digitization of an event, the specific time of occurrence of the event is recorded. That time is sent to a server and when it is on that server the least significant bit of the time sent consisting of a one or a zero is selected. The union of all events constitutes an unrepeatable row of codes whose flow must be continuous.
Este proceso permite la recolección y agrupación de eventos desde diversas fuentes remotas. Para generar eventos asincrónicos se utiliza un software que toma un evento registrado en un dispositivo electrónico y lo envía a un computador central el cual lo agrupa para formar grandes cadenas de eventos. This process allows the collection and grouping of events from various remote sources. To generate asynchronous events, software is used that takes an event registered in an electronic device and sends it to a central computer which groups it together to form large chains of events.
El proceso envía el evento registrado mediante un comando manual o un comando automático pseudo asincrónico, asincrónico o sincrónico. Podría usar como evento registrado uno o más bits tomados del reloj de un dispositivo electrónico. El método podría usar como fuente del número registrado el valor del reloj generado por un circuito integrado de un equipo de cómputo, teléfono celular, electrodomésticos; el reloj The process sends the recorded event using a manual command or an automatic pseudo asynchronous, asynchronous or synchronous command. You could use one or more bits taken from the clock of an electronic device as a recorded event. The method could use as a source of the registered number the value of the clock generated by an integrated circuit of a computer equipment, cell phone, appliances; the watch
generado por un software de un equipo de cómputo, un número aleatorio generado por un software de un equipo de cómputo, un número aleatorio generado por un aparato generador de números variables. generated by a computer equipment software, a random number generated by a computer equipment software, a random number generated by a variable number generating device.
Adicionalmente el método usa como dispositivo de envío del número registrado una computadora, un teléfono celular, un dispositivo inteligente, una tableta electrónica, una agenda electrónica, dispositivos con microprocesadores, microcontroladores, máquinas lógicas secuénciales, máquinas tragamonedas, cajeros automáticos, consolas de videojuegos. Additionally, the method uses a computer, a cell phone, a smart device, an electronic tablet, an electronic phone book, microprocessor devices, microcontrollers, machines as a sending device for the registered number. sequential logics, slot machines, ATMs, video game consoles.
El software que lo facilite pueden ser sistemas de mensajería instantánea el cual requiere la interacción humana, animal o de una máquina, sistemas de mensajería instantánea MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk, buscadores e internet, redes sociales y usa como medio de comunicación laThe software that facilitates it can be instant messaging systems which requires human, animal or machine interaction, instant messaging systems MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk, search engines and internet, social networks and use as a means of communication the
Internet, redes de computadoras, redes de comunicación digital, Internet, computer networks, digital communication networks,
redes de comunicación analógica, redes de comunicación telefónica, correo convencional, correo Courier. analog communication networks, telephone communication networks, conventional mail, Courier mail.
Los eventos generados se agrupan en el orden de llegada, en orden aleatorio, en grupos de tamaño variable, en arreglos ordenados secuencialmente o de manera aleatoria. La cantidad de eventos enviados al computador central es mayor a uno y se usa como computador central un arreglo de servidores centralizados o distribuidos. The events generated are grouped in the order of arrival, in random order, in groups of variable size, in arrangements sequentially or randomly. The number of events sent to the central computer is greater than one and an array of centralized or distributed servers is used as the central computer.
Existe un disparador del evento el cual interactúa con un computador, en el momento del evento se registra el bit menos significativo del reloj del dispositivo en que sucedió el evento. Entonces el número registrado se envía al computador central. There is an event trigger which interacts with a computer, at the time of the event the least significant bit of the device clock in which the event occurred is recorded. Then the registered number is sent to the central computer.
Múltiples personas a través de sus dispositivos estarán enviando números al computador central el cual genera una gran hilera de números, estos números son filtrados en caso necesario donde la secuencia 10 se convierte en 1 , la secuencia 01 se convierte en 0, la secuencia 00 se descarta y la secuencia 11 se descarta. La nueva hilera es el resultado esperado y contiene de manera secuencia los números variables. Multiple people through their devices will be sending numbers to the central computer which generates a large row of numbers, these numbers are filtered if necessary where sequence 10 becomes 1, sequence 01 becomes 0, sequence 00 becomes discards and sequence 11 is discarded. The new row is the expected result and contains the variable numbers sequentially.

Claims

REIVINDICACIONES
1. Un proceso que genera códigos o claves para comunicaciones, simulación de sistemas o transacciones encriptadas a partir de eventos asincrónicos que consiste en: 1. A process that generates codes or keys for communications, system simulation or encrypted transactions from asynchronous events consisting of:
A partir de la digitalización de un evento se consigna la hora específica de ocurrencia del evento, From the digitization of an event the specific time of occurrence of the event is recorded,
esa hora se envía a un servidor,  that time is sent to a server,
cuando está en ese servidor se selecciona el bit menos significativo de la hora enviada que consiste en un uno o un cero,  when it is on that server the least significant bit of the time sent consisting of a one or a zero is selected,
la unión de todos los eventos constituye una hilera de códigos irrepetible cuyo flujo debe ser continuo.  the union of all the events constitutes a row of unrepeatable codes whose flow must be continuous.
2. Un proceso de la reivindicación 1 , que permite la recolección y agrupación de eventos desde diversas fuentes remotas. 2. A process of claim 1, which allows the collection and grouping of events from various remote sources.
3. Un proceso de la reivindicación 1 , donde para generar eventos asincrónicos se utiliza un software que toma un evento registrado en un dispositivo electrónico y lo envía a un computador central el cual lo agrupa para formar grandes cadenas de eventos variables. 3. A process of claim 1, wherein to generate asynchronous events a software is used that takes an event registered in an electronic device and sends it to a central computer which groups it to form large chains of variable events.
4. Un proceso de la reivindicación 1 , que envía el evento registrado mediante un comando manual o un comando automático pseudo asincrónico, asincrónico o sincrónico. 4. A process of claim 1, which sends the recorded event by a manual command or an asynchronous, asynchronous or synchronous pseudo automatic command.
5. Un proceso de la reivindicación 1 , que usa como evento registrado uno o más bits tomados del reloj de un dispositivo electrónico. 5. A process of claim 1, which uses as recorded event one or more bits taken from the clock of an electronic device.
6. Un método para capturar eventos asincrónicos usando como fuente del número registrado el valor del reloj generado por un circuito integrado de un equipo de cómputo, teléfono celular, electrodomésticos; el reloj generado por un software de un equipo de cómputo, un número aleatorio generado por un software de un equipo de cómputo, un número aleatorio generado por un aparato generador de números variables. 6. A method to capture asynchronous events using as a source of the registered number the value of the clock generated by an integrated circuit of a computer equipment, cell phone, appliances; the clock generated by a computer equipment software, a random number generated by a computer equipment software, a random number generated by a variable number generating device.
7. Método de la reivindicación 6 que usa como dispositivo ae envío aei numero registrado una computadora, un teléfono celular, un dispositivo inteligente, una tableta electrónica, una agenda electrónica, dispositivos con microprocesadores, microcontroladores, máquinas lógicas secuénciales, máquinas tragamonedas, cajeros automáticos, consolas de videojuegos. 7. The method of claim 6, which uses a computer, a cell phone, a smart device, an electronic tablet, an electronic phone book, microprocessor devices, microcontrollers, sequential logic machines, slot machines, ATMs as a device for sending a registered number. , video game consoles.
8. Un método de la reivindicación 6, que usa como software sistemas de mensajería instantánea el cual requiere la interacción humana, animal o de una máquina, sistemas de mensajería instantánea MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk, buscadores e internet, redes sociales y usa como medio de comunicación la Internet, redes de computadoras, redes de comunicación digital, redes de comunicación analógica, redes de comunicación telefónica, correo convencional, correo Courier. 8. A method of claim 6, which uses instant messaging systems as software which requires human, animal or machine interaction, instant messaging systems MSN Messenger, ICQ, Yahoo! Messenger, Aol Instant Messenger, Google talk, search engines and the Internet, social networks and uses the Internet, computer networks, digital communication networks, analog communication networks, telephone communication networks, conventional mail, Courier mail as a means of communication.
9. Un método de la reivindicación 6, que genera eventos agrupándolos en el orden de llegada, en orden aleatorio, en grupos de tamaño variable, en arreglos ordenados secuencialmente o de manera aleatoria. 9. A method of claim 6, which generates events by grouping them in the order of arrival, in random order, in groups of variable size, in arrangements sequentially or randomly.
10. Un método de la reivindicación 6, donde la cantidad de eventos enviados al computador central es mayor a uno y se usa como computador central un arreglo de servidores centralizados o distribuidos. 10. A method of claim 6, wherein the number of events sent to the central computer is greater than one and an array of centralized or distributed servers is used as the central computer.
PCT/CR2014/000005 2014-11-06 2014-11-06 Method for generating variable codes WO2016070855A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CR2014/000005 WO2016070855A1 (en) 2014-11-06 2014-11-06 Method for generating variable codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CR2014/000005 WO2016070855A1 (en) 2014-11-06 2014-11-06 Method for generating variable codes

Publications (1)

Publication Number Publication Date
WO2016070855A1 true WO2016070855A1 (en) 2016-05-12

Family

ID=55908625

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CR2014/000005 WO2016070855A1 (en) 2014-11-06 2014-11-06 Method for generating variable codes

Country Status (1)

Country Link
WO (1) WO2016070855A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069706A1 (en) * 2004-09-28 2006-03-30 Dejan Lazich Random number generator and method for generating random numbers
EP1840731A2 (en) * 2006-03-31 2007-10-03 Sap Ag A system and method for generating pseudo-random numbers
WO2008133590A1 (en) * 2007-04-30 2008-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Method for establishing a random number for security and encryption, and a communications apparatus
US20120173599A1 (en) * 2010-12-29 2012-07-05 Hon Hai Precision Industry Co., Ltd. System and method for generating true random numbers using computing device
GB2502541A (en) * 2012-05-30 2013-12-04 Ibm Balancing consumption of random data using multiple sources with different levels of entropy
GB2508447A (en) * 2013-03-28 2014-06-04 Randomize Ltd Testing software by generating pseudorandom control signals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069706A1 (en) * 2004-09-28 2006-03-30 Dejan Lazich Random number generator and method for generating random numbers
EP1840731A2 (en) * 2006-03-31 2007-10-03 Sap Ag A system and method for generating pseudo-random numbers
WO2008133590A1 (en) * 2007-04-30 2008-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Method for establishing a random number for security and encryption, and a communications apparatus
US20120173599A1 (en) * 2010-12-29 2012-07-05 Hon Hai Precision Industry Co., Ltd. System and method for generating true random numbers using computing device
GB2502541A (en) * 2012-05-30 2013-12-04 Ibm Balancing consumption of random data using multiple sources with different levels of entropy
GB2508447A (en) * 2013-03-28 2014-06-04 Randomize Ltd Testing software by generating pseudorandom control signals

Similar Documents

Publication Publication Date Title
Ma et al. A machine learning attack resistant multi-PUF design on FPGA
Tuncer The implementation of chaos-based PUF designs in field programmable gate array
Vassilev et al. The importance of entropy to information security
CN109614790A (en) Light-weight authentication equipment and authentication method based on feedback loop PUF
Hussain et al. A built-in-self-test scheme for online evaluation of physical unclonable functions and true random number generators
US20240097883A1 (en) Systems and computer-implemented methods for generating pseudo random numbers
Kafsi et al. The entropy of conditional Markov trajectories
Hathwalia et al. Design and analysis of a 32 bit linear feedback shift register using VHDL
Vivek et al. Design and implementation of physical unclonable function in field programmable gate array
WO2016070855A1 (en) Method for generating variable codes
Loutfi et al. Smartphone sensors as random bit generators
Zacharias et al. Chaotic ring oscillator based true random number generator implementations in fpga
CN113946882B (en) Schmitt trigger-based ultralow-power-consumption weak physical unclonable function circuit
Huang et al. Performance of finite precision on discrete Chaotic map based on a feedback shift register
Vennos et al. Attacks and defenses for single-stage residue number system PRNGs
Sahithi et al. Delay based physical unclonable function for hardware security and trust
Yan et al. A note on quasi-weakly almost periodic point
Tan et al. Study of linearly cross-coupled chaotic systems for a random bit generator
KR20200003111A (en) Random number generator
Song et al. True random number generation using process scheduling of android systems
Stojanovski et al. Construction of Markov partitions in PL1D maps
De Micco et al. RO-based PRNG: FPGA implementation and stochastic analysis
Tobin et al. Secrecy and Randomness: Encoding Cloud data Locally using a One-Time Pad
Pandey et al. Efficient and provably secure intelligent geometrical method of secret key generation for cryptographic applications
Artyshchuk et al. Designing a generator of random electronic message based on chaotic algorithm

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: CR2015-000100

Country of ref document: CR

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14905399

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14905399

Country of ref document: EP

Kind code of ref document: A1