Encriptación de datos
La encriptación es el proceso para volver ilegible información considera importante. La
información una vez encriptada sólo puede leerse aplicándole una clave. Se trata de
una medida de seguridad que es usada para almacenar o transferir información
delicada que no debería ser accesible a terceros. Pueden ser contraseñas, numeros.
de tarjetas de crédito, conversaciones privadas, etc.
Para encriptar información se utilizan complejas fórmulas matemáticas y para
desencriptar, se debe usar una clave como parámetro para esas fórmulas.
Aclaración: encriptación vs. Cifrado
Se prefiere el uso de la palabra "cifrado" en lugar de "encriptación", debido a que esta
última es una mala traducción del inglés encrypt.
Metodos y técnicas de encriptación de datos
1. Clave secreta (simétrica)
Utiliza una clave para la encriptación y desencriptación del mensaje. Esta clave se
debe intercambiar entre los equipos por medio de un canal seguro. Ambos
extremos deben tener la misma clave para cumplir con le proceso
DES
DES (Data Encryption Standard) es un mecanismo de encriptación de datos de
uso generalizado. 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.
Ejemplo:
Si encriptamos el texto "8787878787878787", con la llave DES
"0E329232EA6D0D73".
Obtendremos el texto codificado "0000000000000000". El proceso inverso
(desencriptamiento) con la misma llave nos da como resultado el texto original:
"8787878787878787".
AES
AES trabaja en el cuerpo F256. Se trabaja a nivel de byte para reflejar los
coeficientes de los polinomios.Tiene sus propias operaciones aritméticas:
o Suma (es la suma exclusiva bit a bit)
o Multiplicación
El tamaño de la clave y del bloque de datos puede ser de 128, 192 y 256 bits.
En la fase de SubBytes, cada byte en el
state es reemplazado con su entrada en
una tabla de búsqueda fija de 8
bits, S; bij = S(aij).
En el paso ShiftRows, los bytes en cada
fila del state son rotados de manera
cíclica hacia la izquierda. El número de
lugares que cada byte es rotado difiere
para cada fila.
En el paso MixColumns, cada columna
del state es multiplicada por un
polinomio constante c(x).
En el paso AddRoundKey, cada
byte del state se combina con un
byte de la subclave usando la
operación XOR .
2. Clave pública (asimétrica)
También llamada asimétrica, se basa en el uso de dos claves diferentes, claves
que poseen una propiedad fundamental: una clave puede desencriptar lo que la
otra ha encriptado.Una de las claves de la pareja, llamada clave privada, es
usada por el propietario para encriptar los mensajes, mientras que la otra,
llamada clave pública, es usada para desencriptar el mensaje.
Diffie-Hellman
Este algoritmo de encriptación de Whitfield Diffie y Martin Hellman fue el punto
de partida para los sistema asimétricos, basados en claves pública y la privada.
Su importancia se debe sobre todo al hecho de ser el inicio de los sistemas
asimétricos, ya que en la práctica sólo es válido para el intercambio de claves
simétricas, y con esta funcionalidad es muy usado en los diferentes sistemas
seguros implementados en Internet, como SSL (Secure Socket Layer) y VPN
(Virtual Private Network).
Matemáticamente se basa en las potencias de los números y en la función mod
(módulo discreto). Uniendo estos dos conceptos se define la potencia discreta
de un número como Y = Xa mod q. Si bien el cálculo de potencias discretas es
fácil, la obtención de su función inversa, el logaritmo discreto, no tiene una
solución analítica para números grandes.
RSA
En los sistemas tradicionales de cifrado debe comunicarse una clave entre el
emisor y el receptor del mensaje, el problema aquí es encontrar un canal
seguro para transmitir dicha clave. Este problema viene a resolverse en los
sistemas de clave pública la clave de cifrado, pues un tiempo enormemente de
ordenador es necesario para encontrar una transformación de descifrado a
partir de la de cifrado.
Ejemplo:
p=3, q=5(Se eligen dos numeros primos)
n=15(se calcula el producto,es la clave publica)
(n)=(3-1)x(5-1)=8
Sea e = 3, entonces d = 3, ya que:
e x d mod 8= 3x3 mod 8=9 mod 8=1
La clave publica es (n,e)=(15,3)
Sea el mensaje m=2
El mensaje cifrado es:
c=m^e mod n,
c=2^3 mod 15,
c=8
Se envia 8.
3. Otros algoritmos
Gronsfeld
Este método utiliza más de un alfabeto cifrado para poner en clave el mensaje
y que se cambia de uno a otro según se pasa de una letra del texto en claro a
otra.
Es decir que deben tenerse un conjunto de alfabetos cifrados y una forma de
hacer corresponder cada letra del texto original con uno de ellos.
Chaffing & Winnowing
Esta técnica propuesta por Donald Rivest. Es más un intento de esquivar las
restricciones a la criptografía en EE.UU. (y otros países) que una propuesta
razonable debido al tamaño de los mensajes resultantes.
El término inglés “winnowing” se tomará como aventar es decir separar el
grano de la paja y el término “chaffing” por el castellano empajar (cubrir o
rellenar con paja). La idea básica consiste en mezclar la información real
(grano) con otra de relleno (paja) de modo que sea imposible separarlas
excepto para el destinatario.
SKIPJACK
Este algoritmo fue descalificado por el gobierno de Estados Unidos. Algunos
detalles sobre el algoritmo en sí y sus aplicaciones en la práctica a los chips
Clipper y Capstone.Skipjack fue desarrollado por la NSA inicialmente para los
chips Clipper y Capstone. Su diseño comenzó en 1985 y se completó su
evaluación en 1990.
BÍFIDO
El método Bífido es un cifrado fraccionario. Es decir que cada letra viene
representada por una o más letras o símbolos, y donde se trabaja con estos
símbolos más que con las letras mismas.
WLBYKYAAOTB
Este método altera la frecuencia de los caracteres a diferencia de lo que ocurre
por ejemplo con los cifrados monoalfabéticos. Admite algunas variaciones
como por ejemplo dividir la lista en 3,4,..., n partes.
Cifrado exponencial
Es un sistema basado en la exponenciación modular, debido Pohlig y Hellman
(1978). Este método es resistente al criptoanálisis.
Blowfish
Este algoritmo realiza un cifrado simple en 16 ciclos, con un tamaño de bloque
de 64 bytes para un total de 448 bits. Aunque hay una fase compleja de la
inicialización. El cifrado de datos es muy eficiente en los microprocesadores
grandes.