Cifradores simétricos: encriptan y desencriptan la información utilizando la misma clave.
Por ejemplo, digamos que se quiere enviar el texto "gabriel" como mensaje cifrado, utilizando la cadena "0123" como clave.
Caracteres ASCII
|
Hex
|
gabriel (código ASCII tomado de aquí) | 67 61 62 72 69 65 6C |
0123012 (la clave se repite secuencialmente hasta abarcar todos los caracteres que se desean encriptar) |
30 31 32 33 30 31 32 |
Algoritmo de cifrado: OR Exclusivo (Mensaje cifrado) | 57 50 50 41 59 54 5E |
Caracteres ASCII
|
Hex
|
Mensaje cifrado | 57 50 50 41 59 54 5E |
0123012 (la clave se repite secuencialmente hasta abarcar todos los caracteres que se desean encriptar) |
30 31 32 33 30 31 32 |
Algoritmo de descifrado: OR Exclusivo (Mensaje original) | 67 61 62 72 69 65 6C |
Ejemplo 1: Encriptando con RC4 (algoritmo de cifrado simétrico por stream) mediante la API de OpenSSL
a) Envío la cadena de caracteres "HolaMundo" al archivo y lo leo con "cat":
b) Encripto el archivo "mensaje" tomándolo como entrada, y obteniendo "mensaje.enc" como salida (cuando pide la contraseña de encriptación se puede poner cualquier cadena de texto, yo puse "0123"):
c) Compruebo la encriptación del archivo:
d) Desencripto y comparo:
Ejemplo 2: Encriptando con 3DES (algoritmo de cifrado simétrico por bloques, que cifra un cierto mensaje 3 veces utilizando claves aleatorias de 64 bits, razón por la cual es un tanto "lento").
No hay comentarios:
Publicar un comentario