criptografÍa

34
 CRIPTOGRAFÍA Definiciones Privacidad: la información sólo puede ser leída por personas autorizadas. Integridad: la información no pueda ser alterada en el transcurso de ser enviada. Autenticidad: que se pueda confirmar que el mensaje recibido haya sido mandado por quién dice que lo mandó o que el mensaje recibido es el que se esperaba. Puede tratarse de Autenticación de entidad simple , en cuyo caso sólo uno de los participantes en la comunicación está obligado a demostrar su identidad. Un ejemplo puede ser un servidor remoto. Si se trata de una autenticación mutua  la autenticación se realiza en ambos sentidos. Podrían distinguirse en este servicio dos calidades, una de las cuales es la Autenticación débil  y está apoyada en el uso más o menos sofisticado de  passwords, mientras que cuando el resultado es más eficaz la denominamos Autenticación Fuerte , que requiere del intercambio de mensajes cifrados y, posiblemente, del concurso de una Tercera Parte de Confianza TTP (Trusted Third Party). Un criptosistema es considerado de secreto perfecto  si el conocimiento del mensaje cifrado c no aporta al criptoanalista información alguna acerca del mensaje en claro m (excepto, acaso, su longitud). Entropía  Número medio de bits necesarios para codificar cada uno de los estados  posibles de la variable aleatoria. Si en un sistema de transmisión cada estado representa un símbolo a codificar para transmitir, la entropía nos da los bits/símbolo necesarios para codificar.

Upload: roberdrum

Post on 04-Nov-2015

3 views

Category:

Documents


0 download

DESCRIPTION

CRIPTOGRAFÍA

TRANSCRIPT

  • CRIPTOGRAFA

    Definiciones

    Privacidad: la informacin slo puede ser leda por personas autorizadas.

    Integridad: la informacin no pueda ser alterada en el transcurso de ser enviada.

    Autenticidad: que se pueda confirmar que el mensaje recibido haya sido mandado por quin dice que lo mand o que el mensaje recibido es el que

    se esperaba.

    Puede tratarse de Autenticacin de entidad simple, en cuyo caso slo uno de los participantes en la comunicacin est obligado a demostrar su

    identidad. Un ejemplo puede ser un servidor remoto. Si se trata de una

    autenticacin mutua la autenticacin se realiza en ambos sentidos.

    Podran distinguirse en este servicio dos calidades, una de las cuales es la

    Autenticacin dbil y est apoyada en el uso ms o menos sofisticado de passwords, mientras que cuando el resultado es ms eficaz la denominamos

    Autenticacin Fuerte, que requiere del intercambio de mensajes cifrados y, posiblemente, del concurso de una Tercera Parte de Confianza TTP

    (Trusted Third Party).

    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 (excepto, acaso, su longitud).

    Entropa

    Nmero medio de bits necesarios para codificar cada uno de los estados

    posibles de la variable aleatoria.

    Si en un sistema de transmisin cada estado representa un smbolo a

    codificar para transmitir, la entropa nos da los bits/smbolo necesarios para

    codificar.

  • Un criptosistema es seguro de Shannon si la cantidad de informacin que

    nos aporta conocer el mensaje cifrado c sobre la entropa del texto en claro

    es 0.

    Hash criptogrficos Una funcin de hash toma datos binarios, llamados mensaje, y produce una representacin abreviada del mismo llamada digesto. Es una funcin

    matemtica relativamente fcil de computar, pero mas difcil de invertir. El

    procedimiento toma un bloque variable de datos y devuelve una cadena de

    longitud fija. Los valores de hash son tambin conocidos como huellas

    digitales.

    La funcin de hash puede utilizarse en muchas situaciones diferentes:

    Para proporcionar una prueba de autenticidad, cuando es utilizada

    como una clave secreta de autenticacin simtrica.

    Para proporcionar autenticacin generando respuestas de nico uso

    de una va a los desafos de protocolos como CHAP.

    Para proporcionar pruebas de verificacin de la integridad del

    mensaje como en los contratos firmados digitalmente, y certificados

    de infraestructura de clave pblica (PKI).

  • Matemticamente una funcin hash (H) es un proceso que toma una

    entrada (x) y devuelve una cadena de longitud fija, llamada valor de hash

    (h).

    h=H(x)

    Un hash criptogrfico tiene las siguientes propiedades:

  • Estas funciones slo resultan tiles para fallos accidentales en la

    transmisin, pero son vulnerables a ataques man in the middle, porque un atacante puede cambiar el mensaje, recalcular el hash y enviarlo al

    receptor, este no tiene manera de saber que el mensaje ha sido cambiado.

    Existen dos funciones de hash bien conocidas:

  • Integridad con MD5 y SHA-1 MD5 es un algoritmo desarrollado por Ron Rivest y utilizado actualmente por una variedad de aplicaciones de Internet. MD5 es libre de colisiones, es decir, es poco probable obtener el mismo valor de hash a partir de dos

    conjuntos diferentes de datos.

    MD5 es una compleja secuencia de operaciones binarias simples, como

    XOR y rotaciones, que se ejecutan y producen un digesto de 128 bits.

    El mensaje de entrada es dividido en trozos de 512 bit. El mensaje se

    amplia para que su longitud sea divisible por 512. se aade un bit igual a 1

    al final del mensaje, es seguido de tantos ceros para llegar hasta los 64 bits

    menor que un mltiplo de 512. Los bits restantes se rellenan con un entero

    de 64 bits que representan la longitud del mensaje original en bits.

    El algoritmo principal opera en un estado de 128 bits, divididos en palabras

    de 32 bits, denominadas A, B, C y D. stas se inicializan a unas constantes

    fijas. Despus opera en cada mensaje de 512 bits, cada bloque modificando

    el estado. El procesamiento del bloque del mensaje consiste en 4 etapas similares, llamadas rondas. Cada ronda se compone de 16 operaciones

  • similares basadas en la funcin no lineal F. Hay 4 funciones F posibles,

    cada una se usa en una ronda. La figura muestra la operacin de una ronda.

  • MD5 es ahora considerado menos seguro que SHA. En otro artculo dice

    que no es resistente a colisiones y no es aconsejable para aplicaciones SSL.

    El Instituto Nacional de Estndares y Tecnologa (NIST) desarroll SHA (Secure Hash Algorithm). Su diseo es similar a MD5.

    El algoritmo SHA toma un mensaje de menos de 2 elevado a 64 bits de

    longitud y produce un digesto de 160 bits a partir de bloques de 512 bits. Es un poco ms lento, pero al generar digestos de mayor longitud es menos

    sensible a ataques de fuerza bruta e inversin.

  • Hay algunos aspectos a considerar en la administracin de claves:

    Se utilizan dos trminos para referirse a las claves: longitud de clave y espacio de claves. La longitud de la clave es el nmero de bits que la conforman. El espacio de claves es la totalidad de las claves que pueden

    formarse con una cantidad de bits.

    Casi cualquier algoritmo contiene claves dbiles (el cifrado es igual al descifrado) en su espacio de claves, el cual permite que un atacante quiebre

    el cifrado de forma rpida. Esto quiere decir que si una de estas claves es

    utilizada para cifrar texto plano, el atacante puede utilizar una de estas

    claves para cifrar el criptograma y revelar el texto plano.

  • La filosofa de la criptografa simtrica implica que, para establecer comunicacin segura entre dos usuarios, es necesario que stos conozcan y

    compartan una clave simtrica concreta. Si fuesen tres los participantes en

    el entorno de comunicacin y se quisiera salvaguardar la confidencialidad

    dos a dos, cada usuario necesitara conocer y custodiar dos claves distintas,

    siendo tres el nmero total de claves puestas en juego en el dominio.

    Cuando el nmero de usuarios crece, el nmero de claves necesarias sera

    enorme e inmanejable. Son vulnerables al criptoanlisis diferencial y lineal.

  • Cifrado

    Existen dos tipos de cifrado: simtrico y asimtrico. Los algoritmos

    simtricos utilizan la misma clave. Utilizan una clave compartida. Dado

    que ambas partes deben custodiar la clave, los algoritmos de cifrado

    pueden utilizar claves de menor longitud. Las claves ms cortas dan como

    resultado tiempos de ejecucin ms rpidos.

    Los algoritmos asimtricos utilizan diferentes claves para cifrar y descifrar. Debido a que las partes no poseen una clave pre-compartida

    deben utilizarse claves muy largas para frustrar a los atacantes. Estos

    algoritmos utilizan muchos recursos y tienen una ejecucin ms lenta.

    Consideremos un ejemplo, Alice y Bob viven en distintas localidades y

    desean intercambiar mensajes secretos entre s a travs del correo

    electrnico.

  • Las tcnicas ms utilizadas en criptografa de cifrado simtrico son los

    cifrados de bloque y los cifrados de flujo o de cadena.

    Cifrado por bloques Transforma un bloque de texto plano de longitud fija en un bloque

    criptogrfico comn de 64 o 128 bits. El cifrado por bloques, en general,

    resulta en una salida de datos ms larga que los datos de entrada. Para

    lograr esto, el algoritmo toma una porcin de datos por vez, por ejemplo

    porciones de 8 bytes, hasta que se rellena el bloque completo. Si hay menos

    datos que los necesarios para completar un bloque, el algoritmo agrega

    datos artificiales (blancos) hasta que los 64 bits son utilizados.

    Para lograr algoritmos seguros de Shannon se utiliza la llamada confusin (tratar de ocultar la relacin entre texto claro, texto cifrado y clave) y la

    difusin (repartir la influencia de cada bit del mensaje original lo ms posible entre el texto cifrado). Si se intercala la difusin y la confusin se

    denomina cifrado de producto. Muchos algoritmos utilizan la llamada Red de Feistel (DES entre otros),

    que es una serie iterativa de permutacin-sustitucin.

  • La red de Feistel depende de la eleccin de los siguientes parmetros:

    Tamao de bloque: bloques ms grandes significan ms seguridad pero reduce la velocidad de encriptado/desencriptado. La mayor

    seguridad se alcanza por que hay ms difusin.

    Tamao de la clave: tamaos ms grandes de la clave significa ms seguridad pero tambin decrementa la velocidad de

    encriptado/desencriptado. Hay ms seguridad porque hay ms

    resistencia a ataques de fuerza bruta y ms confusin.

    4mero de iteraciones: cuantas ms iteraciones ms seguridad. Un nmero tpico de rondas es 16.

    El algoritmo de desencriptado es esencialmente el mismo que el de

    encriptado.

    4OTA: Si el tamao de bloque es pequeo, resulta equivalente al cifrado por sustitucin, lo que no es deseable.

    Cifrado con Estructura de Grupo

    Otra de las cuestiones a tener en cuenta en los cifrados de producto es la

    posibilidad de que posean estructura de grupo. Se dice que un cifrado tiene

    estructura de grupo si se cumple la siguiente propiedad:

    Esto es, si hacemos dos cifrados encadenados con k1 y k2, existe una clave

    k3 que realiza la transformacin equivalente. Es interesante que un

    algoritmo criptogrfico carezca de este tipo de estructura, ya que si

    ciframos un mensaje primero con la clave k1 y el resultado con la clave k2,

    es como si hubiramos empleado una clave de longitud doble, aumentando

    la seguridad del sistema. Si, por el contrario, la transformacin

    criptogrfica presentara estructura de grupo, esto hubiera sido equivalente a

    cifrar el mensaje una nica vez con una tercera clave, con lo que no

    habramos ganado nada.

    4OTA: DES no presenta estructura de grupo.

  • Cifrado de flujo Codifica el texto plano un byte o un bit por vez. Con el cifrado de flujo, la

    transformacin de estas unidades ms pequeas de texto plano es variable,

    dependiendo de dnde se encuentren durante el proceso de cifrado. El

    cifrado de flujo puede ser mucho ms rpido que los cifrados de bloque, y

    en general no incrementa el tamao de los mensajes. Con un generador

    apropiado de nmeros pseudoaleatorios puede ser tan seguro como un

    cifrador de bloques con claves proporcionales.

    Los cifradores de flujo se basan en el cifrador de Vernam. Lo que Vernam propuso fue generar una secuencia cifrante aleatoria de caracteres,

    constituidos por cinco bits, que eran sumados mdulo 2 (XOR) con los

    correspondientes caracteres del mensaje en claro. La secuencia cifrante era

    aleatoria y de un solo uso (one time pad), gracias a lo cual el cifrador

    obtenido era de secreto perfecto. Esto en realidad no es viable en aplicaciones normales, pero se intenta conseguir una aleatoriedad lo ms

    parecida posible al cifrado de Vernam (secuencias pseudoaleatorias).

    Algunas caractersticas de la secuencia cifrante son:

    a) Periodo: es muy importante que la secuencia no se repita dentro del proceso de cifrado de un mensaje. Con los cifradores vigentes se

    pueden conseguir periodos de tamao suficientemente grandes como

    para que este requisito se cumpla sobradamente.

    b) Distribucin de unos y ceros: la secuencia cifrante debe presentar una distribucin lo ms uniforme posible.

    c) Imprevisibilidad: se exige que la secuencia cifrante sea imprevisible, queriendo esto significar que dada una secuencia

    cifrante de cualquier longitud, predecir si el siguiente dgito es uno o

    cero no puede representar una probabilidad superior al 50%,

    d) Facilidad de implementacin: la secuencia cifrante debe poderse generar de manera rpida y sencilla, poniendo en juego recursos

    asequibles.

    Generadores de secuencia sncronos

    Son aquellos en que la secuencia es generada de forma independiente tanto

    del texto claro como del cifrado. Cuando empleamos este tipo de generador

  • necesitamos que tanto el emisor como el receptor estn sincronizados para

    que el texto pueda descifrarse.

    Si algn bit del criptograma es alterado, la sincronizacin no se pierde,

    pero el texto claro se ver modificado en la misma posicin. Esta

    caracterstica podra permitir a un atacante introducir cambios en nuestros

    mensajes, simplemente conociendo qu bits debe alterar. Para evitar esto,

    deben emplearse mecanismos de verificacin que garanticen la integridad

    del mensaje recibido, como las funciones resumen.

    Generadores de secuencia asncronos

    Es aquel en que la secuencia generada es funcin de una semilla ms una

    cantidad fija de los bits anteriores de la propia secuencia. Es resistente a la

    prdida o insercin de informacin (al contrario que los sncronos), ya que

    acaba por resincronizarse de manera automtica, cuando llegan t bloques

    correctos de forma consecutiva.

    Se consideran ms resistentes frente a ataques basados en la redundancia

    del texto en claro.

    Registros de Desplazamiento Retroalimentados

    (feedback shift registers o FSR) son la base de muchos generadores de

    secuencia para cifrados de flujo.

    Estos registros, debido a que permiten generar secuencias con perodos

    muy grandes y con buenas propiedades estadsticas, adems de su bien

    conocida estructura algebraica y su facilidad para ser implementados por

    hardware, se encuentran presentes en muchos de los generadores de

    secuencia propuestos en la literatura.

  • El registro est constituido por n bits o etapas binarias que se desplazan un

    lugar a la derecha a cada impulso de reloj. El nuevo valor que ocupa la

    etapa 1 est determinado por una funcion g que depende de los valores de las n etapas del registro. El valor inicial del registro, la semilla, constituye

    la clave bajo la que opera el cifrador. Dependiendo de si la funcin g es

    lineal o no lineal tendremos dos tipos de registros: LFSR y NLFSR.

  • Data Encryptation Standard (DES) Es un algoritmo de cifrado simtrico, utilizado normalmente en cifrado por bloques. Es en esencia una secuencia de permutaciones y sustituciones de

    datos, combinado con una clave de cifrado. Se basa en la combinacin de

    las dos tcnicas bsicas de la criptografa simtrica: confusin y difusin. La primera de ellas consiste en establecer una dependencia funcional lo

    ms compleja posible entre la clave y el mensaje en claro, y se consigue

    mediante la sustitucin de unos smbolos por otros. La segunda consiste en procurar dispersar a lo largo del criptograma las propiedades estadsticas

    del mensaje en claro, y en DES se consigue mediante la transposicin (permutacin de los bits).

    Se utiliza el mismo algoritmo y la misma clave tanto para el cifrado como

    para el descifrado, con la diferencia de que el descifrado se invierten las

    claves, si se utilizaron para cifrar las claves k1, k2, k3, k4 en el descifrado

    se utilizarn k4, k3, k2, k1.

    Tiene una longitud de clave fija (64 bits), pero en realidad slo se utilizan

    56 bits. Los 8 bits restantes son utilizados para la paridad.

    Se basa en el algoritmo LUCIFER. Presenta algunas claves dbiles. En otro

    libro dice que las claves semidbiles dejan el texto cifrado igual que el

    texto claro.

    Tambin es fcil demostrar que, debido al uso de operaciones XOR, si se

    toma el complemento de una clave (sustituir ceros por unos y unos por

    ceros) y se cifra con ella el complemento del texto en claro se obtiene:

  • Ek(P)=C

    Ek(P)=C

    Ello significa que un ataque del tipo texto en claro elegido, slo es

    necesario probar la mitad de las claves posibles, es decir 2 elevado a 55 en

    lugar de 2 elevado a 56.

    4OTA: debido a la forma en que se extraen las subclaves que se aplican en los distintos ciclos del algoritmo, ciertas claves no aportan seguridad

    suficiente al procedimiento por lo que son llamadas claves dbiles. Del mismo modo existen parejas de claves que, al cifrar el texto en claro dan

    lugar a idntico criptograma, lo que significa que una de las claves de ese

    par puede servir para descifrar mensajes encriptadas con la otra clave del

    par. Esto da lugar a la existencia de 12 claves denominadas claves semidbiles.

    Otra variante es el algoritmo DES mltiple que se basa en aplicar varias

    veces el algoritmo DES con diferentes claves al mensaje original. Ya que

    cuantas ms rondas tenga el algoritmo ms difcil ser el criptoanlisis.

  • 4OTA: La permutacin inicial coge una entrada de 64 bits y los permuta de acuerdo con una regla predefinida. La permutacin final es el inverso de

    la permutacin inicial. Estas dos permutaciones se cancelan la una a la otra.

    En otras palabras, si se eliminan las ronda, el texto cifrado es el mismo que

    el texto en claro.

    4OTA: el efecto avanlancha es una propiedad deseable en cualquier algoritmo. Dice que un pequeo cambio en el texto plano o en la clave

    produce un cambio significativo en el texto cifrado

    Cifrado por bloques

    ECB (Electronic Code Book) cifra en forma serial cada bloque de 64 bits de texto plano utilizando la misma clave de 56 bits. Subdivide la cadena

    que se quiere codificar en bloques de tamao adecuado y se cifran todos

    empleando la misma clave. Consiste en que los m1, m2, mm bloques en

    que se ha dividio el mensaje van pasando, uno detrs de otro, como entrada

    del cifrador y los c1, c2, . , cm (bloques encriptadas) resultantes se

    concatenan uno detrs de otro, y en el mismo orden, para construir el

    mensaje cifrado final.

    Como cada bloque est cifrado independientemente, el descifrado tambin

    puede realizarse separadamente para cada bloque de texto cifrado, con lo

    que se reconstruye fcilmente el mensaje original. Es ms facil de atacar,

    sobre todo si hay cierta informacin previa sobre el contenido de los

    bloques. Por eso se recurre a otros modos que ofrecen mayor resistencia.

  • En el mtodo CBC, cada bloque de texto plano es procesado mediante la operacin lgica XOR en conjunto con el bloque de cifrado anterior y

    luego utilizando la clave DES. As, el cifrado de cada bloque depende del

    anterior. Luego, el cifrado de dos bloques de texto plano iguales puede

    resultar en bloques cifrados diferentes. Este mtodo no funciona con

    ataques sofisticados de criptoanlisis o ataques de fuerza bruta.

    Para robustecer la seguridad del cifrado, el modo de encadenamiento de

    bloques cifrados es tal que el resultado c1 de cifrar el primer bloque se

    suma mdulo 2 con el bloque m2. El resultado de esta operacin XOR

    constituye la entrada de la operacin de cifrado que da lugar al bloque c2, y

    as sucesivamente.

  • Cifrado de flujo

    DES utiliza dos mtodos para cifrar flujo:

    Se deben considerar varios aspectos al utilizar DES:

  • Una clave entra en un generador pseudoaleatorio que produce un flujo de

    nmeros de 8 bits que son aparentemente aleatorios. La salida del

    generador, denominada keystream, se combina un byte por vez con el flujo del texto plano usando una operacin XOR.

  • Advanced Encryption Standard (AES) Despus de un tiempo de prueba en 1997, el Instituto de Estndares y

    Tecnologa (4IST) acept el algoritmo de cifrado por bloques de Rijndael. Posee una longitud de bloque y longitud de clave variables. Es un cifrado

    de bloques iterativo, lo que significa que el bloque de entrada inicial y la

    clave de cifrado atraviesan mltiples ciclos de transformacin antes de

    generar los dato de salida. Puede utilizarse claves de 128, 192 y 256 bits,

    para cifrar datos de 128, 192 y 256 bits de longitud.

    Se considera el algoritmo ms eficiente. No posee estructura de Red de Feistel. Se define cada ronda como una composicin de funciones invertibles. Se basa en aplicar un nmero determinado de rondas a un valor

    intermedio que se denomina estado. Puesto que AES permite emplear diferentes longitudes tanto de bloque como de clave, el nmero de rondas

    requeridas en cada caso es variable.

    La longitud de clave mayor que DES lo hace ms seguro. AES se ejecuta

    con mayor velocidad. AES es, sin embargo, un algoritmo muy joven por lo

    tanto a veces se considera que 3DES es ms seguro porque lleva

    implementado 35 aos.

    El bloque se copia en el array estado, que se modifica en cada etapa de

    encriptado o desencriptado. Despus de la etapa final, estado se copia en

    una matriz de salidad.

    Se utilizan 4 etapas diferentes, una de permutacin y 3 de sustitucin:

    o Susticin de bytes: usa una S-caja para realizar una sustitucin byte a byte del bloque.

    o Desplazamiento de filas: una simple permutacin. o Mezclar columnas: una sustitucin que usa aritmtica en un grupo. o Ronda de clave aadida: una simple operacin XOR del bloque

    actual con una porcin de la clave expandida.

  • La estructura es bastante simple. Para encriptado y desencriptado, empieza

    con una rond de clave aadida, seguida de 9 rondas que incluyen todas las

    etapas, seguida d 10 rondas de tres etapas.

    Aqu un diagrama simplificado:

  • 4OTA: esta basado en campos de Galois.

    Comparativa

    Los cifrados asimtricos proporcionan autenticacin, integridad y

    confidencialidad.

    El objetivo de confidencialidad se logra cuando el proceso de cifrado

    comienza con la clave pblica:

  • Cuando la clave pblica es utilizada para cifrar datos, la clave privada debe

    ser utilizada para descifrarlos. Slo uno de los host posee la clave privada,

    por lo tanto se logra la confidencialidad.

    El objetivo de la autenticacin de los algoritmos asimtricos se logra

    cuando el proceso de cifrado empieza con la clave privada.

    Debido a que un solo host posee la clave privada, slo dicho host puede

    haber cifrado el mensaje, probando as la autenticidad del remitente

  • Para enviar un mensaje que asegure la confidencialidad, integridad y

    autenticacin:

  • Envoltura digital

    Se puede conseguir la provisin de los servicios de integridad y

    confidencialidad sin necesidad de recurrir a varios intercambios de

    informacin entre entidades. Este es el caso del mecanismo denominado

    envoltorio digital o envoltura digital. Bsicamente consiste en lo siguiente:

    1. la entidad A genera de forma aleatoria una clave de sesin k.

    2. La entidad A cifra el mensaje m mediante un criptosistema simtrico

    usando la clave k:

    C1= Ek(m)

    3. La entidad A cifra la clave k con la clave pblica de B, usando un

    criptosistema asimtrico:

    C2=Bp(k)

    4. A enva a B ambos criptogramas c1 y c2.

    5. La entidad B obtiene la clave de sesin cifrando c1 con su clave

    privada:

  • K=Bs(c2)

    6. B descifra el mensaje m usando el mismo criptosistema simtrico y

    la clave k obtenida:

    M= Dk(c1)

    Este mecanismo sirve para proporcionar los servicios de integridad y

    confidencialidad de los datos.

    CIFRADOS ASIMTRICOS

    Los algoritmos tienen las siguientes caractersticas:

    No es computacionalmente factible determinar la clave de

    desencriptado conociendo el algoritmo de cifrado y la clave de

    encriptado.

    Cualquiera de las dos claves se puede utilizar para encriptar o

    desencriptar.

    Conocer el algoritmo ms una de las claves ms algn ejemplo de

    texto cifrado es insuficiente para determinar la otra clave.

    En los criptosistemas de clave secreta, la transformacin de los datos se apoya en operaciones lgicas o algebraicas muy simples cuyo cometido es

    alterar el orden de los bits que aparecen en el mensaje original y sustituir

    sus valores conforme a las reglas del algoritmo de cifrado. Por el contrario,

    los algoritmos de cifrado de clave pblica se basan en operaciones matemticas de cierta complejidad. Por esta razon, los sistemas simtricos

    son ms rpidos y eficaces que los asimtricos, pero menos seguros.

    A diferencia de lo que ocurre con los criptosistemas simtricos, en los

    criptosistemas asimtricos las operaciones se definen independientemente de la clave, de forma que el tamao de sta puede ser aumentado o disminuido sin que por ello se altere el algoritmo.

  • RSA

    Se trata de un algoritmo patentado de clave pblica. Es el algoritmo ms

    sencillo de comprender e implementar. Es muy flexible porque posee una

    clave de longitud variable, por lo que la clave puede acortarse para acelerar

    el procesamiento. Pero mientras ms corta es la clave, menos seguro es el

    algoritmo.

    Se basa en la dificultad de factorizar grandes nmeros. Las claves pblica y

    privada se obtienen a partir de un nmero que es un producto de dos primos

    grandes. Para algunas claves deja el mensaje original inalterado, son las

    claves dbiles.

    Las claves en RSA tienen un tamao entre 512 y 2048 bits de longitud. La

    seguridad de RSA se basa en la dificultad para factorizar nmeros muy

    grandes.

  • Funcionamiento

    RSA usa dos exponentes, e y d, donde e es pblico y d es privado.

    Supongamos que P es el texto plano y C es el cifrado. Uno utiliza

    para crear el texto cifrado y otro usa

    Para recuperar el texto plano enviado.

    Los ataques a RSA son los siguientes:

    Fuerza bruta: probar todas las posibilidades. Ataques matemticos: equivalente a factorizar nmeros primos muy

    grandes.

    Timing atacks: dependen del tiempo de ejecucin de los algoritmos de desencriptado. Se basan en el tiempo que tarda para estimar qu

    tipo de algoritmo se est usando.

    Ataques de texto cifrado elegido: explotan las propiedades del algoritmo RSA.

  • Algoritmo de Diffie-Hellman

    Este algoritmo permite el intercambio seguro de claves entre dos usuarios.

    Se basa en la dificultad para computar logaritmos discretos.