Itamaracá CSPRNG Una nueva manera sencilla de generar numeros pseudoaleatorios Espanõl Version

advertisement
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.
Download