發布源:深圳維創信息技術發布時間:2020-11-23 瀏覽次數: 次
隨著計算機聯網的逐步實現,計算機信息的保密問題顯得越來越重要。
數據保密變換,或密碼技術,是對計算機信息進行保護的*實用和*可靠的方法。
密碼術以非常簡單卻具有革命性的數學思想為基礎:諸如字母表中的字母這樣的數據能夠作為數字進行處理(例如,根據在字母表中的順序,使用從1到26的數字來替換每個字母),并且這些數字能夠進行數學計算。
數學計算的目的是把信息弄亂,變成毫無意義,使截獲該信息的對手無法弄清楚。
然而,信息的合法接受方知道如何撤銷這些數學計算,從而恢復原始信息。
1、加密的概念
一個典型的數據加密模型如圖1所示,由四個部分組成:
(1)未加密的報文,也稱明文,用P表示。
(2)加密后的報文,也稱密文,用Y表示。
(3)加密解密算法E、D。
(4)加密解密的密鑰Ke、Kd。
發送方用加密密鑰,通過加密設備或算法,將信息加密后發送出去。
接收方在收到密文后,用解密密鑰將密文解密,恢復為明文。
其數學表達式可以寫成:P=Dkd(Kd,Eke(Ke,P))。
如果傳輸中有人竊取,他只能得到無法理解的密文,從而對信息起到保密作用。
2、對稱密碼術和非對稱密碼術
根據所使用的密鑰的不同,密碼可分為兩種:對稱密碼和非對稱密碼。
(1)對稱密碼技術。
在這種密碼里,加密和解密使用同一個密鑰。
其代表是美國的數據加密標準DES。
DES主要采用替換和移位的方法加密。
它用56位密鑰對64位二進制數據塊進行加密,每次加密可對64位的輸入數據進行16輪編碼,經一系列替換和移位后,輸入的64位原始數據轉換成完全不同的64位輸出數據。
DES曾是一種世界公認的較好的加密算法。
但是它的密鑰長度太短,只有56位。
隨著計算機技術的飛速發展,這么短的密鑰已經不再安全。
科學家又研制了80位的密鑰,以及在DES的基礎上采用三重DES和雙密鑰加密的方法。
即用兩個56位的密鑰K1、K2,發送方用K1加密,K2解密,再使用K1加密。
接收方則使用K1解密,K2加密,再使用K1解密,其效果相當于將密鑰長度加倍。
另外IDEA算法也是一種非常安全的加密算法。
手機視頻加密軟件采用高強度加密算法,安全可靠性非常高。
對稱加密方法的主要問題是密鑰的生成、注入、存儲、管理、分發等很復雜,特別是隨著用戶的增加,密鑰的需求量成倍增加。
在網絡通信中,大量密鑰的分配是一個難以解決的問題。
例如,若系統中有n個用戶,其中每兩個用戶之間需要建立密碼通信,則系統中每個用戶須掌握(n-1)個密鑰,而系統中所需的密鑰總數為n*(n-1)/2個。
對10個用戶的情況,每個用戶必須有9個密鑰,系統中密鑰的總數為45個。
對100個用戶來說,每個用戶必須有99個密鑰,系統中密鑰的總數為4950個。
這還僅考慮用戶之間的通信只使用一種會話密鑰的情況。
如此龐大數量的密鑰生成、管理、分發確實是一個難處理的問題。
(2)非對稱密碼技術。
為了解決對稱密碼系統所面臨的一系列問題,本世紀70年代,美國斯坦福大學的兩名學者迪菲和赫爾曼提出了一種新的加密方法)公開密鑰加密對PKE方法。
在公鑰密碼系統中,加密和解密使用的是不同的密鑰(相對于對稱密鑰,人們把它叫做非對稱密鑰),這兩個密鑰之間存在著相互依存關系:即用其中任一個密鑰加密的信息只能用另一個密鑰進行解密。
這使得通信雙方無需事先交換密鑰就可進行保密通信。
其中加密密鑰和算法是對外公開的,人人都可以通過這個密鑰加密文件然后發給收信者,這個加密密鑰又稱為公鑰;而收信者收到加密文件后,它可以使用他的解密密鑰解密,這個密鑰是由他自己私人掌管的,并不需要分發,因此又稱為私鑰,這就解決了密鑰分發的問題。
實現非對稱密碼技術的關鍵問題是如何確定公鑰和私鑰及加/解密的算法,也就是說如何找到“Alice的鎖和鑰匙”的問題。
我們假設在這種體制中,PK是公開信息,用作加密密鑰,而SK需要由用戶自己保密,用作解密密鑰。
加密算法E和解密算法D也都是公開的。
雖然SK與PK是成對出現,但卻不能根據PK計算出SK。
它們須滿足條件:
1、加密密鑰PK對明文X加密后,再用解密密鑰SK解密,即可恢復出明文,或寫為:DSK(EPK(X))=X。
2、加密密鑰不能用來解密,即DPK(EPK(X))不等于X。
3、在計算機上可以容易地產生成對的PK和SK。
4、從已知的PK實際上不可能推導出SK。
5、加密和解密的運算可以對調,即:EPK(DSK(X))=X。
要找到滿足上述條件的算法,關鍵是要尋求合適的單向陷門函數。
單向陷門函數的特點是一個方向求值很容易,但其逆向計算卻很困難。
許多形式為Y=f(x)的函數,對于給定的自變量x值,很容易計算出函數Y的值;而由給定的Y值,在很多情況下依照函數關系f(x)計算x值十分困難。
例如,兩個大素數p和q相乘得到乘積n比較容易計算,但從它們的乘積n分解為兩個大素數p和q則十分困難。
如果n為足夠大,當前的算法不可能在有效的時間內實現。
非對稱密碼術比較常用的有RSA和橢圓曲線密碼,RSA的原理在多種文獻刊物上都有所闡述,本文只介紹橢圓曲線密碼。
橢圓曲線密碼是一種非常有效的非對稱密碼,其基本思想就是使用橢圓曲線上的點(由橫坐標和縱坐標組成的一對值來表示)來定義公鑰和私鑰對。
由于有限域上橢圓曲線的離散對數實際上是一般有限域上的離散對數在橢圓曲線上的一種類比物,因此它至少在實用上比一般有限域上的離散對數的計算要困難些,因此其安全性也要強一些,當然目前人們還不能證明這一點。
下面介紹基于橢圓曲線的El-Gamal公鑰密碼體制(其他的很多公鑰密碼體制都可以很容易地推廣到橢圓曲線上去)。
A和兩人要事先在公開的通道上選定有限域Fq(其中q=p,p為素數)上的一條橢圓曲線E,以及隨機點P包含于E(該點要能生成一個很大的子群,這個子群*好和橢圓曲線E本身所構成的群一樣大或比較接近)。
A選定一個隨機數a包含于{1,2,,,q-1}(a可以認為是A之私鑰),并計算出aP(aP可以認為是A之公鑰),且將其傳輸給B;B選定一個隨機數b包含于{1,2,,,q-1}(b可以認為是之私鑰),并計算出bP(bP可以認為是之公鑰),且將其傳輸給A;
現假定A要給傳輸信息M(明碼)。
首先A要選定一個隨機數k,并利用的公鑰bP計算出密碼C=(kP,M+(bP)),且將其傳輸給B。
為了能夠將C變換回M,需要對C進行解密計算,但由于B有b,所以他可以很容易地計算出M=M+k(bP)-b(kP)。
顯然,敵方如能計算橢圓曲線上的離散對數,他就能從公開的信息P和bP中確定出b,從而破譯C。
慶幸的是,求解橢圓曲線上的離散對數比求解一般有限域上的離散對數更困難,當所選的有限域R很大、所選的橢圓曲線以及這條曲線上的點P又很合適時,a或b是很難算出的,因此基于橢圓曲線離散對數的密碼體制也就要更安全些(至少比基于整數分解或一般有限域上的離散對數的密碼體制要更安全些)。
另外,橢圓曲線密碼體制與其他公鑰密碼體制相比,在密鑰的長度相同的情況下,它的安全性要更高些。
正是基于上述這些原因,目前人們才會對橢圓曲線密碼體制更感興趣。
Copyright © 2021 深圳市維創信息技術有限公司 版權所有