Está en la página 1de 4

DESARROLLO DE UN CIFRADOR SIMETRICO

Resumen

En la actualidad, la proliferación de poderosos computadores es considerada como un arma de
doble filo. Así como nosotros podemos realizar operaciones con una mayor rapidez, también
aquellos llamados «intrusos» lo pueden hacer y de esta manera violar medidas de seguridad
implantadas. La criptografía se preocupa de que esto no ocurra; para ello intenta codificar los
datos de tal manera que éstos se vean totalmente incomprensibles. La idea es que si el «intruso»
llega a los datos violando su protección no pueda descubrir su significado real (Mancilla, 2002).

Hasta ahora se han desarrollado muchos cifradores, y para nadie es un secreto que los ataques
contra ellos hacen parte de su evolución. La propuesta de esta investigación es proporcionar una
primitiva de seguridad más confiable, teniendo en cuenta que la seguridad de los sistemas deberá
residir en el secreto de una clave y no en las funciones de cifra.

Palabras clave: Cifrador, Simétrico, Clave, Confidencialidad, Integridad.


DEVELOPMENT OF A SYMMETRIC CIPHER

Omar Andrés Trujillo Santamaría, Oscar Sotto
& Jimmy Alexander Leon
Abstract

Today, the proliferation of powerful computers is considered as a double-edged sword. Just as we
can make transactions faster, even those called "outsiders" can do and thus violating security
measures implemented. Cryptography is concerned that this does not happen; it tries to encode
the data so that the device is completely incomprehensible. The idea is that if the "intruder"
comes to data protection violation cannot discover its real meaning (Mancilla, 2002).

So far we have developed many ciphers, and it is no secret that the attacks against them are part
of its evolution. The proposal of this research is to provide a more reliable security primitive,
considering that security systems must reside on a secret key and functions not figure.

Key words: Encryption, Symmetric, Clave, Confidentiality, Integrity.


Estudiante, Omar Andrés Trujillo Santamaría, Florencia (Caquetá), andresay041@hotmail.com.
Estudiante, Oscar Sotto, Florencia (Caquetá), oscar_sotto@hotmail.com. Docente, Jimmy
Alexander Leon, Florencia (Caquetá), jimmyalexanderleon@yahoo.com






Introducción

El cifrado simétrico es la técnica más
antigua y más conocida de codificación,
consiste en una clave secreta, que puede ser
un número, una palabra o una simple cadena
de letras aleatorias, que se aplica al texto de
un mensaje para cambiar el contenido de una
manera determinada. Esto puede ser tan
simple como cambiar cada letra por un
número de lugares en el alfabeto. De esta
manera, siempre y cuando el remitente y el
destinatario conozcan la clave secreta,
pueden cifrar y descifrar todos los mensajes
que utilizan esta clave.

Así, cualquier mensaje (documentos,
archivos binarios o texto) que se cifran
mediante la clave pública sólo pueden
descifrarse aplicando el mismo algoritmo.
No obstante, si alguien diferente al emisor y
receptor conoce la clave puede descifrar el
mensaje.

Según (Calle,1997) entre los algoritmos
para cifrado simétrico (clave pública)
encontramos el DES (Data Encryption
Standar) y SKIPJACK, son un método
aprobado por el National Institute of
Standard and Technology (NIST), el
American National Standards Institute
(ANSI) y por la Internacional Standards
Organization (ISO)

El algoritmo DES emplea una clave de 56
bits y opera sobre bloques de datos de 64
bits. El tamaño efectivo de la clave DES
puede aumentarse mediante cifrado. El
proceso de cifrado consisten en hacer
primeramente una permutación con los bit de
texto claro, después realizar dieciséis
procesos sucesivos de computación
dependientes de una clave, y finalmente,
realizar otra permutación que es la que
produce el texto cifrado(Stallings, w).

Actualmente, el creciente uso de Internet, ha
dirigido la atención hacia un problema
crucial: la privacidad. Para que tenga lugar
una negociación en Internet, se precisa, en la
mayoría de los casos, que cada entidad
participante pueda contar con una manera
eficaz de verificar la identidad de las otras y
establecer un nivel de confianza. Es
necesario, por tanto, crear un entorno que
garantice la autenticidad y seguridad de las
transacciones que tienen lugar en este
proceso (Martorell, 2006).

En el presente trabajo de investigación se
desarrolló un algoritmo digital para realizar
encriptamiento. En el algoritmo
criptográfico implementado se utiliza una
sola llave privada cifrada mediante el
algoritmo MD5, esta llave es necesaria para
una correcta desencriptación proporcionando
una confiabilidad a la transferencia de datos
por medio de las redes de transmisión.


Materiales y métodos:

La aplicación se desarrolló en el entorno
integrado libre, NetBeans IDE 8.0, y se
programó en Java. Para obtener la
información en el proceso de la
investigación, se utilizó material
bibliográfico físico y electrónico, equipos de
cómputo (portátiles), impresora, servicio de
internet y programas del paquete Microsoft
Office Professional Plus 2010 (Microsoft
Word, Excel) para la escritura y creación del
artículo de investigación.

De acuerdo a lo anterior, el primer paso fue
realizar la definición del objetivo, en este
momento respondimos a la pregunta ¿qué se
desea investigar y con qué propósito?, el
¿qué y el para qué? Pues de esto dependerá
en gran parte los siguientes pasos a seguir.

El segundo paso, fue analizar el proceso de
cifrado de los algoritmos simétricos más
utilizados, con el fin de identificar su
funcionamiento.

Finalmente, se determinó la metodología a
utilizar para el desarrollo del algoritmo de
cifrado a implementar en la aplicación.


Resultados y discusión:

En coherencia con el objetivo propuesto y la
perspectiva metodológica asumida en la
investigación, a continuación se presentan
los resultados obtenidos a partir proceso
desarrollado.

Para garantizar la integridad y
confidencialidad de la clave privada,
adoptamos el proceso de codificación
utilizado por el algoritmo MD5 para
encriptar la clave, el cual codifica bloques de
datos y claves de 32 bits que se representada
típicamente como un número de 32 dígitos
hexadecimal.

De esta forma, el primer paso es cifrar la
clave privada con un número equivalente a
32 dígitos generado de forma aleatorio por la
función MD5, luego se captura el texto
(mensaje) digitado por el emisor y se inicia a
cifrar cada letra de este mensaje.

Para asegurar la confidencialidad del cifrado,
generamos un diccionario de datos de forma
aleatoria para cada letra del abecedario y
símbolos más utilizados, de esta forma, solo
el algoritmo conoce la codificación asignada
a cada letra u símbolo. (Ver imagen 1)


Imagen 1: Diccionario de datos

Como el proceso de cifrado consiste en
encriptar por bloques de 32 dígitos, entonces
el algoritmo mediante la función
SumaHash(), recibe dos parámetros, la clave
cifrada y la letra o símbolo codificado, y
procede a realizar una suma carácter a
carácter. Básicamente lo que hace es tomar
la primer letra codificada y buscar su valor
en la tabla ASCII, y el resultado de esa suma
es un número entero, entonces se busca ese
valor en la tabla ASCII y finalmente es
codificado de acuerdo al valor
correspondiente en el diccionario de datos
generado por el algoritmo.

De esta forma, si modifico un carácter de los
32 que corresponden a la clave privada,
todas las sumas para encriptar el texto se
afectan y por tanto, todo el bloque de texto
se daña y genera un error al decodificarlo.

Para el proceso de descifrado es el proceso
inverso al anterior, en esta se restan el valor
de la clave a cada letra o símbolo para
obtener el valor original.

Una ventaja del algoritmo de codificación es
que al cifrar en bloques, es imposible
introducir bloques extraños sin detectarlos,
pero es propenso a errores de cifra, pues un
error en un carácter de la clave privada se
propagará en todo el bloque del mensaje,
generando que el receptor no reciba el
mensaje.

Literatura Citada

Mancilla, A. (2002). Análisis de un cifrador
simétrico. Ingeniería y Desarrollo.
Universidad del Norte. Volumen 12:108-
117.

Martorell, S., & Gutiérrez, L. (2006).
PROTOCOLO DE SEGURIDAD SSL.
(Spanish). Ingeniería Industrial, 27(2/3), 57-
62.

Microsoft, 2014. Cifrado Simétrico.
Consultada 12 de mayo de 2014. Disponible
en:
http://support.microsoft.com/kb/246071/es


Calle, J. 1997. Reingeniería y Seguridad en
el Ciberespacio. Disponible en el
Ciberespacio. Edito rial: Días Santos S.A.
Madrid España, Disponible en:
http://books.google.com.co/books?id=qB3P2
GuD3EsC&pg=PA48&dq=cifrado+simetric
o&hl=es-
419&sa=X&ei=x4l1U8fjNMKMqgbvyoLY
BQ&ved=0CDIQ6AEwAQ#v=onepage&q=
cifrado%20simetrico&f=false


Stallings, W. 2004. Fundamentos de
Seguridad en Redes. Aplicaciones y
Esntandares. Editorial Pearson. Madrid,
España. Disponible en:
http://books.google.com.co/books?id=cjsHV
SwbHwoC&pg=PA52&dq=cifrado+DES&h
l=es-419&sa=X&ei=9JB1U-
HNOpSMqAb75IGYCg&ved=0CDwQ6AE
wAA#v=onepage&q=cifrado%20DES&f=fa
lse