domingo, 29 de septiembre de 2013

Cryptex/Decryptex

Encriptador/Decriptador de Fase


Encriptador

IMPORTANTE: Todo lo mencionado en este archivo viene, en su mayor parte, de las experiencias del autor del mismo, así que cuando el autor se refiera a algunos términos que no se puedan encontrar es porque el autor los ha desarrollado, tanto “verbalmente” como en metodología.
La tecnología de Encriptación de archivos ha existido desde hace ya varios años, ahora es común ver dicha tecnología aplicada en procesos tales como llamadas, conexiones o simplemente a un archivo de texto, por ahora nos enfocaremos en este último. Al encriptar un archivo de texto lo que hacemos es convertir su información ya sea por los bytes que lo forman o por fase que es la encriptación como tal del contenido del archivo (palabras). Más comúnmente se usa la primera forma de encriptación, que consiste en acomodar el orden de los bytes del archivo para así ocultar la información sensible que pudiera contener.
Aquí hablaremos de la segunda forma, denominada de “fase”. Se dice que es de “fase” ya que encripta palabra por palabra, letra por letra, el contenido del archivo que procesemos.
Una de las formas de encriptación por fase que el autor ha desarrollado es la encriptación basada en enfocarse en línea por línea y así mismo palabra por palabra de la misma como un todo. A continuación se explica más detalladamente el proceso:
1.      Se lee las  “n” líneas que puedan contener el archivo.
2.      Se empieza a leer la línea “número uno” hasta la línea “n”.
3.      Al leer cada línea se separa cada letra de cada “palabra”, incluyendo símbolos especiales y números.
4.      Se convierte cada letra, numero o símbolo a su código ASCII correspondiente, después ese valor se convierte a Hexadecimal, luego se pasa por una función XOR, primero por el número de líneas del archivo, más adelante por el largo del string de esa línea y al último se hace por dos números “mágicos” más.
5.      Y así sucesivamente para cada línea del archivo de entrada, sin olvidar que se generara una clave de ocho dígitos numéricos para posteriormente desencriptar el archivo resultante, de salida.

Decriptador

IMPORTANTE: Todo lo mencionado en este archivo viene, en su mayor parte, de las experiencias del autor del mismo, así que cuando el autor se refiera a algunos términos que no se puedan encontrar es porque el autor los ha desarrollado, tanto “verbalmente” como en metodología.
Aquí veremos el proceso de decriptación de un archivo de texto creado a partir de la encriptación por fase.  A continuación se explica más detalladamente el proceso:
1.      Se lee las  “n” líneas que puedan contener el archivo.
2.      Se empieza a leer la línea “número uno” hasta la línea “n”.
3.      Al leer cada línea se separa el número Hexadecimal de su respectivo identificador “K”.
4.      Se convierte cada número extraído a Decimal, luego se pasa cada número obtenido de la línea por una función XOR, primero por el segundo número mágico, luego por el primer número mágico, después por el número de líneas menos una y al final por el por el largo del string de esa línea.
5.      Y así sucesivamente para cada línea del archivo de entrada.
6.      Para finalizar, antes de procesar el contenido en un archivo de salida, se pregunta por la clave para desencriptar, si es correcta se escribe la información en el archivo y si es incorrecta se borra el archivo de origen y no escribe nada en el archivo de salida.

Notas

Ya que se usan dos números mágicos para encriptar y aunque sea siempre el mismo archivo de origen, el archivo resultante siempre tendrá una encripción diferente, de manera que será distinto cada vez que se encripte.
Se le resta una línea al número de líneas total al desencriptar ya que, la contraseña es un encabezado, por ello no cuenta al momento de la decriptación.



Capturas



En la imagen anterior se puede apreciar las aplicaciones dentro de su respectiva carpeta y 3 archivos listos para encriptar, todos ellos con el mismo contenido.


Capturas




Aquí se muestra que después de encriptar los archivos se generan dos más por cada uno. Uno tiene extensión “.cod” que corresponde al archivo encriptado y el otro tiene extensión “.cps” que corresponde al archivo que contiene la clave de ocho dígitos para desencriptar el archivo.



Capturas



La pantalla más grande corresponde al archivo encriptado, la primer pantalla superior derecha corresponde al archivo de la contraseña para desencriptar y la pantalla inferior derecha corresponde al archivo de origen, el archivo original.



Capturas



Como se observa, cada archivo de salida fue encriptado de manera diferente aunque se tuviera el mismo contenido en cada archivo de entrada.



Capturas



Ahora procederemos a desencriptar cada archivo.



Capturas



Al desencriptar los archivos con su respectiva clave, se puede observar que todos entregaron el “mensaje original”, de sus archivos fuente respectivamente.

Links

No hay comentarios:

Publicar un comentario