Abstract
RSA cryptoprocessors 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, a fast 32bit modular multiplier which is required to execute 128-bit MAC (multiplication and accumulation) operation is proposed. The proposed architecture prototype of the multiplier unit was automatically synthesized, and successfully operated at the frequency in the target RSA processor.
1024비트 이상의 고비도 RSA 프로세서에서는 몽고메리 알고리즘을 효율적으로 처리하기 위하여 전체 키 스트림을 정해진 블록 단위로 처리한다. 본 논문에서는 기본 워드를 128비트로 하고 곱셈 결과의 누적기로는 256비트의 레지스터를 사용하는 타겟 RSA 프로세서에서, 128 비트 곱셈을 효율적으로 수행하기 위하여 실험을 통하여 최적화한 32비트 *32비트 곱셈기를 설계하고 검증하였다. 본 논문에서 설계한 곱셈기는 128비트 곱셈에 필요한 누적곱셈을 효율적으로 구현하는 데 필수적인 연산모듈이 된다. 구현된 곱셈기는 자동으로 합성 하였고, 기준이 되는 RSA 프로세서의 동작 주파수에서 정상적으로 동작하였다.