PROTEJA SUS DATOS UTILIZANDO CRIPTOGRAFIA

  


La criptografía es una técnica para proteger datos confidenciales de posibles intrusos, y fue muy utilizada durante la segunda guerra mundial para enviar y recibir mensajes secretos sin que el enemigo los descubra.

Existen tres tipos de sistemas para proteger los datos: los sistemas de encubrimiento, sistemas privados y sistemas secretos. Los sistemas de encubrimiento incluyen métodos tales como tinta indeleble y ocultamiento de mensajes en textos inocentes. Los sistemas privados son por ejemplo la inversión de discursos en los cuales es necesario un equipo especial para recuperar el mensaje. Los sistemas secretos son aquellos en los que el significado de un mensaje es ocultado por cifrado aunque su existencia no es escondida, pues supone que el enemigo dispone del equipo para interceptar y registrar las señales transmitidas.

Este último tipo de sistemas considera también la protección de bases de datos que suponemos están o pueden estar al alcance de personas no autorizadas para acceder a dicha información. Un ejemplo muy típico es la tabla asociada con los usuarios de un sistema que contiene las claves de acceso, pues no tiene sentido restringir el ingreso con una clave, la que puede ser encontrada en dicha tabla con un esfuerzo mínimo, surge entonces la necesidad de proteger estos datos utilizando algún método de cifrado.

CIFRADO DE MENSAJES:

El tratamiento de cifrado está limitado a mensajes (cadenas) que consiste en una secuencia de símbolos discretos, cada uno elegido de un conjunto finito y de acuerdo a un conjunto de probabilidades.

Un cifrado es una función que depende de una clave y de un mensaje:

Cifrado = f ( Mensaje,Clave )

Pero en vez de considerar el cifrado como función de dos variables es mejor considerarlo como un conjunto de transformaciones:

Cifrado = T Mensaje,Clave T = Transformaciones

En el receptor es necesario regenerar el mensaje, conociendo el cifrado y la clave, es decir la transformación debe ser reversible

Mensaje = T-1 Cifrado,Clave

En el cifrado no es necesario mantener en secreto el método de transformación, sino la clave.

METODOS DE CIFRADO

(a) Simple Sustitución.

En este tipo de cifrado cada símbolo del mensaje es reemplazado por un sustituto fijo.

Por ejemplo:

Se tiene la siguiente tabla de sustitución:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
X E A O P I T U R W Z F B K H L S V M D Y N Q C J G

Mensaje: LAGO
Cifrado: FXTH


(b) Sustitución con Clave.

Consiste en definir una clave, la que se escribe repetidamente debajo del mensaje, sumándose ordinalmente ambas informaciones en modulo 'q', siendo 'q' el numero de símbolos del alfabeto, por otra parte se construye una tabla con los símbolos del alfabeto numerándolos en un orden arbitrario, se busca en la tabla la letra cuyo número coincida con el buscado, formándose el cifrado.

Ejemplo:
Mensaje: TECLA Clave = PAR

Asociando un valor a cada letra se obtiene la siguiente tabla letra/ordinal:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Aplicando el método:

Mensaje: TECLA 19 4 2 11 0
Clave: PARPA 15 0 17 15 0
Suma Ordinal: 34 4 19 26 0

Modulo 26: 8 4 19 0 0
Cifrado: IETAA

Para decifrar se debe conocer el cifrado y la clave, siguiéndose los siguientes pasos:

n Buscar en la tabla el valor ordinal que corresponde a cada letra del cifrado.
n Restar los valores de la tabla que correspondan a cada letra de la clave.
n Si el resultado es negativo sumar el valor de q=26.
n Buscar en la tabla la letra que corresponde a dicho valor, formándose el mensaje.

(c) Sustitución con constante.

Consiste en sustituir cada letra del mensaje con la letra ubicada a ´c´ posiciones más adelante de la posición que ocupa en la tabla del método (b). Si la ubicación de la letra del cifrado sobrepasa a 'q'-1, obtener el modulo entre 'q' de dicho valor.

Ejemplo:
Mensaje = TECLADO Constante = 10

Aplicando el método:

Mensaje: T E C L A D O
19 4 2 11 0 3 14
Constante: 10 10 10 10 10 10 10
Suma: 29 14 12 21 10 13 14
Modulo 26 3 14 12 21 10 13 14

Cifrado: D 0 M V K N O

(d) Sustitución con autoclave.

Se debe construir una tabla con lo símbolos del alfabeto al igual que el método (b), se elige una clave que se escribe debajo del mensaje solo una vez, seguidamente no se repite la clave sino que se continua con el mismo mensaje, se suman ordinalmente ambas informaciones en modulo 'q', y se busca en la tabla la letra asociada a la suma, formándose el cifrado.

Mensaje: CARCEL Clave: PAN

Aplicando el método:

Mensaje: CARCEL 2 0 17 2 4 11
Clave: PANCAR 15 0 13 2 0 17
Suma: 17 0 30 4 4 28
Modulo 26 17 0 4 4 4 2

Cifrado: RAEEEC

Implementación en FoxPro

A continuación se presenta el código del método (c) por sustitución con constante, limitado a letras mayúsculas.

******************* Método por sustitución constante para cifrar un mensaje *****************
FUNCTION Encriptar
PARAMETERS pMensaje, pConstante
PRIVATE wCifrado,PosLetra,k

wCifrado = ""
FOR k=1 TO LEN(pMensaje)
PosLetra= (ASC(SUBSTR(pMensaje,k,1)) - 65 + pConstante) % 26
wCifrado=wCidfrado+CHR(PosLetra + 65)
NEXT
RETURN wCifrado

************* Método por sustitución constante para obtener el mensaje de un cifrado ************
FUNCTION Desencriptar
PARAMETERS pCifrado,pConstante
PRIVATE wMensaje,PosLetra,k

wMensaje=""
FOR k=1 TO LEN(pCifrado)
PosLetra= ASC(SUBSTR(pCifrado,k,1)) - 65 - pConstante
PosLetra=IIF(PosLetra<0,PosLetra+26,PosLetra)
wMensaje=wMensaje+CHR(PosLetra + 65)
NEXT
RETURN wMensaje

Hosted by www.Geocities.ws

1