Título de la presentación que se envía a...

71
INGENIERÍA CRIPTOGRÁFICA Módulo 2. Curso de seguridad de la información 2016. Felipe Andrés Corredor, M.Sc. [email protected] Teléfono. 6616800 ext. 124

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.

    [email protected]

    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!