Está en la página 1de 9

Generadores de bits

Generador pseudoaleatorio
Criptografı́a de clave secreta
Cifradores en flujo

Contenidos

l
1 Generadores de bits
Generadores de bits/números

e
Generadores de bits aleatorios

n
2 Generador pseudoaleatorio

e
Postulados de Golomb
Algunos generadores

o
FSR: Registros de Desplazamiento
Tests estadı́sticos

s iv
3 Criptografı́a de clave secreta

lu 2 1
4 Cifradores en flujo

c /
Cifrado de Vernam

x
Otros cifradores

u e 0 2 0
s 2
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 2 / 40

r a A I -
Generadores de bits Generadores de bits
Generador pseudoaleatorio Generadores de bits/números Generador pseudoaleatorio Generadores de bits/números
Criptografı́a de clave secreta Generadores de bits aleatorios Criptografı́a de clave secreta Generadores de bits aleatorios

a
Cifradores en flujo Cifradores en flujo

C
Generadores de bits o de números

I
Generadores de bits aleatorios (1)

P te r -
La generación de bit o de números (pseudo)aleatorios es fundamental
Un generador de bits aleatorio es un dispositivo o algoritmo cuya
salida es una secuencia de dı́gitos binarios imparciales y

s
en Criptografı́a: estadı́sticamente independientes (requieren de un proceso informático

á
posterior para eliminar sesgos).
Claves de sesión.

M
Los generadores de bits realmente aleatorios se conocen como TRBG
Vectores de inicialización. (True Random Bit Generator).
Claves secretas.
Claves públicas. El paso del tiempo entre la emisión de partı́culas durante
decaimiento radiactivo.
Parámetros que se emplean una sola vez (nonces).
El ruido térmico de un diodo semiconductor o resistencia.
Si los números aleatorios generados no son seguros, todo protocolo Movimientos del ratón.
criptográfico en el que sean empleados, es inseguro. La turbulencia de aire dentro de una unidad de disco sellada que
causa fluctuaciones aleatorias en el sector del disco.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 4 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 5 / 40
Generadores de bits Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Generadores de bits/números Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta Generadores de bits aleatorios Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Cifradores en flujo Tests estadı́sticos

Generadores de bits aleatorios (2) Generadores de bits pseudoaleatorios

l
El sonido de un micrófono o una entrada del vı́deo de una

e
cámara. Un generador de bits pseudoaleatorio (PRBG, Pseudo-Random Bit
Generator) es un algoritmo determinı́stico para el que dada una

n
El reloj del sistema del ordenador.
verdadera secuencia binaria aleatoria de longitud k, devuelve una

e
El tiempo transcurrido entre diferentes pulsaciones sobre el
secuencia binaria de longitud l  k, que “aparentemente” es aleatoria.
teclado o movimientos del ratón.

o
El volumen de datos contenido en buffer de Entrada/Salida. La entrada del PRBG se denomina semilla, mientras que a la salida se

iv
Valores del sistema operativo, como la carga del sistema o le llama secuencia de bits pseudoaleatoria.
determinadas estadı́sticas de la red.

s
Fenómenos cuánticos. La salida de un PRBG no es aleatoria. La intención es expandir una

lu 1
pequeña secuencia aleatoria a una secuencia de longitud mucho
Software diseñado “ad hoc”.

2
mayor, de modo que un adversario no pueda distinguir con éxito entre

c /
las secuencias generadas por un PRBG y secuencias verdaderamente

x 0
Los generadores de bits aleatorios son útiles en determinadas aleatorias.

e
situaciones criptográficas como la generación de claves de sesión, de

2
números primos, etc.

s u 2 0
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 6 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 8 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

C
Seguridad de los PRBG

I
Rachas de bits

P te r -
s
Para garantizar la seguridad de los generadores pseudoaleatorios, se
Dada una secuencia de bits s, una racha de longitud i es una
han diseñado una variedad de test estadı́sticos que permiten detectar

á
subsecuencia de s formada por i ceros o i unos consecutivos, que no
si tales generadores verifican las caracterı́sticas esperadas en las
están precedidos ni seguidos por el mismo sı́mbolo. Una racha de ceros

M
secuencias realmente aleatorias.
se llama hueco (gap) y una racha de unos se denomina bloque (block).
Superar dichos tests es una condición necesaria pero no suficiente
Ejemplo. Determinar las rachas presentes en la secuencia binaria
para que un generador sea seguro.
siguiente:
Golomb formuló tres postulados que debe satisfacer una secuencia
binaria finita para poder ser considerada como una secuencia 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1.
pseudoaleatoria.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 9 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 10 / 40
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

Función de autocorrelación Postulados de Golomb

l
Si A es el número de aciertos y D el de desavenencias entre una
secuencia periódica, s, de periodo T , y ella misma desplazada k bits,

e
Los postulados de pseudoaleatoriedad de Golomb son:
su función de autocorrelación es:

n
A−D G1. En cada periodo de la secuencia, el número de unos tiene que ser
AC(k) = ,

e
T aproximadamente igual al número de ceros (su diferencia no debe
exceder de la unidad).

o
Si k | T , AC(k) está en fase y AC(k) = 1. En otro caso AC(k)

v
está fuera de fase y AC(k) ∈ [−1, 1]. G2. En cada periodo de la secuencia, la mitad de las rachas tiene

i
longitud 1, una cuarta parte tiene longitud 2, una octava parte

s
Ejemplo. La secuencia s se ha desplazado k = 1 posición: tiene longitud 3, etc. Al mismo tiempo, para cada una de las

u 1
longitudes anteriores habrá el mismo número de rachas de ceros

l
111101011001000 que de unos.

c /2
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1.

x
G3. La autocorrelación AC(k) fuera de fase es constante para todo

0
valor de k.

e
Se tiene entonces que A = 7, D = 8, AC(1) = −1/15.

u 0 2
Ejercicio. Comprobar que para 1 ≤ k ≤ 14, AC(k) es constante.

s 2
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 11 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 12 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

C
Secuencias PN

I
Generador en congruencias lineales

P r -
Una secuencia finita verificando G1, G2 y G3 se llama secuencia PN

e
(Pseudo-Noise) y tiene todas las propiedades de una secuencia binaria Un generador en congruencias lineales produce una secuencia de

t
con distribución uniforme. números enteros x1 , x2 , . . . entre 0 y m − 1, según la siguiente relación

s
recursiva:

á
G1. Establece que ceros y unos deben aparecer a lo largo de la xi+1 ≡ (a · xi + b) (mod m) , i ≥ 0.
secuencia con la misma probabilidad.

M
El valor inicial x0 es la semilla, a es la constante multiplicativa, b es el
G2. Comprueba que los diversos n-gramas (muestras de n dı́gitos incremento y m es el módulo, con a, b, x0 ∈ Zm .
consecutivos) ocurren con la probabilidad correcta.
La selección de valores de a, b, m y x0 afectan fuertemente a las
G3. Establece que el cómputo de coincidencias entre una secuencia y
propiedades estadı́sticas y a la longitud del ciclo del generador.
sus versiones desplazadas no aporta ninguna información sobre el
periodo de la secuencia, a menos que la secuencia se desplace Generador en congruencias cuadrático:
sobre un múltiplo de su periodo.
f (xi+1 ) = a · x2i + b · xi + c (mod m) ,

i ≥ 0.
Ejercicio. Estudiar si cumple G1, G2 y G3, la secuencia:
Ambos generadores son predecibles, por tanto, son no seguros.
1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 13 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 14 / 40
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

Ejemplo y ejercicio Generador criptográficamente seguro

e l
Un generador de bits es criptográficamente seguro o CSPRBG
Ejemplo. Determinar las secuencias del generador lineal dado por

n
(Cryptographically Secure Pseudo-Random Bit Generator) si verifica
a = 17, b = 43, m = 100 para las semillas x0 = 27 e y0 = 23. las siguientes condiciones

e
i 0 1 2 3 4 5 6 7 8 9 10 11
Para un atacante es imposible calcular o estimar, a partir de un

o
xi 27 2 77 52 27 2 77 52 27 2 77 52
trozo de la secuencia dado, cualquier valor futuro o pasado de la

v
yi 23 34 21 0 43 74 1 60 63 14 81 20

i
secuencia ni ningún estado intermedio del generador, si no conoce
la clave.

s
Ejercicio. Determinar las secuencia del generador cuadrático dado Para un atacante es imposible calcular o estimar, a partir de un

lu 1
por a = 17, b = 43, c = 19, m = 100 con x0 = 7 y del generador estado intermedio del generador, cualquier valor pasado de la

c 2
a = 7, b = 4, c = 9, m = 47 con y0 = 13. secuencia ni ningún estado pasado o futuro del generador, si no

x /
conoce la clave.

u e 0 2 0
s 2
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 15 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 16 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

C
Generador criptográficamente seguro: RSA

I
Registro de Desplazamiento Realimentado, FSR

P r -
Un Registro de Desplazamiento Realimentado (Feedback Shift

e
Register) es una colección de n etapas y una función de

t
El Generador RSA es un generador de bits criptográficamente seguro
realimentación, g, que expresa cada nuevo elemento de la secuencia,
supuesta la intratabilidad del problema de factorización entera. (Dado

s
a(t) con t > n, en función de los n elementos anteriores.
un entero compuesto, determinar su factorización como producto de

á
números primos). La secuencia generada por un FSR es cı́clica si la función de
realimentación es no singular (⊕ es la operación XOR):

M
1 Se generan dos primos grandes p, q. Se calculan n = p · q y
φ = (p − 1)(q − 1). Se selecciona un entero al azar e, 1 < e < φ, a(t) = g (a(t − 1), a(t − 2), . . . , a(t − n − 1)) ⊕ a(t − n).
con mcd(e, φ) = 1.
2 Se elige un entero aleatorio x0 ∈ [1, n − 1].
3 Para i desde 1 hasta l hacer lo siguiente:
1 xi ← xei−1 (mod n) .
2 zi ← bit menos significativo de xi .
4 Salida: z1 , z2 , . . . , zl .

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 17 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 18 / 40
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

Estado de un registro NLFSR

l
Los Registros de Desplazamiento Realimentados No Linealmente

e
(NLFSR) se caracterizan porque su función de realimentación, g, no
El estado del registro es el contenido de las etapas entre dos impulsos.
es lineal.

n
Los estados se desplazan un lugar a cada impulso de reloj y el nuevo
No hay un método sistemático para su análisis y manipulación y son

e
elemento de la secuencia, a(t), se realimenta directamente a la
difı́ciles de implementar para una generación rápida de secuencias
primera etapa empezando por la izquierda.

o
cifrantes.
El periodo de la secuencia producida depende del número de etapas

iv
del registro y de las caracterı́sticas de la función g.

s
El máximo periodo de una secuencia de un FSR es el máximo número

u 1
de estados distintos. Para un registro de n etapas es 2n .

c l 2
La clave en estos generadores es el contenido inicial del registro y la

x /
función de realimentación.

u e 0 2 0
s 2
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 19 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 20 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

IC
LFSR Polinomio de realimentación

P e r -
Un Registro de Desplazamiento Realimentado Linealmente (LFSR) es

t
un FRS que, con cada pulso de reloj avanza la señal, a través de La modelización de los LFSR es sencilla, al igual que su

s
registro de un bit, al siguiente bit más significativo. implementación electrónica.

á
Su función de realimentación tiene la forma siguiente: Todo registro de desplazamiento realimentado linealmente tiene
asociado un polinomio de realimentación de grado n:

M
a(t) = c1 a(t − 1) ⊕ c2 a(t − 2) ⊕ . . . ⊕ cn a(t − n),
f (x) = 1 + c1 x + c2 x2 + . . . + cn xn
con ci ∈ {1, 0} y cn = 1.
en la variable x y coeficientes binarios.
Estudiando las caracterı́sticas de este polinomio se pueden determinar
las caracterı́sticas de la secuencia generada por el LFSR.
La complejidad lineal de una secuencia es la longitud del menor LFSR
capaz de generarla.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 21 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 22 / 40
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

Test de aleatoriedad Test de Frecuencias

e l
No existe una demostración matemática de que un generador
pseudoaleatorio sea realmente un generador de bits aleatorio seguro. El propósito del Test de Frecuencias es determinar si el número de

n
Se han diseñado tests estadı́sticos para medir la calidad de un ceros y unos en una secuencia es aproximadamente el mismo, como

e
generador de bits pseudoaleatorio. cabrı́a esperar en una secuencia realmente aleatoria.

Cada uno de los tests determina si la secuencia generada posee ciertos Si n0 y n1 son el número de ceros y unos, respectivamente, y

o
atributos que es muy probable que sean observados en una secuencia n = n0 + n1 , el estadı́stico que se utiliza es

iv
realmente aleatoria.
(n0 − n1 )2

s
X1 = .
La conclusión de cada test es probabilı́stica, no determinista. n

lu 1
Si la secuencia generada falla en alguno de los tests estadı́sticos, el

2
Este estadı́stico sigue una distribución χ2 con 1 grado de libertad. La

c
generador es rechazado y se considera que no es pseudoaleatorio.

/
aproximación es suficientemente buena si n ≥ 10.

x 0
Si el generador pasa todos los tests, no se rechaza la hipótesis de que

e
el generador sea pseudoaleatorio.

s u 2 0 2
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 23 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 24 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

C
Test de Series

I
Test de Póquer

P te r -
jnk
Se considera un entero positivo m tal que k = ≥ 5 · 2m y se

s
El Test de Series intenta determinar si el número de ocurrencias de las m
subsecuencias 00, 01, 10, y 11, es aproximadamente el mismo. divide la secuencia en k partes de tamaño m. Se llama ni al número

á
de ocurrencias del tipo i de la secuencia de longitud m, 1 ≤ i ≤ 2m .
Si n00 , n01 , n10 y n11 son, respectivamente, el número de ocurrencias

M
de 00, 01, 10 y 11, y n00 + n01 + n10 + n11 = n − 1, el estadı́stico El Test de póquer determina si cada una de las secuencias de longitud
utilizado: m aparece aproximadamente el mismo número de veces. El estadı́stico
utilizado en este test es
4  2 2
n200 + n201 + n210 + n211 − n0 + n21 + 1.

X2 = 2 m
n−1 n 2m X 2
X3 = n − k,
k i=1 i
Este estadı́stico sigue una distribución χ2 con 2 grados de libertad y
su aproximación se considera suficientemente buena si n ≥ 21. que sigue, aproximadamente, una distribución χ2 con 2m − 1 grados
de libertad.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 25 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 26 / 40
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

Test de Rachas Test de Autocorrelación

l
El Test de Rachas determina si el número de rachas de varias El Test de Autocorrelación chequea las correlaciones entre la

e
longitudes en la secuencia es como se espera que sea en una secuencia secuencia s y versiones modificadas de la misma.
aleatoria. Se considera un entero d, 1 ≤ d ≤ bn/2c. El número de bits en la

n
El número de huecos (o bloques) de longitud i en una secuencia secuencia que no son iguales a sus d-cambios es

e
n−i+3
aleatoria de longitud n es ei = . n−d−1
2i+2

o
X
A(d) = si ⊕ si+d .
Se considera k igual al mayor entero i para el que ei ≥ 5, y se denotan

v
i=0

i
por Bi y Hi al número de bloques y huecos de longitud i en s; para

s
cada i, 1 ≤ i ≤ k. El estadı́stico utilizado es El estadı́stico utilizado en este test es

lu 1
k k
2 A(d) − n−d

(Bi − ei )2 (Hi − ei )2

2
X X
2

c
X4 = + , X5 = ,

/
ei ei n−2

x
i=1 i=1

0
que sigue, aproximadamente, una distribución N (0, 1).

e
que sigue, aproximadamente, una distribución χ2 con 2k − 2 grados

2
de libertad. La aproximación es suficientemente buena si n − d ≥ 10.

s u 2 0
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 27 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 28 / 40

r a A I -
Generadores de bits Postulados de Golomb Generadores de bits Postulados de Golomb
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio Algunos generadores
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta FSR: Registros de Desplazamiento

a
Cifradores en flujo Tests estadı́sticos Cifradores en flujo Tests estadı́sticos

C
Ejemplo (1)

I
Ejemplo (2)

P r -
Se considera la secuencia no aleatoria de longitud n = 160, obtenida

e
repitiendo cuatro veces la serie siguiente: Si para los valores anteriores se considera un nivel de significación

t
α = 0,05, los contrastes a considerar para cada valor hallado son,

s
1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1. respectivamente, 3,8415, 5,9915, 14,0671, 9,4877 y 1,96.

á
Se tiene entonces que
Test de Frecuencias. Con n0 = 84, n1 = 76, es X1 = 0,4.

M
1 X1 = 0,4 < 3,8415.
Test de Series. Con n00 = 44, n01 = 40, n10 = 40, n11 = 35, se tiene
que X2 = 0,6252. 2 X2 = 0,6252 < 5,9915.
3 X3 = 9,6415 < 14,0671.
Test de póquer. Si se consideran m = 3 y k = 53, los bloques 000, 001,
010, 011, 100, 101, 110 y 111 aparecen 5, 10, 6, 4, 12, 3, 6 y 7 veces, 4 X4 = 31,7913 > 9,4877.
respectivamente. Entonces X3 = 9,6415. 5 |X5 = −6,9434| > 1,96.
Test de Rachas. Sean e1 = 20,25, e2 = 10,0625, e3 = 5 y k = 3. Hay, Según esto, la secuencia de bits pseudoaleatoria anterior pasa los tests
respectivamente, 25, 4 y 5 bloques de longitudes 1, 2 y 3, y 8, 20 y 12 de frecuencias, series y póquer; pero falla en los test de rachas y
huecos de longitudes 1, 2 y 3. Se tiene X4 = 31,7913. autocorrelación.
Test de Autocorrelación. Para d = 3, es A(3) = 35 y X5 = −6,9434.
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 29 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 30 / 40
Generadores de bits Postulados de Golomb Generadores de bits
Generador pseudoaleatorio Algunos generadores Generador pseudoaleatorio
Criptografı́a de clave secreta FSR: Registros de Desplazamiento Criptografı́a de clave secreta
Cifradores en flujo Tests estadı́sticos Cifradores en flujo

Pruebas estadı́sticas para RNG y PRNG Criptografı́a simétrica

l
La Criptografı́a de Clave Secreta (SKC, Secret Key Cryptography) se
Se han desarrollado diferentes baterı́as de pruebas estadı́sticas para

e
caracteriza por utilizar una única clave que sólo es conocida de
determinar la posible aleatoriedad de una secuencia de bits. antemano por las dos partes que se cifran/descifran mensajes

n
NIST (National Institute of Standards and Technology): FIPS Los protocolos de clave simétrica para el cifrado y descifrado, esto es,

e
PUB 140-3. Es una baterı́a de 16 pruebas estadı́sticas. para que Alicia, A, cifre un mensaje a Bernardo, B, y que este lo
descifre, son:

o
George Marsaglia (1995): test Dieharder (Diehard). Es una
baterı́a de 18 pruebas estadı́sticas (https:

v
A elige la clave secreta que comparte con B, k. Cifra su mensaje

i
1
//webhome.phy.duke.edu/~rgb/General/dieharder.php).
utilizando dicha clave y se lo envı́a a B: Sk (m) = c.

s
BSI (Bundesamt für Sicherheit in der Informationstechnik). Es
2 B recibe el mensaje cifrado, Tk (c) = m. Lo descifra aplicando la

u 1
una baterı́a de 9 pruebas estadı́sticas (https://www.bsi.bund.

l
misma clave, k, que comparte con A.
de/DE/Themen/ZertifizierungundAnerkennung/

c /2
ZertifizierungnachCCundITSEC/
Las funciones de cifrado y descifrado (Sk , Tk ) deben ser “fáciles” de

x
AnwendungshinweiseundInterpretationen/aiscc/ais_cc.

0
computar para los usuarios del criptosistema y “difı́ciles” de computar

e
html).

2
para un adversario, de modo que aunque intercepte el criptograma c,
le sea imposible recuperar tanto el mensaje m como la clave k.

s u 2 0
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 31 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 33 / 40

r a A I -
Generadores de bits Generadores de bits
Generador pseudoaleatorio Generador pseudoaleatorio Cifrado de Vernam
Criptografı́a de clave secreta Criptografı́a de clave secreta Otros cifradores

a
Cifradores en flujo Cifradores en flujo

C
Pros & Cons de la SKC

I
Cifradores en flujo

P r -
Las principales ventajas de la SKC son: En el cifrado en flujo tanto el emisor como el receptor utilizan una

e
clave corta (secreta) y un algoritmo determinista (público) para

t
1 Rapidez en el cifrado y descifrado. generar una secuencia binaria cifrante, {si }.

s
2 Posibilidad de cifrar de grandes cantidades de datos.

á
Para cifrar se suman los bits del mensaje con los de la secuencia
3 Uso de claves pequeñas (de 128 a 256 bits). cifrante: {ci } = {mi } ⊕ {si } y para descifrar se cambia el mensaje por

M
el criptograma: {mi } = {ci } ⊕ {si }.
Los principales inconvenientes de la SKC son:
Clave Clave
1 Establecimiento y Distribución de la clave.
2 Elevado número de claves en una red (del orden de n2 ). ↓ ↓
3 Dificultad para firmar los mensajes. Algoritmo −→ {si } {si } ←− Algoritmo
 ↓ {ci } ↓ 
Existen dos tipos de criptosistemas de clave simétrica: ⊕ ⊕
EMISOR  =⇒ RECEPTOR 
Cifrados en flujo ↑ ↓
Mensaje {mi } → → {mi } Mensaje
Cifrados en bloque.

Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 34 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 36 / 40
Generadores de bits Generadores de bits
Generador pseudoaleatorio Cifrado de Vernam Generador pseudoaleatorio Cifrado de Vernam
Criptografı́a de clave secreta Otros cifradores Criptografı́a de clave secreta Otros cifradores
Cifradores en flujo Cifradores en flujo

Cifrado de Vernam Otros cifradores en flujo

l
Otros cifradores en flujo muy conocidos son:

e
El cifrado de Vernam emplea como clave una secuencia aleatoria,
Z = {z1 , z2 , . . .}, de la misma longitud que el mensaje, M , y solo se A5: Algoritmos de cifrado para las comunicaciones móviles de

n
emplea una vez: telefonı́a o GSM (Global System for Mobile).

e
Se emplea en el cifrado de enlace entre el abonado y la central de
Cifrado:
un teléfono móvil tipo GSM. Versiones: (A5/0) A5/1 y A5/2.

o
C = M ⊕ Z (mod 2) , ci = mi ⊕ zi (mod 2) , i = 1, 2, . . . RC4 (Rivest Cipher #4): Desarrollado en 1987 por la RSA Corp.

v
y no publicado.

i
Empleado por Lotus Notes y desde 1999 por el navegador de

s
Descifrado:
Netscape.

lu 1
C ⊕ Z (mod 2) = M, ci ⊕ zi (mod 2) = mi ⊕ zi ⊕ zi (mod 2) = mi . SEAL: Propuesto por IBM en 1994.

c 2
Hitag2: es un generador de secuencia cifrante diseñado por NXP

x /
Es un cifrador perfecto al verificar las condiciones de secreto perfecto Semiconductors.

0
Está implementado en los dispositivos anti-robo de automóviles y

e
de Shannon.

2
de apertura de puertas de garage.

s u 2 0
Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 37 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 38 / 40

r a A I -
Generadores de bits Generadores de bits
Generador pseudoaleatorio Cifrado de Vernam Generador pseudoaleatorio Cifrado de Vernam
Criptografı́a de clave secreta Otros cifradores Criptografı́a de clave secreta Otros cifradores

a
Cifradores en flujo Cifradores en flujo

IC
Referencias

P r -
L. Blum, M. Blum, and M. Shub, A simple unpredictable

e
pseudorandom number generator, SIAM J. Comput. 15 (1986),

t
364–383.

s
J.A. Buchman, Introduction to Cryptography, 2nd ed., Springer,

á
Berlin, 2004.

M
A. Fúster Sabater, L. Hernández Encinas, F. Montoya Vitini, A.
Martı́n Muñoz y J. Muñoz Masqué, Criptografı́a, protección de Muchas gracias
datos y aplicaciones, RA-MA, Madrid, 2012.
V. Gayoso Martı́nez, L. Hernández Encinas, A. Martı́n Muñoz
and J. Zhang, Breaking a Hitag2 protocol with low cost
¿Preguntas?
technology. Proc. ICISSP 2017, 579–584.
S.W. Golomb, Shift Register Sequences, Holden-Day, San
Francisco, 1967.
A. Menezes, P. van Oorschot and S. Vanstone, Handbook of
applied cryptography, CRC Press, Boca Raton, FL, 1997.
Criptografı́a. Disponible
ICAI-Master en en http://www.cacr.math.uwaterloo.ca/hac
Ciberseguridad Cifradores en flujo. Curso 2019-2020 39 / 40 Criptografı́a. ICAI-Master en Ciberseguridad Cifradores en flujo. Curso 2019-2020 40 / 40

También podría gustarte