viernes, 23 de septiembre de 2016

Introducción
Se presentaran los tipos de cifrados antiguos que eran utilizados en la edad media para ocultar información, se mostrara una forma de cómo se cifran la información en un lenguaje de programación en este caso el lenguaje es visual Basic   los cifrados que se mostraran serán cifrado vernam, tablero de polibio, cifrado cesar. Cada uno de estos métodos que se muestra en el lenguaje de programación arroja un resultado de cómo se cifra cada frase que se introduce en el método.

Cifrado César
En criptografía, el cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de César, es una de las técnicas de cifrado más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A), la B sería reemplazada por la E, etc. Este método debe su nombre a Julio César, que lo usaba para comunicarse con sus generales.
El cifrado César muchas veces puede formar parte de sistemas más complejos de codificación, como el cifrado Vigenère, e incluso tiene aplicación en el sistema ROT13. Como todos los cifrados de sustitución alfabética simple, el cifrado César se descifra con facilidad y en la práctica no ofrece mucha seguridad en la comunicación.

Cifrado Vigenere

El cifrado Vigenère es un cifrado basado en diferentes series de caracteres o letras del cifrado César formando estos caracteres una tabla, llamada tabla de Vigenère, que se usa como clave. El cifrado de Vigenère es un cifrado de sustitución simple polialfabético.
El cifrado Vigenère se ha reinventado muchas veces. El método original fue descrito por Giovan Battista Belasso en su libro de 1553 La cifra del Sig. Giovan Battista Belasso. Sin embargo, fue incorrectamente atribuido más tarde a Blaise de Vigenère, concretamente en el siglo XIX, y por ello aún se le conoce como el "cifrado Vigenère".
Este cifrado es conocido porque es fácil de entender e implementar, además parece irresoluble; esto le hizo valedor del apodo el código indescifrable (le chiffre indéchiffrable, en francés).

Cifrado de Vernam
En terminología moderna, un cifrado de Vernam es un cifrado de flujo en el que el texto en claro se combina, mediante la operación XOR, con un flujo de datos aleatorio o pseudoaleatorio del mismo tamaño, para generar un texto cifrado. El uso de datos pseudoaleatorios generados por un generador de números pseudoaleatorios criptográficamente seguro es una manera común y efectiva de construir un cifrado en flujo. El RC4 es un ejemplo de cifrado de Vernam que se utiliza con frecuencia en Internet.

Cuadrado o Cifrado de Polibio
Inventado hacia 150 a. C. por el historiador Polibio, el cuadrado de Polibio fue utilizado principalmente por nihilistas rusos encerrados en las prisiones zaristas.
Se trata de un algoritmo trivial, donde cada letra del alfabeto es reemplazada por las coordenadas de su posición en un cuadrado. Es un caso particular de transposición mono-alfabética. Este tipo de código no resiste a un análisis de frecuencias.



Funcionamiento Básico del Sistema
Cuadro de texto: Aquí declaramos variables en el código para hacer las comparaciones entre los códigos de encriptación al igual que también tomaremos el uso de matrices y hacer comparaciones entre ellas.Figura 1.1 Muestra la interfaz gráfica del programa en donde se realizara el cifrado cesar.

Trabajaremos en Visual Basic al igual que hicimos con el anterior apartado de cifrado.
Cuadro de texto: Aquí llevaremos el código y  la manipulación de las variables para poder hacer las operaciones tanto como matrices y el método del método de encriptación de Vigenere.









Seguimos con el siguiente código de encripacion.

Cuadro de texto: Como en el anterior método de encriptación, este tomaremos todo el alfabeto para hacer las comparaciones entre la clave y la palabra a cifrar, al igual presentaremos la interfaz que ocupamos para su visualización.
El siguiente programa es la interfaz y el código de las actividades del método de encriptación del tablero de polibio.
Cuadro de texto: Teniendo en cuenta este método de encriptación que es comprar con una tabla hacemos el uso de matrices y sentencias repetitivas (for) para poder pasar por la misma matriz varias veces y poder obtener la palabra cifrada mediante este método.






Figura1: Como podemos observar en la imagen esta es la ventana principal del programa que nos va a permitir seleccionar el Cifrado con el que se desee trabajar.


Figura 2: Como se puede apreciar en esta captura en base a un Menú que contiene la ventana principal podemose elegir una opción de eacuedo al cirad con que se desee trabajar y en este caso se ejecuta de manera rapida.


Figura 3: Una vez ya sellecionado alguno de los cifrados lo que sigue es darle clic en el boton de color verde esto el programa lo valida para asi podernos enlazar a la ventana del cifrado ya previamente sellecionado.


Figura 4: Una vez ya estando en la ventana correspondiente al cifrado seleccionado ingresaremos un mensaje de texto para poder así enseguida descifrar el mismo.


Figura 5: Una vez ya ingresado el mensaje le hacemos clic en el boton que tiene como nombre CIFRAR para que el programa realice una comparacion y nos mande la respuesta que en este caso es el mensaje ya descifrado. 

Figura 6: Tambien el programa tiene la ocion de Regresar al Menu, Limpiar las Cajas de texto y el Boton de Descifar que nos va a permitir ingresar un mensaje que este Descifrado y este a la vez nos da como resultado el mensaje que previamente ingresamos en la operación anterior.

Figura 7: Aquí una muestra de que el programa ejecuta la operación ya antes explicada de manera correcta y  esto es a grandes rasgo lo que el programa es capaz de realizar con cada tipo de cifrado establecido en el mismo.



Referencias
planetcalc, T. (2016). Calculadora en línea: Cifrado de Vigenère. [online] Es.planetcalc.com. Available at: http://es.planetcalc.com/2468/?language_select=es [Accessed 21 Sep. 2016].
Roble.pntic.mec.es. (2016). Tabla de Polibio. [online] Available at: http://roble.pntic.mec.es/jgad0020/cripto/polibio.php [Accessed 21 Sep. 2016].
User, S. (2016). Fundamentos de Criptografía. [online] Redyseguridad.fi-p.unam.mx. Available at: http://redyseguridad.fi-p.unam.mx/proyectos/criptografia/criptografia/index.php/2-tecnicas-clasicas-de-cifrado/22-opereraciones-utilizadas/222-algoritmos-de-sustitucion?showall=&start=5 [Accessed 21 Sep. 2016].