記 錄 8448 編 號 狀 G0494505305 態 助 教 建檔完成 查 核 索 書 查核完成 號 學 校 輔仁大學 名 稱 系 所 電子工程學系 名 稱 舊 系 所 名 稱 學 494505305 號 研 究 林彥宏 生 (中 ) 研 究 Yen Hung Lin 生 (英 ) 論 文 一個具有變動的完成時間之同步乘模運算電路 名 稱 (中 ) 論 文 名 A Synchronous Modular Multiplier with Variable Latency Design 稱 (英 ) 其 他 題 名 指 導 教 林寬仁 授 (中 ) 指 導 教 Kuan Jen Lin 授 (英 ) 校 內 全 文 2008.8.11 開 放 日 期 校 外 全 文 2008.8.11 開 放 日 期 全 文 不 開 放 理 由 電 子 全 文 同意 送 交 國 圖. 國 圖 全 文 2008.8.11 開 放 日 期. 檔 案 封面 摘要(中) 摘要(英) 誌謝 目次 內文 參考文獻 說 明 電 子 01 02 03 04 05 06 07 全 文 學 位 碩士 類 別 畢 業 96 學 年 度 出 版 97 年 語 文 英文 別 關 鍵 乘模運算 SRT 演算法 除法 字 (中 ) 關 鍵 modular multiplication SRT algorithm division 字 (英 ) 乘模 (modular multiplication) 運算在加密系統和餘數算術系統都有極為重要 摘 的應用。這篇論文實作了一個具有變動的完成時間之同步乘模運算電路, 其中完成時間係依據運算元數值而定。而模運算是利用 radix-2 SRT 除法演 要 算求得餘數。但是其判斷商數之函數,我們則為了電路面積與速度而在不 (中 同運算步驟中有所調整。我們在 TSMC 0.18um 製程環境下,成功合成與驗 ) 證了此一設計。其實驗結果與固定運算完成時間之設計相比,明顯可降低 大量運算時間,而只增加了之 8%電路面積。 Modular multiplication is a very important arithmetic operation in cryptography systems and residue-based computation. This paper presents a synchronous modular 摘 multiplier that has variable computation latency depending on operand values. The 要 modular reduction operation is based on SRT radix-2 division. However, the quotient (英 selection function in certain stages is adapted for reducing delay and area. The ) proposed variable latency design was synthesized and verified with TSMC 0.18um technology. It can achieve significant computation time reduction compared to a fixed-latency design, while needing only 8% larger area. 論 文 目 次 Abstract (in Chinese) ………………………………………………………………i Abstract …………………………………………………………………ii Acknowledgement ………………………………………………………………… …iii Contents …………………………………………………………………iv List of Tables …………………………………………………………………… vi List of Figures ………………………………………………………vii 1 Introduction ………………………………………………………………………1 1.1 Modular Multiplication in Cryptographic Application ………………1 1.1.1 Cryptographic Systems …………………………………………1 1.1.2 Residue Number System ………………………………………………4 1.2 Purpose of This Thesis …………………………………………………4 1.3 Organization …………………………………………………6 2 Modular multiplications …………………………7 2.1 Division After Multiplication versus Division During Multiplication ………7 2.1.1 Division During Multiplication .......................................7 2.1.2 Division After Multiplication ....................................9 2.2 Direct Method versus Montgomery Method ………………………………11 2.2.1 Direct Method …………………………………………………………12 2.2.2 Montgomery Method ………………………………………13 2.3 Modular Addition …………………………………………14 2.4 Pre-calculate H 2n mod D …………………………………………………15 2.5 Redundant Representation ………………………………………………17 2.6 Division ………………………………………………19 2.7 Array Design …………………………………………21 3 Synchronous Variable Latency Design ………22 3.1 SRT Division in Carry-Save Representation ………………………………22 3.2 Fixed Latency Design …………………………………………………24 3.3 Adapting the Quotient Selection Function ………………………………25 3.4 Selective Bypassing ………………………………………………………………………… …26 3.5 Overlapping Quotient Selection ……………………………………………27 3.6 Control Circuits ……………………………………………………………………27 3.7 Variable Stage Number ……………………………………………………28 4 Implementation and Experimental Results ……………………………………30 4.1 Design Flow ………………………………………………………30 4.2 Delay Analysis …………………………………………………31 4.3 Experimental Results ………………………………………………………32 4.4 ARM Integrator ……………………………………………………………35 4.5 AMBA-Compliant Design ……………………………………………………………37 5 Conclusions ……………………………………………………………40 References ……………………………………………………41 參 考 文 獻 [1] A. Avizienis, “Signed-digit Number Representations for Fast Parallel Arithmetic,” IRE Trans. Electron. Comput., vol. EC-10, no. 3, pp. 389-400, Sep. 1961. [2] G. R. Blakley, “A Computer Algorithm for Calculating the Product AB modulo M,” IEEE Transactions on Computers, vol. c-32, no. 5, May 1983. [3] N. Burgess and T. Williams, “Choices of Operand Truncation in the SRT Division Algorithm,” IEEE Transactions on Computers, vol. 44, no. 7, pp. 933-938, 1995. [4] J. Cortadella and T. Lang, “High-Radix Division and Square Root with Speculation,” IEEE Trans. Computers, vol. 43, no. 8, pp. 919-931, 1994. [5] F. D. Di Claudio, F. Piazza, and G. Orlandi, “Fast Combinatorial RNS Processors for DSP Applications,” IEEE Transactions on Computers, vol. 44, no. 5, May 1995. [6] W. Diffie and M. E. Hellman, “New Directions in Cryptography,” IEEE Trans. Inform. Theory, vol. IT-22, pp. 644-654, Nov. 1976. [7] S. R. Dusse and B. S. Kaliski Jr., “A Cryptographic Library for the Motorola DSP56000,” EUROCRYPT ’90, LNCS, vol. 473, pp. 230-244, 1991. [8] M. Ercegovac and T. Lang, “Fast Radix-2 Division with Quotient Digit Prediction,” J. of Signal Processing, pp. 169-180, 1989. [9] S. E. Eldridge and D. Walter, “Hardware Implementation of Montgomery’s Modular Multiplication Algorithm,” IEEE Transactions on Computers, vol. 42, pp. 693-699, June 1993. [10] K. M. Elleithy and M. A. Bayoumi, “A Systolic Architecture for Modulo Multiplication,” IEEE Transactions on Circuits and Systems – II: Analog and Digital Signal Processing, vol. 42, no. 11, pp. 725-729, Nov. 1995. [11] K. M. Elleithy and M. A. Bayoumi, “A Algorithm for Modulo Addition,” IEEE Transactions on Circuits and Systems, vol. 37, no. 5, May 1990. [12] D. L. Harris, S. F. Oberman, and M. A. Horowitz, “SRT Division Architectures and Implementations,” IEEE Symposium on Computer Arithmetic, pp. 18-25, 1997. [13] A. A. Hiasat, “New Efficient Structure for a Modular Multiplier for RNS,” IEEE Transactions on Computers, vol. 49, no. 2, pp. 170-174, 2000. [14] K. Hwang. Computer Arithmetic, Principles, Architecture, and Design. New York, NY: John Wiley & Sons, 1979. [15] Y. J. Jeong, and W. P. Burleson, “VLSI Array Algorithms and Architectures for RSA Modular Multiplication,” IEEE Transactions on Very Large Scale Integration (VLSI) systems, vol. 5, no. 2, June 1997. [16] M. E. Kaihara and N. Takagi, “A Hardware Algorithm for Modular Multiplication/Division,” IEEE Transactions on Computers, vol. 54, no. 1, pp. 12-21, 2005. [17] C. K. Koc and C. Y. Hung, “Bit-level Systolic Arrays for Modular Multiplication,” J. of Signal Processing, pp. 215-223. Sep. 1991. [18] C. K. Koc and C. Y. Hung, “A Fast Algorithm for Modular Reduction,” IEE Proceedings: Computers and Digital Techniques, vol. 145, no. 4, pp. 256-271, July 1998. [19] C. Mclvor, M. Mcloone and J. V. McCanny, “Modified Montgomery Modular Multiplication and RSA Exponentiation Techniques,” IEE Proc. Comput. Digit. Tech., vol. 151, no. 6, pp. 402-408, 2004. [20] P. L. Montgomery, “Modular Multiplication Without Trial Division,” Mathematics of Computation, vol. 44, no. 170, pp. 519-521, 1985. [21] N. Nedjah, “A Review of Modular Multiplication Methods and Respective Hardware Implementations,” Informatica 30, pp. 111-129, 2006 [22] V. Paliouras, K. Karagianni and T. Stouraitis, “A Low-Complexity Combinational RNS Multiplier,” IEEE Trans. On Circuit and System-II, vol. 48, no. 7, pp. 675-683, 2001. [23] B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs, Oxford, New York, 2000. [24] R. L. Rivest, A. Shamir and L. Adelman, “A Method for Obtaining Digital Signatures and Public key Cryptosystems,” Commun. ACM, vol. 21, pp. 120-126, Feb. 1978. [25] N. Takagi and S. Yajima, “Modular Multiplication Hardware Algorithms with a Redundant Representation and Their Application to RSA Cryptosystem,” IEEE Transactions on Computers, vol. 41, no. 7, July 1992. [26] N. Takagi, Y. Okabe, H. Yasuura, and S. Yajima, “Modulo M Addition Using Redundant Representation and Its Application to Residuenumber/Binary Conversion,” Rep. Tech. Group on Computation, IECEJ, COMP8614, June 1986. [27] N. Takaji, “Studies on Hardware Algorithms for Arithmetic Operations with a Redundant Binary Representation,” Doctoral dissertation, Dep. Inform. Sci., Kyoto Univ., Aug. 1987. [28] P. T. Tang, “Modular Multiplication Using Redundant Digit Division,” IEEE Symposium on Computer Arithmetic, pp. 217-224, June 2007. [29] T. E. Williams, and M. A. Horowitz, “A Zero-Overhead Self-Timed 160-ns 54-b CMOS Divider,” IEEE Journal of Solid-State Circuits, vol. 26, no. 11, pp. 1651-1661, 1991. [30] M. Soderstrand, M. AW. Jenkins, G. Jullien, and F. Taylor, Residue Number System Arithmetic: Modern Applications in Digital Signal Process, eds. IEEE Press, New York, 1986. [31] N. Szabo and R. Tanaka, Residue Arithmetic and Its Applications to Computer Technology. McGraw Hill, New York, 1967. [32] ARM Limited, “AMBA Overview,” Website: http://www.arm.com/, 1995. [33] ARM Limited, “ARM product backgrounder,” Website: http://www.arm.com/, Jan. 2005. 論 文 40 頁 數 附 註 全 文 點 0000008 閱 次 數 資 料 建 2008/8/11 置 時 間 轉 檔 2008/08/14 日 期 全 文 檔 存 取 記 錄 494505305 2008.8.11 11:47 140.136.145.229 del 01 494505305 2008.8.11 11:47 140.136.145.229 del 02 494505305 2008.8.11 11:47 140.136.145.229 del 03 494505305 2008.8.11 11:47 140.136.145.229 del 04 494505305 2008.8.11 11:47 140.136.145.229 del 05 494505305 2008.8.11 11:47 140.136.145.229 del 06 494505305 2008.8.11 11:47 140.136.145.229 del 07 494505305 2008.8.11 11:48 140.136.145.229 new 01 494505305 2008.8.11 11:48 140.136.145.229 new 02 494505305 2008.8.11 11:48 140.136.145.229 new 03 494505305 2008.8.11 11:48 140.136.145.229 new 04 494505305 2008.8.11 11:48 140.136.145.229 new 05 494505305 2008.8.11 11:48 140.136.145.229 new 06 494505305 2008.8.11 11:48 140.136.145.229 new 07 494505305 2008.8.11 13:50 140.136.145.229 del 01 494505305 2008.8.11 13:50 140.136.145.229 del 02 494505305 2008.8.11 13:50 140.136.145.229 del 03 494505305 2008.8.11 13:50 140.136.145.229 del 04 494505305 2008.8.11 13:50 140.136.145.229 del 05 494505305 2008.8.11 13:50 140.136.145.229 del 06 494505305 2008.8.11 13:50 140.136.145.229 del 07 494505305 2008.8.11 13:51 140.136.145.229 new 01 494505305 2008.8.11 13:51 140.136.145.229 new 02 494505305 2008.8.11 13:51 140.136.145.229 new 03 494505305 2008.8.11 13:51 140.136.145.229 new 04 494505305 2008.8.11 13:51 140.136.145.229 new 05 494505305 2008.8.11 13:51 140.136.145.229 new 06 494505305 2008.8.11 13:51 140.136.145.229 new 07 494505305 2008.8.12 14:00 140.136.145.229 del 01 494505305 2008.8.12 14:00 140.136.145.229 new 01 異 動 記 錄 C 494505305 Y2008.M8.D11 11:14 140.136.145.229 M 494505305 Y2008.M8.D11 11:14 140.136.145.229 M 494505305 Y2008.M8.D11 11:17 140.136.145.229 M 494505305 Y2008.M8.D11 11:24 140.136.145.229 M 494505305 Y2008.M8.D11 11:24 140.136.145.229 M 030418 Y2008.M8.D11 11:36 140.136.208.42 M 494505305 Y2008.M8.D11 11:48 140.136.145.229 M 494505305 Y2008.M8.D11 11:51 140.136.145.229 M 494505305 Y2008.M8.D11 11:51 140.136.145.229 M 494505305 Y2008.M8.D11 11:52 140.136.145.229 M elec3789 Y2008.M8.D11 11:54 140.136.145.229 M 494505305 Y2008.M8.D11 13:52 140.136.145.229 M 494505305 Y2008.M8.D11 13:56 140.136.145.229 M 494505305 Y2008.M8.D11 13:57 140.136.145.229 M 494505305 Y2008.M8.D11 13:57 140.136.145.229 M 494505305 Y2008.M8.D11 14:17 140.136.145.229 M 494505305 Y2008.M8.D12 13:26 140.136.145.229 M 494505305 Y2008.M8.D12 13:52 140.136.145.229 M 494505305 Y2008.M8.D12 14:00 140.136.145.229 M elec3789 Y2008.M8.D13 15:41 140.136.145.221 M elec3789 Y2008.M8.D13 15:53 140.136.145.221 M elec3789 Y2008.M8.D13 15:53 140.136.145.221 M elec3789 Y2008.M8.D13 17:38 140.136.145.221 I 030540 Y2008.M8.D14 9:43 140.136.209.41