T8: Criptografia
Autor: Miguel Drubetta
Introducion
La encriptación
puede utilizarse para proteger los datos en tránsito así
como los datos. Algunos vendedores
ofrecen dispositivos
de encriptación de hardware que pueden emplearse para encriptar
y desencriptar datos en
conexiones de
punto a punto. Los datos en tránsito hacia una red son vulnerables
a una intercepción. Algunos
sitios prefieren
encriptar todo el archivo como un paso aparte antes de enviarlo. A esto
se lo llama. en ocasiones,
encriptación
de extremo a extremo. La encriptación puede definirse como el proceso
de tomar información que
existe de manera
legible y convertirla en una forma que otros no puedan entender. Si el
receptor de los datos
encriptados
desea leer los datos originales, éste deberá convertirlos
al original mediante un proceso llamado
desencriptación.
La desencriptación
es el proceso inverso de la encriptación. Para realizar la desencriptación,
el receptor debe
poseer una pieza
especial de datos llamada clave. Es necesario guardar y distribuir la clave
con cuidado.
Un proceso de
encriptado es la composición de funciones t donde cada una puede
ser una sustitución o una
permutación.
Shannon propone componer diferentes clases de funciones para crear una
transformación mezcla
(mixing transformation),
las cuales al azar distribuyen los mensajes significativos uniformemente
sobre el conjunto
de todos los
posibles textos del mensaje encriptado. Después puede ser fácilmente
desencriptado aplicando el
orden inverso
y aplicando la inversa de cada sustitución y permutación.
El objetivo es
el de hacer un algoritmo de encriptado tan complicado e intrincado que,
incluso si el criptoanalista
adquiere grandes
cantidades de texto encriptado a su elección, no tenga ninguna posibilidad
de obtener de él
nada con sentido.
Otros prefieren
una encriptación dinámica de los datos en el momento que
llegan a la red, mediante el uso de
máquinas
de encriptación de hardware que crean un enlace seguro. Si todo
el paquete se encripta antes de
enviarlo, como
en el caso de las máquinas de encriptación de hardware, los
enrutadores de protocolo IP que no
entiendan el
paquete encriptado lo rechazarán. Los enrutadores de Internet no
entienden los paquetes encriptados
y los rechazarán.
Si desea utilizar la encriptación en Intemet, deberá encriptar
los datos en un paso separado y
enviarlos al
proceso de aplicación.
La siguiente
es una breve descripción de los métodos DES y RSA de encriptación.
En su política de seguridad de
red, deberá
especificar que técnicas de encriptación se deberán
utilizar.
¿Qué es DES?
DES (Data Encryption
Standard) es un mecanismo de encriptación de datos de uso generalizado.
Hay muchas
implementaciones
de hardware y software de DES. Este transforma la información de
texto llano en datos
encriptados
llamados texto cifrado mediante el uso de un algoritmo especial y valor
semilla llamado clave. Si el
receptor conoce
la clave, podrá utilizarla para convertir el texto cifrado en los
datos originales.Es un mecanismo
de encriptado
simétrico.
DES es un encriptador
compuesto que encripta bloques de 64 bits en bloques de 64 bits, mediante
una clave de
64 bits de los
cuales 8 bits son de paridad.
En el funcionamiento
del algoritmo DES se realizan una sustitución fija, llamada permutación
inicial, de 64 bits en
64 bits y una
serie de transformaciones e intercambios de bits.
DES está basado en la iteración o composición de dos transformaciones:
Sustituciones no lineales viables para bloques de tamaño pequeño.
Permutaciones de bits, transformaciones lineales viables para cualquier tamaño de bloque.
Las sustituciones
no lineales tienen como función es introducir lo que Shannon llamó
confusión, haciendo que
ningún
bit de salida sea una combinación lineal de los bits de entrada
y de la clave.
Las permutaciones
de bits en el DES son implementadas por transformaciones y por rotaciones
de la clave. Su
función
es introducir lo que Shannon llamó difusión, la dispersión
de la dependencia de cada bits de la salida en un
número
mayor de bits de la entrada y de la clave.
Con la idea de
mejorar los criptogramas. resultantes de la aplicación del método
de encriptar DES surgieron
algunas variantes
que se pueden agregar al método DES. Una manera de fortalecer DES,
consiste en incluir
caracteres aleatorios
en el texto claro, de acuerdo con una regla bien definida (por ejemplo,
todos los n-ésimos
caracteres son
reales, y el resto son sólo ruido). Además, mensajes de relleno
pueden insertarse entre los que son
reales, de acuerdo
a otra regla. A este principio se lo conoce como encriptador nulo, el cual
es obviamente, un
desperdicio
de ancho de banda, pero que llega a ser muy difícil de desencriptar,
porque la posición de los
caracteres reales
y de los mensajes se conserva en secreto, y se cambia cuando se modifica
la clave.
¿Qué es RSA?
RSA es un método para realizar encriptado
y autenticación, fue inventado en 1977 por Ron Rivest,Adi Shamir
y
Leonard Adleman.Es un método de encriptado
asimétrico.
El sistema RSA se basa en la teoría
de los números en cuanto a la dificultad de factorizar un número
muy grande que sea
el producto de otros dos números primos
también grandes.
A los números primos se los puede obtener
con facilidad con programas de computación adecuados. Lo que es
importante recalcar es que es mucho más
fácil probar que un número grande es primo que determinar
los números
primos que fueron multiplicados para crear
dicho número.
Los criptógrafos tenían como
un hecho que tanto la clave de encriptado como la de desencriptado tenían
que
mantenerse en secreto. Si alguien llega a
pensar en términos de encriptadores como los de sustitución
monoalfabética, es
obvio que la clave de encriptado por ejemplo
es el cambio de abc en xyz, y la clave correspondiente al desencriptado
es
el cambio de xyz en abc. Diffie y Hellman
propusieron utilizar un algoritmo de encriptado, D, y un algoritmo de
desencriptado C, tales que D y C se seleccionen
de manera que la obtención de C sea imposible aún cuando
se
conozca la descripción completa de
D.
Existen tres requisitos fundamentales:
C(D(P))=P
Es extraordinariamente difícil deducir C a partir de D
D no puede desencriptarse mediante un ataque basado en texto seleccionado.
El primer requisito indica que, si se aplica
C a un mensaje encriptado, D(P), se obtiene de nuevo el mensaje original
P.
En estas condiciones, no hay ninguna razón
por la cual no pueda conocerse públicamente el valor de D. Cualquier
persona u organización que desee recibir
mensajes secretos tendrá que idear primeramente dos algoritmos,
C y D, que
deberán satisfacer los requisitos anteriores.
El encriptador o la clave de encriptado se hace entonces público,
de aquí la
razón de la denominación de
clave pública.
Así, cada usuario tiene una clave pública
y una clave secreta. El conjunto de claves públicas, una para cada
usuario,
puede ser colocado en una lista accesible
para todos los miembros de la red.
Un usuario A que quiera enviar un mensaje M
a otro usuario B procede de la siguiente manera: A consulta a la lista
de
claves públicas para determinar la
clave pública PB (de encriptado) de B, y la usa para encriptar el
mensaje M,
obteniendo el texto encriptado PB (M). El
usuario B al recibir el texto encriptado PB (M) de A, lo desencripta usando
la clave secreta SB, obteniendo M=SB(PB(M))
Por lo tanto, todos los usuarios encriptan mensajes destinados a B
usando la misma clave pública PB, pero
solamente B tiene en secreto SB.
Este método basa su seguridad en la
intratabilidad de la factorización de los números primos
y trabaja de la siguiente
manera:
Dados dos primos grandes p y q se obtiene su producto n=pq, n es llamado módulo.
Se elige un número e menor que n de tal forma que entre e y (p-1)(q-1) no tengan factores en común exepto 1.
Encontrar otro número d tal que (ed-1) sea divisible por (p-1)(q-1).
Los
valores e y d son llamados exponentes públicos y privados, la clave
pública está formada por el par (n,e) y
la clave privada
por el par (n,d).
Extraido do site: http://penta.ufrgs.br/gereseg/unlp/t08home.htm - jul/99