杜志學


摘 要:信息高速發展的時期,信息安全越來越引起重視。對信息進行加密處理,無疑是提升信息安全的最佳手段。目前,對稱加密體系和非對稱加密體系都存在著各自的優缺點。文章通過對DES和RSA加密的研究分析,提出一種DES和RSA聯合加密的方案。這種方案充分地利用了RSA加密安全性和DES加密快速性的優勢,大大提升了信息安全。
關鍵詞:DES;RSA;加密
中圖分類號:TP309.7 文獻標識碼:A 文章編號:1674-1064(2020)08-0029-02
二十一世紀被譽為信息的世紀,伴隨著科技的進步,互聯網的迅猛發展,每時每刻都有數以億計的信息在互聯網上傳輸。身為傾聽者和發送者的人們開始意識到,互聯網給其帶來無限便利的同時,也將其所有行為暴露給了不法之徒。信息在網絡中傳輸的安全問題尤為凸顯,如何提升信息在傳輸過程中的安全性、完整性,成為網絡安全專家的重要職責。當下,提升信息傳輸安全的最有效途徑就是使用加密技術。
1 密碼學
信息安全領域最關鍵、最核心的技術就是密碼學,加密技術和解密技術是其重要的構成部分。在密碼學中,需要加密的信息被稱為“明文”;某種特定的處理明文的過程被稱為“加密”;加密后所得到的信息被稱為“密文”;收到信息后,對信息的逆向處理,恢復明文的過程被稱為“解密”;在加密、解密中使用到的參數被稱為“密鑰”。
在現代密碼學理論建立過程中,最重要的時間節點為1976年《密碼學新方向》一文的發布。該文中第一次提出可以在網絡上實現的公鑰密碼理論,開啟了公鑰密碼研究的時代[1]。
1.1 對稱密鑰體系
對稱密鑰加密技術是一種傳統的加密技術,其原理是:發送者和接收者采用同一種加密規則,對明文和密文進行正運算和逆運算。因其采用相同的規則,即相同的密鑰,所以把這種方法稱為對稱加密法。需要通信的雙方必須在通信前通過安全的方式商議出一個保密的密鑰,一旦密鑰泄露出去,就可以被還原出所發送的原文。因此,密鑰的保密程度決定了通信的安全,如圖1所示。
在對稱密碼體系中一般分為:分組密碼體系和流密碼體系。其中,分組密碼被較多使用。分組密碼是先對需要加密的明文進行編碼,編碼后的明文數字按照特定的方式分成數據塊(一個塊稱為一個分組),依次對每個組進行加密處理,并發送出去。
DES(數據加密算法)是最經典的對稱加密算法,也是最廣泛使用的加密算法,是分組加密的代表算法。其自1975年發布,很快就在非國防的其他各領域迅速地應用起來。DES加密的明文必須分組為64bit,密鑰長度也是固定的64bit,但實際有效密鑰僅為56bit。另外,8bit為密鑰的校驗位,即第8、16、24……64位。
DES(數據加密算法)主要步驟如下:
初始置換。先將輸入的64位明文進行初始置換。置換后的明文只是原明文中的信息排列順序有所改變,依然是64位的明文格式。再將置換后的明文分成前后兩個部分和,表示前32位、表示后32位。
16輪迭代。這一步是加密的過程,此過程要重復16輪,每一輪的加密都是采取相同的加密算法。其操作通過兩種可逆運算:混合和代換得到。
逆置換P -1。最后通過逆置換表得到密文。
DES加密的特點:
DES加密因其是對稱密鑰系統,必須在通信前協商密鑰,這個過程就會造成本應是相互的私鑰卻要在開放的網絡中傳輸。一旦在協商的過程中被竊取,即便為密文傳輸,也會被竊取者解密出明文。
DES的密鑰長度為固定的56位(帶校驗位為64位),二進制數非常短,很容易受到窮舉攻擊。當采用窮舉攻擊時,只需要進行次就可以破解出明文。而DES加密的密鑰只有56位,即次。這個數字對于現階段的計算機處理能力已經非常的輕松了。
DES的56位密鑰雖然短,但是實現加密處理非常簡單,加解密速度就非常快,適合于保密級別不高的密文傳輸。
1.2 非對稱密鑰體系
非對稱密鑰體系,又稱為公鑰加密體系。一被提出,就改變了人們對密碼學原有的認知。使用具有某種對應聯系的兩個規則即可完成加密和解密的過程。同時,無需直接傳輸密鑰,就可以完成解密的過程。其不再采用對稱密鑰體系的置換和替代的方法,而是通過基于數論中的函數來計算出公鑰。自己保留解開密文的私鑰,可以最好地確保密鑰的安全性。其基本模式如下:
接收者依靠某種函數計算出公鑰和私鑰。將公鑰發送給對方,命其使用公鑰對發送的信息進行加密,私鑰自己保密。
發送者在獲取到公鑰后,按照接收者的要求使用公鑰對信息進行加密。
接收者在收到密文后,使用自己保留的私鑰對密文進行解密。
由于私鑰只有自己保留,只要不將私鑰泄露,那所有的通信都將是安全可靠的,如圖2所示。
RSA加密是最典型的非對稱密鑰加密方式,也是當前使用最廣泛的非對稱密鑰加密方式。其由MIT的三位數學家所提出,眾多的國際組織均支持RSA加密標準。PGP(電子郵件安全協議)也是依據RSA加密標準設計的。RSA加密之所以被廣泛地接受,是因為其算法通過大數難以因式分解的數學函數原理,確保加密機制的安全可靠[2]。
RSA加密所涉及到數論的相關知識如下:
同余:當p是大于1的自然數,x是整數,的倍數,在數論中就寫成。
互質:公約數只有1的兩個整數。如2和3互質,在數論中就寫成。
歐拉函數:
歐拉定理:整數,整數,且,那么 。
RSA算法密鑰的生成過程:
找到兩個素數:p和q,p和q需要保密,并且p和q越大安全性越高。
計算出p·q=n,利用歐拉函數得出:
。
尋找一個隨機數e,使用<,且。(e,n)就是加密的公鑰。。
計算,得出d。(d,n)就是解密的私鑰。
RSA的加密、解密過程:
加密運算:使用明文m和公鑰e進行運算,得出的c就是密文。
解密運算:使用密文c和私鑰d進行運算,還原出明文m。
RSA加密的特點:
密鑰傳輸方便。因其是非對稱加密,只需要傳輸對明文加密所使用的公鑰,通過公鑰無法推斷出解密所需的私鑰。
密鑰生成麻煩。因其密鑰生成的原理,生成密鑰的過程復雜,很難實現每次傳輸信息都可以更換密鑰。
速度慢。目前的RSA的分組要2048bit長度的密鑰。
1.3 DES和RSA聯合加密算法
經過DES和RSA算法的研究發現,其各自都存在優缺點。進一步分析兩種算法的優缺點,發現雙方是可以互補的[3]。兩種算法對比一下:DES加密的速度雖然快,但是在密鑰的保護上存在安全性隱患。RSA是將公鑰傳給對方,自己保留私鑰,無密鑰保護的問題,但是其算法復雜加密速度較慢。
綜合兩種加密方式做一種聯合加密方式,先使用DES對明文進行加密,再使用RSA對DES的密鑰進行加密。這樣既解決了DES安全性問題,又提升了RSA加密的速度,如圖3所示。
2 結語
文章從對稱加密體系和非對稱加密體系的原理開始闡述,從數學基礎開始,到加解密原理,再到加解密過程,分別對兩種加密體系的典型加密方式(DES加密和RSA加密)進行分析。提出一種DES和RSA聯合加密的方式,充分利用DES和RSA的各自長處,彌補彼此的不足。使信息在加解密數據的安全性和加密效率上得到了平衡。希望這種聯合加密的方式在各種業務中推廣使用。
參考文獻
[1] James S.Tiller.A Technical Guide to IPSec Virtual Private Networks[J].Boca Raton.FL:CRC Press LLC,2001:3-6.
[2] 陳春玲,齊年強,余瀚.RSA算法的研究和改進[J].計算機技術與發展,2016,8(8):48.
[3] 陳僑川.一種基于DES和RSA算法的混合加密算法[D].昆明:云南大學,2015.