Esta sera la ultima entrada de la serie, y entiendo, desde mi punto de vista la más divertida, romper cosas o hacerlas explotar, para saber que contienen, a quien no le agrada descubrir algo nuevo, ya depende de cada quien ser white o black. Antes que continuar por si necesitan algún recordatorio, a continuación las primeras dos partes: Introducción a la Criptología (I) e Introducción a la Criptología (II) Protocolos y Firmas Digitales.
Imagen destacada bajo licencia CC BY-SA 3.0, destaco que para incrementar los conceptos compartidos en H4ckSeed, disfruten de estos ebook que tratan de manera más profunda esta temática 20 eBooks sobre Criptografía y Cifrado.
El criptoanalisis esta íntimamente ligado a cada algoritmo de cifrado. Cuando alguien diseña un criptosistema, tiene que tener en mente todos los posibles ataques que este puede sufrir, y cada mecanismo de ocultación que implementa esta respondiendo a un hipotético procedimiento de criptoanalisis, de ahí que las criptomonedas como el bitcoin, faircoin u otra, sean tan robustas algoritmicamente hablando. En otras palabras no se puede hablar de un procedimiento general de criptoanalisis; cada algoritmo ha de ser atacado mediante un procedimiento adecuado a su estructura. Algo así como el método de Jessica Fridich para resolver un cubo de rubik.
No obstante, el usuario de un criptosistema debe tener presente, que la robustez del algoritmo de cifrado no es el elemento definitivo de seguridad; hay otros aspectos como la utilización del algoritmo y los protocolos con que se usa, en un ataque real dado los algoritmos de cifrado que se usan hoy, resulta mucho más practico atacar al protocolo o simplemente emplear métodos tradicionales para obtener la información.
Un criptosistema se puede atacara de muchas formas; la mas directa sería sería la que se hace uso unicamente del análisis del mensaje cifrado o criptograma. Se trata de un análisis pasivo, Pero en la realidad se pueden producir ataques, apoyados de cierto conocimiento adicional o bien en cierto grado de intervención, en cuyo caso estaremos frente a un ataque activo.
Al momento de realizar un criptoanalisis, se puede disponer de información diversa; cuanta más información se posea, más fácil sera su realización. Los casos más frecuentes sería:
- Solo se conoce el criptograma, es la situación más complicada, pero el ataque puede ser factible si se conoce o sospecha la lengua en que esta escrito el mensaje.
- Solo se conoce el criptograma, pero este tiene partes en claro sin cifrar, nos podemos apoyar en que con toda probabilidad habrá palabras coincidentes en los fragmentos en claro y en el texto cifrado.
- Se conocen varios criptogramas diferentes correspondientes al mismo texto claro, cifrados con claves diferentes o vectores de inicialización
- Se conoce el criptograma y el texto claro correspondiente, incluyendo el caso de que solo se supiera partes del mensaje o palabras probables.
- Se conoce el texto descifrado correspondiente a un criptograma elegido de forma adaptativa por el criptoanalista en función de análisis previos.
- Se conoce la clave o al menos se puede limitar el espacio de claves posibles. Es el típico ataque a un sistemas en que las claves son elegidas manualmente por una persona; entonces este sueles elegir como clave palabras fáciles de recordar como el clásico “1234” o “admin” de algunos routers por default, por poner un ejemplo, esto hace disminuir el numero de claves posibles.
A estos casos frecuentes se les puede clasificar como: Ataques a textos cifrados (Ciphertext-only attack), Ataques de texto plano conocidos, Ataques de texto plano seleccionado, Ataque de hombre en medio (Men in the middle), Ataques contra el hardware o utilizando el hardware base, Mecanismos Cuánticos y Criptografía DNA (ligado a la biometría).
Entropía de una fuente de Información
Cualquier mensaje en claro tiene unas propiedades estadísticas muy particulares, en cuanto a la frecuencia y asociación de letras, que lo diferencia totalmente de la distribución que presentaría un texto generado por un bot de forma aleatoria (como lo que nos presenta cleverbot) estas propiedades difieren de un idioma a otro, se pronuncia más según sean las raíces de las que provenga el idioma. Cada idioma tiene una distribución estadística diferente y ademas existen reglas precisas sobre diagramas, letras que nunca se encuentran juntas en una palabra, letras finales más probables, etcétera. Estudiando esas reglas se puede hacer un criptoanalisis heurístico, solamente cuando se aplica a esta la Teoría de la Información resultaría un verdadero análisis sistemático.
Los amigos lingüistas, saben que los lenguajes humanos presentan una gran redundancia (información innecesaria y repetida, y los escritos, mucha más) un ejemplo, si en el castellanos eliminamos los acentos y las letras c,q,v,h; aún podríamos escribir todos los sonidos sin problemas.
Según Norman Abramson (principal desarrollador de AlohaNET) en su libro “Teoria de la Información y Codificacion” , la información, se mide en unidades de información. Sea E un suceso que puede presentarse con la probabilidad P(E); cuando E tiene lugar, decimos que hemos recibido
Cuando la base del algoritmo sea la natural, la unidad de información recibe el nombre de nat, mientras que si la base es 10 se denomina hartley, y si la base es 2 se denomina bit.
Se define entropía, H(S), de una fuente de información como la cantidad media de información por símbolo emitido por ella. Y responde a la formula:
donde P(Si)es la probabilidad de ocurrencia del símbolo si. Para un alfabeto de 27 símbolos (26 letras más espacio)la entropia sería:
H(S)= 4.75 bits/simbolo
Por que es necesario entender todo esto, “simple” cuando nos enfrentamos a un criptograma, la primera operación a realizar sería un estudio estadístico para determinar su entropia, ya que con este resultado podremos determinar el tipo de cifrado; si resulta que es igual a la máxima teórica, es decir si coincide con la de un generador aleatorio, se podría tratar de un cifrado en flujo o en bloque. Indicando el primer paso para el siguiente movimiento a dar en el análisis.
Espero esta serie les sea de utilidad, para comprender esta temática tan interesante, y que se esta aplicando en nuestro día a día en muchos niveles, desde nuestros datos vagando por la red, como nuestro ingreso a alguna institución, a través de escáneres biometricos y como esta se respalda y “no pueda ser manipulada”.
Hasta otro post y buenas vibras lectores.