N U E VA M A N E R A S E N C I L L A D E G E N E R A R NUMEROS PSEUDOALEATORIOS I TA M A R AC Á FRNS = ABS [N - (PN * XRN)] DH PEREIRA (2022) ¿QUE ÉS I TA M A R AC Á ? • Itamaracá o simplemente "Ita" es una nueva, sencilla y rapida basis matematica en PRNG que genera "infinitas" secuencias de numeros en un rango [0,1] llevando a cabo una distribución uniforme. • El origen de su nombre proviene de la lengua tupíguaraní en la que se refiere a "piedra que canta", en este sentido una referencia a la casualidad, a un acontecimiento inesperado. C O M O I TA F U N C I O N A Como todo GNPA (Generador de Números Pseudoaleatorios) Ita tiene algunas características distintivas. A continuación se presentan sus condiciones iniciales: • En primer lugar, elegir N, es decir, un valor máximo dentro de un rango entre 0 y N seleccionado por un criterio elegido por el usuario, donde N ∈ ℕ. • En este modelo, hay 3 semillas S0, S1 y S2. Para cada una de estas semillas elija un número cualquiera ∈ ℕ que pertenezca al intervalo entre 0 y N. C O M O I TA F U N C I O N A Tras elegir arbitrariamente los 3 valores de las semillas S0, S1 y S2, el proceso de cálculo se divide en dos etapas principales: • Pn (Proceso de n o Estado Intermedio) • Calculo Final o Formula General C O M O I TA F U N C I O N A Pn (Proceso de n) o Estado Intermedio En esta etapa, tenemos que tener en cuenta los valores absolutos que tienen las diferencias entre las 2 semillas que son "móviles" en el tiempo, preferiblemente diciendo, en secuencia. Pn = ABS (S2 – S0) C O M O I TA F U N C I O N A Cálculo Final o Formula General En este paso, debemos multiplicar "x" resultado obtenido en el primer paso (en Pn) por Xrn, es decir, cualquier valor deseado por el usuario, siempre que este valor sea muy cercano a 2 (ej: 1,97, 1,98, 1,99789...). FRNS = ABS [N – (Pn * Xrn)] EJEMPLO Supongamos que queremos generar números del 0 al 10.000. N 10,000 Semilla 0 8,777 Semilla 1 11 Semilla 2 8 EJEMPLO Podemos generar el primer número utilizando el estado intermedio (Pn) y luego utilizar la formulación general, como se demuestra a continuación: P1 = ABS (8 – 8,777) = 8,769 FRNS1 = ABS [10,000 - (8,769*1.97) = 7,275 EJEMPLO Segundo Numero: P2 = ABS (7,275 – 11) = 7,264 FRNS2 = ABS [10,000 - (7,264*1.97) = 4,310 Tercer Numero: P3 = ABS (4,310 – 8) = 4,302 FRNS3 = ABS [10,000 - (4,302*1.97) = 1,525 EJEMPLO Así obtenemos los tres primeros números generados: 7,275 - 4,310 y 1,525... Los siguientes números generados por esta secuencia seguirán la misma lógica. R E S U LTA D O S D E A L G U N A S P RU E BA S Y H E R R A M I E N TA S E S TA D Í S T I C A S Comparación de resultados entre Ita y TRNG por Random Org considerando 10.000 números generados Pruebas Ita Random Org Chi-Square 11.26 3.65 Repeated Numbers / N 3,618 3,763 4,941 / 2,884 4,925 / 2,905 Run Test (Even/Odd) -0.914634 0.004101 Run Test (Median) 0.759184 0.603023 Autocorrelation (Average of the first 10 k-lags different from 0) 0.000103 0.000980 Shannon Entropy 3.45327 3.45284 Average / Standard Deviation Nota: La metodología utilizada para evaluar los resultados es exactamente la misma que la contenida en la versión publicada. R E S U LTA D O S D E A L G U N A S P RU E BA S Y H E R R A M I E N TA S E S TA D Í S T I C A S Histograma por el modelo Ita R E S U LTA D O S D E A L G U N A S P RU E BA S Y H E R R A M I E N TA S E S TA D Í S T I C A S Run Sequence por el modelo Ita Line Graph for 1,000 numbers generated by Itamaracá 12000 10000 8000 6000 4000 2000 1 19 37 55 73 91 109 127 145 163 181 199 217 235 253 271 289 307 325 343 361 379 397 415 433 451 469 487 505 523 541 559 577 595 613 631 649 667 685 703 721 739 757 775 793 811 829 847 865 883 901 919 937 955 973 991 0 R E S U LTA D O S D E A L G U N A S P RU E BA S Y H E R R A M I E N TA S E S TA D Í S T I C A S Gráfico de Dispersión por el modelo Ita Scatter Plot for 1,000 numbers generated by Ita 12000 10000 8000 6000 4000 2000 0 0 200 400 600 Série1 800 1000 1200 ALGUNAS CO NS IDERACIO NES • El modelo Ita ha demostrado ser un buen generador de números aleatorios, especialmente en el criterio que evalúa la independencia y la uniformidad. A pesar de ser un estudio reciente, existen buenas perspectivas en cuanto a su coste computacional y su aplicabilidad al campo de estudio en Criptografía. En este sentido, puede obtener pronto la etiqueta CSPRNG. • Otro punto a destacar es el hecho de que no se observaron reglas en cuanto a la elección de los valores de las semillas, siendo suficiente con elegir arbitrariamente cualquier valor dentro del intervalo de 0 a N ∈ ℕ, su valor máximo. ALGUNAS CO NS IDERACIO NES • Independientemente de los valores iniciales de las semillas utilizadas, hay una fuerte tendencia a que el algoritmo pase las pruebas estadísticas estándar de uniformidad e independencia (incluyendo NIST y next-bit tests). Sin embargo, aunque estén aprobadas, algunos valores de estas semillas elegidas pueden hacer que los resultados de ciertas pruebas sean "mejores" o "peores" que cuando se utilizan otras semillas. ALGUNAS CO NS IDERACIO NES El modelo Ita, al igual que todos los PRNG, también tiene algunas limitaciones identificadas. Como ejemplo, en algún momento, probablemente después de una gran cantidad de números generados, la repetición de la misma secuencia de números generados tiende a repetirse. Sin embargo, esto sólo ocurrirá si y sólo si los valores de las 3 semillas iniciales (S0, S1 y S2) aparecen en medio de la secuencia generada exactamente en el mismo orden. • A pesar de esta limitación, podemos observar que es muy difícil que esta secuencia de números se repita de nuevo en su totalidad a medida que aumenta el valor de N si consideramos una distribución uniforme [0, 1]. • Así que podemos deducir que es un generador que genera números aleatorios "infinitos" y "no periódicos". La generación de números aleatorios es demasiado importante para varios campos de estudio y aplicaciones prácticas para el desarrollo de la humanidad. CONCLUSIÓN El presente estudio, presenta una nueva y sencilla propuesta de un Generador de Números Pseudo Aleatorios (PRNG) llamado "Itamaracá". El modelo Ita, como todos los algoritmos PRNG, tiene algunas limitaciones, pero en general ha demostrado buenos resultados en las pruebas estadísticas consideradas. En este sentido, un modelo más en el portfolio disponible para nuevos estudios y, sobre todo, para usos especialmente aplicables a un objetivo concreto y a problemas reales.