jueves, 1 de noviembre de 2007

Criptografía Básica

La Criptografía es el arte o técnica de escribir con clave o de un modo enigmático.
Su existencia se remonta a los principios de la humanidad. Como ciencia, supone un conglomerado de disciplinas tales como la Teoría de la Información, la Teoría de números, la Complejidad algorítmica, la Informática, las Telecomunicaciones, la Electrónica, etc.

Criptoanálisis: arte de romper los sistemas de cifrado
Criptología: Criptografía + Criptoanálisis

Acontecimientos históricos clave:

  • Máquina Enigma (Chiffriermaschinen Aktiengesellshaft). Patente alemana de los años 20 que Hitler relega a usos militares.
    Aquí se puede encontrar un simulador de Enigma (para Mac OS X).
Segunda Guerra Mundial:
  • Proyecto Ultra en Bletchley Park (UK)
  • Criptoanálisis de Enigma
  • Bomba de Turing
  • Empleo del primer ordenador electrónico, secreto hasta 1976: Colossus (no ENIAC)
Contemporános:
  • Denuncias de puertas traseras en los sistemas operativos Windows a finales de los 90
  • Continuos problemas se seguridad en los navegadores Netscape e Internet Explorer.
Organizaciones:
  • Echelon - Organización internacional de varios países para monitorización de comunicaciones electrónicas
  • Enfopol - Algo parecido a nivel europeo
Surge un problema ético ante la existencia de estas organizaciones: la intimidad personal se ve comprometida y aparece el miedo a un control gubernamental absoluto.
Una posible solución intermedia es TTP: Una entidad TTP (Trusted Third Party) posee todas las claves de las comunicaciones electrónicas secretas, accesibles sólo por vía judicial pero... ¿Quién vigila al vigilante?

Una clasificación de Criptografía:
  • Criptografía clásica: El secreto radica en la no publicación del método ni la clave. Todos los sistemas basados en esta filosofía han sido rotos: GSM, DVD, ...
  • Criptografía moderna: El método es público y sólo se mantiene en secreto la clave.
Un Criptosistema es una quíntupla (M,C,K,E,D) donde:
  • M - conjunto de mensajes sin cifrar o "texto en claro"
  • C - conjunto de todos los posibles mensajes cifrados o "criptogramas"
  • K - conjunto de las claves que se pueden emplear ( en ciertos criptosistemas se emplean claves diferentes para cifrar y descifrar)
  • E - conjunto de transformaciones de cifrado o familia de funciones que se aplican a cada elemento de M para obtener el elemento correspondiente de C. Existe una transformación diferente Ek para cada k [perteneciente a] K
  • D - conjunto de transformaciones de descifrado, en características análogas a E
Todo criptosistema debe cumplir: Dk(Ek(m)) = m, [para todo] m [perteneciente a] M
de forma que se pueda recuperar el texto en claro original.

Tipos de Criptosistemas:
  • Simétricos o de clave secreta:
    Misma clave para cifrar y descifrar. Su debilidad radica en la necesidad de transmitir la clave secreta.
  • Asimétricos o de clave pública:
    Son más "lentos" que los asimétricos debido en parte a que se emplean dos claves
    • kc - clave para cifrar. Es pública y la puede (debe) conocer cualquiera interesado en enviar un mensaje cifrado a un destinatario concreto
    • kd - clave para descifrar. Es privada y sólo la debe conocer el destinatario del mensaje cifrado
    • El conocimiento de la kc no debe desvelar nada de las características de la kd
La Seguridad Criptográfica de un sistema se realiza en criptografía moderna siguiendo ciertos criterios:
  • Seguridad incondicional:
    Cifradores perfectos. Es imposible obtener la clave a partir del texto cifrado.
    El problema radica en que según la Teoría de la información, para conseguir este nivel de seguridad, la longitud de la clave ha de ser al menos igual que la longitud del mensaje. Esto hace que no sea práctico implementarlos. Sin embargo, existe un cifrador que responde a este esquema: el cifrador Vernam.

    H(K) >= H(M) >= H(M); siendo H la entropía del sistema.
  • Seguridad teórica:
    El texto cifrado fuede dar algo de información sobre la clave. La seguridad disminuye al aumentar la longitud del mismo. Existe un límite teórico de seguridad que consiste en fijar la longitud máxima (longitud de unicidad) del texto en claro, de manera que si no se supera dicha longitud siempre asegurará que ante un ataque por fuerza bruta, se dudará al menos entre dos posibles mensajes con sentido. Si se supera dicha longitud, una de las claves será la más probable, con lo cual el sistema quedaría roto.

    Longitud de unicidad: n1 = H(K) / R
    Redundancia (de los símbolos): R = log(m) - H(S)
    m: sistema m-ario empleado (ej: ASCII es 8-ario -emplea 8 bits-)
    H(S): entropía del conjunto de mensajes con sentido (S) = información media del sistema

    Por tanto, un sistema de cifrado ideal debería tener una longitud de unicidad infinita. En la práctica, se puede incrementar n1 disminuyendo la redundancia (R) de los mensajes (comprimiendo la información).
  • Seguridad computacional:
    Es imposible romper el sistema de cifrado en un tiempo razonable con la capacidad computacional que se posee. Dos tipos:
    • Demostrable: estimación estadística
    • Probable: no se ha conseguido romper hasta el momento

Siguiendo la Teoría de Shannon, se pueden emplear varias técnicas sencillas para obtener buenos sistemas criptológicos:
  • Confusión:
    Hacer compleja la relación entre el texto cifrado y la clave. Es habitual sustituir unos símbolos por otros utilizando tablas de sustitución.
  • Difusión:
    Diluir la redundancia del texto en claro en el texto cifrado. Puede llevarse a cabo mediante trasposiciones de orden de los símbolos dentro del mensaje previamente al cifrado.
  • Efecto avalancha:
    Con el fin de conseguir cifradores más robustos, el cambio de un bit en la clave o en el texto en claro debería hacer que cambiasen, por término medio, la mitad de los bits en el texto cifrado.
  • Cifrador Producto:
    Para conseguir un efecto más potente mediante la concatenación de cifradores, es necesario que las técnicas de Confusión (sustitución) + Difusión (trasposición) se realicen en cascada y siempre alternadamente.

No hay comentarios: