Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lectura fundamental
Contenido
1 S-DES O DES-SIMPLICADO
4 Ejemplo DES
9 Conclusiones
En este Escenario se discuten las caracterı́sticas de los sistemas criptográficos estándar DES (Data Encryption
Standard) y AES ( Advanced Encryption Standard); para ello se i ntroduce una versión simplificada del sistema DES
introducida por Edward Schaefer ( Ver Stallings, 1999, [ 5], Lectura complementaria I , Cryptex) conocido como el
sistema criptográfico S-DES. El cual no es más que una red de sustitución-permutación.
S-DES, cifra listas de 8 bits con claves que son listas de 10 bits. En este caso, a cada texto en claro x se le
aplica un algoritmo de ciframiento con la forma:
En donde IP denota una permutación pública, SW : Z28 → Z28 es una transposición tal que:
SW (x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ) = (x5 , x6 , x7 , x8 , x1 , x2 , x3 , x4 ).
La pareja (K1, K2), constituye el itinerario de la clave que se obtiene de la siguiente forma:
Si K = (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) es una clave, entonces le aplicamos una permutación P10, tal que :
P 10
3 5 2 7 4 10 1 9 8 6
luego P 10(K) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6).
Dada la función LS − 1 : Z25 → Z25 que realiza un desplazamiento circular a izquierda de 1 bit se calcula la composición
K1 = P 8(LS − 1(P 10(K))). En donde P 8 es una permutación pública de 8 bits definida de forma tal que:
P8
6 3 7 4 8 5 10 9
1
Ahora regresamos a las listas producidas por LS-1 y desarrollamos un desplazamiento circular a izquierda de dos
bits, denotado LS-2 aplicamos de nuevo P 8 y esta composición define la segunda subclave del itinerario denotada
K2 .
Itinerario de la clave
IP
2 6 3 1 4 8 5 7
IP−1
4 1 3 5 7 2 8 6
L está constituido por los primeros 4 bits del texto en claro x, R son los últimos cuatro bits del texto en claro.
F es una función
a una lista (n1, n2, n3, n4) ∈ Z42, se le aplica la expansión-permutación E/P , tal que:
E/P
4 1 2 3 2 3 4 1
n4 n1 n2 n3
n2 n3 n4 n1
2
Adicionamos la subclave K1 = (k11 , k12 , k13 , k14 , k15 , k16 , k17 , k18 ), para obtener
Los primeros cuatro bits, se operan con la caja S0 los últimos cuatrobits se operan con la caja S1, donde
1 0 3 2 0 1 2 3
3 2 1 0 2 0 1 3
S0 = 0
, S1 =
2 1 3 3 0 1 0
3 1 3 2 2 1 0 3
Los bits p00p03, son el desarrollo en binario de una fila de S0, mientras que los bits p01p02 indican el desarrollo binario
de una columna, p00|p01p02|p03 indican una entrada de la caja S0, a la cual se le calcula su desarrollo binario
que consta de dos bits.
De la misma forma p10|p11p12|p13, indican un desarrollo binario de una entrada de la caja S1.
P4
2 4 3 1
Entonces
Por último, debemos anotar que la función SW intercambia los 4 bits de la derecha con los 4 bits izquierdos de la
salida de la funciónf .
P 10(K) = 11111|10011
3
LS − 2(LS − 1(P 10(K))) = 11111|11100.
IP (y) = 0011|0001.
0 = 00, 0 = 00,
SW (1010|0010) = 0001|0011.
01 = 1, 10 = 2 y calculamos
P 4(0110) = 1010,
IP −1 (10110011) = 1110|1010 = x.
4
2. DES (DATA ENCRYPTION STANDARD)
En 1973 The National Bureau of Standards (NBS) realizó una convocatoria con el propósito de adoptar un sistema
de ciframiento estándar que pudiera estar disponible para todo tipo de comunicación electrónica a nivel mundial.
Muchas propuestas fueron enviadas a dicha agencia, entre ellas se cuenta la propuesta enviada por IBM desarrollada
por Tuchman y Meyer , la cual es un refinamiento del cifrado LUCIFER introducido por Feistel a finales de los años
60 con el patrocinio de IBM; el proyecto concluyó en 1971 con el desarrollo de LUCIFER, vendido al banco Lloyd’s de
Londres con el objeto de ser usado en sus cajeros automáticos. La propuesta de IBM resultó ser la mejor de
todas las enviadas y fue adoptada como el estándar desde 1977 hasta 1998 por la agencia NIST (National
Institute of Standards and Technology ) que reemplazó a la NBS.
La permutaciones públicas y las cajas definidas para este tipo de cifrado se pueden ver en (Stinson, 2006, [6], Lectura
complementaria VI). Ahora bien, ciframientos de este tipo, pueden calcularse usando el software Cryptex.
DES ha sido uno de l os esquemas de ciframiento cuyo criptoanálisis ha propiciado el avance de l a ciencia y la
tecnologı́a, por ejemplo en l os albores de l a i nvestigación de l a computación molecular ( ver Lectura
complementaria I ) muchos de l os algoritmos desarrollados para computadores moleculares, tenían que ver con el
descubrimiento del espacio de l laves DES, de hecho actualmente DES es considerado un sistema criptográfico
vulnerable, debido a la capacidad de cálculo que a la fecha se ha alcanzado por diferentes tipos de microchips.
DES cifra un texto en claro que consta de 64 bits con una clave de 56 bits.
En el caso de DES (tal como en S-DES), una permutación inicial es aplicada al texto en claro de 64 bits
IP(x) = L0 R0 ,
Después de 16 vueltas realizadas en el proceso de ciframiento, se aplica la permutación inversa IP−1 , para obtener
el texto cifrado final. Esto es,
y = IP−1(R16L16).
f (A, J).
En este caso la función E/P (A), construye una lista de 48 bits a partir de otra A con 32 bits.
5
Se calcula E(A) ⊕ J, escribiendo el resultado en bloques Bi cada uno con 6 bits.
B = B1 B2 . . . B8
En el siguiente paso como en el caso S − DES, se usan 8 cajas, para obtener una entrada desarrollada en binario de 4
bits, por cada uno de los bloques Bi. En este caso tenemos que
Sj (Bj ) = Cj , debe ser tal que los bits b1b6, es el desarrollo en binario de una fila de la caja correspondiente, mientras
que los bits b2b3b4b5 son el desarrollo en binario de la columna de la caja.
El itinerario de la clave en el algoritmo DES, es una generalización del itinerario descrito para S-DES.
En este caso la clave K consta de 8 bits que verifican paridad en las posiciones 8, 16, 24, 32, 40, 48, 56 y 64, (lo cual
significa que debe haber un número par de unos antes de cada una de estas posiciones) y otros 56 bits que constituyen
la clave propiamente dicha.
Siempre tendremos por tanto una clave de 64 bits de la cual deben ser descartados 8 bits que no participan en el
proceso.
Ahora describiremos el itinerario de la clave que se realiza tal como en en el caso S-DES:
Observe los documentos adjuntos y use las permutaciones definidas para realizar los siguientes pasos:
1. Aplique la permutación P C − 1 a los 56 bits de la clave (recuerde P10 en S-DES). De esta manera obtenemos P
C − 1(K) = C0D0. C0 son los primeros 28 bits de la clave y D0 son los 28 restantes.
Ci =LSi (Ci−1 )
(2)
Di =LSi (Di−1 )
6
Ki = P C − 2(CiDi). Para entender P C − 2, recuerde P 8 en S-DES.
4. Ejemplo DES
0123456789ABCDEF .
Con la clave
00010010011010010101101111001001101101111011011111111000.
L0 = 11001100000000001100110011111111.
L1 = R0 = 11110000101010101111000010101010.
E(R0 ) = 011110100001010101010101011110100001010101010101
K1 = 000110110000000101110111111111111000111000001110010
E(R0 ) ⊕ K1 = 0110000100010111101110101000011001100100100111
Salida de las cajas = 01011100100000101011010110010111
f (R0 , K1 ) = 00100011010010101010100110111011
L2 = R1 = 11101111010010100110010101000100.
E(R1 ) = 011101011110101001010100001100001010101000001001
K2 = 011110011010111011011001110110111100100111100101
E(R1 ) ⊕ K2 = 000011000100010010001101111010110110001111101100
Salida de las cajas = 11111000110100000011101010101110
f (R1 , K2 ) = 00111100101010111000011110100011
L3 = R2 = 11001100000000010111011100001001.
E(R2 ) = 111001011000000000000010101110101110100001010011
K3 = 010101011111110010001010010000101100111110011001
7
E(R2) ⊕ K3 = 101100000111110010001000111110000010011111001010
Salida de las cajas = 00100111000100001110000101101111
f (R2 , K3 ) = 01001101000101100110111010110000
L4 = R3 = 10100010010111000000101111110100.
E(R3 ) = 010100000100001011111000000001010111111110101001
K4 = 011100101010110111010110110110110011010100011101
E(R3) ⊕ K4 = 001000101110111100101110110111100100101010110100
Salida de las cajas = 00100001111011011001111100111010
f (R3 , K4 ) = 10111011001000110111011101001100
L5 = R4 = 01110111001000100000000001000101.
E(R4 ) = 101110101110100100000100000000000000001000001010
K5 = 011111001110110000000111111010110101001110101000
E(R4) ⊕ K5 = 110001100000010100000011111010110101000110100010
Salida de las cajas = 01010000110010000011000111101011
f (R4 , K5 ) = 00101000000100111010110111000011
L6 = R5 = 10001010010011111010011000110111.
E(R5 ) = 110001010100001001011111110100001100000110101111
K6 = 011000111010010100111110010100000111101100101111
E(R5) ⊕ K6 = 101001101110011101100001100000001011101010000000
Salida de las cajas = 01000001111100110100110000111101
f (R5 , K6 ) = 10011110010001011100110100101100
L7 = R6 = 11101001011001111100110101101001.
E(R6 ) = 111101010010101100001111111001011010101101010011
K7 = 111011001000010010110111111101100001100010111100
E(R6 ) ⊕ K7 = 000110011010111110111000000100111011001111101111
Salida de las cajas = 00010000011101010100000010101101
f (R6 , K7 ) = 10001100000001010001110000100111
L8 = R7 = 00000110010010101011101000010000.
E(R7 ) = 000000001100001001010101010111110100000010100000
K8 = 111101111000101000111010110000010011101111111011
E(R7 ) ⊕ K8 = 111101110100100001101111100111100111101101011011
8
Salida de las cajas = 01101100000110000111110010101110
f (R7 , K8 ) = 00111100000011101000011011111001
L9 = R8 = 11010101011010010100101110010000.
E(R8 ) = 011010101010101101010010101001010111110010100001
K9 = 111000001101101111101011111011011110011110000001
E(R8 ) ⊕ K9 = 100010100111000010111001010010001001101100100000
Salida de las cajas = 00010001000011000101011101110111
f (R8 , K9 ) = 00100010001101100111110001101010
L10 = R9 = 00100100011111001100011001111010.
E(R9 ) = 000100001000001111111001011000001100001111110100
K10 = 101100011111001101000111101110100100011001001111
E(R9 ) ⊕ K10 = 101000010111000010111110110110101000010110111011
Salida de las cajas = 11011010000001000101001001110101
f (R9 , K10 ) = 00100010001101100111110001101010
E(R10 ) = 010110101111111010101011111010101111110110100101
K11 = 0010000101011111110100111101111011010011100010110
E(R11 ) = 011000001010101111110000000111111000001111110001
K12 = 011101010111000111110101100101000110011111101001
9
E(R12 ) = 001110101011110111111010100011110000001011110000
K13 = 100101111100010111010001111110101011101001000001
E(R13 ) = 000011110001011000000110100010101010101011110100
K14 = 010111110100001110110111111100101110011100111010
E(R14 ) = 111000000101010001011001010010101100000001011011
K15 = 101111111001000110001101001111010011111100001010
E(R15 ) = 001000000110101000000100000110100100000110101000
K16 = 110010110011110110001011000011100001011111110101
R16 = 00001010010011001101100110010101.
Finalmente aplicamos la permutación IP −1 , a L16 , R16 , para obtener un texto cifrado que en notación hexadecimal
toma la forma
10
85E813540F 0AB405.
Dados l os avances en el criptoanálisis estándar , diversos sistemas criptográficos f ueron definidos para reemplazarlo,
doble DES, triple DES, Blowfish y Serpent son algunos de ellos. En esta sección, se hace una breve descripción de los
sistemas Doble DES y Triple Des.
Doble DES
En el caso Doble DES, dado un texto en claro y dos claves K1, K2, un texto cifrado se obtiene al calcular
Triple DES
Para evitar ataques como el descrito a Doble DES, Tuchmann propuso un esquema alternativo. En este caso si se
tienen 2 claves K1, K2 entonces el cifrado se obtiene al calcular:
Varias aplicaciones basadas en Internet como PGP usaron triple-tres claves-DES como uno de sus sistemas estándar
de ciframiento.
DES es vulnerable a ataques del tipo (ver Stinson, 2006 para estudiar los detalles de estos ataques):
11
1. Criptoanálisis lineal
2. Criptoanálisis diferencial
3. Ataque Davies
La implementación de doble DES no es equivalente al DES clásico. Pero existe una forma de atacar este esquema,
que no depende de una propiedad particular de DES. Tal ataque se denomina encuentro a mitad del camino.
entonces
Dada una pareja conocida (x, y) de un texto en claro y su correspondiente texto cifrado.
Cada mensaje descifrado es comparado con los valores de la tabla hasta obtener una equivalencia.
Si tal equivalencia ocurre examine las dos claves usadas con una nueva pareja conocida (x0 , y 0 ) de un texto en claro
y su correspondiente texto cifrado.
Si las claves producen el mensaje cifrado correcto, entonces apruebe su uso en el esquema de ciframiento.
12
7. Modos de operación DES
1. ECB, Electronic Code Book, es el modo más simple de operación. En este caso cada bloque x1x2, . . . , se cifra
con la misma clave K, con lo que tenemos un texto cifrado de la forma y = eK (x1 )eK (x2 ), · · · = y1 y2 . . . . El
descifrado se logra calculando a su vez dK (y) = dK (y1 )dK (y2 ) . . . .
El modo ECB es adecuado, para cuando se quiere cifrar una cantidad pequeña de datos.
1. CBC, ( Cipher Block Chaining Mode) en este modo un bloque cifrado yn se obtiene al realizar yi =e k (yi−1 ⊕
xi ). En este caso
dK (yi ) = yi−1 ⊕ xi ,
Para obtener el ciframiento del primer bloque en este modo, se requiere un vector inicial IV el cual se opera vía
un XOR con el texto en claro. IV es conocido por el emisor y el receptor. Por lo general, se protege con una
clave.
Una de l as razones para l a protección de I V, es que un oponente podrı́a utilizar su propio I V, para i nvertir bits en
el texto claro original.
y1 = eK (IV ⊕ x1 ),
x1 = IV ⊕ dK (y1 ).
13
Usando las propiedades XOR, se puede establecer que
Lo cual significa que si un oponente puede cambiar l os bits en I V, l os bits correspondientes del valor recibido de x1
pueden ser cambiados.
En el modo CFB (Cipher Feedback Mode ) se genera una lista de claves en cadena.
En este caso yi = xi ⊕ zi, para todo i ≥ 1. Se usa eK , tanto para cifrar como para descifrar.
En el modo OFB (Output Feedback Mode ), se genera una lista de claves en cadena y se aplica un XOR con el
texto en claro. En este caso:
zi = eK (zi−1 ).
Para todo i ≥ 1,
yi = xi ⊕ zi ,
xi = yi ⊕ zi .
En el modo Contador, la diferencia radica en la forma como se genera la lista de claves en cadena.
Elegimos un contador ctr, que es una lista de longitud m. Para construir una sucesión T1 , T2 , . . . , de la siguiente
forma
Ti = ctr + i − 1 mod 2m
14
yi = xi ⊕ eK (Ti ).
En enero 2 de 1997, NIST comenzó el proceso de escoger el reemplazo para DES que iba a ser llamado CIFRA-
MIENTO AVANZADO ESTÁNDAR o AES (ver Stinson, 2006, [6]).
La primera convocatoria formal para la consecución de posibles algoritmos se realizó el 12 de Septiembre de 1997.
Algunos de los requisitos que debían satisfacer los candidatos eran por ejemplo el uso de contraseñas de 128 bits y
poder usar también claves con longitudes de 192 y 256 bits.
Se enviaron algoritmos desde el 15 de Junio de 1998 y 15 de los algoritmos enviados satisficieron todos los
requerimientos.
En la segunda conferencia para la consecución del AES, en Marzo de 1999, se eligieron 5 finalistas, MARS, RC6,
Rindjdael, Serpent y Twofish .
La tercera conferencia tuvo lugar en abril del 2000 y se eligió Rinjdael , como el nuevo AES, adoptado como
estándar desde noviembre 26 de 2001.
1. Seguridad
2. Costo
La seguridad del algoritmo propuesto era esencial, de hecho si se llegaba a encontrar alguna falla de seguridad el
algoritmo era automáticamente descartado.
15
Las caracterı́sticas del algoritmo se refiere a la simplicidad y flexibilidad del algoritmo, entre otros factores.
Descripción de AES
AES es un cifrado iterado, el número de vueltas, que denotamos N r, depende de la longitud de la clave empleada.
Descripción de AES
1. Dado un texto en claro x, lo declaramos como un estado inicial del proceso State = x. Luego aplicamos un
XOR que denotamos ADD − ROUNDKEY, entre State y la salida de una función que notamos ROUND-
KEY.
2. En cada una de las N r − 1 vueltas a la salida de la función State se le aplica una sustitución denominada
SUBBYTES, usando una S-caja. Además se le aplica una permutación notada SHIFTROWS, una operación
MIXCOLUMNS y se aplica la función ROUNDKEY.
Esquema AES
El último valor de State es el texto cifrado y. Con esta descripción podemos concluir que AES es una RSP.
En el sistema criptográfico AES, el texto en claro x debe ser una lista de 16 bytes, que denotamos x0 , x1 , . . . , x15 .
16
s0,0 s0,1 s0,2 s0,3
s1,0 s1,1 s1,2 s1,3
s2,0 s2,1 s2,2 s2,3
s3,0 s3,1 s3,2 s3,3
Frecuentemente, se usa notación hexadecimal para representar en contenido de un byte. Por lo que cada byte
consta de dos símbolos hexadecimales.
La operación SUBBYTES aplica una sustitución en cada byte de State, usando una S-caja, digamos πS ∈ S8.
En cada caso πS puede ser representado, mediante un arreglo de 16 filas por 16 columnas. Una entrada en la fila
X y columna Y en esta caja se nota πS (XY ).
A diferencia del caso DES en el que las cajas usadas son aparentemente aleatorias. Las S-cajas en AES pueden ser
calculadas algebraicamente.
Las operaciones se desarrollan en el campo finito de Galois F28 = Z2[x] / < x8 + x4 + x3 + 1 > (ver Lectura
complementaria VI).
BINARY-TO-FIELD, convierte una lista binaria en un elemento del campo, mientras que FIELD-TO-BINARY,
realiza el proceso inverso.
7
ai xi , corresponde al byte, a7 a6 a5 a4 a3 a2 a1 a0 .
P
Observe que un elemento del campo escrito en la forma
i=0
6 0
if z =
then z ← FIELDINVERSE(z)
17
(a7 a6 a5 a4 a3 a2 a1 a0 ) ← FIELD − TO − BINARY(z)
c7 c6 c5 c4 c3 c2 c1 c0 ← (01100011)
comment : in the following loop, all subscripts are to be reduced modulo 8
for i ← 0 to 7
do bi ← (ai + ai+4 + ai+5 + ai+6 + ai+7 + ci ) mod 2
return (b7 b6 b5 b4 b3 b2 b1 b0 ).
Por ejemplo, supongamos que queremos aplicar la función SUBBYTES a (5, 3) = 01010011 = x6 + x4 + x + 1, con
inverso multiplicativo x7 + x6 + x3 + x = 11001010.
Ahora calculamos
b0 = a0 + a4 + a5 + a6 + a7 + c0 = 0 + 0 + 0 + 1 + 1 + 1 mod 2 = 1
b1 = a1 + a5 + a6 + a7 + a0 + c1 mod 2 = 0,
b2 = a2 + a6 + a7 + a8 + a1 + c2 mod 2 = 1,
b3 = a3 + a7 + a0 + a1 + a2 + c3 mod 2 = 1,
b4 = a4 + a0 + a1 + a2 + a3 + c4 mod 2 = 0,
b5 = a5 + a1 + a2 + a3 + a4 + c5 mod 2 = 1,
b6 = a6 + a2 + a3 + a4 + a5 + c6 mod 2 = 1,
b7 = a7 + a3 + a4 + a5 + a6 + c7 mod 2 = 1,
El resultado final es :
Figura 1: Esta tabla muestra todos los cálculos como el anterior, que pueden llegar a realizarse; Stinson, 2006.
La Función SHIFTROWS
18
En la operación MIXCOLUMNS cada columna de State es reemplazada por otra columna, vía la multiplicación
de esta, con una matriz de elementos de F28 .
u0 ← FIELDMULT(x, t0 ) ⊕ FIELDMULT(x + 1, t1 ) ⊕ t2 ⊕ t3
u1 ← FIELDMULT(x, t1 ) ⊕ FIELDMULT(x + 1, t2 ) ⊕ t3 ⊕ t0
u2 ← FIELDMULT(x, t2 ) ⊕ FIELDMULT(x + 1, t3 ) ⊕ t0 ⊕ t1
u3 ← FIELDMULT(x, t3 ) ⊕ FIELDMULT(x + 1, t0 ) ⊕ t1 ⊕ t2
for i ← 0 to 3
do si,c ← FIELD − TO − BINARY(ui ).
Si la longitud de la clave es de 128 bits entonces le realizamos 11 vueltas a la clave (los otros casos requieren
procedimientos similares).
En este caso las entradas de los algoritmos se consideran palabras. La concatenación de todas las subclaves se
denomina el desarrollo de la clave, que consta de 44 palabras, (cada palabra consta a su vez de 4 bytes).
Tal concatenación se nota w[0], w[1], . . . , w[43], en donde w[i] es una palabra.
La clave es la entrada para KEYEXPANSION, la cual se escribe como un arreglo de bytes key[0], key[1], . . . , key[15]
y la salida es el arreglo de 44 palabras ya descrito.
ROTWORD(B0 , B1 , B2 , B3 ) = (B1 , B2 , B3 , B0 ).
Rcon es un arreglo de 10 palabras, denotadas Rcon[1], . . . , Rcon[10]. La cuales son constantes escritas en notación
hexadecimal.
La función KEYEXPANSION
19
external ROTWORD, SUBWORD
Rcon[1] ← 01000000
Rcon[2] ← 02000000
Rcon[3] ← 04000000
Rcon[4] ← 08000000
Rcon[5] ← 10000000
Rcon[6] ← 20000000
Rcon[7] ← 41000000
Rcon[8] ← 81000000
Rcon[9] ← 1B000000
Rcon[10] ← 36000000
for i ← 0 to 3
do w[i] ← (key[4i], key[4i + 1], key[4i + 2], key[4i + 3])
for i ← 4 to 43
temp ← w[i − 1]
if i ≡ 0 (mod 4)
do
thentemp ← SUBWORD(ROT W ORD(temp)) ⊕ Rcon[ 4i ]
w[i] ← w[i − 4] ⊕ temp
Descifrado AES
Una vez descritas las operaciones necesarias, para realizar un cifrado AES, basta realizar las operaciones inversas
para construir el algoritmo de descifrado.
Seguridad AES
Obviamente, AES es seguro contra todos los ataques conocidos. Varios aspectos de su diseño proveen elementos
adicionales a la seguridad. Por ejemplo, el hecho de trabajar sobre campos finitos, lo hace fuerte contra ataques del
tipo diferencial o lineal.
20
2b7E151628AED2A6ABF7158809CF4F3C
3243F6A8885A308D313198A2E0370734.
9. Conclusiones
2. Lineal, diferencial y ataque Davies, son métodos criptoanalíticos para el sistema criptográfico DES.
4. ECB, CBC, OFB, CFB y Contador son modos de operación en los que se puede aplicar un cifrado estándar.
Referencias
[1] S. Cimato and C.N. Yang, Visual Cryptography and Secrete Image Sharing, CRC Press, 2012.
[2] D. Kahn, The codebreakers, the comprehensive history of secret communication from ancient times to the internet, Scribner, 1996.
[3] R.E. Klima, N.P. Sigmon, and E.L. Stitzinger, Applications of Abstract Algebra with Maple And MatLab, Chapman and Hall/CRC,
2007.
[4] A. J. Menezes and van Oorschot P. C, Handbook of Applied Cryptography, CRC Press, 1996.
[5] W. Stallings, Cryptography And Networks Security, Principles and Practice, Vol. 2, Prentice-Hall, 1999.
[6] D. R. Stinson, Cryptography Theory And Practice, Vol. 3, Chapman and Hall/CRC, 2006.
[7] A. Uhl and A. Pommer, Image And Video Encryption From Digital Rights Management To Secured Personal Communication,
Springer, 2005.
21
INFORMACIÓN TÉCNICA
Módulo: Criptografı́a I
Unidad 3: Cifrarios de Bloque y Esteganografía
Escenario 5: Esquemas de secreto compartido
22