Proceedings of the Korean Institute of Information and Commucation Sciences Conference (한국정보통신학회:학술대회논문집)
- 2007.06a
- /
- Pages.778-781
- /
- 2007
An Efficient MAC Unit for High-Security RSA Cryptoprocessors
고비도 RSA 프로세서에 적용 가능한 효율적인 누적곱셈 연산기
- Moon, San-Gook (Mokwon University, School of Information-Electronics-Image Engineering)
- 문상국 (목원대학교 정보전자영상공학부)
- Published : 2007.06.01
Abstract
RSA crypto-processors equipped with more than 1024 bits of key space handle the entire key stream in units of blocks. The RSA processor which will be the target design in this paper defines the length of the basic word as 128 bits, and uses an 256-bits register as the accumulator. For efficient execution of 128-bit multiplication, 32b*32b multiplier was designed and adopted and the results are stored in 8 separate 128-bit registers according to the status flag. In this paper, an efficient method to execute 128-bit MAC (multiplication and accumulation) operation is proposed. The suggested method pre-analyze the all possible cases so that the MAC unit can remove unnecessary calculations to speed up the execution. The proposed architecture protype of the MAC unit was automatically synthesized, and successfully operated at 20MHz, which will be the operation frequency in the target RSA processor.
1024비트 이상의 고비도 RSA 프로세서에서는 몽고메리 알고리즘을 효율적으로 처리하기 위하여 전체 키 스트림을 정해진 블록 단위로 처리한다. 본 논문에서 기본으로 하는 RSA 프로세서는 기본 워드를 128비트로 하고 곱셈 결과의 누적기로는 256비트의 레지스터를 사용한다. 128 비트 곱셈을 효율적으로 수행하기 위하여 32비트 * 32비트 곱셈기를 사용하며 각 연산 결과는 128비트 크기의 8개 레지스터에 필요에 따라 저장되어 몽고메리 알고리즘을 수행하는데 사용된다. 본 논문에서는 128 비트 곱셈에 필요한 누적곱셈 (MAC; multiply-and-aCcumultaion)을 효율적으로 계산하기 위하여 모든 연산 단계를 미리 분석하여 불필요한 연산단계를 수행하지 않고 곱셈 횟수를 줄여 효율적인 누적곱셈 연산기를 구현하였다. 구현된 누적곱셈 연산기는 자동으로 합성하였고, 본 논문 작성에서 기준이 되는 RSA 프로세서의 동작 주파수인 20MHz에서 정상적으로 동작하였다.