在這篇論文中,我們提出了一個算術電路能同時支援先進加密標準 (AES)與橢圓曲線加密 (ECC)。 這個算術電路主要由一個能支援雙場乘法的乘法器所構成。這個雙場乘法器能做雙場乘法運算,因此能支援雙場橢圓曲線加密。而AES演算法中的線性部分是一般的矩陣運算,類似普通的乘法運算,因此也可用同一個雙場乘法器來實現。乘法器的大小可當成硬體設計的參數,能針對不同應用的處理速度與硬體面積作考量。在我們實現的加解密處理器中,是以高效能為考量重點,故採用128×32的乘法器。而ECC中以字元為基礎的蒙哥瑪利乘法演算法也針對這種非對稱的乘法器做適當修改。因使用了以字元為基礎的蒙哥瑪利乘法演算法,使我們的處理器能處理128到256間任意位元的ECC運算。我們所實現的加解密處理器能支援AES中的電子碼區塊模式(Electronic Code Block mode)以及密文區塊鏈模式(Cipher Block Chaining mode)。同時,處理器也可支援雙場橢圓曲線的加解密運算。在處理器的輸入輸出部分,採用的是常用的進階高速匯流排(Advanced High Speed Bus)協定,能相容於ARM處理器的系統,減少系統整合所需時間。使用標準0.13微米互補式金氧半導體製程(TSMC 0.13 CMOS),我們的設計可達到120MHz的操作頻率。在AES模式時,每秒的資料處理量為分別是1.56Gps,1.3Gps和1.11Gps,當加密金鑰長度是128,192,256位元時。而處理器做一個在質數場下的256-bit純量橢圓曲線點乘法需時2.27微秒;做一個在多項式場下的163-bit純量橢圓曲線點乘法需時1.11微秒。在可測性設計方面,針對記憶體使用內建自我測試電路(Built In Self Test),而邏輯部分則使用全掃瞄測試串(full scan),最後錯誤涵蓋率(fault coverage)達到98.78%。
We propose an arithmetic unit supporting Advanced Encryption Standard (AES) and Elliptic Curve Cryptography (ECC). The arithmetic unit is based on a modified dual-field multiplier. The size of the multiplier is a design parameter for different throughput and area cost trade- offs. Our high-throughput implementation uses the 128x32 multiplier. The word-based Montgomery multiplication is modified for this asymmetric multiplier. The cryptographic processor supports the Electronic Code Block mode (ECB) and Cipher Block Chaining mode (CBC) for AES and Dual-field: GF(p) and GF(2n) for ECC. The operating frequency of the processor is 120 MHz by using TSMC 0.13um CMOS process. The throughput of AES are 1.56Gbps, 1.3Gbps, and 1.11Gbps for key size of 128, 192, 256 bits, respectively. A scalar point multiplication of ECC takes 2.27ms for 256-bit key in GF(p), and 1.11ms for 163-bit key in GF(2n),respectively.