Implementation of high speed MD5 processor using CSA

CSA를 사용한 고속 MD5 프로세서 구현

  • Yoon, Hee-Jin (Dept. of Electronic Communication Engineering, Kwangwoon University) ;
  • Jeong, Yong-Jin (Dept. of Electronic Communication Engineering, Kwangwoon University)
  • 윤희진 (광운대학교 전자통신공학과) ;
  • 정용진 (광운대학교 전자통신공학과)
  • Published : 2002.04.12

Abstract

본 논문에서는 해쉬 함수를 바탕으로 한 메시지 인증 코드 중의 하나인 MD5 를 하드웨어로 설계하였다. MD5 는 block-chained digest 알고리즘으로 64 단계의 동일한 단계 연산 구조를 가지므로 가장 기본적인 연산 한 단계를 구현하여 반복적으로 수행하는 구조로 설계하였다. 단계 연산구조 내에서는 연속된 32bit 덧셈 연산이 이루어지는데 기존의 CLA(carry-lookahead-adder)만을 사용하여 구현한 구조 대신 본 논문에서는 CSA(carry-save-adder)와 CLA 를 혼용하였다. 덧셈연산의 결과는 순서와 상관없기 때문에 연산자의 덧셈 순서를 리스케줄링 하였으며, 이는 기존의 CLA 만을 이용한 방법과 비교하여 최장지연 경로를 15% 줄여 훨씬 빠르게 연산을 수행하고, 전체 면적도 30%를 줄일 수 있었다. 결과적으로 본 논문에서 제안하는 구조는 지금까지 나온 어떤 MD5 프로세서 보다 작고 빠른 프로세서를 구현 할 수 있을 것으로 판단된다.

Keywords