Título de la presentación que se envía a...
Transcript of Título de la presentación que se envía a...
-
INGENIERA CRIPTOGRFICA
Mdulo 2.
Curso de seguridad de la informacin 2016.
Felipe Andrs Corredor, M.Sc.
Telfono. 6616800 ext. 124
-
(Del gr. , oculto, y -grafa). Arte de escribir con clave secreta o
de un modo enigmtico.
Real Academia Espaola Todos los derechos reservados
-> La seguridad de un sistema criptogrfico reside en la robustez del algoritmo y en la adecuada custodia de la clave para que slo sea conocida por las personas autorizadas para ello.
CRIPTOGRAFIA
Felipe Andrs Corredor, M.Sc. [email protected]. @ Curso de Seguridad Informtica.
-
Conceptos
Criptografa (Cryptography)
Criptoanlisis (cryptoanalysis)
Criptologa
Mensaje (plaintext, cleartext)
Cifrado, cifrar (encipherment, encipher)
Algoritmo criptogrfico
Criptosistema
Encriptado, encriptar (encryption, encrypt)
INGENIERA CRIPTOGRFICA
-
Conceptos
.
Esquema genrico de un sistema criptogrfico
INGENIERIA CRIPTOGRFICA
-
Dado un criptograma, el sistema sera vulnerable si un criptoanalista es
capaz de averiguar el mensaje en claro, o la clave. Shannon se apoy en el
hecho de que la recepcin de un criptograma aporta al criptoanalista ciertas
informaciones probabilsticas acerca del mensaje en claro del que procede.
Un criptosistema es considerado de secreto perfecto si el conocimiento del
mensaje cifrado c no aporta al criptoanalista informacin alguna acerca del
mensaje en claro m.
Ej. Dado un mi de 34 smbolos El parcial de Telecom 3 esta fcil, se cifra
con un algoritmo y una clave que genera un Cj del mismo tamao que m
i .
Si Cj fuese de secreto perfecto, el haberlo recibido sita al criptoanalista en
tal situacin que la probabilidad de que mi sea exactamente igual que la de
cualquier otra combinacin de 34 smbolos.
SECRETO PERFECTO
-
La Criptografa ha estado ligada al mundo de la guerra y de la diplomacia.
Criptografa clsica
las claves y el algoritmo son secretos.
Criptografa moderna
Asienta sus bases tericas en siglo XIX, pero su verdadera aparicin hay que situarla en la dcada de los setenta del pasado siglo, cuando aparecen algoritmos disponibles para usos civiles implementables mediante un programa de computador.
El algoritmo de cifrado debe ser de conocimiento pblico, y slo la clave debe permanecer secreta. La seguridad del sistema reside en la robustez del algoritmo y en la adecuada custodia de la clave
INGENIERA CRIPTOGRFICA
-
A Mathematical Theory of Communication
1948 Claude Shannon
Communication Theory of Secrecy Systems
1949 Claude Shannon
Disquisitiones Arithmeticae.
1801 Carl Friedrich Gauss
Logaritmo Discreto
.
TEORIA DE LA INFORMACIN
-
INFORMACIN E INCERTIDUMBRE
Antes del suceso, la probabilidad de su ocurrencia, es una medida de la incertidumbre sobre la posibilidad de que este ocurra
La entropa representa el nmero medio de bits necesarios para representar todos sus estados mediante dgitos binarios.
Si los n estados posibles son equiprobables, entonces la entropa:
Cantidad de inf. de un Estado mi
bc bc -l = Calculadora GNU.
Shift+ctrl+u : 5e
TEORIA DE LA INFORMACIN
-
Operar sobre un conjunto finito de elementos con los que puedan realizarse las operaciones de suma y multiplicacin, de tal modo que el resultado de cualquier operacin fuese un elemento perteneciente a ese mismo conjunto finito de nmeros.
La relacin de congruencia mdulo n divide el conjunto infinito de nmeros enteros en n clases de equivalencia, cada una de las cuales est representada por uno de los restos. La reduccin mdulo n supone un homomorfismo del anillo de los enteros al anillo de los enteros mdulo n, constituido por un nmero finito de elementos.
CONJUNTOS FINITOS
-
a y b se encuentran en la misma "clase de congruencia"
mdulo n, si ambos dejan el mismo resto al dividirlo
por n, o, equivalentemente, si a b es un mltiplo de n.
El conjunto de nmeros que forman los
restos
dentro de un cuerpo Zn ser muy
importante en criptografa.
ARITMTICA MODULAR
-
a y b se encuentran en la misma "clase de congruencia" mdulo n, si ambos dejan el mismo resto al dividirlo por n, o, equivalentemente, si a b es un mltiplo de n.
El conjunto de nmeros que forman los restos dentro de un campo Z15
.
Ej. Aritmtica Modular
-
La funcin , indicadora de Euler. Si n es un nmero entero positivo, entonces (n) se define como el nmero de enteros positivos menores o iguales a n y primos relativos con n.
Si p y q son primos y n=p*q, entonces
Teorema de Euler
Para todo par de enteros a, n tal que mcd(a, n) = 1, se cumple:
Ej. Calcular
Calculo de Inversos (mod n)
-
Tabla Teorema Euler
-
El problema de hallar y es irresoluble computacionalmente
Diffie-Hellman / El Gamal
Logaritmos Discretos
-
Tcnicas de sustitucin: Los caracteres o letras del mensaje en claro se modifican o sustituyen por otros elementos o letras en la cifra. El criptograma tendr entonces caracteres distintos a los que tena el mensaje en claro. Tcnicas de transposicin: los caracteres o letras del mensaje en claro se redistribuyen sin modificarlos y segn unas reglas, dentro del criptograma. El criptograma tendr entonces los mismos caracteres del mensaje en claro pero con una distribucin o localizacin diferente.
Criptografa Clsica
-
Esctala
Al desenrollar la cinta, las letras aparecern desordenadas.
La clave del sistema se encuentra en ...
Criptografa Clsica
-
Polybios
A B C D E 1 2 3 4 5
A A B C D E 1 A B C D E B F G H IJ K 2 F G H IJ K
C L M N O P 3 L M N O P D Q R S T U 4 Q R S T U E V W X Y Z 5 V W X Y Z
M1 = QU BUENA IDEA C1 = DA DE AE AB DE AE CC AA BD AD AE EA
M2 = LA DEL GRIEGO C2 = 31 11 14 15 31 22 42 24 15 22 34
Criptografa Clsica
-
Csar
S R Y V C R
Criptografa Clsica
-
Vigenre
Criptografa Clsica
Sea K = CIFRA y el mensaje M = HOLA AMIGOS
M = H O L A A M I G O S
K = C I F R A C I F R A
C = J W P R A P L G S Ms de un alfabeto: la letra O se cifra de forma distinta. P != P
-
Tabla de Vigenre 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
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
B 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 A
C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z Z 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
Criptografa Clsica
-
Vernam Aprovecha la involucin de XOR.
Criptograma M M
S S
Clave K Clave K
Algoritmo
Determinstico
Algoritmo
Determinstico
secuencia cifrante
MENSAJE MENSAJE
C
Criptografa Clsica
-
Vernam Cdigo Baudot
Cdigo Binario Carcter Cdigo Binario Carcter
00000 Blanco 10000 T 00001 E 10001 Z 00010 = 10010 L 00011 A 10011 W 00100 Espacio 10100 H 00101 S 10101 Y 00110 I 10110 P 00111 U 10111 Q 01000 < 11000 O 01001 D 11001 B 01010 R 11010 G 01011 J 11011 01100 N 11100 M 01101 F 11101 X 01110 C 11110 V 01111 K 11111
Criptografa Clsica
-
Vernam Cdigo Baudot
Usando el cdigo Baudot se pide cifrar:
M = BYTES K = VERNAM
Solucin: = = = = = C =
Criptografa Clsica
-
Vernam Cdigo Baudot
Usando el cdigo Baudot se pide cifrar:
M = BYTES K = VERNAM
Solucin: BV = 1100111110 = 00111 = U YE = 1010100001 = 10100 = H TR = 1000001010 = 11010 = G EN = 0000101100 = 01101 = F SA = 0010100011 = 00110 = I C = UHGFI
Criptografa Clsica
-
Clasificacin de Frecuencias de Caracteres del Alfabeto Modulo 27
-
Esteganografa clsica:
* Se desconoce el canal
* encubierto.
Esteganografa moderna:
El canal encubierto es Digital
* Archivo de texto (inc. pginas web, cdigo fuente, etc.)
* Audio digital
* Imgenes y vdeo digitales
* Archivos ejecutables
* Protocolos de comunicaciones
Esteganografa
-
cat archivo.rar >> imagen.jpg
c://Archivos de programa/winrar/winrar.exe x imagen.jpg
/usr/local/bin/rar x /backup/datos.rar /misdatos
-
1. Si el sistema no es tericamente irrompible, al menos debe serlo en la prctica.
2. La efectividad del sistema no debe depender de que su diseo permanezca en secreto.
3. La clave debe ser fcilmente memorizable de manera que no haya que recurrir a notas escritas.
4. Los criptogramas debern dar resultados alfanumricos.
5. El sistema debe ser operable por una nica persona.
6. El sistema debe ser fcil de utilizar.
JOURNAL DES SCIENCES MILITAIRES.
Janvier 1883.
Dr. Auguste Kerckhoffs
http://www.petitcolas.net/fabien/kerckhoffs/
Principios de Kerckhoffs
-
La clave de cifrado y la usada para el descifrado son la misma
Se apoyan en operaciones lgicas o algebraicas muy simples
Imprescindibles para proporcionar servicios de confidencialidad en aplicaciones telematicas de alta velocidad.
El nmero de claves necesarias para proporcionar confidencialidad en un entorno, donde participen un nmero considerable de entidades comunicantes, es elevado.
La mayor vulnerabilidad de estos criptosistemas hace necesaria la renovacion peridica de las claves y hace impracticable una adecuada politica de distribucin y renovacin de claves.
Criptografa Simetrica
-
Procedimiento de cifrado en flujo. Procedimiento de cifrado en bloque.
Existen dos tipos bsicos de cifradores, diferenciados en cuanto a como dividir el mensaje en claro para abordar la tarea de transformacin.
Procesos de Cifrado
-
.
.
Esquema de la criptografa simtrica
Criptosistemas de Clave Secreta
-
.
.
Vernam -> Cifradores de Flujo
-
API colt -> http://acs.lbl.gov/~hoschek/colt/api/cern/jet/random/package-summary.html
Beta Beta distribution; math definition and animated definition.
Binomial Binomial distribution; See the math definition and animated definition.
BreitWigner BreitWigner (aka Lorentz) distribution; See the math definition.
Exponential Exponential Distribution (aka Negative Exponential Distribution); See the math definition animated definition.
Gamma Gamma distribution; math definition, definition of gamma function and animated definition.
Hyperbolic Hyperbolic distribution.
HyperGeometric HyperGeometric distribution; See the math definition The hypergeometric distribution with parameters N, n and s is the probability distribution of the random variable X, whose value is the number of successes in a sample of n items from a population of size N that has s 'success' items and N - s 'failure' items.
Logarithmic Logarithmic distribution.
NegativeBinomial Negative Binomial distribution; See the math definition.
Normal Normal (aka Gaussian) distribution; See the math definition and animated definition.
Poisson Poisson distribution (quick); See the math definition and animated definition.
StudentT StudentT distribution (aka T-distribution); See the math definition and animated definition.
Uniform Uniform distribution; Math definition and animated definition.
VonMises Von Mises distribution.
Zeta Zeta distribution.
Implementacin (pseudoaleatorios) en JAVA
-
PRINCIPALES ALGORITMOS
VERNAM
A5 -> oscuro: http://www.scard.org/gsm/a51.html (site outside North America)
E0 -> 8 a 128 bits y
El emisor usa una semilla secreta y un algoritmo determinista (generador pseudoaleatorio) para generar una secuencia binaria.
Con la secuencia generada y el texto en claro expresado en binario se realiza bit a bit.
Realizando la misma operacin con el texto cifrado y la misma secuencia pseudoaleatoria se recupera el texto en claro.
Algoritmos de Cirfrado de Flujo
-
El mensaje en claro se divide en bloques y se aplica el algoritmo sobre cada uno de forma independiente con la misma clave de manera que: El cifrado de cada smbolo depende de los dems smbolos del mismo bloque Para descifrar una parte no es preciso descifrar el mensaje completo
MODOS DE OPERACIN
ECB
CBC
CFB
OFB
Algoritmos de Cirfrado de Bloque
-
ALGORITMOS DE CIFRADO DE BLOQUE
37
MODOS DE OPERACIN
ECB
Electronic Code Book
CBC Cipher Block Chaining.
-
MODOS DE OPERACIN CFB - Cipher Feedback. - Realimentacin
Algoritmos de Cirfrado de Bloque
-
MODOS DE OPERACIN
OFB - Output Feedback.
Algoritmos de Cirfrado de Bloque
-
REDES DE FEISTEL
permite que el proceso de cifrado y descifrado sea el
mismo.
Horst Feistel: trabajador de la IBM e inventor del cifrado en bloque LUCIFER a comienzos de los aos 70, que fue utilizado por el Reino Unido.
En 1974 se propone a la NSA como estndar y en ese ao dar origen al escogido como estndar, DES.
Cifrado Tipo Feistel
-
Fuente: http://www.itl.nist.gov/fipspubs/fip46-2.htm
Esquema DES
-
La primera etapa es una
transposicin, una
permutacin inicial (IP)
del texto plano de 64 bits,
independientemente de
la clave. La ltima etapa
es otra transposicin (IP-
1), exactamente la
inversa de la primera. La
penltima etapa
intercambia los 32 bits de
la izquierda y los 32 de la
derecha. Las 16 etapas
restantes son una Red de
Feistel de 16 rondas.
DES
-
La funcin f de la red de Feistel se compone de una permutacin de expansin (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Despus realiza una or-exclusiva con el valor Ki, tambin de 48 bits, aplica ocho S-Cajas de 6*4 bits, y efecta una nueva permutacin (P).
DES
-
En cada una de las 16 iteraciones se emplea un valor, Ki, obtenido a partir de la clave de 56 bits y distinto en cada iteracin
DES
-
(I) Encriptacin: 1.- Procesar la clave. 1.1.- Solicitar una clave de 64 bits al usuario. 1.2.- Calcular las subclaves. 1.2.1.- Realizar permutacin en la clave de 64 bits reducindose a 56 bits
DES
-
1.2.2.- Dividir la clave permutada en dos mitades de 28 bits cada una. C(0) el bloque que contiene los 28 bits de mayor peso y D(0) los 28 bits restantes. 1.2.3.- Calcular las 16 subclaves 1.2.3.1.- Rotar a la izquierda C(i-1) y D(i-1) para obtener C(i) y D(i), respectivamente.
1.2.3.2.- Concatenar C(i) y D(i) y permutar como se indica a continuacin. As se obtiene K(i), que tiene una longitud de 48 bits.
1.2.3.3.- Ir a 1.2.3.1. hasta obtener K(16).
DES
-
2.- Procesar el bloque de datos de 64 bits. 2.1.- Obtener un bloque de datos de 64 bits. Si el bloque contiene menos de 64 bits debe ser completado para poder continuar con el siguiente paso. 2.2.- Realizar la siguiente permutacin del bloque:
2.3.- Dividir el bloque resultante en dos mitades de 32 bits cada una. L(0) el bloque que contiene los 32 bits de mayor peso y R(0) el resto. 2.4.- Aplicar las 16 subclaves obtenidas en el paso 1 2.4.1.- E(R(i)). Expandir R(i) de 32 a 48 bits de acuerdo con la tabla:
DES
-
2.4.2.- E(R(i-1)) Xor K(i). Or-exclusiva del resultado del paso 2.4.1. con K(i)
2.4.3.- B(1), B(2),..., B(8). Partir E(R(i-1)) Xor K(i) en ocho bloques de seis bits. B(1)
representa a los bits 1-6, B(2) representa a los bits 7-12,..., B(8) representa a los bits
43-48.
2.4.4.- S(1)(B(1)), S(2)(B(2)),..., S(8)(B(8)). Sustituir todos los B(j) por los valores
correspondientes de las S-Cajas o tablas de sustitucin (Substitution Boxes, S-
Boxes) de 6*4 bits. Todos los valores de las S-Cajas se consideran de 4 bits de
longitud.
2.4.4.1.- Tomar los bits 1 y 6 de B(j) y formar un nmero de 2 bits que llamaremos
m. Este valor nos indicar la fila en la tabla de sustitucin correspondiente S(j). m=0
representa la 1 fila y m=3 la ltima.
2.4.4.2.- Con los bits 2 a 5 de B(j) formar otro nmero, n, de cuatro bits que indicar
la columna de S(j) en la que buscar el valor de sustitucin.
2.4.4.3.- Reemplazar B(j) con S(j)(m,n), m fila y n columna
2.4.4.4.- Ejemplo. Sea B(3)=42 -> B(3)=101010.
Buscaremos el nuevo valor de B(3) en S(3). Fila m y columna n, m=10, n=0101, y en
decimal m=2 y n=5. Por tanto, B(3) ser S(3)(2,5)=15
2.4.4.5.- Volver a 2.4.4.1. hasta que todos los bloques B(j) hayan sido reemplazados
por el valor de S(j) adecuado.
DES
-
DES
-
2.4.5.- P[S(1)(B(1))... S(2)(B(8))]. Concatenar los bloques B(1) a B(8) y permutar los 32 bits (cuatro bits cada B(j)) en funcin de esta tabla:
2.4.6.- R(i). Realizar una or-exclusiva entre el valor resultante y L(i-1). Este valor ser R(i). Por tanto, R(i)=L(i-1) Xor P[S(1)(B(1))... S(2)(B(8))] 2.4.7.- L(i). L(i)=R(i-1)
DES
-
2.4.8.- Repetir desde 2.4.1. hasta que se hayan aplicado las 16 subclaves. 2.5.- Hacer la siguiente permutacin del bloque R(16)L(16). Obsrvese que esta vez R(16) precede a L(16)
DES
-
PRINCIPALES ALGORITMOS
DES
TEA
RC2 RC4 RC5
IDEA
AES - RIJNDAEL
TWOFISH
SERPENT
BLOWFISH
MARS
FEAL
KHUFU
KHAFRE
LOKI
GOST
CAST
SKIPJACK
SHARK
Algoritmos de Cifrado de Bloque
-
Aspecto\Algoritmo AES TWOFISH
SERPENT TEA
Sigla
Autor
Fecha de creacion
Tamao de bloque
Tamao de llave (Mn. y Mx.)
Usos/Aplicaciones/protocolos
Tcnica (Sustitucion Permutacion - Feistel)
Seleccionar 5 algoritmos (Diferentes a DES) y completar la tabla!
Actividad Independiente (entregar)
-
CIFRADO BLOQUE - SOPORTE PHP
54
.
METODOS
mcrypt_cbc()
mcrypt_cfb()
mcrypt_ecb()
mcrypt_ofb().
mcrypt_create_iv()
MCRYPT_3DES MCRYPT_RC6_128
MCRYPT_ARCFOUR_IV MCRYPT_RC6_192
MCRYPT_ARCFOUR MCRYPT_RC6_256
MCRYPT_BLOWFISH MCRYPT_SAFER64
MCRYPT_CAST_128 MCRYPT_SAFER128
MCRYPT_CAST_256 MCRYPT_SAFERPLUS
MCRYPT_CRYPT MCRYPT_SERPENT
MCRYPT_DES MCRYPT_SERPENT_128
MCRYPT_DES_COMPAT MCRYPT_SERPENT_192
MCRYPT_ENIGMA MCRYPT_SERPENT_256
MCRYPT_GOST MCRYPT_SKIPJACK
MCRYPT_IDEA MCRYPT_TEAN
MCRYPT_LOKI97 MCRYPT_THREEWAY
MCRYPT_MARS MCRYPT_TRIPLEDES
MCRYPT_PANAMA MCRYPT_TWOFISH
MCRYPT_RIJNDAEL_128 MCRYPT_TWOFISH128
MCRYPT_RIJNDAEL_192 MCRYPT_TWOFISH192
MCRYPT_RIJNDAEL_256 MCRYPT_TWOFISH256
MCRYPT_RC2 MCRYPT_WAKE
MCRYPT_RC4 MCRYPT_XTEA
MCRYPT_RC6
int mcrypt_cbc ( int $cipher , string $key , string $data , int $mode [, string $iv ] )
-
CIFRADO BLOQUE - SOPORTE JAVA
55
PAQUETES
java.security.*;
java.security.spec.*;
javax.crypto.*;
MTODOS cifrador.init(Cipher.ENCRYPT_MODE,keyspec,ivspec); cifrador.init(Cipher.DECRYPT_MODE,keyspec,ivspec); Security.addProvider SecretKeySpec IvParameterSpec
Cipher cifrador = Cipher.getInstance("AES/ECB/NoPadding","BC");
-
ALGORITMOS DE RESMEN
56
CARACTERSTICAS
Todos los nmeros resumen generados
con un mismo mtodo tienen el mismo
tamao.
Es fcil y rpido calcular el resumen.
Es imposible reconstruir el mensaje a
partir del resumen.
Es imposible que dos textos base diferentes tengan el mismo resumen.
APLICACIONES
Integridad de mensaje
Firmas digitales
Cdigos de autenticacin de mensaje
Verificacin de contraseas
Generacin de nmeros seudo-
aleatorios
-
ALGORITMOS DE RESUMEN
57
Ing. Felipe Andrs Corredor. Msc(c) [email protected] - [email protected]
PRINCIPALES ALGORITMOS
MD2
MD5 (128 bits)
SHA-1 (160)
SHA-256
SHA-384
SHA-512
RIPEMD-160
mailto:[email protected]
-
IMPLEMENTACION JAVA
58
Ing. Felipe Andrs Corredor. Msc(c) [email protected] - [email protected]
MD5 (128 bits) - http://www.ietf.org/rfc/rfc1321.txt
import java.security.MessageDigest; String mensaje=Felipe Andrs Corredor; MessageDigest md = MessageDigest.getInstance("MD5"); md.reset(); byte[] b = md.digest(mensaje.getBytes());
Felipe Andres Corredor cifrado : 23a15551f3d7c756c5fa60ad2b384b51 Seguridad Informatica Unillanos : 65faabd5a7c42829f7715f0dc2cc1885 123 : 202cb962ac59075b964b07152d234b70 : d41d8cd98f00b204e9800998ecf8427e
mailto:[email protected]
-
Se parte del supuesto de que es computacionalmente impracticable deducir el valor de la clave privada a partir del conocimiento de la clave pblica.
Criptosistemas de Clave Publica
-
Whitfield Diffie Martin Hellman
DIFFIE-HELLMAN (Key Exchange ) Negociacin de Clave!
Construccin de la clave entre dos usuarios A y B: Sea p un primo grande. A elige un entero (al azar) 0 < a < p, calcula ga y enva el resultado a B. B elige un entero 0 < b
-
Negociacin de Clave DH
-
RSA
Estructura de Clave Publica
-
La primera propuesta de algoritmo que soporta el modelo de DH76 realizada por RSA78.
RSA- Estructura
-
B -> m -> A
m=felipe p = 5 y q = 11 -> n = 55 (55)=40 y (40)= (23.5)=22(2-1).50(5-1)=16 e=3 d=3-1mod (55) = 315mod 40=27 m1=f=5 m2=e=4 m3=l=11 c
1=m
1e mod n = 53 mod 55 = 15 = o
c2=m
2e mod n = 43 mod 55 = 9 = j
c3=m
2e mod n = 113 mod 55 = 11 = l
m
1=c
1d mod n = o = 1527 mod 55 = 5 = f
m2=c
2d mod n = j = 927 mod 55 = 4 = e
m3=c
3d mod n = l = 1127 mod 55 = 11 = l
RSA- Ejemplo
-
*UNIDIRECCIONAL: c->kPb[m]
DE LA MOCHILA (MERKLE-HELLMAN)
MASSEY-OMARA
POHLIG-HELLMAN
*BIDIRECCIONAL
RABIN
ELGAMAL
DIFFIE-HELLMAN (Pat. < 1997)
RSA (Pat. < 2000)
DSA
CURVAS ELIPTICAS - HIPERELIPTICAS
Algoritmo de Cifrado Asimtrico
-
Proporciona los servicios de integridad y confidencialidad de los datos.
A genera de forma aleatoria una clave de sesin k. A cifra el mensaje m mediante un criptosistema simetrico usando la clave k:
c1 = Ek (m) A cifra k con la clave publica de B, usando un criptosistema asimetrico:
c2 = Bp (k) A envia a B ambos criptogramas c1 y c2 B obtiene la clave de sesin descifrando c2 con su clave privada.
B descifra el mensaje m usando el mismo criptosistema
simtrico y la clave k obtenida.
Envoltura Digital
-
FIRMA DIGITAL
Cifrado con la clave privada - > muestra reducida de m CERTIFICADO DIGITAL
una pieza de informacin, un documento digital, en el que se asocia el nombre de una entidad con su clave pblica (pareja de la clave privada correspondiente) durante un determinado periodo de validez. emitido por una TTP denominada CA
PKIs
Infraestructura de seguridad necesaria para la provisin y gestin de certificados.
Firma Digital, Certificados y PKIs
-
CASO 1 Escenario basado en sistemas simtricos, ms rpidos y eficaces que los asimtricos, Pero # entidades comunicantes = problema intercambio de claves. CASO 2 Escenario basado sistemas asimtricos, solamente sera necesario mantener un par de claves por cada usuario, con lo que la gestin de claves es mucho ms sencilla y robusta. Pero CASO 3 Escenario hbrido, usa un sistema de clave pblica para intercambiar una clave secreta simtrica que ser utilizada en una transaccin concreta, de tal forma que esta clave slo sirve para esa transaccin y es desechada una vez termina. Reduce riesgo de interceptacin.
Contexto de Uso de la Criptografa
-
MCRYPT - http://www.php.net/manual/en/book.mcrypt.php
http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html
http://www.bouncycastle.org/latest_releases.html
Federal Information Processing Standards Publication
DES - http://www.itl.nist.gov/fipspubs/fip46-2.htm
AES - http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Referencias
-
.
ACLARACIN DE
DUDAS!