Вы находитесь на странице: 1из 14

Sánchez Guzmán Diego Antonio Matemáticas Discretas II

Resumen
Tema 4: Criptografía.

Historia de la criptografía y su desarrollo

LOS INICIOS

• Hoy en día, la criptografía está muy presente en nuestro mundo. Así,


acciones tan cotidianas como hacer, o recibir, una llamada desde un teléfono
móvil, pagar con una tarjeta de crédito o débito, sacar dinero de un cajero,
conectarnos a un ordenador introduciendo una contraseña, etc., hacen uso
de técnicas que se aposentan en esta ciencia.
• Técnicas
• Usos
• Orígenes: a respuesta está en los orígenes de la escritura.
o La escritura es, en opinión de muchos, el invento más importante de
la humanidad. La escritura permite dejar constancia de hechos,
opiniones, ideas, etc.
o permite el progreso del conocimiento y el avance de la civilización
o Sin embargo, tras la generalización y desarrollo de la escritura, se
constató los peligros que conlleva su lectura por personas ajenas,
ideándose los primeros sistemas de protección de lo escrito
o habitualmente la información a proteger se conoce como la
información en claro y cuando a esta información se le aplica un
procedimiento de cifrado se habla en este caso de información cifrada.
o Sólo el destinatario que posea una información privilegiada
denominada clave criptográfica o simplemente clave podrá revelar la
información cifrada.
• Históricamente tenemos que remontarnos a Esparta donde se diseña, hacia
el siglo V a. C., el primer método sistemático de cifrado.
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

o Este consistía en un bastón sobre el que se enrollaba en espiral, a


modo de venda, una estrecha cinta de cuero. Tras ello, se escribía a

lo largo del bastón el mensaje


▪ Al desenrollar la cinta sólo se apreciaba una larga ristra de
letras sin sentido, que sólo se recobraba tras volver a enrollar
la cinta sobre un bastón de igual diámetro que el primero. Ese
diámetro era la clave.
MÉTODOS DE CIFRA MONOALFABÉTICA
o El método conocido como escítala lacedemonia, era usado para
comunicaciones entre responsables del gobierno de Esparta y sus
generales. No obstante, debemos esperar aún unos siglos para
encontrar el método más popular de la Antigüedad Clásica: el método
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

César. Conocido así por ser utilizado por Julio César. Consistía en
sustituir cada letra del escrito (sin cambiar su lugar en el mismo) por
aquella situada tres posiciones por delante en el alfabeto. Es decir,
cambiar todas las aes por des, todas las bes por es, etc., hasta llegar
al final del alfabeto donde la “x”, “y” y “z” se cambian respectivamente
por la “a”, “b” y “c”.
o Estos métodos, la escítala y el César, ilustran los dos grandes grupos
de métodos de cifrado existentes: transposición y sustitución
▪ Mediante las técnicas de transposición las letras del texto en
claro intercambian sus posiciones según un cierto patrón, de
modo que en el texto cifrado aparecen las mismas letras, pero
con sus posiciones permutadas. Los métodos que siguen este
esquema se denominan de transposición o permutación y un
ejemplo es la escítala lacedemonia que hemos visto.
▪ las técnicas de sustitución hacen que las letras mantengan sus
posiciones en el texto, pero cambian su apariencia, siendo
sustituidas cada una de ellas por otra letra, por un número o por
un símbolo cualquiera. Si a cada letra en claro sólo le
corresponde un único símbolo cifrado, el método se llama
monoalfabeto. Este es el caso del método César.
• Criptoanálisis
o revelar los secretos protegidos sin conocimiento de la clave que los
protege. Esta disciplina se denomina criptoanálisis y criptoanalistas a
sus practicantes. El conjunto de la criptografía y el criptoanálisis es lo
que se conoce hoy día como la ciencia de la criptología.
o Realmente, tras la caída del Imperio Romano y hasta el Renacimiento,
la criptología sólo registró avances significativos en los califatos
islámicos, singularmente el abasí. En su capital, Bagdad, nace en el
siglo IX d. C.
o el moderno criptoanálisis, a partir del descubrimiento de que cada
lengua tiene una frecuencia característica de aparición de sus letras.
▪ Así, bastaba con contar el número de veces que aparecía cada
símbolo, letra o número en un texto cifrado para saber
realmente cuál era la letra subyacente, independientemente de
su apariencia.
▪ Por ello se dice que la cifra monoalfabética es insegura.
MÉTODOS DE CIFRA POLIALFABÉTICA
o a partir de este momento los cifrados monoalfabéticos estaban rotos,
habiendo ganado los criptoanalistas la batalla a los criptógrafos.
Naturalmente, los criptógrafos no podían prescindir de los métodos de
sustitución, relegando toda la criptografía a la transposición, de modo
que desarrollaron los métodos polialfabéticos
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

▪ se podría hacer un mecanismo criptográfico más seguro si se


utilizan muchos alfabetos diferentes para enmascarar la
frecuencia de aparición de esas letras
o En los métodos polialfabéticos, cada vez que aparece una letra en
claro se escoge un carácter cifrado (sea otra letra, número o símbolo
arbitrario) de entre un conjunto finito de ellos. Así, a una letra en claro,
pongamos la “a”, unas veces será sustituida por ejemplo por la “x”,
pero otras veces lo será por la “y” o por el número 10. Todo ello
siguiendo un estricto patrón para que no haya ambigüedades a la hora
de descifrar. Por consiguiente, el conteo del número de veces que
aparece cada símbolo cifrado no aportará ningún conocimiento al
criptoanalista.
o Ejemplos de métodos inventados y usados antiguamente
▪ Los métodos que siguen este esquema fueron ideados por una
de las figuras más notorias del Renacimiento: Leone Battista
Alberti, inventor del primer artificio de cifrado: el cifrado de
disco. Consistía en dos coronas circulares concéntricas; la
interior llevaba grabado el alfabeto cifrado y era fija; la exterior
llevaba impreso el alfabeto en claro y podía girar sobre su
centro. Así, cada letra del alfabeto en claro se correspondía con
otra del alfabeto cifrado, pudiéndose cambiar esta
correspondencia al girar la corona exterior. Por tanto, se trataba
de un método polialfabético.
▪ Otro sistema muy popular fue el creado por Blaise de Vigenère
basado en una tabla en la que se leía la letra de intersección
del texto en claro con una clave que indicaba qué alfabeto se
usaba.
USO EXTENDIDO DE LA CRIPTOGRAFÍA
o la consolidación de la escritura secreta fue un instrumento
imprescindible de poder en la creación de los estados modernos, la
comunicación entre ejércitos y la presencia de embajadas
permanentes
• máquina de cifrar
o Aunque la criptología siguió avanzando durante el resto de la Edad
Moderna y Contemporánea, hay que esperar al siglo XX para
presenciar progresos sustanciales en las técnicas de cifrado.
o En efecto, éste es el siglo de las máquinas, acaparando una de ellas,
la casi mítica Enigma, la mayor atención de cuantas máquinas han
existido y existen en la actualidad.
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

o Enigma fue una máquina de cifrado patentada por Arthur Scherbius


en 1918, y adoptada por el ejército alemán en 1923, quien llegó a tener
varios millares de ella durante la II Guerra Mundial, en la que jugó un

papel esencial.
o precisamente después de la II Guerra Mundial cuando se producirán
los avances teóricos más significativos de la historia de la criptología,
por ejemplo, en 1948 Claude Shannon establecerá las bases teóricas
de la criptología.
Criptografía: etapas
• Precientífica (“artística”): Antigüedad - 1949
• Científica (Shannon): 1949 - 1976
• Asimétrica (Diffie-Hellman): 1976 – Actualidad
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

Fundamentos de la criptografía simétrica


ANALOGÍA DE LA CRIPTOGRAFÍA CON LOS CANDADOS
• candado usa una combinación de 8 dígitos. Eso significa que existen 10
elevado a las 8 combinaciones posibles, o lo que es lo mismo, 1 seguido de
8 ceros, o sea, 100 millones de combinaciones.
o Si tardas 10 segundos en probar cada combinación, te llevará más de
31 años probarlas todas. En promedio, tendrías que probar la mitad
de combinaciones para acertar, por lo que para dar con la combinación
correcta necesitarías más de 15 años, ¡eso sin parar ni un instante
para comer, dormir o ir al baño!
FUNDAMENTOS DE LA CRIPTOGRAFÍA DE CLAVE SIMÉTRICA
• candados digitales
o La criptografía es el equivalente de un candado y su combinación.
• Cuando quieres proteger un mensaje digital, puedes cifrarlo utilizando un
algoritmo de cifrado. Igual que existen muchos tipos de candados, existen
muchos tipos de algoritmos de cifrado. Para cifrar mensajes de correo,
archivos del disco duro, registros de una base de datos, y en general para
cifrar grandes cantidades de datos, se utiliza un tipo de algoritmo de cifrado
conocido como de clave secreta o simétrico.
• ¿Por qué se le llama simétrico?
o Porque se utiliza la misma clave de cifrado para cifrar y para descifrar
el mensaje.
o O sea, que, si yo cifro mi mensaje usando un algoritmo simétrico, sólo
podrá descifrarlo otra persona que conozca la misma clave secreta
que yo he usado
• ¿Qué es lo que hace que un algoritmo sea más o menos robusto?
o Es la manera como haya sido diseñado, usando dos tipos de
operaciones de cifrado: sustitución y transposición.
o La robustez del algoritmo de cifrado puede mejorarse
considerablemente si se combinan ambas operaciones, usando
sustitución y transposición repetidamente sobre el mismo mensaje.
Algunos algoritmos modernos de cifrado, como por ejemplo el AES o
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

el Triple DES, utilizan múltiples vueltas de cifrado en las que se


combinan las dos operaciones.
o ¿Por qué hacen eso?
▪ El objetivo es conseguir lo que se conoce como difusión y
confusión.
• Idealmente, un texto cifrado debe tener una apariencia
totalmente aleatoria.
o ¿Qué sucedería si se cambia un solo bit de la clave?
▪ En ese caso debería cambiar en promedio la mitad de los bits
del texto cifrado. Los algoritmos de cifrado que se sirven de la
confusión y de la difusión se suelen llamar cifradores de
producto. Cada aplicación de la confusión y de la difusión se
produce en una vuelta de cifrado. Los cifradores modernos
suelen utilizar muchas vueltas de cifrado o iteraciones.
▪ Por tanto, si un algoritmo está bien diseñado, pasará como con
el candado: un texto cifrado sólo se podrá descifrar si se conoce
la clave.
o En la buena criptografía se sigue siempre el Principio de Kerckhoffs:
la seguridad del sistema debe recaer en la seguridad de la clave,
debiéndose suponer conocidos el resto de los parámetros del sistema
criptográfico. O, en otras palabras, como dijo Claude Shannon: “el
adversario conoce el sistema”.
LOS ATAQUES POR FUERZA BRUTA
• un atacante probar todos los posibles valores de la clave
• dicho que la seguridad de un algoritmo de cifrado depende de dos factores.
El primero ya lo hemos visto: es el diseño del algoritmo. El segundo factor es
la longitud de la clave utilizada
o Cuando un criptoanalista no puede encontrar fallos en el algoritmo,
siempre le queda recurrir a un ataque de fuerza bruta. Se trata de un
método sin elegancia, que no ataca el algoritmo en sí, sino que busca
exhaustivamente todos los posibles valores de la clave hasta dar con
la correcta.
o una combinación de 8 dígitos? Eso significa que hay 100 millones de
combinaciones posibles. Son tantas que probarlas todas a mano
llevaría muchos años.
▪ Claro que las claves de los algoritmos de cifrado no se prueban
a mano, como con el candado, sino que se le deja el trabajo a
un ordenador.
o Y como los ordenadores son mucho más rápidos que los humanos,
habrá que utilizar claves más grandes.
o Por eso es tan importante elegir claves suficientemente largas, de
manera que con la potencia de cálculo actual sea imposible probarlas
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

todas en un tiempo razonable. Éste fue el problema del algoritmo


simétrico DES. Su longitud de clave fue establecida en 56 bits. Hay
que tener en cuenta que DES fue diseñado en el año 1976, y que en
aquellos tiempos resultaba impensable que un ordenador pudiera
probar 2 elevado a las 56 combinaciones posibles de la clave. Pero
claro, la informática fue evolucionando y en el año 1998 se diseñó un
dispositivo capaz de obtener la clave correcta en 56 horas. Sucesivos
avances en computación paralela han conseguido reducir el tiempo a
menos de un día. Actualmente, una clave simétrica de ese tamaño es
completamente insegura.
o Hoy en día se estima que claves de 128 bits de longitud o más
garantizarán la seguridad por muchos años. De hecho, algunos
algoritmos permiten seleccionar a voluntad la longitud de la clave,
como el estándar AES que se base en el algoritmo criptográfico
Rijndael. Piensa que cada bit que se añade a la clave dobla el tamaño
del espacio de claves posibles.
o Por consiguiente, si el diseño es robusto y la longitud de la clave es
suficientemente larga, podemos considerar que el algoritmo es
seguro.
EL PROBLEMA DE LA DISTRIBUCIÓN DE CLAVES
• ¿De qué me sirve utilizar el mejor algoritmo de cifrado del mundo si no puedo
compartir mi clave con el destinatario del mensaje?
Tipos de cifrados

Cifrado en bloque
• El texto en claro se cifra en secuencias de bits o bloques de tamaño fijo • El tamaño
de bloque suele oscilar entre 64 y 256 bits.
• Nunca deben cifrarse los bloques individual e independientemente, sino
encadenados, de manera que el cifrado de cada bloque dependa de todos los
bloques que lo preceden.
• Transformación inicial – Aleatoriza los datos de entrada y puede añadir
complejidad a los datos.
• Vueltas de cifrado
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

– Función no lineal complicada de los datos y la clave.


– Puede consistir en una sola operación muy compleja o en la sucesión de varias
transformaciones simples.

• Transformación final
– Sirve para que las operaciones de cifrado y descifrado sean simétricas.
• Algoritmo de expansión de clave
– Convierte la clave de usuario en un conjunto de subclaves que pueden estar
constituidas por varios cientos de bits en total.
– Conviene que sea unidireccional. – Conocer una subclave no debe permitir
deducir las demás.
Propiedades necesarias para un buen algoritmo de cifrado en bloque
• Confusión
– Un pequeño cambio en la clave debería producir un cambio del 50% del texto
cifrado resultante. – Un atacante haciendo una búsqueda exhaustiva de claves no
recibirá ninguna señal de que está acercándose a la clave correcta.
• Difusión
– Un pequeño cambio en el texto en claro debería producir un cambio del 50% del
texto cifrado resultante.
– Oculta las relaciones estadísticas entre el texto claro y el texto cifrado.
• Completitud
– Cada bit del texto cifrado dependerá de cada bit de la clave.
– El atacante no podrá obtener partes válidas de la clave mediante ataques de
“divide y vencerás”.
Cifrado en flujo
• El texto en claro se cifra bit a bit.
• Se utiliza una secuencia cifrante (si) para determinar si cada bit del texto claro (mi)
se cambia o se deja sin cambiar.
Cifrado: ci = mi + si Descifrado: mi = ci + si
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

• La secuencia cifrante se crea mediante un algoritmo determinista de generación


de números pseudoaleatorios a partir de una semilla, que constituye la clave

secreta.
Comparación entre cifrado en bloque y cifrado en flujo
• Ambos tipos de algoritmos son muy rápidos, adecuados por tanto para cifrar
grandes volúmenes de datos, pero los de flujo son incluso más veloces.
• Los algoritmos de flujo pueden cifrar datos producidos a ráfagas sin esperar a que
estén los bloques completos.
• En los cifrados de flujo nunca se debe reutilizar la misma clave para cifrar dos
textos.
• Las longitudes de clave oscilan entre los 32 y 256 bits.
• Ambos presentan el problema de distribución de la clave: ¿cómo hacer que el
emisor y receptor acuerden una misma clave secreta de cifrado?
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

SISTEMAS DE CIFRA CON CLAVE PÚBLICA O ASIMETRICA

• Volvamos a los candados. Pensemos en un sencillo candado con su llave. El candado


representará el algoritmo de cifrado y la llave representará la clave de cifrado.
• Con un candado pueden realizarse dos operaciones. Abrirlo y cerrarlo.
o Abrirlo. Eso sólo lo puede hacer el que tenga la llave
▪ Todo el mundo sabe cómo cerrar el candado, basta con apretarlo, pero
sólo una persona sabe cómo abrirlo, la que posea esa llave y no cualquier
llave.

(ANALOGIA)
▪ Imagínate que tienes la clave secreta escrita en un papel dentro de un
sobre. Tu amigo tiene una caja como ésta para meterla dentro y también
tiene un candado con su llave. ¿Cómo lo le haríais
harías para que tú pudieras
enviarle tu clave secreta?
▪ Le pediría a mi amigo que me mandase la caja junto con su candado
abierto. Como todo el mundo sabe cómo cerrar un candado, yo metería
dentro de la caja el sobre con mi clave secreta y cerraría el candado. De
esta forma, solamente él, que es quien posee la llave, podrá abrirlo. Si
alguien intercepta la caja, no podrá abrirla porque no posee la llave.
• Así es exactamente el fundamento de cómo funciona la
criptografía de clave pública.

LA CRIPTOGRAFÍA DE CLAVE PÚBLICA

• Es una analogía que nos ayuda a comprender cómo funcionan los algoritmos de cifrado de
clave pública
• Se dispone de dos claves: una es pública y por tanto conocida por todo el mundo y la otra
es privada y conocida solamente por su poseedor. Aunque cualquiera puede cifrar usando
la clave pública, sólo el que posee la correspondiente clave privada podrá descifrar.
• La clave pública debe ser conocida por todo el mundo, lo que facilita su distribución.
• Así es. Una vez que alguien conoce tu clave pública, puede enviarte mensajes cifrados con
la seguridad de que nadie más que tú podrá descifrarlos.
o porque sólo tú posees la clave privada correspondiente a esa clave pública.
o la clave privada es muy importante que la mantengas en privado y sólo tú la
conozcas. Nadie más. Por eso a la criptografía de clave pública se le llama también
asimétrica.
• Si cifras un mensaje con la clave pública no podrás descifrarlo usando esa misma clave
pública. Necesitarás usar la clave privada.
o Si cifras un mensaje con la clave pública no podrás descifrarlo usando esa misma
clave pública. Necesitarás usar la clave privada
• Es lo que en matemática discreta se conoce como inversos.
• ¿También puede cifrarse con la clave privada?
o Sí, no hay por qué usar la clave pública sólo para cifrar y la privada, sólo para
descifrar. También puede hacerse al revés
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

• Si cifro algo con mi clave privada, entonces cualquiera que conozca mi clave pública podrá
descifrarlo. Y mi clave pública la puede conocer todo el mundo. Entonces, ¿qué sentido
puede tener hacer una cosa así?
o en que sólo tú puedes cifrar y todo el mundo puede descifrar.
o Como esa operación sólo puedes hacerla tú, lo interesante de esto es que
entonces también puedes firmar un mensaje.
• ¿Quieres decir que le estampo mi firma?
o No, no esa clase de firma precisamente, más bien se trata de una firma digital
▪ cifrar un mensaje con tu clave privada equivale a firmarlo porque nadie
más que el poseedor de la clave privada podría haber cifrado ese mensaje.
• Cuando cifras algo con tu clave privada estás demostrando tu
autoría: sólo tú puedes haberlo cifrado
o Eso es lo que se llama autenticación
o Aunque cifrar con tu clave privada no proporciona
confidencialidad al mensaje, es decir no le añade secreto,
sí asegura la autenticación: sólo tú pudiste haberlo
cifrado. Equivale por tanto a haberlo firmado.
o entonces cualquiera puede descifrarlo usando mi clave
pública, lo que equivaldría a verificar mi firma.
• Por eso es tan importante que tu clave privada sea privada o secreta y nunca la conozca
nadie más que tú. En la práctica, debido a que los algoritmos de cifrado asimétrico son
muy lentos, no suelen usarse para cifrar todo el mensaje, sino un resumen del mismo.
Pero ya veremos en una próxima lección las funciones hash, las firmas digitales y cómo
también proporcionan integridad a los mensajes.
• ¿Y si un atacante descifra el mensaje que yo he cifrado con mi clave privada usando mi
clave pública y luego lo cifra él o ella usando su clave privada, qué pasaría?
o Cuando los destinatarios intenten verificar la firma tuya, o lo que es lo mismo
descifrar usando tu clave pública, entonces se obtendrá un texto sin ningún
sentido, porque no se puede descifrar un texto cifrado con una clave privada
mediante una clave pública que no le corresponde
▪ Es lo de los inversos.
• O sea, que cuando cifro algo con mi clave privada luego no puedo decir que yo no lo firmé.
o Justo. No puedes negar haberlo firmado. Y esta propiedad del cifrado asimétrico
se conoce como no repudio, ya que no podrás repudiar tus mensajes.

EL PROBLEMA DE LA CONFIANZA

• Al reflexionar sobre el envío de mi clave secreta usando la clave pública del destinatario.
o ¿Cómo sé yo que la clave pública de un usuario es en realidad la suya y no la de un
atacante que la ha sustituido por la suya propia?
▪ Alguien podría haber interceptado la clave pública de mi amigo por el camino
y haberla sustituido por la propia. Si envío mi clave secreta cifrada con esa
clave pública, que en realidad es la del atacante, éste podrá descifrar sin
problemas el mensaje y obtener mi clave secreta. Después podría volver a
cifrarlo ahora sí con la clave pública legítima de mi amigo y mandársela.
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

Ninguno de los dos nos daríamos cuenta de nada, mientras que el atacante se
habrá hecho con la clave secreta y podrá descifrar los mensajes que cifremos
con ella.
• El problema anterior se conoce como ataque del hombre en el medio
o por sus siglas en inglés man in the middle.
o Es un problema de confianza. Igual que vimos lo difícil que era
distribuir claves secretas de manera segura, veremos que es
difícil distribuir claves públicas de manera fiable.
o Hoy en día se ha resuelto al menos parcialmente usando los
certificados digitales y las infraestructuras de clave pública
PKI.

Fundamento del cifrado asimétrico

• Usa funciones unidireccionales:


o Su cálculo directo es viable, pero el cálculo de la función inversa tiene tal
complejidad que resulta imposible
• Problemas matemáticos difíciles de resolver:
o Factorización: descomponer un número grande en sus factores primos
o Logaritmo discreto: obtener el exponente al que ha sido elevado una base para
dar un resultado
o Mochila tramposa: obtener los sumandos que han dado origen a una suma

Ejemplo

• Clave pública:
o n = p×q, donde p y q son primos
o e, primo con (p-1)×(q-1)
• Clave privada:
o d, tal que d×e mod (p-1)×(q-1) = 1
• Cifrar: c = me mod n
• Descifrar: m = cd mod n

Distribución de claves secretas mediante criptografía asimétrica

El emisor envía la clave secreta, generada aleatoriamente, cifrada con la clave pública del
receptor, el único capaz de descifrarla usando su correspondiente clave privada
Sánchez Guzmán Diego Antonio Matemáticas Discretas II

Autenticación mediante criptografía asimétrica

El emisor cifra el mensaje con su clave privada, operación que sólo él puede realizar

Cualquiera puede descifrarlo con su clave pública, verificando así su autoría

El mensaje se comprime antes de ser firmado

Ataques sobre los criptosistemas de clave pública

• En lugar de hacer búsqueda exhaustiva de claves, se ataca el problema matemático


subyacente:
o En RSA se intenta factorizar el módulo n en lugar de probar todos los posibles
valores de clave
o Se consideran seguras longitudes de n a partir de 1024 bits
• La computación cuántica podría resolver los problemas de la criptografía de clave pública
en un tiempo razonable
• Aún faltan muchos años para que se construyan los primeros ordenadores cuánticos, ¡si es
que se crean alguna vez!

Tabla comparativa

Вам также может понравиться