數(shù)據(jù)庫加密系統(tǒng)中CRT的應(yīng)用
隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展.Web結(jié)構(gòu)的信息系統(tǒng)越來越多地被應(yīng)用于各個領(lǐng)域的管理系統(tǒng)中,由于Web信息系統(tǒng)存在于網(wǎng)絡(luò)當中,其數(shù)據(jù)和信息的安全性受到巨大威脅。信息安全已經(jīng)成為Web信息系統(tǒng)需要解決的首要問題。數(shù)據(jù)庫系統(tǒng)作為Web信息系統(tǒng)的核心部件,其安全性將直接影響信息系統(tǒng)的安全性能。而數(shù)據(jù)庫加密則是提高數(shù)據(jù)庫安全的重要手段。
一、公鑰加密體質(zhì)
該公鑰加密體制由3部分構(gòu)成:密鑰生成、加密和解密算法。
1、密鑰生成
設(shè)k為安全參數(shù)。隨機選取6個不同的素數(shù)pl,….p6。其長度均為量-333 bit,令n=pl,…,p6。隨機選擇一個6階可逆矩陣A=(aij)。其中aij剩余定理計算al’…,a6,使之滿足a1≡all(mod pi),a1≡a2l(mod p2),…,al≡a61(modp6);a2≡a12(mod 1),a2≡a22(mod P2),...,a2≡a62 (mod p6);…a6≡a16(mod p1),a2≡a26(mod p2),...,a6≡a66(mod p6)。顯然,a1,…,a6的值是由pl,…,p6和矩陣A的值在mod以的一組完全剩余系上惟一確定的,而且注意到a公鑰為模數(shù)n和bi,…,65;私鑰為a6、Pi.…,p6和矩陣B。
2、加密
被加密明文撒的長度為1 500 bit,被分為5段,每段的長度為300 bit,記明文向量研;(ml,…,ms)T。隨機選取一個長度為300 bit的整數(shù),...,加密者計算c≡blml+b2m2+...+b5m5+r(modn)。
3、解密
接收者收到密文c后,首先計算s≡a6c(modn);然后計算S1≡s (mod Pi),S2≡s (mod P2),…,s6=s(mod p6)。此處卸取s(mod pi)的絕對最小剩余。接收者再計算(mi,…,m5,r)T =B(si,…,S6)T,即獲得了明文嬲皇(ml,…,m5)T。
4、解密的正確性
注意到a6和6互為modn的逆元,就有s≡a6c-almi+---+asms +a6r (modn)。對于f=1,…,6,有si≡s-almi+…+as ms+a6r-aii mi+…+a西mS +a,6r (mod pi)。再注意到,q的長度至多為30 bit,mi和,m5的長度為300 bit。A的長度為333 bit。因此,不等式pi/2<ai1ml+…+ai5m5+ai6r<pt/2幾乎總是成立的。所以,st和ai1ml+…+ai5m5+ai6r,都是s(modn)的絕對最小剩余,這些等式聯(lián)立就是(sl,…,s6)r=A(mi,…,ms,r)T,而矩陣A的逆為B,因此,(mI,…,TT5,r)r=B(sI,…,s6)T,從中可以恢復出明文。
二、性能分析
1、信息率
在公鑰體制的實際應(yīng)用中,除了考慮它的安全性因素之外還必須考慮它的效率和信息率。如果信息率太低的話,則意味著密文擴展大,密文擴展大意昧著存儲空間和計算資源的占用也大,這不符合快速公鑰密碼體制快速簡潔的要求。
現(xiàn)在計算本文所提出的公鑰密碼體制的信息率。在加密過程中,明文長度Lm為1 500 bit,而密文的長度與模數(shù)挖相當,即密文f的長度Lc大約是6×333 bit=1 998 bit。據(jù)此可以計算出該密碼體制的信息率R=Lm/Lc≈1 500/1 998=O.75?;蛘哒f,該公鑰算法的密文擴展為4:30與RSA和ElGamal公鑰密碼體制相比,RSA是一個陷門單向置換,其密文擴展為l,1;El Gamal的密文擴展為2tl??梢钥闯龉P者提出算法的密文擴展不大。
2、算法的計算復雜度
下面從加解密算法的計算復雜度來考慮該公鑰密碼算法的效率。
加密算法只使用了5個模乘法和5個模加法運算,而模乘法的計算復雜度是2次,模加法運算的計算復雜度是1次,其用時可以忽略不計。因此,加密算法的計算復雜度為O(kz),這里k是安全參數(shù)。而傳統(tǒng)公鑰密碼算法RSA和El Gamal公鑰密碼體制的加密復雜度都是3次。
解密算法只使用了1個模乘法和1個6階矩陣和向量的乘法運算,因此,本文提出的公鑰密碼算法的解密復雜度為O(k2)。而傳統(tǒng)公鑰密碼算法RSA和El Gamal公鑰密碼體制的解密都是3次復雜度。
通過比較可知,本文提出算法的加解密速度要比RSA和El Gamal的加解密快得多,甚至可以和對稱密碼的加解密速度相媲美。
三、安全性分析
從兩個方面來分析密碼體制的安全性,即分析攻擊者從公鑰求解出私鑰的困難性和攻擊者從密文恢復出明文的不可能性。
1、整數(shù)分解
本文給出的公鑰密碼算法所使用的模數(shù)總不是標準的RSA模數(shù),它是6個長為333 bit的強素數(shù)的乘積,必須估計分解這樣模數(shù)的困難程度。一個公認的結(jié)果是,當一個大整數(shù)的最小素因子的長度超過200 bit時,最快的分解算法就是數(shù)域篩法(NFS)。因此,如果一個整數(shù)的長度足夠長的話,比如說1024 bit。使用NFS來分解該整數(shù)在計算上是不可行的。另外一個值得注意的事實是,NFS分解一個整數(shù)所需要的時間不依賴于該整數(shù)最小的察因子的大小,而依賴于該整數(shù)本身的長度,因此,筆者所使用的1998 bit長的模數(shù)要比RSA-1024模數(shù)更難以分解。
要分析攻擊者分解n= p1...P6的難度,還必須討論公鑰bl,…,b5是否提供給攻擊者足夠的信息。注意到bl,…,b5的構(gòu)成,bi≡bai(modn),f=1,….5,b是amodn的逆元。如果給出單個的ai,攻擊者是有辦法分解整數(shù)n的,他可以窮舉搜索a,此時ai -aj和挖的最大公因數(shù)gcd (ai -aB,n)就是玎的索因子Pj,使用歐幾里德算法可以有效地計算出Pi =gcd(crr-aij,n).然而此時的ai攻擊者是不知道的,筆者采用反bi (modn)對這些信息進行隱藏。而且這一隱藏方法是有效的,因為乘法運算本身就具有很好的混淆作用,最典型的例子就是RSA數(shù),把兩個素數(shù)進行乘法運算以后,乘法運算的混淆作用將使得分解乘法運算的結(jié)果即RSA數(shù)是困難的。
2、可證明安全評述
本文提出的加密算法在選擇明文攻擊下不是語義上安全的。這是因為,給定兩個明文m2(m1,…,m15)T和t=(t1,…,t5)T,隨機選擇其中的一個進行加密得到密文c,攻擊者很容易把m和t都代人到加密函數(shù)中,求解對應(yīng)的臨時密鑰rm和rt,其中長度為300 bit的(比如說rH)應(yīng)當是合法的臨時密鑰,由此可以判定密文所對應(yīng)的明文(此時就是m)。
小知識之CRT
CRT是一種使用陰極射線管(Cathode Ray Tube)的顯示器,主要有五部分組成:電子槍(Electron Gun),偏轉(zhuǎn)線圈(Deflection coils),蔭罩(Shadow mask),熒光粉層(Phosphor)及玻璃外殼。它曾是應(yīng)用最廣泛的顯示器之一,CRT純平顯示器具有可視角度大、無壞點、色彩還原度高、色度均勻、可調(diào)節(jié)的多分辨率模式、響應(yīng)時間極短等LCD顯示器難以超越的優(yōu)點,而且以前的CRT顯示器價格要比LCD顯示器便宜不少。




