數(shù)據(jù)安全傳輸加密中正交多項式的應(yīng)用

一般而言,數(shù)據(jù)的傳輸需要雙方預(yù)先約定密鑰和算法,發(fā)送方對原始信息加密再通過網(wǎng)絡(luò)完成傳輸,接受方在收到數(shù)據(jù)后根據(jù)密鑰和算法完成解密。這中間要防止人為數(shù)據(jù)竊取、破壞,作為破壞者,需要得到的是加密密鑰或者對傳輸數(shù)據(jù)進行干擾,使其可靠性降低。對于這些攻擊,??吹降慕鉀Q辦法比如數(shù)字簽名,良好的難以破解的數(shù)據(jù)加密算法等,其中大多數(shù)加密算法基于二次剩余、離散對數(shù)和線性同余這些難解算法作為基礎(chǔ)。為此本文提出了一種基于正交多項式加密傳輸算法,能有效具備監(jiān)測傳輸中數(shù)據(jù)偽隨機攻擊的同時,迸一步增強原來算法的安全度。

一、加密算法構(gòu)造

正交多項式概念:若首項系數(shù)an≠0的n次多項式滿足:

 

就稱多項式序列g(shù)0(x),g1(X),…,在[a,b]區(qū)間帶權(quán)p(x)正交,并稱gn(x)是[a,b]區(qū)間帶權(quán)的次正交多項式。

算法構(gòu)造:

1、通信雙方事先商定(l)中區(qū)間[a,b]和p(x)作為雙方的密鑰,發(fā)送方在傳輸數(shù)據(jù)前隨機選取兩個不相等的符合(1)式的多項式gj(x),gk(x)。

2、用正交多項式系數(shù)對原始數(shù)據(jù)使用選定的安全算法進行加密,比如首先用(1)式計算出的加密密鑰Aj,Ak對原始數(shù)據(jù)分別加密后的數(shù)據(jù)尾,加密與解密算法選取要一一對應(yīng)且是唯一解的,最好是不可逆Hash算法。

接受方在接到數(shù)據(jù)后,根據(jù)gj(x),gk(x)計算加密密鑰Aj,Ak;然后對數(shù)據(jù)尾分別執(zhí)行逆解密運算,觀察解密后的兩個原始數(shù)據(jù)是否相等,若相等說明數(shù)據(jù)沒有被篡改,否則,存在偽隨機攻擊。

二、加密算法分析

構(gòu)造特別要求傳送的數(shù)據(jù)串首是gj(x),gk(x),不相等的信息,這一目的是檢測數(shù)據(jù)在傳輸中是否有人為的偽造數(shù)據(jù)攻擊。因為gj(x),gk(x)不相等,如果數(shù)據(jù)首被部分修改,那么一般情況下:

 

但是,也存在一個特殊的情況,比如對方長時間截取數(shù)據(jù)串或者連續(xù)截取足夠多的數(shù)據(jù)后,會猜測并使用一個在加密中使用過的完整的gi(x)來代替gj(x),gk(x)中的一個,那么此時有:

 

這樣,解密方就會錯誤地解密出一個不正確地信息,為了避免這個特殊情況,上面使用兩個數(shù)據(jù)gj(x),gk(x)計算出的Aj,Ak對同一原始數(shù)據(jù)分別加密:

 

作為數(shù)據(jù)串的尾。這種設(shè)計無論對方是篡改數(shù)據(jù)頭的gj(x),gk(x)的部分數(shù)據(jù)還是整個數(shù)據(jù)頭或者是數(shù)據(jù)尾,都將被接收者所察覺。

證明:首先分析數(shù)據(jù)首的篡改,已知加密與解密運算的關(guān)系是一一對應(yīng)的,且是唯一的,有:

 

如果gj(x),gk(x)任意一個被篡改為gi(x),那么有:

 

顯而易見,在解密時,解密結(jié)果不一致,因為解密的參考對象Aj,Ak發(fā)生了變化,從而監(jiān)測到篡改。對數(shù)據(jù)尾的篡改,實際上就是對加密信息的改變,分析方式與上相同,解密后信息也發(fā)生改變。以上是對數(shù)據(jù)傳輸?shù)膫喂舴婪洞胧?,對于?shù)據(jù)傳輸?shù)拿荑€破解這一角度也就是對:

 

的求解。其中區(qū)間[a,b]和p(x)作為通信雙方的密鑰,敵對方僅僅知道gj(x),gk(x)等正交多項式是很難破解出密鑰的,即使對方能獲得這一密鑰也無法破解加密密鑰Aj,Ak對原始數(shù)據(jù)的加密算法,因為傳統(tǒng)的很多加密算法都是很安全的,這里不詳細介紹,故該方案是安全的。

小知識之正交多項式

正交多項式是由多項式構(gòu)成的正交函數(shù)系的通稱。