08 0316 Eo
08 0316 Eo
08 0316 Eo
Facultad de Ingeniería
Escuela de Ingeniería Mecánica Eléctrica
FACULTAD DE INGENIERÍA
TRABAJO DE GRADUACIÓN
AL CONFERÍRSELE EL TÍTULO DE
INGENIERO ELECTRÓNICO
I
1.3.4.1. Cálculo de inversas en Zn .................. 33
1.3.5. Función de Euler .................................................... 34
1.3.6. Teorema del Chino Resto ....................................... 36
1.3.7. Exponenciación ...................................................... 37
1.3.7.1. Algoritmo rápido de exponenciación... 38
1.3.7.2. El problema de los logaritmos
discretos ............................................. 38
1.3.7.3. El problema de Diffie-Hellman ............ 39
1.3.7.4. Importancia de los números primos.... 40
1.4. Criptografía y números aleatorios ........................................... 42
1.4.1. Tipos de secuencias aleatorias .............................. 42
1.4.1.1. Secuencias estadísticamente
aleatorias ............................................ 43
1.4.1.2. Secuencias criptográficamente
aleatorias ............................................ 44
1.4.1.3. Secuencias totalmente aleatorias ....... 45
1.4.1.4. Utilidad de las secuencias
aleatorias en criptografía .................... 45
1.4.2. Generadores aleatorios criptográficamente
seguros................................................................... 46
1.4.2.1. Generador X9.17 ................................ 47
1.4.2.2. Generador Blum Blum Shub ............... 48
II
2.6. Problemas de los sistemas de información ............................. 76
2.7. Tipos de vulnerabilidades ........................................................ 78
2.8. Criptoanálisis por el oponente bayesiano ................................ 80
2.9. Secretividad perfecta ............................................................... 89
2.10. Sistemas criptográficos aleatorios ........................................... 95
III
IV
ÍNDICE DE ILUSTRACIONES
FIGURAS
TABLAS
V
VI
GLOSARIO
VII
Criptoanálisis Estudio de los métodos para obtener el sentido de
una información cifrada, sin acceso a la información
secreta requerida para obtener este sentido
normalmente.
VIII
Transposición Proceso por el que un saber sabio o saber científico
se convierte en objeto de enseñanza.
IX
X
RESUMEN
XI
XII
OBJETIVOS
General
Específicos
XIII
XIV
INTRODUCCIÓN
Del antiguo Egipto a la era digital, los mensajes cifrados han jugado un
papel destacado en la historia. Arma de militares, diplomáticos y espías, son la
mejor defensa de las comunicaciones y datos que viajan por Internet. Los
criptogramas han protagonizado buena parte de los grandes episodios
históricos y un sinfín de anécdotas. Los espartanos utilizaron en el 400 a.C., la
cítala, que puede considerarse como el primer sistema de criptografía por
transposición, es decir, que se caracteriza por enmascarar el significado real de
un texto alterando el orden de los signos que lo conforman.
Los militares de la ciudad griega, escribían sus mensajes sobre una tela
que envolvía una vara, el mensaje sólo podía leerse cuando se enrollaba sobre
un bastón del mismo grosor, que poseía el destinatario lícito. El método de la
cítala era extremadamente sencillo, como también lo era el que instituyó Julio
César, basado en la sustitución de cada letra por la que ocupa tres puestos más
allá en el alfabeto.
XV
Estos aparatos, se llamaron traductores mecánicos. Una de sus
predecesoras fue la rueda de Jefferson, el aparato mecánico criptográfico más
antiguo que se conserva. La primera patente data de 1919 y es obra del
holandés Alexander Koch, que comparte honores con el alemán Arthur
Scherbius, el inventor de Enigma una máquina criptográfica que los nazis
creyeron inviolable, sin saber que a partir de 1942, propiciaría su derrota. En
efecto, en el desenlace de la contienda, hubo un factor decisivo y apenas
conocido: los aliados eran capaces de descifrar todos los mensajes secretos
alemanes.
Hoy por hoy, se utilizan métodos que combinan dígitos del mensaje con
otros o bien algoritmos de gran complejidad. Un computador tardaría 200
millones de años en interpretar las claves más largas, de 128 bits. En palabras
de un apasionado de la criptografía, Edgar Allan Poe, “Es dudoso que el género
humano logre crear un enigma que el mismo género humano no resuelva”. En
la actualidad en muchas de las actividades cotidianas del ser humano tales
como la compra de insumos, el pago de servicios, inscripción en colegios,
etcétera.
XVI
1. PRINCIPIOS BÁSICOS
1
Figura 1. Escítalo Espartano
Fuente: http://personal.telefonica.terra.es/web/jms32/Cifra/CodSecretos/Cap01/ImgEscan/01-
03.gif. Consulta: febrero de 2012.
Por ejemplo en una frase de 35 letras existen más de 50 000 000 000 000
000 000 000 000 000 000 combinaciones posibles haciendo que un ataque de
fuerza bruta tome demasiado tiempo de efectuar, provocando que sea muy
segura la encriptación.
2
Pero hay un inconveniente; la transposición genera eficazmente un
anagrama increíblemente difícil y si las letras se mezclan al azar, sin pies ni
cabeza, la descodificación del anagrama es tan imposible para el recipiente a
quien va dirigido como para un interceptor enemigo. Para que la transposición
sea efectiva, la combinación de letras necesita seguir un sistema sencillo, que
haya sido acordado previamente por el emisor y el receptor, pero que se
mantenga secreto frente al enemigo.
De la siguiente manera:
3
Tabla I. Guía para criptosistema de César
E L A T A Q U E S E R A M A Ñ A N A
4 1 0 2 0 1 2 4 1 4 1 0 1 0 1 0 1 0
1 0 7 1 9 8 2 4 3
1 2 1 3 1 0 4 1 2 1 1 1 2 1 2 1 2 1
3 1 0 0 3 3 0 2 0 4 0 3 0
N U K D K A E N C N B K V K X K W K
Para evitar que se note cada fin de palabra se puede asignar un número
al carácter espacio y ahora cifrar como si se tuviera un alfabeto de módulo 28,
pero aún con esto este método puede ser fácilmente roto por un ataque de
fuerza bruta, ya que únicamente requiere de la prueba de 28 diferentes claves y
ver cual tiene sentido.
E:Zn Zn E x x k mod n
(Ecuación 1)
4
La función de desencriptación de este sistema se puede definir así:
D:Zn Zn E x x k mod n
(Ecuación 2)
Ejemplo.
5
Tabla II. Guía para criptosistema Vigenere
E L A T A Q U E S E R A M A Ñ A N A
4 1 2 0 2 0 1 2 4 2 1 4 1 0 2 1 0 1 0 1 0
1 7 0 7 1 7 9 8 7 2 4 3
P R U E B A P R U E B A P R U E B A P R U
1 1 2 4 1 0 1 1 2 4 1 0 1 1 2 4 1 0 1 1 2
6 8 1 6 8 1 6 8 1 6 8 1
2 1 2 4 2 0 5 1 2 3 2 4 6 1 2 1 1 1 1 3 2
0 0 1 1 5 0 8 0 6 4 6 1
T B T E U A F L Y D T E G R T P B Ñ P D U
6
1.1.5. La máquina Enigma
Cada vez que se pulsa una tecla el primer rotor avanza una posición; el
segundo avanza cuando el anterior ha dado una vuelta completa y así
sucesivamente. El reflector no existía en los primeros modelos, se introdujo
posteriormente para permitir que la misma máquina sirviera tanto para cifrar
como para descifrar.
7
Figura 2. Máquina Enigma
Fuente: http://www.temakel.com/temakel/files/images/menigma.jpg.
Consulta: febrero de 2012.
(Ecuación 3)
es decir, que aplicada dos veces dé lo mismo que tenía al principio. De esta
forma se cumple la propiedad de que, para una misma posición de los rotores,
la codificación y la decodificación son simétricas.
8
La fuerza de la máquina Enigma radica en que tras codificar cada letra se
giran los rotores, lo cual hace que la permutación que se aplica a cada letra sea
diferente. La máquina, por tanto, es un sistema de cifrado de sustitución
polialfabética. Además, cada sustitución concreta no se repite hasta que los
rotores recuperan su posición inicial, lo que da lugar a un tamaño de ciclo
realmente grande.
9
Esto aumenta considerablemente la longitud de ciclo de la máquina y
complica la localización de posibles patrones en los textos cifrados. El principal
inconveniente de esta máquina era su excesivo peso y tamaño, sin contar con
su complejidad mecánica, dificultad de manejo y fragilidad. Esto supuso que, en
la práctica, no pudiera ser utilizada en muchas situaciones a lo largo de la
guerra, a diferencia de la máquina Enigma, mucho más ligera y resistente.
Fuente: http://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/SIGABA-
patent.png/320px-SIGABA-patent.png. Consulta: febrero de 2012
10
1.1.7. Cifrado de Lorenz
11
Figura 4. Máquina SZ40
Fuente: http://www.eyeintheskygroup.com/Azar-Ciencia/Tragamonedas-Maquinas-de-
Casino/Ingenieria-Inversa-Capacidad-de-Computo-Descifrar-Randomizer-
RNG_archivos/Lorenz-SZ42.jpg.
Consulta: febrero de 2012.
12
Figura 5. Codificación binaria cifrado de Lorenz
Si, por el contrario, se contara con un único mensaje cifrado, este análisis
resultaría imposible, ya que para todos y cada uno de los mensajes posibles en
castellano existirá una secuencia de bits que lo genera. La clave está en que
existirán muy pocas secuencias tal vez sólo una que den lugar en ambos
mensajes cifrados a textos claros válidos. La tarea es tediosa, pero da
resultado, incluso si la secuencia empleada para cifrar es totalmente aleatoria.
13
En consecuencia, los fallos sobre los que se cimentó el éxito del
criptoanálisis del cifrado de Lorenz fueron dos: en primer lugar, el cifrado
accidental de dos mensajes distintos con la misma secuencia y en segundo, el
carácter poco aleatorio de la secuencia en cuestión.
14
K3: el método para elegir la llave particular del sistema criptográfico que
se utilice debe ser fácil de memorizar y modificar.
K6: el uso del sistema no debe requerir una larga lista de reglas o
tensión mental.
15
Los sistemas criptográficos con K1 finita son utilizables dependiendo de
cuánto tiempo se requiera para descifrarlos, algunos sistemas monoalfabéticos
en los cuales se sustituían unas letras por otras que cumplieron su función en el
siglo XIX ahora son considerados obsoletos, debido a la introducción del
análisis digital en la era actual.
K3: no es poco usual que los usuarios escojan nombres como ALAN,
LUIS, etcétera o que escojan frases como AHORA ES TIEMPO,
para que sirvan como claves de acceso y de esta forma hacer fácil
el recordarlas.
16
En varios de los sistemas criptográficos comerciales la clave será
almacenada magnéticamente en tarjetas de crédito, pero en otros el usuario es
requerido que memorice la clave o parte de ella. Este requerimiento es un
importante factor de diseño ya que se debe tomar en consideración que se
debe pedir algo corto de memorizar.
17
Es evidente que tanto la criptografía como el criptoanálisis están
relacionados de forma muy estrecha y alguien que desea diseñar un algoritmo
criptográfico necesita tener conocimiento suficiente sobre las diferentes técnicas
de criptoanálisis que un posible agresor utilizaría para descifrar lo que ha
codificado.
X x
1,x
2,...,
x
n
(Ecuación 4)
18
Ppx
1,px
2,...,
px
n
(Ecuación 5)
n
H
X p
xi log
px
i
i1
(Ecuación 6)
H
Xplog
p(
1 p
)
log(
1p
)
(Ecuación 7)
19
Figura 6. Gráfica H(x) medida de la información de Shanon
20
n m
H X,Y = p xi yi logp xi yi
i=1 j=1
(Ecuación 8)
Por lo que:
X
,Y HXHY
(Ecuación 9)
21
Y de la misma forma se representaría H X / Y .
HX,Y HX
22
1.2.3. Ataque criptoanálitico
23
En el primer caso el criptoanalista únicamente tiene acceso a la señal
encriptada y debe basarse en técnicas estadísticas y análisis de patrones
dentro de la señal para intentar obtener el mensaje encriptado y más importante
aún la clave. Está claro que esta es la peor situación que puede esperar un
criptoanalista.
24
1.3. Herramientas del criptoanálisis
25
Y viene dado por:
no n1 nj
+ + ... + i= j
2 2 2 1
I= = ni ni 1
n n n 1 i=0
(Ecuación 10)
Para aclarar el por qué este índice da información útil, se debe notar que
la probabilidad de que seccionando 2 letras iguales aleatoriamente de un texto
en inglés es donde p0 es la probabilidad de seleccinar una A, p1 es la
Entre más largo y aleatorio sea una palabra encriptada por método de
Vigenere, es más eventual la distribución de las letras en el texto. Con una
clave bastante larga y aleatoria se esperaría que:
26
Por lo que si se tiene un índice de correlación de 0,03846 se esperaría
que el texto encriptado que se tiene se haya codificado por algún método
polialfabético. En el idioma inglés el índice de coeficiencia I debe satisfacer.
Prueba de Kaiski
27
Se divide el criptograma en L subcriptogramas que entonces han sido
cifrados por una misma letra de la clave y en cada subcriptograma se hace un
ataque simple ahora de tipo estadístico monoalfabético. La idea es buscar a
través de los tres caracteres más frecuentes en cada subcriptograma las
posiciones relativas de las letras A, E y O que en español están separadas por
4 y 11 lugares. Si la posición relativa de la letra A es el valor 0, entonces la letra
E está cuatro espacios a la derecha de la A (m+4 mod 27) y la letra O está 15
espacios a la derecha de la letra A (m+15 mod 27).
Prueba Chi
28
1.3.2. Aritmética modular
Por ejemplo, si son las 19:13:59 y pasa un segundo, se dice que son las
19:14:00 y no las 19:13:60. Como se ve, los segundos al igual que los minutos,
se expresan empleando sesenta valores cíclicamente, de forma que tras el 59
viene de nuevo el 0. Desde el punto de vista matemático se diría que los
segundos se expresan módulo 60.
a b mod n
Si se cumple:
Ejemplo:
29
Como se puede apreciar, cualquier número entero pertenecerá
necesariamente a alguna de esas clases y en general, se tendrá n clases de
equivalencia módulo n (números congruentes con 0, números congruentes con
1,. . ., números congruentes con n - 1).
a b c mod n a b c kn k
ab c mod n ab c kn k
Propiedades de la suma:
a,b a b b a mod n
Conmutativa: n
30
Propiedades del producto:
31
m
|am
|b m Con k
| akb m
|amód
b
y se tendría: m| bmód
c Esto implica que m tiene que dividir a todos los
32
1.3.4.1. Cálculo de inversas en Zn
mcd a; b = 1
Teorema: dados a, n
que:
n
|i j i jmod
n.
33
Ahora se puede hacer la siguiente reflexión: Si ai = aj para cualesquiera i =
j, multiplicar a por todos los elementos del grupo finito módulo n producirá una
permutación de los elementos del grupo (exceptuando el cero), por lo que
forzosamente ha de existir un valor tal que al multiplicarlo por a dé 1. Eso
conduce al siguiente teorema:
1,5,7,11
34
n
e 1
Ζn = pi i pi 1
i=1
(Ecuación11)
Φ n = Ζn
φ n φ n φ n
ri = ari = a φ n ri aφ n 1 mod n
i=1 i=1 i=1
35
Definición: sea a=2Zn. Se define el orden de a, denotado ord a , como el
menor entero positivo t tal que at1 (mod n).
1
an n1
aa 1mod
n a an1modn
r
nn 1
x mod
p x
i1p p
i
i
i
i
mod pi
36
n
yi 1
pi mod pi
También se cumple:
n
yi 0 mod p j
pi i j
n n
Ya que es múltiplo de cada p j . Sea x = y i x i mod n .
pi k i pi
n n
x= yk xk + yi xi = 0 + 1 xi xi mod p i
k i pk pi
(Ecuación 12)
1.3.7. Exponenciación
37
1.3.7.1. Algoritmo rápido de exponenciación
0 1 2 n
b2b02
b12
b2 ...
2b
n
n
0 1 2 n i
b 2
b 2b2b...
2b 2b
aa 0 1 2 n
ai
i0
(Ecuación 13)
Se debe recordar que los bi sólo pueden tomar valores 0 o 1, por tanto,
para calcular ab sólo se deben multiplicar los a2i correspondientes a los dígitos
binarios de b que valgan 1. Se puede notar, además, que a2i = (a2i-1)2, por lo
que, partiendo de a, se puede calcular el siguiente valor de esta serie elevando
al cuadrado el anterior.
38
En la actualidad no existen algoritmos eficientes que sean capaces de
calcular en tiempo razonable logaritmos de esta naturaleza y muchos esquemas
criptográficos basan su resistencia en esta circunstancia.
39
1.3.7.4. Importancia de los números primos
40
Este mecanismo es inviable, puesto que se acaba de decir que no hay
algoritmos eficientes de factorización. Por suerte, sí existen algoritmos
probabilísticos que permiten decir con un grado de certeza bastante elevado si
un número cualquiera es primo o compuesto.
41
1.4. Criptografía y números aleatorios
42
En general, todos los generadores pseudoaleatorios producen secuencias
finitas y periódicas de números empleando exclusivamente operaciones
aritméticas o lógicas. No obstante, si se emplean elementos externos a la
computadora, se pueden generar también secuencias realmente aleatorias. En
esta sección se describirán dos tipos de secuencias pseudoaleatorias, en
función de sus propiedades, además de las secuencias auténticamente
aleatorias.
43
Suponiendo que se tiene un sistema que se basa en emplear claves
aleatorias para cada sesión y se usa un generador de este tipo. Bastaría con
que una de las claves quedará comprometida para que todas las
comunicaciones pasadas y futuras pudieran ser descifradas sin problemas.
Incluso se ha demostrado que conociendo únicamente un bit de cada valor de
la secuencia, esta puede ser recuperada completamente con una cantidad
relativamente pequeña de valores.
44
1.4.1.3. Secuencias totalmente aleatorias
45
Para generar una secuencia de números impredecible e irreproducible, por
ejemplo, para generar claves de sesión. Para ello, se puede utilizar
indistintamente un generador totalmente aleatorio o un generador
pseudoaleatorio criptográficamente aleatorio.
46
1.4.2.1. Generador X9.17
s
n1 DES
k
,DES
k
,t g
n
(Ecuación 14)
47
1.4.2.2. Generador Blum Blum Shub
p (mod 4) =q (mod 4)
s0 = (x2)(mod n)
si+1 = (s2i)(mod n)
Hay que tener cuidado de emplear únicamente como salida unos pocos de
los bits menos significativos de cada si. De hecho, si se toman no más que
log2(log2(si)) bits en cada caso se puede asegurar que predecir el siguiente
valor de la serie es al menos tan difícil como factorizar n.
48
2. SISTEMAS SECRETOS
2.1. Alfabetos
49
Una forma de generar alfabetos es concatenando las letras de 2 o más
a0 a0 , a0 a1 am 1am
A = A, B, C, D, E, F, G, H, I, J, K, L, M, N, Ñ, O, P, Q, R, S,T,U,V,W, X,Y, Z
Entonces A2 = AA, AB, AC, , BA, BB , ZA, ZB, , ZX, ZY, ZZ el cual sería un
alfabeto de 676 símbolos de 2 caracteres. De igual forma se pueden crear
alfabetos más grandes agregando más caracteres como A3, el cual sería un
alfabeto de 17 576 símbolos de 3 caracteres.
También puede resultar útil reemplazar los elementos del alfabeto por
caracteres numéricos lo cual permitiría una manipulación algebraica fácil, la
manera más normal de hacerlo sería:
50
Tabla III. Alfabetos
A 0 J 9 R 18
B 1 K 10 S 19
C 2 L 11 T 20
D 3 M 12 U 21
E 4 N 13 V 22
F 5 Ñ 14 W 23
G 6 O 15 X 24
H 7 P 16 Y 25
I 8 Q 17 Z 26
Las reglas de un lenguaje están definidas por cuales son sus formas
admisibles, por ejemplo:
51
En el texto en inglés: la letra Q es generalmente seguida de la letra U.
X 0 , X1 , , X n 1 , (resp. X 0 , X 1 , , X N 1 )
52
X
0 x
,
0X1 x
,,
1 Xn1 x
n1
Pr x
plain0,x
1,...,
x
n1
La probabilidad de la figura debe satisfacer 3
condiciones:
Pr plain = x0 , x1 ,..., xn 1 0
1= Prplain = x0 , x1 ,..., xn 1
x0 ,x1 ,...,xn 1
(Ecuación 15)
Prplain = x0 , x1 ,..., xn 1
x0 ,x1 ,...,xn 1
53
Ahora la probabilidad Pr {
plain HELP
}
de la palabra de cuatro símbolos
HELP es igual a la suma de probabilidades asignadas a las 263 palabras de 7
símbolos HELP***, las cuales contienen el prefijo HELP. Un proceso
estocástico provee un modelo matemático para la generación de texto plano, el
cual es sólo una aproximación al lenguaje. Un modelo probabilístico, elimina la
necesidad de especificar el grupo de palaras admisibles. Para que esta
aproximación tenga validez, el modelo debe contener las principales
características del lenguaje, mientras se mantiene lo suficientemente simple
para permitir cálculos numéricos.
p(t ) 0 0 t m
1 pt
0 t m
54
p t 0 p t1 ... p t n 2 = p t 0 p t1 ... p t n 1
tn 1
O lo que es equivalente
Ejemplo 1.
55
Tabla IV. Probabilidades ejemplo 1
I 0.0627 R 0.0677
56
Se utiliza la fuente S para generar los símbolos de 4 caracteres SEND Y
SEDN y el símbolo de 2 caracteres QU, se tendrían las probabilidades:
Pr
SEND
psp
PLAIN Ep
N p
D
Pr
SEND
psp
PLAIN Ep
D p
N
5
Pr
QU
pQ
pU
PLAIN0
.
0012
0
.
0249
2
.
988
10
Pr SENDPr QU
PLAIN y PLAIN son las frecuencias de ocurrencia de
SEND y QU en un muestreo típico de símbolos de 4 y 2 caracteres
respectivamente. La ley de números largos implica que en textos
generados por la fuente S analizada anteriormente seria aproximadamente:
57
Figura 8. Gráfica de ocurrencias en ejemplo plain text source
58
Tabla V. Clasificación de las letras por probabilidad de ocurrencia
59
Definición 2.2.2:
Pr
x
,
x,...,
x1p
PLAIN
01 2
n x
,
x
0p
1x,
x
2...
3px
2
n
2,
x2
n1
condiciones:
p(s,t) 0 0 t, s m
1= P(t, s)
0 t,s m
p(t0 ,t1 )p(t2 ,t3 )... p(t2n 4 ,t 2n 3 ) = p(t0 ,t1 )p(t2 ,t3 )... p(t2n 2 ,t 2n 1 )
,t
(t2n 2 2n 1 )
O equivalentemente
60
Definición 2.2.3:
P p s/t 0 t,s m
0
, 1
...
m 1
Si se cumple
x x x
Pr
x
,
x,...,
x x
p 1p 2...
p
n1
PLAIN
01n1 0 x0 x
1 x
n2
ps :0 t,s m
La probabilidad de traición t y la distribución de equilibrio
satisfacen las condiciones:
ps 0 0 t,s m
t
1 ps,t
0 s m 0 t m
t 0 0 t m
1 t
0 t m
61
La ecuación anterior muestra que:
t t t t t t
t
p1 p2...
pn
2 t
p1 p2...
pn
1
0 t
0t1 t
n
3 0
tm
0 t
0 t
1 t
n
2
n
1
O equivalentemente
Pr
x,
x,...,
x
plain
01 n
2 Prx
,
x,...,
x
PLAIN
01 n
1
x
n
1
s tps
,t
La ecuación 0t m , 0 s m muestra la relación:
t t t t t t
t
p2 p3...
pn
1 t
p1 p2...
pn
1
1 t
1 t t 0 t
0 t t
2 n
2 0
tm 1 n
2
0
O
equivalentemente:
Pr
x,
x,...,
plain
12 x
n
2 Prx
,
x,...,
x
PLAIN
01 n
1
x
0
X
0 x
,
1X1 x
...
2 X
n2 x
n1
62
Y el lado derecho es la probabilidad de que la fuente genere textos
satisfaciendo:
X
1 x
,
1X2 x
...
2 X
n1 x
n1
0001
p 0
p...
m
1p0
0 1 m1
1011
p 1
p...
m11
p
0 1 m1
m
1m
0
p1mm
1
p1...
m1
pm1
0 1 m
1
Donde 0
, 1
,...,
m 1
63
Definición 2.2.4:
X0,X ,...,
X resp
.X,X,,...,
X
1 n1,... 0 1 N1
, genera figuras de 1 carácter
por medio de pruebas independientes si:
Pr
x,
x,...,
PLAIN
0 1 x
1 p
n x
00p
1x
...
1pn
1xn
1
pj t 0 0 t m
1 pj t
0t m 0 j 0 j N
Definición 2.2.5:
X0,X ,...,
X resp
.X,X,,...,
X
1 n1,... 0 1 2N1
, genera figuras de 1 carácter
por medio de pruebas independientes si:
Pr
x
,
x,...,
x1p
PLAIN
012n x
0,
x
0p
1x
1,
x
2...
3p
nx
12
n
2,
x2
n
1
64
Donde la probabilidad de distribución para cada una de las letras Zm,2
p
jt,s:0 t,s m
para cada j viene dada por:
pj t,s 0 0 t,s m
1 pj t,s
0 t,s m 0 j 0 j N
Definición 2.2.6:
X0,X ,...,
X resp
.X,X,,...,
X
1 n1,... 0 1 2N1
, genera figuras de 1 carácter
por medio de una cadena de markov si:
x x x
Pr
x
,
x,...,
x1 x
p 1p 2...
pn1
PLAIN
012n 00x
0
1x
1
2x
n
n2
t 0 0 t m
1 t
0 t m
pj t 0
s 0 t, s < m
65
1 pj t
0s m
s 0 t m 0 j 0 j N
66
Existen dos tipos fundamentales de sistemas criptográficos:
67
2.4. Claves débiles
catastrófico para los propósitos, debido a que el empleo de esas claves dejaría
todos los mensajes sin codificar.
68
Definición 2.4.1:
n, el mapeo en la ecuación T n
: Z m,n Z m,n es requerido para ser una
Definición 2.4.2:
69
La definición 2.4.2 tiene 4 componentes importantes:
70
Para este entorno:
71
En algunas aplicaciones, solamente algunos campos del archivo grabado
son encriptadas. Por ejemplo, un archivo médico, debe organizar los
datos en varios campos:
Un sistema criptográfico T T
k :k K puede ser descrito como una
G
nT:n 1
,2
,...
secuencia de gráficas orientadas bipartitas como se muestra
en la siguiente figura.
72
Figura 9. Diagrama de transmisión en claves débiles
73
2.5. Propiedades de los sistemas de información
74
Integridad: la integridad garantiza que, si se almacenan datos en el
sistema o se colocan en un extremo de un canal de comunicaciones, van
a permanecer inalterados al recuperarlos o al llegar al otro extremo. Es
fácil imaginar situaciones en las que una información corrompida o
manipulada puede llegar a ser altamente dañina. Para garantizar la
integridad se emplean desde mecanismos de bajo nivel, que garantizan
que los datos no se pierdan o corrompan accidentalmente, hasta
mecanismos basados en funciones que garantizan que se puede saber si
la data fue corrompida.
75
2.6. Problemas de los sistemas de información
76
El riesgo (R) puede definirse como el producto entre la magnitud de un
daño (d) y la probabilidad de que este tenga lugar (pd):
R d pd
Es fácil observar que una situación con un elevado nivel de daño, pero
muy poco probable, puede suponer menor riesgo que una situación con un nivel
de daño moderado, pero mucho más probable. Siempre y cuando se haga una
buena estimación de los daños y las probabilidades de que se produzcan, se
obtendrán unos valores de riesgo útiles.
77
Exploit: se llamará exploit a cualquier técnica que permita
aprovechar una vulnerabilidad de un sistema para producir un daño en el
mismo.
78
Debidas a la implementación: todos los programas tienen fallos, debido a
un código fuente incorrecto, a una mala utilización de las características
del compilador, a una comprensión deficiente de las especificaciones,
etcétera. Este tipo de errores es, con mucho, la mayor fuente de
vulnerabilidades en los productos informáticos actuales, por lo que un
administrador deberá conocerlos en la medida de lo posible. Aunque
suele tenerse menos en cuenta, la configuración de hardware escogida
para un sistema también forma parte de su implementación y puede
asímismo, dar lugar a la aparición de vulnerabilidades.
79
2.8. Criptoanálisis por el oponente bayesiano
Se dice que T T
k :k K es un sistema criptográfico. Los usuarios
acuerdan que seleccionarán la clave utilizando una transformación particular
proveniente de la familia T. Se asume que el analista observa texto encriptado
y encriptado por alguna transformación en T el sistema T es conocido por el
analista, lo que significa que el tiene una descripción del espacio de la clave K y
la forma en que la clave K en K determina Tk, pero no una clave en particular
que algún usuario haya seleccionado.
80
Figura 10. Diagrama de flujo en criptoanálisis por oponente bayesiano
p rPLAIN p rKEY
La probabilidad a priory de la distribución y presentan las
siguientes distribuciones conjuntas y condicionadas.
81
PrPLAIN,KEY X, K : distribución conjunta de texto plano y clave.
texto encriptado Y.
encriptado Y.
Pr XPr K
PrPLAIN,KEY X, K = PLAIN KEY
Pr X
PLAINPrK
KEY
K
T XY
PrPLAIN,CRIPHER X,Y = I K
Pr XPrK
PLAIN
KEY
K
T XY
PrKEY,CRIPHER X, K = I K
PLAINPr X
KEY PrK
X
,KTXY
PrCRIPHER Y = K
82
Pr X
,
PLAIN
, Y
CRIPHER
Pr Y
PrPLAIN / CRIPHER X /Y = CRIPHER
Pr X
,
PLAIN
, Y
CRIPHER
=
Pr Y
CRIPHER
PrKEY / CRIPHER K / Y
Definición 2.9.1:
n
Una decisión determinantica de la función es una
secuencia de transformaciones
n
:Zm
,n Zm
,n n 1,2,...
n n
:Y Y
83
Se denota la familia de funciones determinanticas por D .
La decisión del oponente y es la misma para todos los pares (x,k) que
1 si y x
L x,y
0 si y x
L X,Tk x
asigna el valor de pérdida cero a la decisión correcta y una
pérdida de 1 a la decisión incorrecta. La pérdida promedio de la función
determinística de decisión d en los símbolos de expectación de la variable
L x, y
aleatoria que respecto a la función de probabilidad conjunta
Pr
PLAIN
,CRIPHER
en el set de símbolos de pares (X,Y) es representada por :
I
n
, E
Ln PLAIN
, Pr X
CRIPHER,
YLX
,
Y
x
,
yZm
,
n
(Ecuación16)
84
Definición 2.9.2:
*
Una función de decisión deterministica es óptima sí:
ln, ln,
*
para cada D con n 1,2,....
Definición 2.9.3:
y X
Pr B max
P
y X
PLAIN Y
PLAIN
CRIPHERCRIPHER
B y x sólo sí Pr X MAX
Y
PLAIN Pr
CRIPHER
Y
V
Y
PLAIN
CRIPHE
satisface Pr y 0
CRIPPER .
Hay que notar que puede haber más de un símbolo en el texto plano x que
Pr X
pueda maximizar la probabilidad condicional posterior PLAIN Y
CRIPHER
por lo
Teorema 2.9.1:
85
l yPrx
Pr Lx,
y
n
,
y
Z x
Z
y
CRIPHER
PLAIN
CRIPHER
m
,
n m
,
n
n
l Pry1
Pr y
n
,
y
Z
CRIPHER
PLAINy
CRIPHER
m
,
n
n
l n, y
Será mínimo solamente sí hace
n
n
yPr y
PLAIN y
CRIPHER
un mínimo para cada figura y de probabilidad
positiva.
n
Por lo tanto l n , será un mínima sí y sólo sí y satisface:
n
Pr y max Prx
y
PLAIN x
Z y
n PLAIN
m
,
CRIPHER CRIPHER
Definición 2.9.4:
n
Una función de decisión estocástica es la secuencia de matrices m
n
por m y es representada de la siguiente manera:
n n
x
,
y,x
,
y Z
m
,
n:n1
,
2,...
n
Donde las entradas de x, y son números reales no negativos. La
n
suma de entradas en sobre todas las filas es igual a uno sí:
n
x,y 0
86
n
1 x,y
x Para todo y Z m,n
símbolo s .
S sij
Una matriz de r por s es llamada matriz estocástica si cumple con:
s ij 0 0 i r, 0 j s
1 sij
0 j s 0 i r
S i Pi
i
87
1 i
i 0 i
n n
x
,y i
,j i x
,y
i n 1,2,...
1 i,n
i ,n 0 i
n
Paso 1: se realiza un experimento de ocurrencia; de lo que se obtiene i
con probabilidad i ,n
.
n
Paso 2: se hace la decisión asociada con la función determinística i .
Teorema 2.9.2:
n
x,y 0
Pr X MAX
Y Pr V
Y
Lo cual implica PLAIN
CRIPHER
vZ
n PLAIN
m
, CRIPHER
para
pares de figuras x. y y cada n 1,2,...
88
Pr X
Y
Si hay más de un texto plano x que maximice PLAIN
CRIPHER
para
algún y o equivalente, si existe más de una función determinística de decisión
La decisión bayesiana:
89
Pr x Prx
Para toda y con Pr
y PLAIN y 0
PLAIN
/CHRIPER
CRIPER
Pr x
PryPr x
Prx
y
PLAIN
/
CHRIPER y
CHRIPER
CHRIPER
/
PLAIN
PLAIN
Siempre que:
Pr x
PLAIN 0 Pr y 0
CRIPER
Pr x Pr y
y CHRIPER
CHRIPER
/PLAIN
Para todo x con Pr x 0
PLAIN
válida para todas las figuras “x” e “y” para los cuales Pr x
PLAIN 0
y
Pr y 0
CRIPER , es necesario que haya al menos tantas claves en K como
figuras en x de probabilidad positiva.
90
Entropía
x,
x,...
x
Pr 0 1 n
1
PLAIN
/
CHRIPER y
,
0y
1,...
y
n1
Pr j
KEY
/ y,y
CHRIPER
0 ,...
1 y
n1
y
,
0y,...
1 y
n1 kx
,
0x,...
1 x
n1(módulo m)
91
pp
0,p
1,...,
pm 1
pt 00 t m
1p
0p1...
pm1
Hp ptlog
pt
1tm
(Ecuación 17)
Resaltando:
pxt Pr
X t 0 t m
92
La entropía de X es la entropía de la distribución probabilidad de X
H
X x ptlog
pxt
0tm
Si X0,X1,...
Xn 1 son variables aleatorias con distribución de probabilidad
conjunta:
p
x
,
x
0
t,t
,...,
,...,
1x
n101tn
1 Pr
Xot
o,
X1t
,...,
1 X
n
1tn
1
H
X
,
X
o,...,
1X
n1 p
x
,
x
0
1
t
,t
,...,
t
,...,
x
n
101n1log
p
x
,
x
0
1
t
,t
,...
t
,...,
x
n
101n1
p s PXs
x
y j r Yj
H
X
Yj p
X
Y
s log
j p
X
Y
s
j
0sm
H
X
Y X
,
Yps
,
t log
pXs
Yj
0tm
pYs,
t P
rXs,
Yt p
XYs
, ,t p
X
s pt
t Y
Donde X,
ya que Y
donde
pY t = Pr Y = t = p X,Y s,t , y se tiene:
s
93
HX
Y HX pt
Yt Y
t
Teorema 2.10.2:
La ecuación HX
,YHXH
Y
X es un miembro de la familia de
X0,X1,...
X
X es una variable aleatoria de vector evaluado n1 donde
Teorema 2.10.3:
94
pt 1
El máximo valor de H p es log m , y es alcanzado sí y sólo sí m
para 0 t m
Teorema 2.10.4:
HX HX
Y
HX
,YHXH
Y
95
En randomización, un simple sistema criptográfico T es reemplazado por
n
una acoplación de sistemas T con una distribución de probabilidad. Las
expectaciones son calculadas con respecto al estable, si el valor esperado
relativo al ensamble es alguna variable que satisface ciertas condiciones, se
puede deducir que al menos uno de los sitemas criptográficos que componen el
ensamblaje satisface la condición. Y todos los sistemas que componen el
ensamblaje se acercan en algún sentido a satisfacer la condición. La ventaja
técnica en randomización es la habilidad para evaluar una espactación que es
difícil de calcular para miembros individuales del ensamblaje.
Z 26 , n n 47004
n
Por ejemplo. contiene 26 2 símbolos. Es decir, que
R log
2Z
n m
,n,H
.
96
Para cercano a 0, la entropía HXo,X
1,...,
X n1 en la primera letra n
Rn
del texto plano es aproximadamente Rn , y n es la tasa aproximada a la que
plano.
T
:' T' T
k ':
kK
(Ecuación 18)
97
Donde ' sirve como etiqueta para identificar los miembros del
compuesto y varía respecto al espacio de muestras ' . Se utiliza el símbolo (‘)
para distinguir entre ' que etiqueta los sitemas criptográficos aleatorios de
1
E
ky ' '
:Tk ' yZ
m
,
n,
H
Pr'
Ek y 2Dn Y si k, y j,z se tiene:
Pr'
E
kyEjz Pr'
E
kyPr'
E
jz
.
gráficas bipartitas. Cada miembro del ensamblaje T ' : ' ' corresponde
1
Ey ' '
:Tk ' yZ
a una secuencia de gráficas. La condición k m
,
n,
H
98
Teorema 2.11.1:
* n D
mD
Dm N
m
k
H
K
Y
0n1
2
,...,
Y N
k
C
N
,
km
2n
12
n
m
log
m
1
mN
k
(Ecuación 19)
99
100
3. APLICACIONES
101
Algunas de las principales aplicaciones de criptografía en los sistemas de
proceso de información son:
102
El PIN es una clave secundaria la cual permite evitar que parte de la
información privada pueda ser accezada por una tercera persona que ha
robado una tarjeta, también juega un papel de firma durante una transacción de
pago por medio de tarjeta, el banco indica a sus clientes que se memoricen el
PIN y que no lo escriban en la tarjeta para mantener el nivel de seguridad.
Por lo que el PIN debe consistir de una pequeña cantidad de números que
es usualmente de 4 a 6. Si el PIN es lo suficientemente corto para facilitar la
memorización, se haría posible utilizar un ataque de fuerza bruta para accesar a
la información de la cuenta, por otra parte, si el PIN es suficientemente largo
para evitar este método, los usuarios terminarían escribiendo el PIN en la
tarjeta, volviendo este método inseguro y haciendo inútil el uso del PIN ya que
no habría una segunda clave separada.
103
La transmisión encriptada no protege del todo de este tipo de ataque, ya
que si el atacante obtiene el mensaje encriptado que autoriza la transacción y
ahora lo sustituye por el inciso 3 anterior.
104
Estas tarjetas son equivalentes a una llave ordinaria que se le da a cada
empleado y pueden ser implementadas criptográficamente como sigue: un
número es asignado a cada habitación del edificio, (FACNUM), un número
elegido aleatoriamente decimal es seleccionado para cada empleado. Se
encripta la unión del número aleatorio (RAN) y el número de las habitaciones a
las que este está permitido ingresar FACNUM-RAN1 por lo que el código sería
π
RAN
i//
FACNUM
RAN
i el cual sería guardado en la tarjeta para cualquier
empleado.
105
Encriptación de los archivos en línea:
Bases de datos que contienen información valiosa; por ejemplo, los datos
de diseño de un circuito electrónico.
106
Esto no es sólo aplicable a sistemas simétricos, que requieren que la clave
se mantenga secreta, sino también, para sistemas asimétricos, que estan
basados en claves públicas y privadas. En general, se puede declarar que el
manejo que concierne a la clave va desde el punto en el que esta es creada
hasta el punto donde esta es destruida.
Generación
Distribución
Almacenamiento
Reemplazo/cambio
Uso
Destrucción final
107
Generación de clave
La clave generada debe ser tan impredecible como sea posible, si algunas
claves tienen mayor probabilidad de ocurrencia que otras en práctica un intruso
potencial podría descubrir fácilmente cual fue la clave que se utilizó. La clave
impredecible puede ser generada utilizando un proceso pseudoaleatorio como
el DES, el cual genera un patrón de 64-bit.
Hay situaciones en las que la clave generada debe ser probada para
verificar si tiene debilidades o semidebilidades, como en el caso de DES. Por
ejemplo, en el algoritmo RSA los números p y q deben ser probados de manera
que se pueda verificar que tan fuertemente son números primos.
Distribución de la clave
108
En un sistema de red de computadoras, con conexiones cliente-servidor,
etcétera. Usualmente 2 tipos de claves son empleadas, claves que son
utilizadas para la seguridad de los datos en el sistema y autenticación, llamadas
de sesión y claves que son usadas para la seguridad de la sesión, mientras se
transmite del terminal al servidor, estas son llamadas claves de transportación.
Almacenamiento de claves
Cambio de clave
109
o El período de validez de los datos protegidos: por ejemplo los
mensajes que son transmitidos por un teléfono policiaco tiene un
tiempo limitado de validez; al tiempo de la transmisión puede que
haya información valiosa para un intruso. Pero unos pocos minutos
después ya se habrá pérdido el contenido de este mensaje.
Destrucción de la clave
110
Si solamente es una comunicación terminal-terminal, que pasa por el
servidor pero no se decripta ahí, no se necesita almacenar una clave en el
servidor. En la actualidad, no existe un Sistema Operativo que sea capaz de
almacenar de forma segura una lista extensa de claves de usuario y la
implementación de un sistema cuya efectividad depende de que tan secreta se
puede almacenar esta lista que ha sido muy cuestionada.
111
KMT 1 ,KMT 2 , . .. KMT N
Clave maestra de dispositivo o terminal: ,
almacenadas de manera segura en los dispositivos o terminales. Una
{DES {KMH1,KMT i }:i=1,2,... N}
tabla de host que contiene .
(Ecuación 20)
CRIPPER=DES {KS,PLAIN }
112
Figura 11. Diagrama encriptador DES
(Ecuación 21)
CRIPPER=DES {KS,PLAIN }
PLAIN=DES− 1 {KS;CRIPPER}
113
Figura 12. Diagrama desencriptador DES
114
Entre estos sistemas criptográficos se pueden mencionar:
Este sistema creado por Rivest, Shamir y Adle-man (RSA) es uno de los
más famosos. La idea atras de este sistema es la de construir una función que
sea fácil de calcular (en este caso multiplicar dos primos), pero que su inversa
sea difícil de calcular (en este caso dado un número que es producto de 2
primos, hallar esos primos).
Se calcula n = p q = p 1 q 1.
mód n .
E :Z n →Z n : E (x )=x e (mód (n ))
La clave pública viene dada por el par (n,e) que puede ser publicada en
una guía de claves. Se observa que el par brinda toda la información necesaria
para calcular la función de encriptado E.
115
Si alguien desea enviar un mensaje confidencial x, busca la clave pública
D : Zn Z m : D x = x d mód n
sistema de llave pública fuerte [DI ] . Este directorio se prepara con entradas
para cada usuario del sistema.
116
El usuario selecciona una llave secreta y computa la entrada al directorio.
Cuando el usuario i y el usuario j se desea comunicar siguen los siguientes
pasos:
ki kj
El usuario i utiliza la clave y la entrada al directorio q del usuario j
para calcular.
ki
kij = q kj módulo p = q kjki módulo p
k ki
El usuario j utiliza la clave j y la entrada al directorio q del usuario i
para calcular.
kj
k ji = q ki módulo p = q kikj módulo p
k ij =k ji
Como ambas partes han establecido una clave común.
Si hay alguna duda respecto a que la utilización repetitiva por los usuarios
j e i pueda comprometer la clave, el protocolo de encriptamiento puede ser
k ij =k ji
modificado; y serviría como una clave intermedia utilizada para encriptar
alguna información conocida pero variable, de manera que se obtenga una
clave común.
117
Los usuarios pueden comunicarse por medio de una clave compartida sin
necesidad de revelar sus claves privadas al sistema. Sin embargo, el problema
de la distribución de clave de usuario a usuario no ha sido resuelto por completo
todavía. Debido a que el directorio debe ser accesible para todos los usuarios
del sistema y por esa causa es susceptible a alteraciones durante algún ataque.
a= (a 0 ,a1 ,. .. ,a n− 1 )
Dado un entero N y un vector , el problema de
x= (x 0 ,x 1 , .. . ,x n− 1 ) x i= 0 x i= 1
knapsack es en contrar una solución o , para
N= ∑ a i xi
0≤ i>n . De la ecuación 0≤ i<n
.
Z 2, n
∑
0≤ i<n
ai x i
de knapsack. Como x tiene el arreglo , la suma toma valores en
KNAPV [{a i }] n
un arreglo denotado por . El cual contiene al menos 2 entradas.
Un algoritmo logarítmico temporal para el problema de knapsack
ALG ({ai },N )
es un algoritmo que:
a= (a 0 ,a1 ,. .. ,a n− 1 )
Dada la longitud de knapsack y N .
118
N= ∑ a i x i
x= (x 0 ,x 1 , .. . ,x n− 1 )
Encuentra una solución para .
Ee,n
Si e y n son conocidos pero p y q son secretos, se cree que es una
Ed,n
función de un sentido; para encontrar a partir de n, es equivalente a la
factorización de n. Cuando p y q son primos suficientemente grandes, la
factorización de n aparenta ser poco práctica. Esta es la base del sistema
RIVEST-SHAMIR-ADELMAN. La fuerza del sistema descrito anteriormente
depende completamente de cuan complejo es encontrar los factores del entero
n, el cual es producto de dos números primos grandes.
119
3.4. Firmas digitales y autenticación
El por qué:
120
Figura 13. Diagrama de flujo firmas digitales
Amenazas:
121
Para la verificación de una transacción se requiere:
El originador (A) debe incorporar con los datos una firma; información
adicional que depende de los datos, el receptor de la transacción y la
información secreta KA, conocida únicamente por el originador.
SIG {k A ,DATA,UsuarioB } denota la firma de datos hacia usuario B
SIG {k A ,DATA,UsuarioB }
El usuario B debe ser capaz de verificar que es
una firma correcta del usuario A.
Autenticación:
Es un proceso por medio del cual cada una de las partes de una
comunicación verifica la identidad del otro. Cualquier proceso de autenticación
incluye algo de secreto implícitamente, alguna información por medio de la cual
algún participante de la comunicación se identifica al mismo en el otro punto.
122
El originador debe proveer al receptor información de autenticación
AUTH {k A ,UsuarioB } kA
dependiendo del secreto de la información
debe ser conocida únicamente por el usuario A.
AUTH {k A ,UsuarioB }
Una autenticación válida por el usuario A para el
kA
usuario B debe ser prácticamente imposible de construir sin .
Presentación:
123
El contrato de usuario A a usuario B es firmado y notarizado por el arbitro,
que es un tercero de confianza, la firma de datos para el usuario B por el
usuario A con la llave KA es algún encriptamiento de (DATA, UserB) por un
sistema criptográfico con llave Ka.
La transacción:
124
El usuario A es ahora exigido por el usuario B a revelar 10 de las 21
claves.
k A,2l +r ,k A, 2 li+r ,. .. ,k A,2 li+r
0 1 9
0 r0 r1 ... r9 21
k A,2li+r , . .. ,k A, 2 li+r
0 9
0≤ s≤ 9
125
3.5. Curvas elípticas
Aplicaciones en la criptografía
Varios de los métodos para encriptar mensajes de uso más común tienen
su versión análoga para curvas elípticas. En este caso lo que cambia es
básicamente que la seguridad de los algorítmos se basa en la dificultad del
problema del logarítmo discreto para curvas elípticas. Este es simplemente el
problema de que dados los puntos A, B sobre una curva elíptica E, halla un
entero k tal que KA=B.
p
Sea m un mensaje expresado como un número 0 m . Sea
100
3
x j = 100 m+j
para 0≤ j≤ 99 . Se calcula s j =x j +Ax j +B .
p 1
sj
Ahora se verifica si es un cuadrado módulo p observando si s j 2 1
(mod p ) .
126
sj
En caso que sea un cuadrado, no deben probar más valores de j y se
detiene, si no se cambia el valor de j la idea es ir variando j entre 0 y 99 hasta
sj
hallar un valor que haga que sea un cuadrado perfecto, ahora se calcula
yj
una raíz cuadrada por uno de los métodos conocidos y se toma como una
xj
100
T
Verificar si mcd (n, 6 )= 1 y que no tiene la forma m para algún r≥ 2
b,x 1 ,y 1
Escoger enteros aleatorios entre 1 y n
2 3
Sea c=y 1 − x1 − bx 1 (módulo n), sea C la curva elíptica dada por la
2 3
ecuación: C : y =x +bx+c n y sea P = x1 , y1 C
127
Verificar que mcd (4b + 27 c ,n )= 1 . Si es igual a n, volver al paso 2 y
3 2
a k bk
Calcular kP = ,
d k2 d k3
a k bk
kP=
( ) ,
d 2k d 3k
128
Se obtiene de las fórmulas explícitas para la suma de puntos. Se debe
recordar que las fórmulas (adaptadas al tipo partícula de curva que se está
considerando) están dadas por:
x 3 =λ 2 − x1 − x 2
y 3 =λx 3− v
129
Es imposible reconstruir el texto base a partir del número resumen.
130
Por ejemplo: Bob desea firmar un mensaje x, primero construye el
resumen z = h (x), y luego elabora la firma y = sig K (z). Él transmite el par
ordenado (x,y) por el canal. Ahora la verificación del mensaje es realizada
primero reconstruyendo el resumen del mensaje z = h (x), utilizando la función
pública de Hash h y luego verifica que ver K (z, y) = verdadero.
Definición
131
El caso anterior motiva una propiedad diferente sobre libre de colisión.
Definición 3.6.1.
Definición 3.6.2.
132
Esta reducción puede ir acompañada por una asunción de debilidad justa
sobre el tamaño relativo del rango de dominio de la función de Hash. Se asume
temporalmente que la función de Hash h : X Z es finita y X 2 Z . Esta
asunción es razonable: si se piensa en un elemento X siendo codificado como
una cadena de bits de longitud log 2 X y un elemento de Z es codificado como
una cadena de bits de longitud log 2 Z . De ahí el resumen del mensaje z=h(x)
es al menos un bit más corto que el mensaje x.
Teorema
Se selecciona un x X aleatorio
Se compúta z = h x
133
Se compúta x1 = A z
Si x1 x entonces
Sino
Salir (falla)
Definiendo
[x ]= {x 1∈ X : x≈ x 1}
x1
Como este valor de es diferente de x retornaría éxito en el paso 4.
134
La probabilidad de éxito del algoritmo es calculada promediando todos los
posibles valores de x así:
135
Suponiendo que se tiene una cadena de bits dada por:
x = x1 x2 ... || xk ,
Las funciones Hash creadas por este método han sido probadas y consideradas
inseguras.
136
3.7. Timestamping
Una dificultad que puede presentar la firma es que el algoritmo puede ser
comprometido. Suponiendo que un usuario A determina el secreto del usuario
B exponiendo a en el DSS. Luego A puede crear la firma de B en cualquier
mensaje que el quiera. Pero otro problema es que al comprometerse el
algoritmo de firma se generan dudas sobre la autenticidad de todos los
mensajes firmados por el usuario B, aún aquellos firmados antes que robarán el
algorítmo de firma.
137
Por ejemplo, esta información puede consistir de los marcadores del día
anterior de las ligas mayores de baseball. O los valores de los inventarios
listados en el intercambio de valores de Nueva York.
El usuario computa z = h x
138
Esta es una forma directa de producir una datación, si hay un servicio de
y=sig K (z )
datación confiable disponible. El usuario puede compútar z=h (x ) y
de esta forma. Se denota la tripleta a ser datada por (zn ,y n ,ID n) , y el tiempo en
tn
que es datada por .
Se computa Ln = t n 1 , IDn 1 , z n 1 , yn 1 , h Ln 1
Se computa sn = sigTSS h Cn
139
Ln
La cantidad es la información de enlace. Que ata la enésima
requisición a la anterior. Ahora si se reta al usuario a revelar su mensaje x y
luego y puede ser verificado. Luego la firma s del sistema puede ser verificada
y si se desea luego se puede requerir ID para producir sus dataciones
(timestamps). Las firmas del sistema de datación pueden ser verificadas con
estas impresiones de fechas, este proceso puede continuarse hacia adelante y
hacia atrás.
140
CONCLUSIONES
141
6. Los sistemas que requieren que se almacene la clave en un medio físico,
requieren de seguirdad extra para evitar posibles ataques.
142
RECOMENDACIONES
143
144
BIBLIOGRAFÍA
145
8. SGARRO, Andrea. Códigos secretos. Madrid: Piramides, 1990. 128 p.
ISBN 8436805259.
146
APÉNDICE
147
148
Apéndice 1. Herramientas criptográficas propias
149
Continuación del apéndice 1.
if (t1 == "")
{
t1 = char.ToString(Temp[valor2]);
}
else
t1=t1+char.ToString(Temp[valor2]);
label4.Text = t1;
}
}
else
if (checkBox2.Checked == true)
{//decodificar
valor = Convert.ToInt32(textBox2.Text);//obtiene M
for (int i = 0; i < textBox1.Text.Length; i++)
{
for (int j=0;j<27;j++)
{
if (textBox1.Text[i]==Temp[j])//busca letra por letra
{
valor2=j-7-11-valor;
while (valor2<0)
{
if (valor2<0)
valor2=valor2+27;
}}}
if (t1 == "")
150
Continuación del apéndice 1.
{
t1 = char.ToString(Temp[valor2]);
}
else
t1=t1+char.ToString(Temp[valor2]);
label4.Text = t1;
}
}
else
MessageBox.Show("Debe seleccionar una Operacion");//mensaje
de error
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
checkBox1.Checked = false;
else
checkBox2.Checked = true;
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked == true)
checkBox2.Checked = false;
else
checkBox1.Checked = true;
}
151
152
ANEXO
153
154
Anexo 1. Herramientas criptográficas existentes
Codificador de Vigenere en c
#include <stdio.h>
#include <string.h>
void uso(){
printf("Uso:\n\tvin <clave> [d|D|x|X]\nDonde\n d|D imprime decimal\ny x|X
Imprime hex\n");
}
cot = strlen(argv[1]);
while ((c=getchar())!=EOF){
c=c^argv[1][in];
if (argn>2){
if ((argv[2][0]=='x')||(argv[2][0]=='X')){
printf("0x%x ",c);
}else if ((argv[2][0]=='d')||(argv[2][0]=='D')){
printf("%i ",c);
}else{
printf("Comando no reconocido\n");
uso();
exit(-1);
155
Continuación del anexo 1.
}
}else{
putchar(c);
}
in++;
if (in >= cot) in =0;
}
}else{
printf("Epecificar una clave\n");
uso();
}
return(0);
}
Fuente:
DUARTE, Oscar Medina.
http://www.udlap.mx/~is111936/oto02/programas/
156