第一章、緒論
1.1 研究背景
隨著科技的發展,電腦以及網路的使用越來越普及,對日常生活帶來了極大 的便利,但由於網際網路是開放性的,民眾在網路上的通訊必須保持機密性,以 防通訊資料被監聽或盜用,因此民眾對於資訊安全也越來越重視。而為了預防這 類問題,最常使用的方法就是對資料進行加密,現今最常使用的則是 RSA 金鑰 密碼系統,為一種非對稱式的加密演算法,目前已經有學者能成功分解 RSA-768 [4]如表 1,但一般使用上所要求的長度為 1024 位元以上,如我國的自然人憑證 已改用金鑰長度為 2048 位元的 IC 卡[2],因此還是有足夠的安全性來確保資料 不會外洩。
由於 RSA 密碼系統的安全性取決於金鑰的長度,通常會選擇位元數較長的 金鑰來增加安全性,而這也會使得在計算非常耗時,因此便有許多針對 RSA 運 算加速之研究與探討[1][5][6][7][8],有許多令人欣賞的結果,本研究重點便是探 討 RSA 的計算,研擬加速運算的演算法。
表 1 已被分解和位被分解的 RSA 密碼系統
(資料來源: Wolfram MathWorld)
1.2 研究目的
自從 Diffie 和 Hellman 於 1976 年發表了公開金鑰交換協定後,許多的公開 金鑰密碼系統也陸續被提出,目前最被廣泛使用的公開金鑰加密法為 RSA 密碼 系統[9],是由Ron Rivest、Adi Shamir 和 Leonard Adleman 於 1977 年一起提出的,
其名稱是取三人姓氏開頭字母所組成,安全性主要是基於模數𝑛的長度,現今要 求的長度至少要 1024 位元[2],因此難以被因數分解。
而大部分的公開金鑰密碼系統的核心運算為模指數運算,RSA 也是其中之 一,為了增加安全性,通常會選擇使用位元數較長的金鑰,但這也會使得計算上 需要花上比較多的時間。模指數運算是由重複的模乘法運算組成,有兩種策略可 以減少運算上所花費的時間,一種為減少模乘法的次數,另一種則為提高模乘法
3
的效能,提升模乘法效能的演算法中,蒙哥馬利乘法(Montgomery Multiplication) 是最典型的方法,主要概念為去除一般模乘法運算中的試除法運算,進一步觀察 果將模數𝑛後面的部分位元全數設為 1,將可以再提升蒙哥馬利演算法的運算效 能,因此本研究擬以 Lenstra 所提出的預定部分位元的方式,在 RSA 的公鑰後面 的部分位元嵌入特定資訊,再配合使用蒙哥馬利乘法來加速其模乘法運算。
1.3 論文架構
本文分成五個章節,本章先研究背景與目的開始介紹;接著是相關知識的探 討,內容包括:密碼系統、RSA 加密演算法、模運算、Montgomery Multiplication 和預定部分位元;第三章說明如何使用預定部分位元的概念將特定資訊嵌入 RSA 公鑰中;第四章為一般模乘法、蒙哥馬利乘法和本研究提出的方法的效能分析與 比較,最後第五章則是針對論文的結論。