Criptografia
Criptografia
Criptografia
Jos Miguel Horcas Aguilera Blanca Bautista Perez Javier Fernndez Gonzlez
NDICE
-DEFINICION Y CARCTERSTICAS DE ENCRIPTACIN - HISTORIA - SUSTITUCIN - TRANSPOSICIN - ALGORITMOS SIMTRICOS Y ASIMTRICOS - RSA EN HASKELL -TCNICAS MATEMTICAS APLICADAS A LA CRIPTOGRAFA - EL FUTURO DE LA CRIPTOGRAFA - REFERENCIAS
Criptografa. Definicin
Es el arte o ciencia de cifrar y descifrar informacin mediante tcnicas especiales. Para qu se usa?
Pg 3/59
Historia(I)
Se distinguen varias pocas: Criptografa clsica: - poca de los romanos y griegos en campaas militares. - Algoritmo de sustitucin simple y transposicin. - Destaca el Cifrado de Csar Criptografa Medieval: -Ruptura de los cifrados de sustitucin. -Aparicin de los cifrados de sustitucin mltiple. (Leon Battista Alberti)
Pg 5/59
Historia(II)
Segunda Guerra mundial: Mquinas electromecnicas. Enigma.
Claude Shannon: En 1949 public La teora de la informacin -Establece toda la base terica de la criptografa y criptoanlisis. Pg 6/59
Tipos de Cifrado
Una vez que el emisor y receptor acuerdan que algoritmo de cifrado usar, se distinguen dos tipos de cifrado:
Cifrado simtrico: Si la clave de cifrado y descifrado es la misma. Cifrado asimtrico: Se hace uso de dos claves distintas: Pblica: Generalmente para cifrar. Privada: Generalmente para descifrar.
Pg 7/59
Pg 8/59
Cifrado Csar(I)
Funcionamiento: - Reemplaza cada letra del alfabeto por otra ms adelante en el alfabeto. Siempre a la misma distancia. - La clave especifica la distancia. Ejemplo: Clave de sustitucin: 3
Pg 10/59
C H O M T L B S A R Q P E W J F V U K X D Y N Z G
Mejora. Cambiar la sustitucin de cada letra de acuerdo con un patrn peridico (sustitucin mltiple).
Pg 12/59
0:
A
L
H
O
L
H
O
A
1:
A
O
H
L 0 1
L
A 0
O
H 1
O O H H
H H O O
H H L
o O A
Pg 13/59
- El cdigo se puede romper probando varias longitudes de fila distintas. - Combinando sustitucin con transposicin se puede alcanzar una seguridad fiable con algoritmos de bajo coste computacional. Pg 14/59
Pg 17/59
Pg 18/59
Usuario A E
KPB
Usuario B D
KSB
(M)
(E
KPB
(M) ) = M
Usuario A
Usuario cualquiera D
KPA
KSA
(M)
(E
KSA
(M) ) = M Pg 19/59
Qu es lo deseado ?
Combinar la velocidad con la seguridad
Criptosistemas hbridos
Pg 20/59
Pg 21/59
Algoritmo RSA
Este algoritmo se basa en principios de la teora de nmeros.
Generacin de claves
1. Seleccionar dos nmeros primos grandes, p y q, (tpicamente mayores que 10100). 2. Calcular: n=pxq z = (p-1) x (q-1) ( de Euler) Pg 22/59
Pg 24/59
Generacin de la Clave Privada 3. Seleccionar un nmero d: - e*d = 1 mod z - de-1 divide a (n) Exponente de la clave privada
Pg 25/59
Pg 26/59
Pg 27/59
a. Considerar el texto plano como una cadena de bits. Dividirlo en bloques de valor P tales que 0 P < n. Para ello agrupar en trozos de k bits, donde 2k < n
b. Cifrar el mensaje haciendo C = Pe mod n
RSA en Haskell
Pg 29/59
Codificar
Pg 30/59
Descodificar
Pg 31/59
Pg 32/59
N = P * Q = 3233
E = 17 D = 2753
Para descifrar C :
M = D (C) = Cd mod n = c2753 mod 3233
Pg 33/59
Teora de Nmeros
Problemas de RSA
Primalidad
Factorizacin
Teora de Nmeros
Primalidad
Test de primalidad
Test de pseudoprimalidad
Criterio para decidir, con un alto grado de probabilidad, si un nmero dado es o no primo. Test basado en el Teorema pequeo de Fermat. Test de Solovay-Strassen Test de Miller-Rabin
Pg 35/59
Teora de Nmeros
Test de las divisiones sucesivas
Dado un nmero impar, consiste en tomar todos los nmeros impares en el intervalo [3 .. raz(n)] y comprobar si alguno es divisor de n.
Pg 36/59
Teora de Nmeros
Obteniendo nmeros primos grandes
Generacin y test
Teora de Nmeros
Obteniendo nmeros primos grandes
Pg 38/59
Teora de Nmeros
Obteniendo nmeros primos grandes
Pg 39/59
Teora de Nmeros
Test de pseudoprimalidad
Test de Fermat
Pg 40/59
Teora de Nmeros
Test de pseudoprimalidad
Test de Solovay-Strassen
El mtodo consiste en elegir K naturales 0 < b < n aleatoriamente. Para cada uno de estos nmeros b se calcula:
y
Si estos valores no son congruentes mdulo n; entonces el nmero es compuesto.
Teora de Nmeros
Test de pseudoprimalidad
http://www.haskell.org/haskellwiki/Prime_numbers
Pg 42/59
Teora de Nmeros
ltimos avances
Primer algoritmo determinstico matemticamente demostrado, de tiempo polinmico. Las constantes de la complejidad son muchas ms costosas que en los actuales algoritmos probabilsticos. Pg 43/59
Teora de Nmeros
Factorizacin
Uno de los ataques contra el algoritmo RSA consiste en descomponer en factores primos el nmero n de la clave pblica.
Test de las divisiones sucesivas Mtodo del algoritmo de Euclides Mtodo de Fermat Mtodo de Legendre Mtodo rho de Pollard (Monte Carlo)
Pg 44/59
Teora de Nmeros
Factorizacin: Test de las divisiones sucesivas
Pg 45/59
Teora de Nmeros
Factorizacin: Mtodo del algoritmo de Euclides
Dado un nmero compuesto n entre dos valores f y g, el mtodo consiste en multiplicar todos los nmeros primos comprendidos entre f y g, y a continuacin aplicar el algoritmo de Euclides al nmero n y al producto resultante.
Teora de Nmeros
Mtodo de Fermat
El nmero 100895598169 es primo?
Teora de Nmeros
Mtodo de Fermat
Idea de Fermat si n = x2 * y2, entonces n puede factorizarse: n = (x+y)*(x-y) Como x2 > n se tiene que x > raiz(n)
Teora de Nmeros
Mtodo de Legendre
El mtodo intenta determinar soluciones no triviales a la congruencia. Como si (x+y) es una solucin no trivial, un factor de n se calcula hallando el mcd(x+y,n).
Pg 49/59
Teora de Nmeros
x e y son congruentes mdulo p con probabilidad 0.5 tras elegir 1.177*raiz(p) nmeros. Si p es factor de n, entonces 1 < mcd(|x-y|, n) <= n, ya que p divide tanto a |x-y| como a n.
mcd(|x-y|, n) Secuencia x Secuencia y Si mcd(|x-y|, n) = n -> Fracaso Pg 50/59
Teora de Nmeros
Trabajando con nmeros grandes.
5720 1 8 9 7 1 3 6 4 0 0 4 5 6 2 7 8 9 6 4 1 2 2 5 13
Pg 51/59
Teora de Nmeros
Trabajando con nmeros grandes
Pg 52/59
Teora de Nmeros
Trabajando con nmeros grandes
Pg 53/59
Teora de Nmeros
Trabajando con nmeros grandes
Pg 54/59
El futuro de la criptografa
El futuro de RSA
Romper el cdigo cifrado con RSA buscando la factorizacin de n es prcticamente imposible incluso con los ordenadores de la prxima dcada. Factorizar un nmero de 500 dgitos necesita 1025 aos a 1us por instruccin.
Cuando se consiga, podramos elegir nmeros primos mayores y el sistema volvera a ser seguro.
Pg 55/59
El futuro de la criptografa
El futuro de la criptografa Criptografa Cuntica Hace uso de los principios de la fsica cuntica.
Ms informacin en: http://giq.ifae.es/EducationalMaterial/Cripto.pdf Criptografa Cuntica. M. Baig. de la Universidad Autnoma de Barcelona. Grupo de Fsica Terica.
El nuevo ataque est basado en las suposiciones hechas sobre el tipo de errores que pueden aparecer en los mensajes cunticos.
Pg 56/59
Referencias
RSA-HASKELL
http://netsuperbrain.com/rsa-haskell.html
Coleccin de herramientas criptogrficas escritas en Haskell para trabajar mediante lnea de comandos.
public.key
private.key
message.txt.ss message.txt
Pg 57/59
Referencias
Bibliografa sobre Teora de Nmeros
G. H. HARDY and E. M. WRIGHT Una introduccin a la teora de nmeros
Referencias
Bibliografa sobre Teora de Nmeros
RICHARD CRANDALL and CARL POMERANCE Prime Numbers: A Computational Perspective
2 ed.: 2005
Pg 58/59
Referencias
Artculos sobre Teora de Nmeros
CARL POMERANCE Computational Number Theory Prime Numbers and the Search for Extraterrestrial Intelligence Primality testing with Gaussian periods COLING RUNCIMAN Lazy wheels sieves and spirals of primes
Pg 58/59
Referencias
Bibliografa sobre criptografa y seguridad
Pg 58/59
Referencias
Bibliografa
http://www.revistasic.com/
Pg 59/59