簡易檢索 / 詳目顯示

研究生: 高瑋澤
Wei-Tse Kao
論文名稱: 設計與實現蒙哥馬利演算法架構與進位旁路加法器應用於RSA加解密電路
Design and Implementation of the Montgomery Algorithm Architecture and Carry-Skip Adder for RSA Encryption and Decryption Circuit
指導教授: 林銘波
Min-Bo Lin
口試委員: 陳郁堂
Yu-Tang Chen
蔡政鴻
Cheng-Hung Tsai
林書彥
Shu-Yen Lin
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2023
畢業學年度: 111
語文別: 中文
論文頁數: 80
中文關鍵詞: 非對稱式加密RSA加解密蒙哥馬利演算法進位旁路加法器模冪運算模乘運算
外文關鍵詞: Asymmetric encryption, RSA encryption/decryption, Montgomery algorithm, Carry-Skip adder, modular exponentiation, modular multiplication
相關次數: 點閱:205下載:5
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 非對稱式加密技術在現代通信和資訊安全領域中扮演著關鍵角色,其中RSA演算法為最廣泛使用的非對稱式加密算法之一。然而,傳統的RSA加解密演算法必須執行大量運算,導致速度較慢,限制了在實際上的應用。為了解決此問題,在本論文中,我們提出一個結合蒙哥馬利演算法與進位旁路加法器的RSA加解密硬體架構,來加速模數乘法的計算,進而減少RSA加解密演算法的運算時間。
    為了達到上述目標,論文中首先探討蒙哥馬利演算法的約簡、模乘和模冪運算。接著深入研究加法器與乘法器的設計原理,特別是進位旁路加法器與節省回合方式的乘法器等。最後將上述考量整合至RSA加解密演算法的架構設計中,包括加解密電路模組、蒙哥馬利模冪模組、金鑰運算模組、加法器架構和乘法器架構。通過功能與時序模擬驗證,證實了本論文提出的架構設計在性能上的優越性。
    完成的架構設計分別使用FPGA及ASIC實現與驗證。FPGA部分使用Xilinx公司的Virtex 7 FPGA元件,其合成結果為269,671個LUTs及94,882個FFs。ASIC部分使用TSMC 0.18 μm 製程元件庫合成,合成結果等效1,419,160個NAND21邏輯閘,操作頻率皆為66.7 MHz,加解密最長花費時間為5.9 ms。


    Asymmetric encryption techniques play a vital role in modern communication and information security, with the RSA algorithm being one of the most widely used such related algorithms. Nevertheless, the traditional RSA encryption/decryption algorithm needs a large amount of computations, thereby, leading to low throughput and limiting its practical applications. To solve this problem, in this thesis we propose an RSA hardware architecture that combines the Montgomery algorithm and carry-skip adders, to speed up the computations so as to reduce the RSA encryption/decryption execution time.
    To achieve the above goal, we first explore the operations of Montgomery algorithm's reduction, modular multiplication, and modular exponentiation. Then, we study in depth the design principles of adders and multipliers; in particular, we focus on carry-skip adders and reduced-round multipliers. Finally, we combine the above considerations into the design of the RSA encryption/decryption architecture, including the encryption/decryption module, the Montgomery modular exponentiation module, the key operation module, the adder architecture, and the multiplier architecture. The resulting architecture has been proved to have superiority in performance through simulation verification in both function and timing.
    The resulting architecture has been verified in both FPGA and ASIC. In FPGA verification, a Xilinx's Virtex 7 FPGA device is used and 269,671 LUTs and 94,882 FFs are consumed. In ASIC verification, the tsmc 0.18-μm process is employed and the synthesis result yields 1,419,160 NAND21 logic gates. Both implementations operate at a frequency of 66.7 MHz, with a maximum execution time 5.9 ms in both encryption and decryption operations.

    致謝 I 摘要 II ABSTRACT III 目錄 IV 圖目錄 VI 表目錄 IX 演算法目錄 X 第1章 緒論 1 1.1 研究動機 1 1.2 研究方向 1 1.3 章節安排 2 第2章 RSA加密電路設計 3 2.1 非對稱式加密技術 3 2.2 RSA加密演算法基本內容 4 2.3 RSA公私金鑰生成 5 2.3.1 拓展歐幾里得演算法 6 2.4 RSA加解密 7 2.4.1 模冪運算 9 2.4.2 模乘法運算 10 2.4.2.1 先乘後除演算法 11 2.4.2.2 乘除交錯演算法 14 2.4.2.3 蒙哥馬利演算法 16 2.4.2.4 模乘法演算法比較 17 第3章 蒙哥馬利演算法 20 3.1 蒙哥馬利約簡 21 3.2 蒙哥馬利模乘 23 3.3 蒙哥馬利模冪 26 第4章 加法器設計 30 4.1 漣波進位加法器 31 4.2 進位旁路加法器 32 4.2.1 固定/可變區塊長度進位旁路加法器 33 4.2.2 多層次進位旁路加法器 35 第5章 乘法器設計 39 5.1 Shift-add乘法器 39 5.2 節省回合式乘法器 41 第6章 RSA電路架構 43 6.1 RSA加解密電路模組 43 6.2 蒙哥馬利模冪模組 46 6.3 金鑰運算模組 47 6.4 加法器架構 48 6.5 乘法器架構 50 第7章 硬體驗證及模擬結果 52 7.1 功能模擬驗證 52 7.2 合成結果 60 7.3 佈局結果 61 第8章 結論 65

    [1] R. L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Communications of the ACM, vol. 21, no. 2, pp. 120-126, Feb. 1978. doi: 10.1145/359340.359342.
    [2] Chiranth E Chakravarthy H.Y.A, Nagamohanareddy P, Umesh T.H, Chethan Kumar M, “Implementation of RSA Cryptosystem Using Verilog,” International Journal of Scientific & Engineering Research, vol. 2, no. 5, pp. 1-7, May 2011.
    [3] P. L. Montgomery, “Modular Multiplication Without Trial Division,” Mathematics of Computation, vol. 44, no. 170, pp. 519-521, Apr. 1985. doi: 10.1090/s0025-5718-1985-0777282-x.
    [4] M. Lehman and N. Burla, “Skip Techniques for High-Speed Carry-Propagation in Binary Arithmetic Units,” IEEE Transactions on Electronic Computers, vol. EC-10, no. 4, pp. 691-698, Dec. 1961. doi: 10.1109/tec.1961.5219274.
    [5] M. Alioto and G. Palumbo, “A Simple Strategy for Optimized Design of One-Level Carry-Skip Adders,” IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, vol. 50, no. 1, pp. 141-148, Jan. 2003. doi: 10.1109/tcsi.2002.807517.
    [6] A. Arora and V. Niranjan, “A New 16-Bit High Speed and Variable Stage Carry Skip Adder,” in Proceedings of the 2017 3rd International Conference on Computational Intelligence & Communication Technology (CICT), pp. 1-4, Ghaziabad, India, Feb. 2017. doi: 10.1109/ciact.2017.7977359.
    [7] Ming-Bo Lin and Jiann-Cherng Chang, “On the Design of a RSA Encryption/Decryption Chip Based on a Two-Adder Structure,” Journal of the Chinese Institute of Electrical Engineering, Vol. 9, No. 3, pp. 269-277, Aug. 2002.
    [8] Wei Huang, Jun Han, Shuai Wang, and Xiaoyang Zeng, “A Low-Complexity Heterogeneous Multi-Core Platform for Security SOC,” in Proceedings of the 2010 IEEE Asian Solid-State Circuits Conference, pp. 1-4, Beijing, China, Nov. 2010. doi: 10.1109/asscc.2010.5716621.
    [9] C. Wang, J. Yeh, C. Huang, and C. Wu, “Scalable Security Processor Design and Its Implementation,” in Proceedings of the 2005 IEEE Asian Solid-State Circuits Conference, pp. 513-516, Hsinchu, Taiwan, Nov. 2005. doi: 10.1109/asscc.2005.251790.
    [10] Jiang Huiping and Yang Guosheng, “Resistant Against Power Analysis for a Fast Parallel High-Radix RSA algorithm,” in Proceedings of the 2011 International Conference on Electric Information and Control Engineering, pp. 1668-1671, Wuhan, China, Apr. 2011. doi: 10.1109/iceice.2011.5777741.
    [11] Xingjun WU et al., “A Modular Processor for Multi Public-Key Cryptography,” Microelectronics, vol. 35, no. 5, pp. 550-552, 2005.
    [12] H. Handschuh and P. Paillier, “Smart Card Crypto-Coprocessors for Public-Key Cryptography,” in Proceedings of the Lecture Notes in Computer Science, pp. 372-379, Springer Berlin Heidelberg, 2000. doi: 10.1007/10721064_35.
    [13] Jiajia Shao, Liji Wu and Xiangmin Zhang, “Design and Implementation of RSA for Dual Interface Bank IC card,” in Proceedings of the 2013 IEEE 10th International Conference on ASIC, pp. 1-4, Shenzhen, China, 2013. doi: 10.1109/ASICON.2013.6811995.

    QR CODE