Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Software propietario?
¿Software libre?
Teniendo en cuenta que el software que uti-
lizamos conocerá nuestras claves, luego si
tiene algún fallo o tiene alguna “funciona-
lidad” no documentada podrı́a comprometer
nuestra seguridad. Las ventajas del software
libre son:
∃ k∈ K E(m, k) = (m, k)
La clave k es una clave débil ya que deja
el criptograma igual que el texto plano.
3. Otro tipo de “clave débil” serı́a aquella
que deja el criptograma muy parecido al
texto plano, con lo cual . . .
L
Muchas veces la operación se denotará co-
mo “+”, diciendo entonces que estamos uti-
lizando notación “aditiva” o como “∗”, di-
ciendo entonces que estamos utilizando no-
tación multiplicativa. Tanto “+” como “*”
NO tienen por que ser la suma y producto
que conocemos sobre los números reales, R.
Un grupo ha de verificar las siguientes condi-
ciones:
{0, 1, 2, . . . , n − 1}
Luego tendremos que:
(Z/n, +) = {0, 1, 2, . . . , n − 1}
(Z/n,+) es un grupo con la operación +
definida de la siguiente manera:
0 1 2 3 4 5 6 7 8 En Z
0 1 2 3 4 0 1 2 3 En Z/n
Para expresar cualquier elemento de Z como
un elemento de Z/n bastará con dividirlo por
n y quedarnos con su resto.
5 ≡ 0 mod 5
6 ≡ 1 mod 5
7 ≡ 2 mod 5
8 ≡ 3 mod 5
Sistemas de encriptación
con estructura de grupo
Algo muy a tener en cuenta en los sistemas
de encriptación, independientemente de si son
simétricos o asimétricos, es si tienen o no es-
tructura de grupo.
(1, 2, 3), (1, 3, 2), (3, 2, 1), (2, 1, 3), (3, 1, 2), (2, 3, 1)
Consideraremos los elementos de S3 como
aplicaciones biyectivas de P en P:
∼
πi : P −→ P i = 1, 2, . . . , 6
La notación que utilizaremos será la siguien-
te:
à !
1 2 3
π5 =
3 1 2
Lo cual nos indica que π5 es la aplicación que
manda el 1 al 3, el 2 al 1 y el 3 al 2.
Tendremos entonces que:
Sea
à !
1 2 3
π6 =
2 3 1
Tendremos entonces que:
à ! à ! à !
1 2 3 1 2 3 1 2 3
π5◦π6 = ◦ =
3 1 2 2 3 1 1 2 3
El orden del grupo Sn vendrá dado por n!. De
donde se deduce que el orden de S3 será 3! =
6.
Criptografı́a
simétrica
¿Que es la criptografı́a simétrica?
Desventajas
Ki
L - - - L0 -
32 bits 6
-
6
? 48 bits 32 bits
.?
R - - E - - S - P - - R0 -
32 bits
48 bits 32 bits
Dispositivo SBB.
K1 K2 K16
? ? ?
32 - 32 - - ....
32 - -
64 - bits bits bits 64
-
IP SBB SBB SBB IP −1
bits 32 - 32 - - ....
32 - - bits
bits bits bits
DES Múltiple
Ser público.
No esté patentado.
En la primera conferencia de candidatos (AES1
en 1,998) se presentaron 15 candidatos:
MARS, IBM.
SERPENT,
TWOFISH, Bruce Schneier
n2 · [log 2 · n]2
a medida que crece n se puede despreciar el
resto de terminos que dependen de n, con lo
cual se dice que el algoritmo tiene un coste
computacional O(n2 · [log 2 · n]2).
Tiempo polinomial
Diremos que un algoritmo tiene una comple-
jidad de tipo polinomial, o simplemente que
se puede resolver en tiempo polinomial si su
complejidad computacional esta acotada por
un polinomio que depende del tamaño de la
entrada:
O(algoritmo) ≤ p(n)
Interesa que los siguientes algoritmos sean de
tipo polinomial:
Elección de claves.
Encriptación.
90
80
70
60
50
40
30
20
10
0
0 2 4 6 8 10
25000
20000
15000
10000
5000
0
0 2 4 6 8 10
Funciones exponencial y polinómica en la mis-
ma escala:
50
45 Funcion exponencial
40
35
30
25 Funcion polinomica
20
15
10
0
0 2 4 6 8 10
Criptografı́a
asimétrica
Introducción
x ≡ logg y (mod p)
su complejidad√computacional es de tipo ex-
ponencial O(e log p log log p). Cuando p tiene
un tamaño como el que se ha dicho antes
es practicamente imposible el cálculo de esta
función.
“A” la calcula:
x
zBA ≡ yBA ≡ g xB ·xA (mod p)
“B” la calcula:
x
zAB ≡ yAB ≡ g xA·xB (mod p)
En este esquema los datos públicos son (p,
g, yA, yB ). En el caso de que alguien quisiera
conocer la clave secreta a partir de los datos
públicos, tendrı́a que conocer xA o xB para
generar la clave secreta zAB , lo que equivale
a resover una de estas dos ecuaciones:
xA ≡ logg yA (mod p)
xB ≡ logg yB (mod p)
y = ax (mod n)
diremos que x es el “logaritmo discreto” de
y en la base a módulo n:
x = loga y (mod n)
El cálculo del logaritmo discreto es un pro-
blema de tipo exponencial cuando n es sufi-
cientemente grande, 200 digitos o más.
Computación cuántica
Rivest, Ron.
Shamir, Adi.
Adleman, Leonard.
Φ(n) = (p − 1) · (q − 1)
Como e y Φ(n) son primos entre sı́, entonces
existe d tal que:
e · d ≡ 1 mod Φ(n) = n + 1 − p − q
d se puede calcular mediante el algoritmo de
Euclides.
p y q.
Φ(n).
d.
e · d ≡ 1 mod Φ(46,927)
por ejemplo:
e = 39,423
d = 26,767
Las claves serán:
El procedimiento es el siguiente:
1. A fuerza bruta . . .
4. Resolviendo:
e · d ≡ 1 mod Φ(46,927)
Lo cual equivale a conocer Φ(46,927),
que a su vez equivale a conocer la fac-
torización en números primos de 46,927.
ElGamal.
m · m−1 ≡ 1 mod n
o lo que es lo mismo:
m · m−1 = λ · n + 1
donde λ ∈ Z. Es decir:
m · m−1 + λ · n = 1
Esta ecuación recibe el nombre de diofánti-
ca y se puede resolver utilizando el Algo-
ritmo de Euclides.
Números aleatorios
1. Un PID.
2. Un PPID.
Algoritmo de Lehmann.
Algoritmo de Rabin-Miller.
Test de Lucas-Lehmer.
Se utiliza para comprobar la fiabilidad de
los superordenadores CRAY. No es útil
en la práctica ya que sólo es aplicable a
números de Mersenne.
Test de APRCL.
Test de Atkin-Morain.
Elliptic
Curve
Cryptosystem
−2
−4
y 2 + a1 · x · y + a3 · y = x3 + a2 · x2 + a4 · x + a5
donde los ai son elementos de un cuerpo.
Estructura de grupo
y 2 = x3 + ·x + b
donde x3 + ·x + b no tiene raices multiples o
lo que es lo mismo:
∆ = 4 · a3 + 27 · b2 6= 0
En estas condiciones:
[
E = {(x, y) ∈ K × K} {O}
tales que (x, y) verifican la curva elı́ptica an-
terior y O es un punto que no esta en el
plano y se llama “punto del infinito” forman
un grupo abeliano respecto a la suma.
Suma de dos elementos de una curva elı́ptica:
2
P
Q
−2
P+Q
−4
2
P
−2
−4 P+P
4
P
−2
−P
−4
n · P = P + .n)
. . +P
donde P ∈ E y n ∈ Z.
Firmas digitales
Que son las firmas digitales
La integridad de documentos.
La procedencia de documentos.
RSA.
ElGammal.
MD5.
SHA.
Clave pública.
Periodo de validez.
1. Comprobamos su caducidad.
root:59AFDADF7D:UID:GUID:root:/root:/bin/bash
login:frargtYuJ09IKMh:UID:GID:Nombre:Home:Shell
tux:frargtYuJ09IKMh:...
1. Solicitar el password.
argtYuJ09IKMh
gpg --gen-key
DSA y ElGamal.
Nombre y apellidos.
Comentario.
8. Desencriptar datos.
gpg --decrypt.
Unknown, desconocido.
Que es SSL
Secure
Sockets
Layer
Ventajas:
Seguridad en comunicaciones
Librerias