[Aporte] Criptografía - Básico

Iniciado por Mortal_Poison, Octubre 26, 2017, 07:16:34 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 26, 2017, 07:16:34 AM Ultima modificación: Octubre 26, 2017, 10:31:49 AM por Mortal_Poison
Hola a tod@s,

Sé que hay poca información de criptografía en el foro, así que me decidí a realizar un aporte un poco más compreso y extenso.

Comencemos definiendo qué es criptografía

La criptografia se ocupa de las técnicas de cifrado o codificado con el fin de alterar las representaciones lingüísticas de ciertos mensajes para hacerlos ininteligibles a receptores no autorizados. Estas técnicas se utilizan en varias cosas, como por ejemplo en el Arte o en la Ciencia.

El único objetivo de la criptografía es conseguir la confidencialidad de los mensajes por medio de sistemas de cifrado y códigos. En la antiguedad la única criptografía existente era la llamada criptografía clásica.

La aparición de la Informática y el uso masivo de las comunicaciones digitales, han producido un número creciente de problemas de seguridad. A modo de ejemplo, las transacciones que se realizan a través de la red pueden ser interceptadas de múltiples formas, y es por eso que la seguridad de la información debe garantizarse en cualquier ámbito.

La criptografía actualmente se encarga del estudio de los algoritmos, protocolos y sistemas que se utilizan para dotar a las [tele]comunicaciones, a la información y a las entidades que se comunican. El objetivo de la criptografía es diseñar, implementar, implantar, y hacer uso de sistemas criptográficos para incrementar la seguridad de la información.

Veamos la máquina de cifrado de Lorenz:

Ilustración 1. Máquina de cifrado de Lorenz.
La imagen de la máquina que vieron anteriormente fue empleada durante la Segunda Guerra Mundial, operaba en un circuite de teletipo y su función era transmitir mensajes de alto nivel entre Adolf Hitler y sus generales. Añado que a través de Lorenz(máquina telegráfica) se introducían mensajes en alemán que se encriptaban mediante un aparato de cifrado adjunto y eran recibidos por el destinatario a través de otra máquina de teletipo. Pueden leer más acerca de ésta, en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Propiedades de las que se encarga la criptografía









Confidencialidad: Es decir, garantiza que la información sea accesible únicamente a personal autorizado. Para conseguirlo se hace uso de códigos y técnicas de cifrado.
Integridad: Es decir garantiza la corrección y completitud de la información. Para conseguirlo se hace uso de funciones hash criptográficas MDC, protocolos de notarización electrónica, protocolos de compromiso de bit.
Vinculación: Permite vincular un documento o transacción a una persona o un sistema de gestión criptográfico automatizado. Cuando se trata de una persona, se trata de asegurar su conformidad respecto a esta vinculación (content commitment) de forma que pueda entenderse que la vinculación gestionada incluye el entendimiento de sus implicaciones por la persona. 
Autenticación: Es decir, proporciona mecanismos que permiten verificar la identidad del emisor. Para conseguirlo puede usar por ejemplo función hash criptográfica MAC o protocolo de conocimiento cero.
Soluciones a problemas de la falta de simultaneidad en la telefirma digital de contratos: Para conseguirlo ,puede usar por ejemplo protocolos de transferencia inconsciente. Un sistema criptográfico es seguro respecto a una tarea si un adversario con capacidades especiales no puede romper esa seguridad, es decir, el atacante no puede realizar esa tarea específica.

Formas de romper esta seguridad

Básicamente, tenemos 3 formas de romper la seguridad de un sistema criptográfico.






Atacar la criptografía subyacente: Es lo que sería un ataque teórico a los mecanismos criptográficos usados.
Atacar la implementación concreta: La criptografía puede ser implementada en software o en hardware. Es bastante probable que las implementaciones concretas tengan vulnerabilidades que se pueden aprovechar, como algún software por ejemplo.
Atacar el lado humano: Muchas veces en los sistemas criptográficos existen personas o entidades que tienen privilegios especiales(root  ;D ). Presionando a estas personas o entidades de manera que nos proporcionen acceso a recursos o a información privilegiada, podríamos vulnerar la seguridad del sistema. Las personas o entidades interesadas en romper la seguridad de este tipo de sistemas tienen en cuenta todos estos frentes.




A continuación les motraré algunos de los métodos criptográficos.

Método criptográfico de Julio Cesar

HISTORIA

Es uno de los primeros métodos de cifrado conocidos históricamente. Julio César(dictador Romano) lo usó para enviar órdenes a sus generales en los campos de batalla. Consistía en escribir el mensaje con un alfabeto que estaba formado por las letras del alfabeto latino normal desplazadas tres posiciones a la derecha. Con nuestro alfabeto, el sistema quedaría así:

Ilustración 2. Ejemplo del cifrado, ROT-13.
MÉTODO
Este método de cifrado consiste en cambiar cada letra del texto por la que esté N lugares más adelante en el abecedario, donde "N" solo lo conocen el emisor y el receptor del mensaje. Por ejemplo, en el caso de N=1 sería cambiar cada letra por la siguiente del abecedario (la A por la B, la B por la C, la C por la D... la Z por la A). Si N=6, la A se cambiaría por la G, la B por la H, etc. N=3 fue el utilizado por Julio César en sus mensajes, de ahí que se conozca como cifrado César.

FUNCIONAMIENTO

Ilustración 3. Tabla ASCII con los caracteres.
Nota: Los caracteres de los cuadros verde no están permitidos. Por el contrario, el que está en azul se deja como está.

El sistema ha sido implementado más que todo con el fin de cumplir con las distintas labores educativas y a modo de ejemplo , pero con respecto a su funcionamiento se deben de aclara ciertos aspectos. Existen dos modos, modo texto y modo archivo.


       
  • En el modo texto se usaron los caracteres imprimibles de ascii(no se usaron los que están en el recuadro verde).
En el modo archivo se tienen dos consideraciones:


       
  • Si se sube un archivo .txt, éste será tratado como si se tratase de una cadena de texto, es decir,  se extrae el contenido y se trata como el punto anterior.
  • Si se sube un archivo diferente a la extensión .txt, se realizarán los siguientes pasos:

            
    • Codificar el archivo recibido a base64.
    • Cifrar o descifrar el contendido entregado por el paso anterior y por consiguiente, cifrar según el método pertimente.
    • Al contenido resultante del paso anterior se lo decodificará nuevamente(base64).
    • Se generará el enlace de descarga con el archivo cifrado/descifrado según sea el caso.
Aprendamos más acerca de esto.




Algoritmo de Vigenere

HISTORIA

El cifrado Vigenère se ha reinventado en muchas ocasiones. El método original fue descrito por Giovan Batista Belaso en su libro de 1553: "La cifra del Sig. Giovan Batista Belaso", quien construyó el cifrado basándose en la tabula recta de Trithemius, pero añadió una clave repetida para cambiar cada carácter entre los diferentes alfabetos. Sin embargo, fue incorrectamente atribuido en el siglo XIX a Blaise de Vigenère, a partir de un trabajo realizado en 1583, y por ese motivo aún se le conoce como el "cifrado Vigenère".


MÉTODO

El cifrado Vigenère es un cifrado basado en diferentes series de caracteres o letras del cifrado César formando estos caracteres una tabla, a esta tabla se le conoce como la  tabla de Vigenère, que se usa como clave. Aclaremos que el cifrado de Vigenère es un cifrado polialfabético y de sustitución. La principal debilidad de este cifrado es la repetición de su clave. Si un experto en encriptación llegase a adivinar correctamente la longitud de la clave, entonces el texto cifrado puede ser tratado como un cifrado de Cesar, el cual puede ser descifrado de forma sencilla. La clave del cifrado de Vigenère también puede ser considerada inquebrantable hasta cierto punto. Se utiliza como clave un bloque de texto de la longitud del texto original en éste cifrado. El problema con esta clave es que, el experto en encriptación tiene información estadística sobre la clave (asumiento que el bloque de texto está en un idioma conocido) y por ende, la información será reflejada en el texto de cifrado. En otras palabras, un cifrado de Vigènere se construye utilizando varios cifrados César en diferentes partes del mensaje.

FUNCIONAMIENTO

Les dejo un vídeo para que puedan comprender más acerca de éste:




Algoritmo de Análisis de Frecuencia

DEFINICIÓN

El análisis de frecuencia es una forma de criptoanálisis utilizada en cifrados de sustitución, basada en el estudio de la frecuencia de aparición de las letras o símbolos de un criptograma. Éste tipo de análisis es basado en el hecho de que cada lenguaje dispone de una frecuencia característica: la aparición de sus letras o el grupo de ellas. Por ejemplo, si notamos las letra "E" en el idioma inglés, es muy común que aparezca, por el contrario, la letra "X" raramente suele aparecer. Si nos vamos al castellano, la letra "E" y la letra "A" son las más habituales.


MÉTODO

Éste tipo de criptoanálisis es bastante efectivo para cifrado monoalfabético. Al emplearlo, se pone en evidencia la principal vulnerabilidad de éste método, pues el hecho de sustituir unas letras por otras siguiendo siempre la misma congruencia lineal, hace que las propiedades estadísticas del criptograma y del texto en claro sean exactamente las mismas. Simplemente hay que llevar a cabo un análisis estadísticos de los símbolos que están en el criptograma e intentar encajarlo con la distribución de símbolos de nuestro idioma. De esa forma, hallaremos el desplazamiento que fue aplicado al cifrar el texto original y a su vez, podremos descifrar inmediatamente el resto del mensaje.




Espero que les haya servido. Cualquier aporte es bienvenido.

Un saludo.


Become the change you seek in the world. -Gandhi.



Excelente post. Agradecido por la información que compartes. Es de sumo interés.

Muy buen aporte, apenas me estoy metiendo en este mundo y es una muy buena explicación.

Este tema de la criptografía me llama mucho la atención. Bien por tu aporte y espero que muchos aprendan de esto, ya que les servirán para incrustarle seguridad a sus cosas así como a otras.

Saludos...