|
|
Instituto de Ingeniería Eléctrica – Facultad de Ingeniería Universidad de la República Oriental del Uruguay |
|
Implementación de un bloque DES
Proyecto del curso
Diseño De Circuitos Digitales Utilizando
Dispositivos Lógicos Programables
Docentes :
Ing. Julio Pérez Acle
Ing. Juan Pablo Oliver
Ing. Oscar de Oliveira
Ing. Jorge Myszne
Proyecto presentado por :
|
Objetivo |
|
|
|
El fin de este proyecto consistió en implementar en hardware el algoritmo de encriptación DES (Data Encryption Standard) descripto en el estándar FIPS PUB 46, y adoptado por el gobierno de los Estados Unidos en 1977. Este algoritmo encripta palabras de 64 bits a partir de una llave de 56 bits. El dato encriptado también tiene 64 bits. |
|
Implementación |
|
|
|
Se diseñó un dispositivo encriptador que, tomando la palabra a cifrar y la llave desde memorias ROM donde fueron previamente grabadas, permite al cabo de 16 períodos de reloj obtener el dato encriptado, el que puede ser visualizado de a bytes, comenzando por el byte bajo, desde dos display de 7 segmentos, en notación hexadecimal. Una señal de reset, activa por nivel alto, permite indicar al dispositivo que comience el proceso. Del mismo modo, se implementó un dispositivo desencriptador que tomando también la llave y, en este caso, la palabra encriptada, devuelve luego de 16 períodos de reloj el dato original. También este dato de salida se puede visualizar de a bytes en dos display de 7 segmentos en notación hexadecimal. El funcionamiento correcto de ambos dispositivos fue testeado a partir de programas de software que implementan el mismo algoritmo. |
|
Diseño |
|
|
|
Para construir en hardware el trabajo diseñado, se utilizó el programa MAX + Plus II de Altera, que permite diseñar un circuito lógico y programarlo en alguno de sus chips admisibles. En este caso se utilizó el chip FLEX10K20RC240-4 de la familia FLEX10K de Altera, por ser el único de los disponibles que permite utilizar memoria, la que es necesaria para grabar la llave y el dato a encriptar o desencriptar. De la programación surge que el 95% del chip seleccionado queda ocupado por cualquiera de los dos proyectos, el encriptador o el desencriptador. |
|
Comentarios |
|
|
|
Una de las dificultades principales del proyecto fue la de encontrar un balance entre el espacio que ocupa en el chip y el tiempo que demora en obtener el dato de salida. La solución a la que se llegó -95% del chip y 16 períodos de reloj- puede, dependiendo de la aplicación que se desee construir a partir del encriptador o del desencriptador, ser mejorada en lo que refiere al espacio que ocupa, pero no en lo que respecta al tiempo que demora. Una posible aplicación del proyecto puede ser la construcción de un sistema en hardware capaz de descifrar contraseñas de Unix, cuyo proceso de encriptado se basa en DES. |
|
Enlaces de referencia |
|
|
|