Hardware implementation of MD5 algorithm in FPGAs using compositional microprogram control unit

Abstract

W artykule przedstawiona została koncepcja implementacji sprzętowej algorytmu MD5 z wykorzystaniem mikroprogramowanego układu sterującego. Cechą charakterystyczną rozwiązania jest wykorzystanie osadzonych bloków pamięci do realizacji układu sterującego. Przedstawione rozwiązanie jest przeznaczone przede wszystkim do realizacji w układach FPGA. W artykule przedstawione zostały wyniki syntezy kilku wybranych struktur układów mikroprogramowanych. Otrzymane wyniki zostały porównane do typowej realizacji w postaci automatu Moore'a.The paper presents an example of application of Compositional Microprogram Control Unit (CMCU) to hardware implementation of MD5 algorithm. The MD5 algorithm is a widely used hash function with a 128-bit hash value. MD5 is used in many security applications, for example to hash passwords in FreeBSD operating system [14]. MD5 is also commonly used to check the integrity of files. MD5 was designed by Ron Rivest in 1991 [10]. Other similar algorithms are SHA [7] and RIPEMD [6]. The hardware implementation of MD5 in FPGAs is usually based on embedded memory blocks (EMB) because the algorithm uses a lot of constants during calculations [8]. In the paper the authors present an alternative solution in which constants are generated by CMCU (Fig. 3) circuit. The CMCU is also based on EMB. It can generate constants for MD5 and also signals for other tasks. The research results show that CMCU requires less hardware amount when compared to traditional Moore FSM (Tab. 1). The results were obtained using Xilinx ISE 12.1 and Xilinx Spartan-3 (xc3s50-5pq208) [13]. The models of control units were generated by the authors' software

    Similar works