摘要

Inversions in small finite fields are playing a key role in many areas. We present techniques to exploit binary trees for fast inversions in GF(2n) and GF(p), where n is a positive integer and p is a prime number. The non-pipelined versions of our design in GF(2n) and GF(p) have the execution time of (n -1)(TAND + TXOR) and [log2 p] (TAND + TXOR), where TAND and TXOR are delays of AND and XOR gates, respectively. The pipelined version of our design has a throughput rate of one result per TAND (or TXOR). The latency is the greater value between TAND and TXOR. In other words, the time complexities of non-pipelined and pipelined versions are O(n)(or O(log2p)) and O(1), respectively. Experimental results and comparisons show that our design provides significant reductions in both the execution time and time-area product, e. g. the execution time of inversion in GF(212) is reduced by 73% and time-area product of inversion in GF(26) is reduced by 77%.