NTRU加密算法

隨著信息技術的迅猛發(fā)展和一些高技術武器設備、通信指揮系統(tǒng)等的需要,未來軍事部門將大量地使用公鑰密碼技術。由于RSA 和ECC 加密算法不能抗量子計算攻擊,而NTRU加密算法能抗量子計算攻擊,且速度快和安全性高,特別別適合用于諸如智能卡,保密蜂窩電話系統(tǒng),保密傳真、無線保密數(shù)據(jù)網(wǎng),以及認證系統(tǒng)等業(yè)務。

NTRU加密算法簡介

NTRU加密算法是1996年由美國布朗大學三位數(shù)學教授發(fā)明的公開密鑰體制。經(jīng)過幾年的迅速發(fā)展與完善,NTRU加密算法在密碼學領域中受到了高度的重視并在實際應用中取得了很好的效果。

一、參數(shù)說明

NTRU加密體制中,選取了三個整數(shù)參數(shù)(n,p,q)和四個多項式集合Rf,Rg,R_Φ ,Rm,這些集合中的多項式次數(shù)小于N-1,系數(shù)均為整數(shù)。p,q不一定是素數(shù),但必須滿足gcd(p,q)=1,而且q遠遠大于p。

二、NTRU 加密算法密鑰的生成

隨機生成2 個多項式f∈Rf,g∈Rg,其中f必須滿足在模p和模q的情形下均有乘法逆元。如果參數(shù)選擇合適,大多數(shù)的f都有逆元,而且可以通過改進歐幾里得算法很容易找到這些逆元。用Fp,Fq分別表示這兩個逆元,即

Fq_f ≡1(modq)

Fp_f ≡1(modp)

然后,計算

h≡Fq_g_(modq)

多項式h即為公鑰,私鑰為f,實際上Fp,Fq也必須保密。

三、NTRU加密算法加密過程

假設要加密的消息m∈Rm,隨機選取多項式φ∈Rφ,然后利用公鑰h進行如下運算:

e≡Pφ_h_+m(modq)

多項式e為消息m對應的密文。

四、NTRU加密算法解密過程

收到密文e后,可利用私鑰f進行解密。Fp必須預先計算。解密首先計算

a≡f_e(modq)

其中選取多項式a的系數(shù)在區(qū)間[-q/2,q/2]內(nèi)。然后通過如下計算恢復明文:

Fp_a(modp)。

五、NTRU加密算法解密過程工作原理

多項式a滿足:

a≡f_e≡f_PΦ_h+f_m(modq)

a≡f_e≡f_PΦ_Fq_g+f_m(modq)

a≡f_e≡PΦ_g+f_m(modq)

對于最后一個多項式PΦ_g+f_m,如果參數(shù)選擇合適,這個多項式的系數(shù)都可以限制在區(qū)間[-q/2,q/2]內(nèi),因此,這個多項式在所有系數(shù)模q的情形下不會改變。這意味著將f_e(modq)的所有系數(shù)都選取在區(qū)間][-q/2,q/2]內(nèi),的確可以得到正確的

a=PΦ_gf_m∈Z[X]/(Xn-1)

將多項式a進行模p約化,可得到f_m(modp),然后用Fp去乘上述多項式即可得到相應的明文消息m(modp)。

NTRU加密算法的安全性

NTRU加密算法的安全性介于RSA和ECC加密算法之間。

NTRU加密算法的優(yōu)點

NTRU加密算法設計的非常巧妙,整個加密算法只包括小整數(shù)的加、乘和模運算,在相同安全級別的前提下,NTRU加密算法的速度要比其它公鑰密碼體制的算法快得多,NTRU加密、解密一個長度為N的信息塊需要0(N2)次操作,RSA加密算法需要0(N3)次操作,所以NTRU加密算法比RSA加密算法快至少100倍。用NTRU加密算法產(chǎn)生密鑰的速度也很快,它的密鑰產(chǎn)生速度比RSA加密算法快300倍。

NTRU加密算法的缺點

NTRA公鑰加密系統(tǒng)并沒有提供完善的解密機制,也就是說存在著用公鑰加密產(chǎn)生合法密文不能被私鑰解密的現(xiàn)象。攻擊者可能利用這一點來進行攻擊,攻擊者會利用DC判斷程序來判斷合法的密文是否被正確解密,通過系統(tǒng)提供的相關信息來恢復用戶的私鑰,不過可通過對系統(tǒng)參數(shù)的仔細選擇,使解密失敗的概率可小于5×10的-5次方。

國外有很多研究機構正在對NTRU加密算法安全性進行研究,但到目前為止還沒有任何理由說明NTRU加密算法是不安全的,有理由相信NTRU加密算法完全有可能在公開密鑰體制中占有主導地位。

小知識之公開密鑰密碼體制

公開密鑰密碼體制的產(chǎn)生主要是因為兩個方面的原因,一是由于常規(guī)密鑰密碼體制的密鑰分配問題,另一種是由于對數(shù)字簽名的需求。