黃恒一 付三麗
(三亞學院理工學院,海南 三亞 572022)
隨著計算機網絡的廣泛應用,現代密碼技術的應用已經深入到數據處理過程的各個環節?,F代密碼學應用中需要的數據工具也更加廣泛,本文對現代密碼學應用中常見的算術基本定理、離散對數問題、迪菲·赫爾曼密鑰交換等數學問題進行了分析研究,嘗試讓讀者了解現代密碼學中的公開密匙密碼學、RSA公鑰密碼學,并在此基礎上提出了一種基于數字軟件轉換、DES加密算法及一次一密特征值的混合在線加密方法,并對采用的混合加密方法,進行了解密驗證測試[1]。
現代密碼學的數據安全基于扎實的數學理論基礎上,特別是公鑰密碼使得發送端和接收端無需密鑰傳輸的保密通信成為可能,導致密碼學上的一場革命,這是密碼學的第二次飛躍。公開密鑰密碼通信機制中,公布于眾的密鑰稱為“公鑰”,私人保存的密鑰稱為“私鑰”。兩把密鑰互補,用公鑰加密的密文可以用私鑰解密,反過來也一樣。論文接下來,從數學的角度通過算術基本定理、離散對數問題、迪菲·赫爾曼密鑰交換等數學問題對公鑰密碼學進行了剖析[2]。
質數是指在大于1的自然數中,除了1和它本身以外不再有其他因數的自然數。所有的數字都是構建于這些質數數字之上,任何數字有且只有一種質因數分解,可以將每個數字描述成一把特殊的“鎖”,而每個鎖的獨特鑰匙就是這個數字的質因數分解。就像任何兩個數的質因素的分解不一樣,任何一把鎖的鎖芯也是不一樣的[3]。
離散對數問題主要用在密碼學加密算法的單向加密應用中。單向加密要求加密算法朝著一個方向加密明文容易,但是相反的過程通過密文解密破解明文信息很難的一個數值過程。其中模運算就體現了這樣一個運算過程要求。模運算公式中選取質數作為模數,公式3xmod17≡y,當x取值不同時,3為數字生成元,y的數值可以均勻地在1~17中間的任意數字均勻分布,例如3xmod17≡y,中當y的數值為12的時候,用試錯法可以得出x的數值為29,這個數學問題就稱為離散對數問題,但是如果當模數為很大的質數時,就需要很長的計算時間,即使用性能強大的計算機運算,可能也需要上千年的時間。單向函數的強度取決于反向過程所需要的時間[4]。
現代計算機密碼學的數據安全性基于密鑰,前文提到了基于數據安全的密鑰單向加密函數,此節迪菲·赫爾曼用(Diffie Hellman)密鑰交換數學問題,從數據的角度對公鑰密鑰交換進行解釋,使得發送端和接收端無需密鑰傳輸的保密通信成為可能[5]。
通信數據收發A、B兩方使用Diffie Hellman密匙交換算法實現對稱密匙交換,A所選取的隨機數私鑰15,B所選取的隨機數私鑰13,A與B確定的模運算生成元及模數為g=3,n=17,加密公式:A(B)=gxmodn,g、n為加密所采用的生成元及模數,x為數據收發A、B兩方通信方私有密鑰隨機數,計算他們使用的對稱密鑰值。
根據Deffie Hellman密匙交換算法原理:
g=3,n=17;
A方選擇的隨機數x=15,則A=gxmodn=315mod 17≡6;
B方選擇的隨機數y=13,則B=gxmodn=313mod 17≡12;
A方把A1=6發送給B方,B計算Ka=613mod 17≡10;
B方把B1=12發送給A方,A計算Kb=1215mod17≡10;
上文中,通信A、B雙方實際都是進行模運算315*13mod17,通信過程中,如果存在信息的截獲者即使知道模運算公式A(B) =gxmodn,生成元3及模數17,但是不知道通信A、B雙方的私有密鑰是無法破解通信A、B雙方的共享密鑰。當通信雙發私鑰數字足夠大及模數數字足夠大時,現代密碼學應用中的離散對數問題結合偽隨機數問題的應用,將為數據通信的雙方提供足夠安全的數據通信機制[6]。
RSA加密算法的安全性依賴于數學難題大素數分解,計算兩個大素數的乘積很容易,但是反過來由該乘積分解成兩個素數相乘的逆過程很難,當進行運算的兩個大素數很大時,即使使用高性能的計算機,這個過程的難度也會急劇增加[7]。
RSA算法是一種非對稱的加密算法,它通常是生成一對RSA密鑰,其中一個是保密密鑰(私鑰),由用戶保存;另一個為公開密鑰(公鑰),可對外公開[8]。
通信時,比如A要給B傳輸信息,A先用B的公鑰將內容加密后傳輸,B收到A傳輸過來的信息后用自己的私鑰解密。該過程中,只要B不泄露自己的私鑰,就算第三方截取到了該信息,沒有B的私鑰也無法解密通信過程中的數據信息內容。
前文主要是從數學的角度,通過對現代密碼學中的幾個問題進行剖析從而讓讀者對現代密碼學應用有一個深入的了解。此節提出了一種結合數字文本轉換軟件、DES加密算法組成的混合在線加密方法,并對采用的混合在線加密方法形成的密文進行攻擊驗證測試[9]。
文中此處,首先用數字文本轉換軟件轉換待加密的明文信息。通過數字文本轉換軟件將保存明文信息的圖片轉換成密文文本。
由圖1、圖2可知,將明文數字信息123321所保存的圖片通過數字文本轉換軟件,轉換為TXT文本文件如圖2所示。此外為了提高信息的一次一密的安全性,在圖2數字文本轉換信息后的信息密文文本中添加一次一密特征值,如此處的“123456”,如圖3陰影所示,提高密文信息的穩定性。

圖1 待加密的明文信息

圖2 數字轉換信息后的密文信息

圖3 添加有特征值的密文信息
前文是通過數字文本轉換軟件將后添加包含特征值的明文加密信息,此處采用DES在線加密的方法,通過通信雙方共享的加密密鑰111111對前文中的密文信息進行再次加密,加密過程如圖4所示。

圖4 添加有特征值的DES密文信息
文中的密文解密驗證測試包括兩個部分,分別為包含特征值的數字文件文本的DES解密密文還原測試及不包含特征值的數字文件文本的DES解密密文還原測試[10]。
3.3.1 含特征值密文信息的解密測試
文中含特征值密文信息的解密測試,通過DES在線解密網站,通過收發雙方的共享密鑰111111,進行DES加密過程的逆變換,此外再結合數字文本軟件轉換工具進行數字文本文件的逆轉換,測試結果如圖5、圖6所示,發現轉換失敗。

圖5 在線解密后的含特征值DES密文信息

圖6 數字轉換軟件獲取明文信息失敗
3.3.2 不含特征值密文信息的解密測試
文中不含特征值密文信息的解密測試,通過DES在線解密網站,通過收發雙方的共享密鑰111111,進行DES加密過程的逆變換,此外再結合數字文本軟件轉換工具進行數字文本文件的逆轉換,測試結果如圖7、圖8所示,發現轉換成功。

圖7 在線解密后的不含特征值DES密文信息

圖8 數字轉換軟件獲取明文信息成功
論文提出了一種結合數字文本轉換軟件、DES算法及密碼信息的一次一密特點混合在線加密方法,文中的加密方法,從數學的角度進行了設計,考慮了數學中的一次一密,明文通過數字轉換軟件第一次加密后添加了特征值,文中的混合加密方法可以進一步拓展,如采用更加復雜的RSA加密算法等,可進一步研究及提高數據的安全性。
論文從數學的角度,對計算機現代密碼學應用中常見的算術基本定理、離散對數問題、迪菲·赫爾曼密鑰交換等數學問題進行了深入的剖析,從數學的角度對現代密碼學通信方式進行了闡述。當下現代密碼技術的應用已經深入到數據處理過程的各個環節,密碼學的數學工具的添加也更加廣泛。文中采用的信息混合加密方法,可進一步結合復雜的RSA加密算法、數據加密工具等,為進一步研究及提高數據的安全性提供參考。