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