




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、信息處理64bit分組密碼算法的工作方式一主題內(nèi)容與適用范圍 本標(biāo)準(zhǔn)描述了采用秘密密鑰的任意一種64bit分組密碼算法的四種工作方式。 注:附錄a(參考件)包含了對每一種工作方式性質(zhì)的簡要評述。 本標(biāo)準(zhǔn)規(guī)定了四種確定的工作方式,以便在64bit分組密碼的任何應(yīng)用(例如數(shù)據(jù)傳輸,數(shù)據(jù)存儲,鑒別)中,對諸如工作方式的詳細(xì)說明、啟動變量的生成以及參數(shù)值的選定提供一個有用的參照。 注:對密文反饋(cfb)工作方式(見第6章),要確定兩個參數(shù)j和k;對輸出反饋(ofb)工作方式(見第7章),要確定一個參數(shù)j。在使用其中一種工作方式時,相應(yīng)參數(shù)要由通信的所有各方選定和使用。 二 術(shù)語 2.1明文 plai
2、ntext 未加密的信息。 2.2密文ciphertext 已加密的信息。 2.3分組鏈接block chaining 一種信息加密方法,每一個密文分組在密碼上依賴于前一個密文分組。 2.4初始化值 (iv) initializing value (iv) 用來確定加密過程的啟動點(diǎn)的值。 2.5啟動變量(sv)starting variable (sv) 由初始化值導(dǎo)出的且用來確定工作方式啟動點(diǎn)的變量。 注:本標(biāo)準(zhǔn)沒有規(guī)定由初始化值導(dǎo)出啟動變量的方法。這需要在應(yīng)用這些工作方式時另行描述。 2.6密碼同步cryptographic synchronization 加密與解密過程的協(xié)調(diào)一致。 三記
3、法 本標(biāo)準(zhǔn)中,由分組密碼算法定義的函數(shù)關(guān)系記為: c=ek(p) 式中: p-明文分組; c-密文分組; k-密鑰。 ek表示使用密鑰k的加密運(yùn)算。 對應(yīng)的解密函數(shù)記為: p=dk(c) 用大寫字母表示的變量,如上述p和c,表示一維比特陣列,例如: a=a1,a2,a m b=b1,b2,b m 便是兩個m比特陣列,其比特從1至m編號。 模2加法運(yùn)算,也稱作異或函數(shù),用符號? 來表示。a,b兩個陣列的模2加運(yùn)算定義為: a? ba1? b1, a2? b2, a m ? bm 選取陣列a的最左邊j個比特以產(chǎn)生一個j比特陣列的運(yùn)算記為: aj=a1,a2, a j 這種運(yùn)算只有當(dāng)jm(m是陣列a
4、中的比特?cái)?shù))時才有定義。 “移位函數(shù)”s k定義如下: 已知一個m比特變量x和一個k比特變量f,這里km,移位函數(shù)s k(xf)的作用就是產(chǎn)生如下m比特的變量: sk(xf)(x k+1,x k+2,x m,f1,f2,fk) 它的作用乃是將陣列x中的比特向左移動k個位置,舍棄x1,x k,并將陣列f放到x的最右邊的k個位置上。 本標(biāo)準(zhǔn)中使用這個函數(shù)的一種特殊情況,x為k比特全“1”的變量,記作i(k),f為j比特變最c,此處jk。上述作用為: sj(i(k)c)1,1,1,c1,c2, ,cj 此陣列的最左邊為k-j個“1”。 四 電子密本(ecb)方式 已知一個64比特的明文分組p,加密算
5、法產(chǎn)生一個64bit密文分組c,即: cek(p) 解密算法產(chǎn)生: pdk(c) 這種使用加密算法的方式稱作“電子密本”方式。 五 密碼分組鏈接(cbc)方式 用于cbc加密方式的變量為: a.n個明文分組p1,p2, pn組成的序列,每個分組都是64bit; b.密鑰k; c.64bit啟動變量sv; d.n個密文分組c1,c2,c n組成的結(jié)果序列,每個分組都是64bit。 注:本標(biāo)準(zhǔn)沒有描述生成sv的方法。 cbc加密方式描述如下。 加密第一個明文分組: c1ek(p1? sv) (1) 接著: ciek(pi? c i-1)i=2,3, ,n (2) 這一過程如圖1的上半部分所示。啟動
6、變量sv用于產(chǎn)生第一個密文輸出分組。 隨后,將密文分組與下一個明文分組進(jìn)行模2加后再加密。 cbc解密方式描述如下。 解密第一個密文分組。 p1dk(c1)? sv (3) 接著: pidk(ci)? c i-1 i=2,3, ,n (4) 這一過程如圖1的下半部分所示。 圖1密碼分組鏈接(cbc)工作方式 六 密文反饋(cfb)方式 6.1兩個參數(shù)定義一種cfb工作方式: a.反饋?zhàn)兞康拇笮,1k64; b.明文變量的大小j,1jk。 用于cfb工作方式的變量為: c.輸入變量: n個明文變量p1,p2, ,pn組成的序列,每個變量都是j比特。 密鑰k; 64bit的啟動變量sv。 d.中
7、間結(jié)果: n個算法輸入變量x1,x2,x n組成的序列,每個變量都是64bit; n個算法輸出變量y1,y2,y n組成的序列,每個變量都是64bit; n個變量e1,e2,e n組成的序列,每個變量都是j比特; n個反饋?zhàn)兞縡1,f2,f n組成的序列,每個變量都是k比特。 c輸出變量,即n個密文變量c1,c2,c n組成的序列,每個變量都是j比特。 注:本標(biāo)準(zhǔn)沒有描述生成sv的方法。 變量x的初始值置為: x1sv (5) 6.2對每個明文分組的加密運(yùn)算采用下列五個步驟: a.使用加密算法: yi=ek(x i) (6) b.選取最左邊j比特: ei=yij (7) c.產(chǎn)生密文分組: c
8、i=pi? ei (8) d.產(chǎn)生反饋分組: fisj(i(k)ci) (9) e.對x移位: x i1sk(x ifi) (10) 對i為1、2、n,重復(fù)上述步驟,但最后一輪時,作完(8)式就結(jié)束。這一過程如圖2的左半部分所示。加密算法輸出y的最左邊j比特用來和j比特明文分組按模2加進(jìn)行加密,y的其余比特舍棄不用。明文和密文分組中比特從1至j編號。 在密文公組最左邊添加k-j個“1”,將其擴(kuò)展成一個k比特陣列f,然后將x陣列中的比特左移k位并將陣列f插到它的最右邊k位,以產(chǎn)生新的x。在此移位操作中,舍棄x的最左邊k個比特。陣列x的初始值就是啟動變量(sv)。 6.3用于解密的變量和加密所用的
9、相同,變量x的初始值x1置為sv。 圖2 密文反饋(cfb)工作方式 對每個密文分組的解密運(yùn)算采用下列五個步驟: a.使用加密算法: yi=ek(x i) (11) b.選取最左邊j比特: ei=yij (12) c.產(chǎn)生明文分組: pi=ci? ei (13) d.產(chǎn)生反饋分組: fisj(i(k)ci) (14) e.對x移位: x i1sk(x ifi) (15) 對i為1、2、n,重復(fù)上述步驟,但最后一輪時,作完(13)式就結(jié)束。這一過程如圖2右半部分所示。加密算法輸出y的最左邊j比特用來和j比特的密文分組按模2加進(jìn)行解密,y的其余比特舍棄不用。明文和密文分組中的比特從1至j編號。 在
10、密文分組最左邊添加k-j個“1”,將其擴(kuò)展成一個k比特陣列f,然后將陣列x中的比特左移k位,并將陣列f插到它的最右邊k位,以產(chǎn)生新的x。在此移位操作中,舍棄x的最左邊k個比特。陣列x的初始值就是啟動變量(sv)。 6.4建議采用j與k相等的cfb方式。 此時,(9)式和(14)式可寫成: fici(j=k時) 七 輸出反饋(ofb)方式 7.1一個參數(shù),即明文變量的大小j,定義一種ofb工作方式,這里1j64。 用于ofb工作方式的變量為: a.輸入變量: n個明文分組p1,p2,p n組成的序列,每個分組都是j 比特; 密鑰k; 64bit的啟動變量sv。 b.中間結(jié)果: 1n個算法輸入變量
11、x1,x2,x n組成的序列,每個變量都是64bit; 2n個算法輸出變量y1,y2,y n組成的序列,每個變量都是64bit; 3n個變量e1,e2,e n組成的序列,每個變量都是j比特; c輸出變量,即n個密文分組c1,c2,c n組成的序列,每個變量都是j比特。 注:本標(biāo)準(zhǔn)沒有描述生成sv的方法。 變量x的初始值置為: x1sv (16) 7.2對每個明文分組的加密運(yùn)算采用下列四個步驟: a.使用加密算法: yi=ek(x i) (17) b.選取最左邊j比特: ei=yij (18) c.產(chǎn)生密文分組: ci=pi? ei (19) d.反饋運(yùn)算: xi1yi (20) 對i為1、2、
12、n,重復(fù)上述步驟,但最后一輪時,作完(19)式就結(jié)束。這一過程如圖3左半部分所示。加密算法的每次輸出yi被用于反饋,成為x的新值x i1。yi的最左邊j比特用來對輸入分組加密。 7.3用于解密的變量與加密所用的相同。變量x的初始值x1置為sv。 對每個明文分組的解密運(yùn)算采用下列四個步驟: a.使用加密算法: yi=ek(x i) (21) b.選取最左邊j比特: ei=yij (22) c.產(chǎn)生明文分組: pi=ci? ei (23) d.反饋運(yùn)算: xi1yi (24) 對i為1、2、n,重復(fù)上述步驟,但最后一輪,作完(23)式就結(jié)束。這一過程如圖3右半部分所示。變量xi和yi的值與加密時所
13、用的值相同,只有(23)式與(19)式不同。 圖3輸出反饋(ofb)工作方式 附錄a 工作方式的性質(zhì) (參考件) 一 電子密本(ecb)工作方式的性質(zhì) 在計(jì)算機(jī)之間或人與人之間,傳送信息的報(bào)文可能有重復(fù),或者是常用序列。在ecb方式中,對于相同的密鑰,相同的明文產(chǎn)生相同的密文,這一特性使ecb方式不適于一般使用,在今后那些可以接受這種重復(fù)特性的應(yīng)用標(biāo)準(zhǔn)中會規(guī)定ecb方式的使用方法。 如果加密和解密之間的分組邊界不匹配(例如某種比特錯位),則在正確的邊界重新確立前,加密和解密運(yùn)算一直失步,此時所有的解密結(jié)果都是不正確的。 二 密碼分組鏈接(cbc)工作方式的性質(zhì) 凡是使用同一個密鑰和同一個初始化
14、值加密相同的明文,cbc方式便得到相同的密文。計(jì)較該特性的用戶,應(yīng)設(shè)計(jì)某種方法來改變明文的起點(diǎn)、密鑰或啟動變量。一種可能是在每份cbc報(bào)文的開頭加上一個唯一的標(biāo)識符(例如一個增1計(jì)數(shù)器);當(dāng)加密那些大小不增加的記錄時,可以用的另一種方法是用某個值作為初始化值,這個值可以在不知道該記錄的內(nèi)容的情況下,就從它計(jì)算出來(例如,在隨機(jī)存取存儲器中包含該記錄的組號)。 由于cbc方式是逐個分組加密的,它需要對完整的64bit數(shù)據(jù)分組進(jìn)行運(yùn)算,不足64bit的分組需要特殊處理。 在cbc方式中,單個密文分組內(nèi)一比特或多個比特的錯誤將影響兩個分組的解密(錯誤所在的分組及下一個分組)。如果錯誤出現(xiàn)在第i個密文
15、分組,則在第i個明文分組中,每個比特都將有50的平均錯誤率,而第i+1個明文分組中,只在直接對應(yīng)于錯誤的密文比特的位置上是錯的。 如果加密和解密間的分組邊界不匹配(例如某種比特錯位),則在正確的邊界重新確立之前,加密與解密運(yùn)算一直失步,此時所有的解密結(jié)果都是不正確的。 三 密文反饋(cfb)工作方式的性質(zhì) 在cfb方式中。任一j比特密文單元中的錯誤將影響已出錯的那個密文分組的解密以及后面的密文的解密,直到這些錯誤比特被移出cfb的輸入分組為止。第一個受影響的j比特明文單元,恰好在密文發(fā)生錯誤的那些位置上被破壞,隨后解密的明文都將有50的平均錯誤率,直至所有的錯誤被移出輸入分組。假定在這段時間里
16、沒有發(fā)生別的錯誤,接著就可得到正確的明文。這種特性被稱作“有限錯誤擴(kuò)散”。 如果在解密過程中,j比特邊界不匹配,則密碼同步也將失去,這種情況將持續(xù)到重新進(jìn)行密碼初始化或在j比特邊界重新匹配后的64bit為止。 在cfb方式中,加密和解密過程兩者都使用算法的加密運(yùn)算。 四 輸出反饋(ofb)工作方式的性質(zhì) ofb工作方式不會把密文錯誤在解得的明文輸出中擴(kuò)散,密文中的一比特錯誤只造成解密后的明文分組中相應(yīng)位置上的一比特錯誤。此工作方式不是自同步的,如果加密和解密運(yùn)算兩者出現(xiàn)失步,則系統(tǒng)必須重新初始化。這種失步可能是由于j比特分組邊界失去匹配(例如某種比特錯位)或者可能是在一端或另一端變量x的值發(fā)生錯誤,從而造成兩端的x值不同,直到進(jìn)行重新初始化后為止。 每次重新初始化,應(yīng)當(dāng)使用和先前同一密鑰時用過的sv值不同的新的sv值。 附錄b 本標(biāo)準(zhǔn)與國際標(biāo)準(zhǔn)is
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷年課題申報(bào)書查看
- 銅鼓文化課題項(xiàng)目申報(bào)書
- 高校 工會課題申報(bào)書
- 體育課題申報(bào)評審書范文
- 合作投資酒店意向合同范本
- 人防車位產(chǎn)權(quán)合同范本
- 單價工裝采購合同范本
- 合同范本可以代替律師證
- 少數(shù)民族文化課題申報(bào)書
- 不交金合同范本
- 2023電動船舶直流充換電系統(tǒng)技術(shù)條件
- DBJ-T13-338-2020 建設(shè)工程施工現(xiàn)場遠(yuǎn)程視頻監(jiān)控系統(tǒng)建設(shè)應(yīng)用標(biāo)準(zhǔn)
- 2023年版加油站進(jìn)入受限空間作業(yè)制度
- 2023年廣東廣州市中考語文真題及答案
- GB/T 7939.3-2023液壓傳動連接試驗(yàn)方法第3部分:軟管總成
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學(xué)課件
- 第四章 新聞職業(yè)道德失范:虛假新聞1
- 運(yùn)動技能學(xué)習(xí)與控制課件第一章運(yùn)動技能學(xué)習(xí)與控制概述
- 穿堤涵閘工程施工方案
- 某污水處理廠設(shè)計(jì)倒置a2o工藝
- GB 29444-2012煤炭井工開采單位產(chǎn)品能源消耗限額
評論
0/150
提交評論