子密鑰數(shù)據(jù)庫安全加密算法
數(shù)據(jù)庫加密對于企業(yè)內(nèi)部安全管理是不可或缺的。目前,國內(nèi)外紛紛重視信息安全陵術(shù)的研發(fā),在加密理論方面,日趨成熟,但在數(shù)據(jù)庫上實(shí)施加密算法方面,研究相對較少。那么我今天就給大家介紹一下子密鑰數(shù)據(jù)庫加密算法。
子密鑰數(shù)據(jù)庫加密算法
1、 DES加密算法
數(shù)據(jù)庫系統(tǒng)的加密算法多采用類似DES(數(shù)據(jù)加密標(biāo)準(zhǔn))的分組加密算法。DES是一個(gè)分組加密算法,它以64位為一組對數(shù)據(jù)進(jìn)行加密。64位一組的明文從算法的一端輸入.64位的密文從另一端輸出。密鑰的長度為56位,且可在任意的時(shí)候改變。所有的保密性依賴于密鑰。DES是一個(gè)對稱算法;加密和解密用的是同一算法。
DES對64位的明文分組進(jìn)行操作。通過一個(gè)初始置換,將明文分組分成左半部分和右半部分,各32位長。再進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù),,在運(yùn)算過程中數(shù)據(jù)與密鑰結(jié)合。在每一輪(見圖1)中,密鑰位移位,然后再從密鑰的56位選出48位,通過一個(gè)擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過一個(gè)異或操作與48位密鑰結(jié)合,通過8個(gè)S盒,將48位替代成新的32位數(shù)據(jù),再將其置換一次。該4步運(yùn)算構(gòu)成了函數(shù)f,然后通過另一個(gè)異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果即成為新的右半部分,原來的右半部分成為新的左半部分。經(jīng)過16輪后,左半部分與右半部分合在一起經(jīng)過一個(gè)末置換(初始置換的逆置換),最后,該算法就完成了。
2、子密鑰數(shù)據(jù)庫加密算法
子密鑰加密算法中的核心思路是根據(jù)數(shù)據(jù)庫,特別是關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)組織的特點(diǎn),在加密時(shí)以紀(jì)錄為單位進(jìn)行加密操作,而在查詢需要解密時(shí),則以數(shù)據(jù)項(xiàng)為單位進(jìn)行解密操作。兩者所用的密鑰是不同的,加密所用的密鑰是針對整個(gè)紀(jì)錄的密鑰,而解密所用的密鑰是針對該數(shù)據(jù)項(xiàng)的字密鑰。
其定理如下:
假定M1,M2,…,Mn是n個(gè)兩兩互素的正整數(shù)。A1,A2,…An代表n個(gè)任意的正整數(shù),則同余方程組:
![]()
是有解的,并且任意兩個(gè)解對于M1,M2,…,Mn都是同余的。
設(shè)有n個(gè)大素?cái)?shù),D1,D2,…,Dn和值Ci,這里ci( mod Di)j=1.2,…n??梢詮腃i和Di中恢復(fù)出Aj的值。這里Ci對應(yīng)一個(gè)加密的密文記錄,Di對應(yīng)一個(gè)數(shù)據(jù)項(xiàng)的解密密鑰,Aj即為明文數(shù)據(jù)項(xiàng)值。
下面根據(jù)D.E.Denning所述的簡化方案來討論如何實(shí)現(xiàn)數(shù)據(jù)庫文件加密、解密和修改。
(1)加密
加密是把紀(jì)錄由明文變換成密文的過程,其方程如下:
![]()
式中,
;n是數(shù)據(jù)項(xiàng)文件中數(shù)據(jù)項(xiàng)的個(gè)數(shù);Dj是人為選定的大于n的素?cái)?shù),它是數(shù)據(jù)項(xiàng)j的解密密鈳(讀子密鑰);弓是明文紀(jì)錄,其求法是:

子密鑰對于數(shù)據(jù)庫文件而盲是全局的,即所有的紀(jì)錄用同樣的字密鑰加密,每個(gè)用戶只可得到允許其讀的那些數(shù)據(jù)項(xiàng)的讀子密鑰。
(2)解密
由剩余定理可知.G是方程組:
![]()
的解,若需要解密第j個(gè)數(shù)據(jù)項(xiàng),則對Cj用第j個(gè)數(shù)據(jù)項(xiàng)的讀子密鑰Dj,求模運(yùn)算便可實(shí)現(xiàn)解密。
(3)更新
信息社會(huì)不斷變化,數(shù)據(jù)庫中的數(shù)據(jù)也要不修改和更新。利用讀寫字密鑰可以較為方便地進(jìn)行更新和修改,而且不髂要把整個(gè)紀(jì)錄全部解密,修改后重新加密。
設(shè)需要更新的第,項(xiàng)數(shù)據(jù)項(xiàng),新散據(jù)值為Fij;Gi是修改后的密文值,而且只需知道讀子密鑰Dj和寫字密鑰Ej即可按下面的方程式實(shí)現(xiàn):
![]()
小知識之DES算法
DES算法為密碼體制中的對稱密碼體制,又被稱為美國數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國IBM公司研制的對稱密碼體制加密算法。 明文按64位進(jìn)行分組,密鑰長64位,密鑰事實(shí)上是56位參與DES運(yùn)算(第8、16、24、32、40、48、56、64位是校驗(yàn)位, 使得每個(gè)密鑰都有奇數(shù)個(gè)1)分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。










