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