VLSI Design of an Improved Structure of a $GF(2^m)$ Divider

확장성에 유리한 병렬 알고리즘 방식에 기반한 $GF(2^m)$나눗셈기의 VLSI 설계

  • Published : 2005.06.01

Abstract

In this contribution, we developed and improved an existing GF (Galois field) dividing algorithm by suggesting a novel architecture for a finite field divider, which is frequently required for the error correction applications and the security-related applications such as the Reed-Solomon code, elliptic curve encryption/ decryption, is proposed. We utilized the VHDL language to verify the design methodology, and implemented the architecture on an FPGA chip. We suggested the n-bit lookup table method to obtain the throughput of 2m/n cycles, where m is the order of the division polynomial and n is the number of the most significant lookup-bits. By doing this, we extracted the advantages in achieving both high-throughput and less cost of the gate areaon the chip. A pilot FPGA chip was implemented with the case of m=4, n=2. We successfully utilized the Altera's EP20K30ETC144-1 to exhibit the maximum operating clock frequency of 77 MHz.

본 연구에서 제안한 유한체 나눗셈기는 기존에 존재하는 알고리즘을 개선하여 병렬 처리가 가능하도록 개선하였고, 이를 위하여 n bit look-up table 참조 방식을 도입하여 division당 2m/n cycle의 연산 처리량을 가질 때, n의 증가에 따른 회로 면적의 증가, 동작 주파수의 감소가 적어지게 된다. 이에 따라, 높은 연산 처리량과 적은 회로 면적이라는 두 가지 목표를 모두 달성할 수 있는 나눗셈기의 구현이 가능해졌다. 이를 바탕으로, Reed-Solomon Code와 ECC (Elliptic Curve Cryptography) 암호화 알고리즘 등, 통신의 오류 정정 부호 분야와 암호화 분야에서 자주 응용되는 Galois Field에서의 나눗셈 연산을 수행하는 $GF(2^m)$ 나눗셈기를 VHDL을 이용하여 설계하고 FPGA에 구현하여 기능을 검증하였다. 제안된 나눗셈기는 m=4, n=2의 경우에 대해 설계, 검증을 수행하였다. 회로의 구현은 Altera의 10만 게이트 급 FPGA EP20K30ETC144-1 Chip을 이용하여 77Mhz의 최대 동작 주파수상에서의 동작을 검증하였다.

Keywords

References

  1. A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Handbook of Applied Cryptography, CRC press, 1997
  2. M. Rhee, Cryptography and Secure Communications, McGraw-Hill Book Co., 1994
  3. B. Schneier, Applied Cryptography, second edition, John Wiley & Sons, Inc., 1996
  4. G. L. Feng, 'A VLSI Architecture for Fast Inversion in GF($2^m$),' IEEE Trans. Computers, Vol. 38, no. 10, pp. 1383-1386, Oct. 1989 https://doi.org/10.1109/12.35833
  5. D. Hankerson, J. L. Hernandez, and A. Menezes, 'Software Implementation of Elliptic Curve Cryptography over Binary Fields,' Crypto95
  6. G. B. Agnew, R. C. Mullin, and S. A. Vanstone, 'An Implementation of Elliptic Curve Cryptosystems Over F2155,' IEEE Journal on Selected Areas in Communications, Vol. 11, No.5, Jun. 1993
  7. H. Brunner, A. Cruiger, and M. Hofstetter: 'On Computing Multiplicative Inverses in GF($2^m$)', IEEE Transactions on Computers, August 1993, Vol. 42, No.8, pp. 1010-1015 https://doi.org/10.1109/12.238496
  8. Jyh-Huei Guo, Chin-Liang Wang : 'Systolic Array Implementation of Euclid's Algorithm for Inversion and Division in GF($2^m$)', IEEE Transactions on Computers, October 1998, Vol. 47, No. 10, pp.1161-1167 https://doi.org/10.1109/12.729800
  9. Edoardo D. Mastrovito, VLSI Architectures for Computations in Galois Fields, Linkoping Studies in Science and Technology, Dissertations, No.242, 1991
  10. R. P. Brent and H. T. Kung, 'Systolic VLSI arrays for polynomial GCD computation', IEEE Transactions on Computers, August 1984, Vol. C-33, No.8, pp.731-736 https://doi.org/10.1109/TC.1984.5009358