Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Criptología 1
MAPA DE LA UNIDAD
Criptografía
moderna
Usos de la
Criptografía Criptografía
Funciones Hash criptografía en la
simétrica asimétrica
actualidad
Cifrado clave
DES RSA ElGamal Firma digital
pública
Intercambio de
3DES Certificado digital
claves
Criptología 2
1. INTRODUCCIÓN
Los algoritmos que utilizan la misma clave para cifrar que para descifrar, se
conocen como algoritmos de clave simétrica. Una de las mayores
innovaciones en el desarrollo de la criptografía actual, que ha marcado un
hito en el mundo de las operaciones telemáticas, fue la aparición de la
criptografía asimétrica, que utiliza una clave para cifrar y otra para descifrar.
Criptología 3
participe en este proceso de cifrado dispondrá de una clave privada y
otra pública.
2. CRIPTOGRAFÍA SIMÉTRICA
Los algoritmos de clave simétrica, también conocidos como algoritmos de
clave privada son aquellos que utilizan la misma clave para cifrar que para
descifrar el mensaje. La fortaleza del algoritmo radica en mantener a salvo la
contraseña utilizada.
El documento original es cifrado con una clave privada y para poder ser
descifrado tendrá que ser descifrado con la misma clave privada con la que
se cifró, tal y como se puede ver en la siguiente figura.
CIFRA DESCIFRA
Criptología 4
El utilizar una clave de longitud fija relativamente corta (56 bits) y las
continuas sospechas de que la Agencia de Seguridad Nacional Americana
hubiera colocado puertas traseras hizo que se llevara a cabo un exhaustivo
estudio de este y se detectaran numerosas vulnerabilidades, lo que ha hecho
que hoy en día se considere un algoritmo inseguro.
Los bloques de 64 bits en los que se dividen el texto original son sometidos
a 16 rondas en las que el bloque resultado de la ronda anterior es modificado
dando lugar a un nuevo bloque, tal y como puede verse en la siguiente figura.
En cada ronda, la clave es diferente y se obtiene a partir de aplicar
desplazamientos de bits a la izquierda de la clave original.
Figura 2.1-1. Estructura del algoritmo DES. Autor Hardcoded. Fuente Wikipedia
Criptología 5
Las cajas verdes con una F representan la función Feistel que es un sistema
de cifrado en bloque que tiene la gran ventaja de que la operación de cifrado
y descifrado son idénticas, por lo que son reversibles.
El algoritmo DES fue roto por un ataque de fuerza bruta en 1997 lo que hizo
que fuera sustituido por el 3DES o Triple DES, que consistía en aplicar tres
veces el algoritmo DES. Si se utilizara la misma clave, tendríamos el mismo
resultado que al aplicar el DES, sin embargo, si se utilizan dos claves
diferentes, tenemos una fortaleza de 112 bits. Si por el contrario las tres
claves son diferentes, la fortaleza es de 168 bits, por lo que para romper el
algoritmo mediante fuerza bruta tendríamos que hacer 2168 combinaciones.
Criptología 6
¿Sabías qué?
El algoritmo AES surge de un concurso de ideas
propuesto por el NIST (National Institute of Standards
and Technology) en 1997 ante la cantidad de ataques
que estaba sufriendo el algoritmo DES dejando al
descubierto sus vulnerabilidades. El algoritmo
vencedor recibía el nombre de Rijndael y en el año
2000 fue propuesto como el nuevo algoritmo simétrico
de seguridad que sustituiría al algoritmo DES y 3DES.
Criptología 7
MixColumns: se multiplica cada una de las columnas de la
matriz de estado por un polinomio fijo.
AddRoundKey: realiza la operación XOR (Or Exclusivo) de la
subclave Ki con la matriz de estado.
Etapa final: en la última ronda se realizan las siguientes operaciones
con la subclave Kn
SubBytes
ShiftRows
AddRoundKey
El resultado final será la matriz de bytes que formaran el texto cifrado. Para
el descifrado se recorrerá el algoritmo en sentido inverso.
Es un algoritmo que opera con bloques de 64 bits utilizando una clave de 128
que son transformados a lo largo de 8 rondas idénticas, a diferencia de lo
que ocurre en el algoritmo AES, que tiene la primera y la última ronda
distintas. En todas las rondas utiliza una combinación de tres operaciones
básicas, que son la operación XOR, la operación suma módulo 216 y la
multiplicación módulo 216.
Criptología 8
3. CRIPTOGRAFÍA ASIMÉTRICA
La criptografía asimétrica es aquella que utiliza dos claves distintas, de
forma que lo que se cifre con una de ellas, solo podrá ser descifrado con la
otra perteneciente al par de claves. Una de ellas es pública y puede ser
conocida por cualquiera (clave pública), sin quedar en entredicho la
seguridad del sistema, mientras que la otra tiene que permanecer secreta
(clave privada) y solo ser conocida por su propietario.
La peculiaridad de este sistema radica en que todo lo que se cifra con la clave
pública de un usuario, solo puede ser descifrado con su clave privada, y todo
lo que se cifra con su clave privada, solo puede ser descifrado con su clave
pública. Además, conociendo la clave pública de un usuario, no se puede
obtener la clave privada.
CIFRA DESCIFRA
Criptología 9
3.1. Intercambio de claves. Algoritmo Diffie-Hellman
En los algoritmos de criptografía simétrica tanto el emisor como el receptor
deben de utilizar la misma contraseña para cifrar y para descifrar, lo cual
plantea un problema si ambas partes no se conocían a priori ¿cómo conocen
la contraseña a utilizar para cifrar y descifrar? Y si a priori no la conocen,
¿cómo la comparten de forma segura para que solamente el emisor y el
receptor la conozcan?
Criptología 10
3.2. Algoritmo RSA
El algoritmo RSA recibe el nombre de las iniciales del primer apellido de sus
creadores: Rivest, Shamir y Adleman. Dicho algoritmo basa su fortaleza en la
dificultad de factorizar un número obtenido a partir del producto de dos
números primos muy grandes (de más de 1024 bits). Por ejemplo, si tenemos
el número primo 104549 y el número primo 100829, el producto de ambos
números sería 10541571121 y sería sencillo de calcular. Sin embargo,
conocido el número 10541571121, sería muy complicado factorizarlo y
obtener los dos números primos cuyo producto dio dicho resultado.
Cada usuario puede generar sus claves de una forma sencilla, imaginemos
una comunicación entre Hebe y Hugo y veamos como Hebe podría generar
sus claves.
Primero elige dos números primos grandes, cuya longitud en bits debe
de ser entre 512 bits (versión inicial de RSA con menos seguridad) y
2048 (máxima seguridad). A continuación, calcula el producto de
ambos primos, obteniendo n=p*q. Una vez obtenido el producto,
obtiene el indicador de Euler que se calcula como (n) = (p-1) (q-1).
Luego elige un número entero positivo, e, mayor que 1 y menor que
(n), cuyo máximo común divisor sea 1 (m.c.d [e, (n)] = 1).
Por último, calculamos la clave privada d, que es el inverso
multiplicativo del número e módulo (n), es decir, que cumpla que e·d
sea igual a 1.
Criptología 11
Tenemos entonces p=7 y q=13. Calculamos su producto n=p·q=7·13=91. El
módulo RSA de Hebe sería 91. Ahora tendríamos que calcular la Función de
Euler (phi de Euler) de 91 (91) es el número de números menores de 91 que
son coprimos con 91, es decir, que el m.c.d entre 91 y dicho número es 1. En
este caso dicho valor se calcula como (p·q) = (p-1) (q-1), luego en nuestro
ejemplo phi de Euler es (91) = 72. La clave pública de Hebe sería un número
del 1 al 72 cuyo máximo común divisor entre dicho número y el 72 sea 1. En
nuestro caso hemos elegido el número 17, luego tenemos como valores
públicos de Hebe n=91 y e=17.
¿Cómo se cifraría?
¿Cómo se descifraría?
Criptología 12
Ejercicio 3.1.1. Imagina que Hebe quiere mantener una comunicación
privada con Hugo mediante RSA. Cuando le pide su clave pública Hebe le
devuelve el valor 15 ¿sería una buena clave pública para el algoritmo RSA?
http://www.criptored.upm.es/software/sw_m001d.htm
A continuación, elegimos otro número primo q de 160 bits, tal que p-1=q·z,
siendo z un número natural.
Criptología 13
A continuación, elegimos un número x tal que 1<x<q-1.
Las funciones hash son algoritmos que al aplicarlas sobre un documento nos
generan una secuencia de bits única, de tal forma que, si modificásemos una
sola letra del documento, al aplicar la función hash nos daría un resultado
distinto. Podríamos decir que la función hash actúa como la huella digital de
un documento.
Las funciones Hash deben de cumplir una serie de requisitos, los cuales son:
Criptología 14
Compresión: la función hash resultado debe de ser de menor tamaño
que el documento original.
Facilidad de cálculo: debe de ser fácil obtener la función hash de un
documento.
Difusión de bits: también conocida como efecto de avalancha, indica
que el resumen debe ser una función compleja de todos los bits del
mensaje.
Resistencia débil a colisiones o primera preimagen: esta propiedad
se cumplirá si es computacionalmente imposible que, conocido un
mensaje, podamos encontrar otro mensaje tal que ambos sean
iguales.
Resistencia fuerte a colisiones o segunda preimagen. en este caso,
nos indica que será computacionalmente imposible encontrar un par
aleatorio de mensajes de forma que uno sea igual al otro.
Algunos de los algoritmos de función Hash más destacados son el MD5, SHA-
1, SHA-256 y SHA-3. Como esta primera unidad es una introducción diremos
a groso modo que el algoritmo MD5 (Message Digest 5) fue una evolución
del MD4 y obtiene, a partir de cualquier documento de entrada, una cadena
de 128 bits. El algoritmo SHA, es más lento que el MD5, pero ofrece
resultados más seguros al tener una mayor longitud de salida.
Figura 4-1. Ejemplo que muestra el resultado de aplicar la función Resumen MD5 a
dos textos.
Criptología 15
Las funciones hash se utilizan, por lo general, para verificar la integridad de
la información que es transmitida a través de internet. Pero existen otros
muchos usos. Por ejemplo, imaginemos un sistema de autenticación online
mediante usuario y contraseña. Si en la base de datos estuvieran todas las
contraseñas asociadas a la lista de usuarios, ante un ataque informático
podría quedar toda la información expuesta. Por este motivo, muchas veces,
en lugar de guardar la contraseña, los sistemas de autenticación almacenan
el resultado de aplicar la función resumen a la contraseña. De forma que
cuando se hace el proceso de logueo, se comprobaría que las funciones hash
de la contraseña introducida por el usuario y la almacenada en la base de
datos coinciden. De esta forma, si alguien tuviera acceso a la base de datos
donde se guardan los usuarios y la contraseña, no sería un gran problema,
puesto que no podría acceder a las contraseñas, sino que tendría acceso al
resultado de aplicar la función resumen a la contraseña.
Criptología 16
Según la Real Academia de la Lengua Española, la firma constituye un rasgo
o conjunto de rasgos, realizados siempre de la misma manera, que
identifican a una persona para dar autenticidad a un documento. Cuando
hablamos de dar autenticidad queremos decir que es el documento original,
que no ha sido modificado. Con la firma digital se busca garantizar la
autenticidad de un mensaje mediante métodos electrónicos.
Actualmente la firma digital se utiliza junto con las funciones Hash para
asegurar la autenticidad y la integridad del mensaje, así como el no repudio,
es decir, asegurarnos que la persona que dice ser el emisor, realmente lo es.
Criptología 17
Figura 5.1-1. Esquema de la firma digital. Fuente Wikipedia.
Criptología 18
Las ventajas que ofrece la firma digital son múltiples, ahorrando tiempo y
dinero tanto a la administración como a los usuarios, puesto que no tendrán
que desplazarse físicamente para realizar trámites que ahora pueden hacer
desde su casa con la firma digital.
https://firmaelectronica.gob.es/
Criptología 19
Firma electrónica cualificada: es aquella que recurre a un
organismo externo que certifica la identidad de la persona firmante.
Por ejemplo, la Fábrica Nacional de Moneda y Timbre podría ser un
organismo certificador.
Criptología 20
Firma electrónica de documentos y formularios oficiales
Una vez solicitado tendremos que ir a una oficina para acreditar nuestra
identidad en persona y firmar el contrato con la FNMT. Tras realizar dicho
proceso, podremos descargarnos el certificado e instalarlo en nuestro
ordenador.
Criptología 21
La mayoría de los certificados digitales implementan es estándar conocido
como X.509, que incluye:
Presta atención
Recuerda que el certificado digital te permite realizar
muchos trámites con diferentes entidades,
organismos y administraciones sin necesidad de
desplazarse en persona. Por este motivo, si no lo
tienes te recomendamos que lo solicites.
Criptología 22
Par de claves de cada certificado electrónico (el de autenticación y el
de firma).
La última versión del DNI-e (la 3.0) emitida en España incluye la tecnología
NFC (Near Field Communication) que permite transmitir nuestros datos de
forma cercana, de una forma similar a lo que ocurre con las tarjetas de
crédito actuales y la tecnología Contactless. Tiene el inconveniente de que
podrían leernos los datos al pasar un lector cerca de la zona donde tengamos
el DNI-e, aunque para ello tendrían que descifrar el código de seguridad de
nuestro DNI-e, teniendo aquí otro ejemplo de criptografía que forma parte
de nuestra vida diaria.
Dato curioso
El Documento Nacional de Identidad en España es
emitido por la Dirección General de la Policía, el cual es
emitido en su versión electrónica desde 2006. Como
dato curioso decir que el DNI fue ideado por el Dictador
Francisco Franco en 1944, quien ocupaba el número 1,
su esposa el número 2 y el que sería futuro rey de
España, Juan Carlos de Borbón el número 10.
Criptología 23
Para más información
Actualmente el Cuerpo Nacional de Policía tiene una
página web con información sobre el DNI electrónico.
https://www.dnielectronico.es/PortalDNIe/
Criptología 24
¡Enhorabuena!
Has finalizado el estudio de esta unidad