在當今的信息社會中,每天都有大量的信息在傳輸、交換、存儲和處理,而這些處理過程幾乎都要依賴強大的計算機系統來完成。
通常保障網絡信息安全的方法有兩大類:一是以防火墻技術為代表的被動防衛型,二是建立在數據加密,用戶授權確認機制上的開放型網絡安全保障技術。數據加密技術是可以與防火墻配合使用的一種安全技術,這種技術可以提高信息系統及數據的安全性和保密性、防止秘密數據被外部破解所采用的主要技術手段之一。
通常情況是將這兩種加密模式結合起來共同使用,即可保證網內用戶的數據安全,又可提供用戶之間的身份鑒別與認證。
國內外現狀
RSA被廣泛應用于各種安全或認證領域,如web服務器和瀏覽器信息安全、Email的安全和認證、對遠程登錄的安全保證和各種電子信用卡系統的核心。硬件上,如安全電話、以太網卡和智能卡也多采用RSA技術。而幾乎所Internet安全協議如S/MIME,SSL和S/WAN都引入了RSA加密方法。IS09796標準把RSA列為一種兼容的加密算法,使得RSA的應用目前非常廣泛。RSA模數n=pq是RSA算法的安全性的核心。如果模數n被分解,則RSA體制立刻被攻破。如果RSA算法是安全的,那么n=pq必須足夠大,使得因式分解模數n在計算上不可行的。基于安全性考慮,實際應用中所選擇的素數p和q至少應該為100位以上的十進制數,相應的模數n=pq將是200位的十進制數。C E Shannon建議使用至少100位長度的大素數,從而得到長度為200位以上的大整數模數n。
RSA算法的缺點是加密速度慢,模數n的長度越大,加/解密運算所需要的時間就越長,算法實現的速度也就越慢。為了盡可能使用大的模數而又不影響系統實現的速度,實際應用中通常使用專門的硬件實現RSA算法。
最重要的影響速度的實現細節是加/解密中的大數運算。大數模冪乘運算是RSA算法的核心運算,也是運算速度提高的關鍵。高效的大數模冪乘算法可以有效提高系統速度。需要每做一次平方或乘法運算后,就要作一次模運算,當n的值很大時,做一次模運算所需的時間比做一次平方或一次乘法所需的時間更多,是影響算法實現速度的關鍵。但在實際加密解密過程中,n可能是幾個數的乘積,如RSA算法中,n是兩個大素數的乘積。這時可通過中國剩余定理進行變換,降低指數的數量級.
一、數據通信中的加密技術
隨著信息化的應用水平不斷提高,尤其是電子政務和電子商務的蓬勃發展,互聯網絡的信息安全問題越來越引起全社會的重視。數字化辦公和生活面臨一系列的嚴重“威脅”。由于互聯網的開放性,我們面臨各種各樣的安全威脅。網上傳輸的郵件可能被截取,信息的內容可能被篡改;電子商務過程中,信用卡帳號和密碼可能暴露在第二者面前;一些人可能會假冒合法用戶身份或者假冒網站來用于一些非法目的,而事后又對自己的行為進行抵賴:系統可能由于黑客的攻擊而無法提供有效的服務。這些問題給計算機從業人員揭示信息安全問題的嚴重性。
因此如何保證信息的機密性、完整性、不可抵賴性、有效性,成為網絡安全關注的核心問題。人們由此采用防火墻和數據加密等技術來保障網絡本身的安全。
1.1數據加密技術的起源和發展
早在互聯網出現之前,密碼技術已經廣泛應用于軍事和民用方面。有記載的最早的密碼系統可能是希一臘歷史學家Polybios發明的Polvbios格板,它是一種替換密碼系統。人們很早以前將密碼系統分為代替和換位密碼兩種。
從密碼史的發展來看,1949年,信息論的創始人仙農(C. E.Shannon)發表了一篇著名的文章,論證了一般經典加密方法都是可以破解的。到了60年代,隨著電子技術、信息技術的發展及結構代數、可計算性理論和復雜度理論的研究,密碼學又進入了一個新的時期。我們當前所應用的密碼體制,都是屬于近代非經典的密碼體制。70年代后期出現的數據加密標準DES(DataFncryptionStandard)和公開密鑰密碼(非對稱密碼)體制(Publickeycrypto一system)是近代密碼學發展史上的兩個重要里程碑。
目前,最著名公開密鑰密碼體制是RSA體制,它是由美國MIT的二位科學家Rivest, Shamir不II Adleman于1976年提出的,是一種基于數論中大數分解的理論。由于RSA的安全性和實用性,它是當前使用最廣泛的公鑰密碼系統,即可以進行加密,也可以進行數字簽名。保障了數據的完整性、機密性,解決了身份認證問題和不可抵賴性問題.
1.2數據加密的方法
數據加密的方法通常分為兩大類:對稱式加密體制 (常規密鑰密碼體制)和非對稱式加密體制(公開密鑰密碼體制)。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為\"Session Key”這種加密技術曾經被廣泛采用,其原理如圖2-1所示。如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56位。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰’夕,它們兩個必需配對使用,否則不能打開加密文件。這里的“公鑰”是指可以對外公布的,“私鑰”則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網絡上傳輸加密文件就很難把密鑰告訴對方,不管用什么方法都有可能被他人竊聽到。而非對稱式的加密方法有兩個密鑰,目_其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。非對稱加密工作原理如圖1-1所示。
二、RSA數據加密中的實現
RSA算法,它是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解和操作,也很流行。算法的名字就是發明者的名字:Ron Rivest, AdiShamir 和Leonard Adleman, 但RSA的安全性一直未能得到理論上的證明, RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向于因子分解不是NPC問題, RSA算法是第一個能同時用于加密和數字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
在當今的信息社會中,每天都有大量的信息在傳輸、交換存儲和處理,而這些處理過程幾乎都要依賴強大的計算機系統來完成。一旦計算機系統發生安全問題,就可造成信息的丟失、篡改、偽造、假冒、失密,以及系統遭受搗亂、破壞等嚴重后果,輕者造成計算機系統運行效率低下,重者造成計算機系統的徹底癱瘓。因此,如何保證計算機系統的安全是當前一個需要立即解決的十分嚴峻的問題。密碼學的基本目的是使在不安全信道中通信的兩方以一種使他們的對手不能明白和理解的通信內容的方式進行通信。本文對密碼學與信息安全方面做了簡要的概述,具體論述了RSA公鑰密碼體制,RSA已經成為一種國際公認的公鑰密碼體制,在實際應用中也最為廣泛。
參考文獻:
[1]盧開澄,郭保安,戴一奇等計算機系統安全.重慶:重慶出版社,1999
[2]李海泉,李鍵.計算機系統安全技術.北京:人民郵電出版社,2001