版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ICS35.040
L80
中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)
GB/T15852.2—XXXX
信息技術(shù)安全技術(shù)消息鑒別碼
第2部分:采用專用雜湊函數(shù)的機(jī)制
Informationtechnology–Securitytechniques–MessageAuthentication
Codes(MACs)–Part2:Mechanismsusingadedicatedhash-function
MOD
(報(bào)批稿)
(本稿完成日期:2011年1月19日)
XXXX-XX-XX發(fā)布XXXX-XX-XX實(shí)施
GB/T15852.2—XXXX
引??言
本部分規(guī)定的第一個(gè)MAC算法通常被稱作MDx-MAC。它調(diào)用一次完整的雜湊函數(shù),但是對(duì)其中
的輪函數(shù)做了細(xì)微的修改,把一個(gè)密鑰加到了輪函數(shù)的附加常數(shù)上。第二個(gè)MAC算法通常被稱作
HMAC,它調(diào)用兩次完整的雜湊函數(shù)。第三個(gè)MAC算法是MDx-MAC的一個(gè)變種,它限制輸入長(zhǎng)度不
大于256比特。在只處理較短輸入的情況下,它有更好的性能。
本部分規(guī)定的三種MAC算法采用四種專用雜湊函數(shù);其中,專用雜湊函數(shù)1、2、3分別是GB/T
18238.3-2002中規(guī)定的專用雜湊函數(shù)1、2、3,專用雜湊函數(shù)4是ISO/IEC10118-3:2004中規(guī)定的專用
雜湊函數(shù)7。使用的專用雜湊函數(shù)也可以為國(guó)家密碼管理部門批準(zhǔn)的相應(yīng)專用雜湊函數(shù)。
I
GB/T15852.2—XXXX
信息技術(shù)安全技術(shù)消息鑒別碼
第2部分:采用專用雜湊函數(shù)的機(jī)制
1范圍
GB/T15852的本部分規(guī)定了三種采用專用雜湊函數(shù)的消息鑒別碼算法。這些消息鑒別碼算法可用作
數(shù)據(jù)完整性檢驗(yàn),檢驗(yàn)數(shù)據(jù)是否被非授權(quán)地改變。同樣這些消息鑒別碼算法也可用作消息鑒別,保證消
息源的合法性。數(shù)據(jù)完整性和消息鑒別的強(qiáng)度依賴于密鑰的長(zhǎng)度及其保密性、雜湊函數(shù)的算法強(qiáng)度及其
輸出長(zhǎng)度、消息鑒別碼的長(zhǎng)度和具體的消息鑒別碼算法。
本部分適用于任何安全體系結(jié)構(gòu)、進(jìn)程或應(yīng)用的安全服務(wù)。
2規(guī)范性引用文件
下列文件對(duì)于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅所注日期的版本適用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
GB/T18238.3-2002信息技術(shù)安全技術(shù)散列函數(shù)第3部分:專用散列函數(shù)(idtISO/IEC10118-3:
1998)
GB/T1988-1998信息技術(shù)信息交換用七位編碼字符集(eqvISO/IEC646:1991)
ISO/IEC10118-3:2004信息技術(shù)安全技術(shù)雜湊函數(shù)第3部分:專用雜湊函數(shù)
3術(shù)語(yǔ)和定義
下列術(shù)語(yǔ)和定義適用于本部分。
3.1
消息鑒別碼messageauthenticationcodeMAC
利用對(duì)稱密碼技術(shù),以密鑰為參數(shù),由消息導(dǎo)出的數(shù)據(jù)項(xiàng)。任何持有這一密鑰的實(shí)體,都可利用消
息鑒別碼檢查消息的完整性和始發(fā)者。
3.2
消息鑒別碼(MAC)算法密鑰MACalgorithmkey
一種用于控制消息鑒別碼算法運(yùn)算的密鑰。
3.3
消息鑒別碼算法MessageAuthenticationCodealgorithm
消息鑒別碼算法簡(jiǎn)稱MAC算法,其輸入為密鑰和消息,輸出為一個(gè)固定長(zhǎng)度的比特串,滿足下面兩
個(gè)性質(zhì):
1
GB/T15852.2—XXXX
-對(duì)于任何密鑰和消息,MAC算法都能夠快速地計(jì)算。
-對(duì)于任何固定的密鑰,攻擊者在沒(méi)有獲得密鑰信息的情況下,即使獲得了一些(消息,MAC)對(duì),
對(duì)任何新的消息預(yù)測(cè)其MAC在計(jì)算上是不可行的。
注:一個(gè)MAC算法有時(shí)被稱作一個(gè)密碼校驗(yàn)函數(shù)。計(jì)算不可行性依賴于使用者具體的安全要求及其環(huán)境。
3.4
輸出變換outputtransformation
應(yīng)用在算法中,對(duì)迭代操作的輸出所進(jìn)行的變換。
3.5
抗碰撞雜湊函數(shù)collision-resistanthash-function
滿足如下性質(zhì)的雜湊函數(shù):
-尋找兩個(gè)不同的輸入,使得它們的輸出相同,在計(jì)算上是不可行的。
3.6
消息比特串(數(shù)據(jù))datastring(data)
雜湊函數(shù)的輸入比特串。
3.7
雜湊值hash-code
雜湊函數(shù)的輸出比特串。
3.8
雜湊函數(shù)hash-function
將任意長(zhǎng)消息比特串映射到定長(zhǎng)比特串的函數(shù),并且滿足如下兩個(gè)性質(zhì):
-對(duì)于任何輸出,找到它所對(duì)應(yīng)的輸入在計(jì)算上是不可行的。
-對(duì)于任何輸入,找到區(qū)別于它且和它具有相同輸出的輸入在計(jì)算上是不可行的。
3.9
初始值initializingvalue
雜湊函數(shù)開(kāi)始工作時(shí)用到的值。
3.10
填充padding
在消息比特串后面附加額外比特串的操作。
3.11
分組block
一種定義了長(zhǎng)度的比特串。
2
GB/T15852.2—XXXX
3.12
輪函數(shù)round-function
將兩個(gè)長(zhǎng)度為和的比特串映射到一個(gè)長(zhǎng)度為的比特串的函數(shù)。
L1L2L2(.,.)
注:它被反復(fù)地用在雜湊函數(shù)中,將長(zhǎng)度為的比特串和前面長(zhǎng)度為的輸出值相合并。
L1L2
3.13
字word
長(zhǎng)度為32位的比特串。
4符號(hào)和記法
下列符號(hào)和記法適用于本部分。
D、D'將要被輸入到MAC算法的消息比特串;
mMAC值的比特長(zhǎng)度;
q經(jīng)過(guò)填充和分割操作后,消息比特串D的分組個(gè)數(shù);
比特串最左邊的比特;
MSBj(X)Xj
XY比特串X和Y的異或值;
X||Y按順序?qū)⒈忍卮甔和Y連接所構(gòu)成的比特串;
:MAC算法定義中使用的賦值符號(hào);
D經(jīng)過(guò)填充的消息比特串;
h雜湊函數(shù);
h'被修改了常數(shù)和初始值的雜湊函數(shù)h;
h簡(jiǎn)化的雜湊函數(shù)h,沒(méi)有數(shù)據(jù)填充和長(zhǎng)度附加;
'''長(zhǎng)度為比特串,在MAC算法計(jì)算中被用來(lái)存儲(chǔ)臨時(shí)結(jié)果;
H、HL2
'初始值;
IV、IV、IV1、IV2
kMAC算法密鑰的比特長(zhǎng)度;
KMAC算法的密鑰;
'MAC算法1和3中的導(dǎo)出密鑰;
K、K0、K1、K2
、、MAC算法2中的導(dǎo)出密鑰;
KK1K2
LMAC算法3中表示消息長(zhǎng)度的比特串;
3
GB/T15852.2—XXXX
OPAD、IPADMAC算法2中使用的常數(shù)比特串;
R、S0、S1、S2MAC算法1和3中,用來(lái)導(dǎo)出一系列常數(shù)的常數(shù)比特串;
、、MAC算法1和3中,用來(lái)導(dǎo)出子密鑰的128比特常數(shù);
T0T1T2
、、MAC算法1和3中,用來(lái)導(dǎo)出子密鑰的768比特常數(shù);
U0U1U2
'使用修改后常數(shù)的輪函數(shù);
128比特串的第個(gè)字,即:;
K1[i]K1iK1K1[0]||K1[1]||K1[2]||K1[3]
H雜湊值;
LX比特串X的比特長(zhǎng)度;
、'輪函數(shù)中用到的常數(shù)字;
CiCi
專用雜湊函數(shù)4中用到的常數(shù)矩陣;
CCi
輸入到輪函數(shù)的兩個(gè)比特串中,第一個(gè)比特串的比特長(zhǎng)度;
L1
輸入到輪函數(shù)的兩個(gè)比特串中,第二個(gè)比特串的比特長(zhǎng)度;
L2
輪函數(shù)輸出值的比特長(zhǎng)度;初始值IV的比特長(zhǎng)度。
輪函數(shù),即:若和分別表示長(zhǎng)度為和的比特串,則
XYL1L2
(X,Y)表示將作用到X和Y所得到的比特串。
模232加法操作,即:若A和B是字,那么把A和B看作是整
32
數(shù)的2進(jìn)制表示,計(jì)算它們的和再模232,所得到的結(jié)果在0和
32之間,把它看作為字,記作。
21A32B
注:只能被用來(lái)處理長(zhǎng)度為整數(shù)倍的輸入比特串。
hL1
5要求
采用本部分MAC算法的使用者應(yīng)當(dāng)選擇:
1)從章節(jié)6、7、8中選取一種MAC算法;
2)從GB/T18238.3-2002中的專用雜湊函數(shù)1、2、3或ISO/IEC10118-3:2004中的專用雜湊函數(shù)7中
選取一個(gè)雜湊函數(shù);
3)MAC的長(zhǎng)度m。
對(duì)于MAC算法1和2,MAC的長(zhǎng)度應(yīng)該是一個(gè)正整數(shù)并且不大于雜湊值長(zhǎng)度。對(duì)于MAC算法3,MAC
mLH
的長(zhǎng)度m應(yīng)該是一個(gè)正整數(shù)并且不大于雜湊值長(zhǎng)度的二分之一,即。
mLH/2
對(duì)于MAC算法1和2,消息比特串D的比特長(zhǎng)度不大于2641;對(duì)于MAC算法3,消息比特串D的比特
長(zhǎng)度不大于256。
對(duì)一個(gè)具體MAC算法、專用雜湊函數(shù)、m值的選擇超出了本部分所規(guī)定的范圍。
注:上述選擇將影響MAC算法的安全強(qiáng)度,具體請(qǐng)參考附錄B。
4
GB/T15852.2—XXXX
生成MAC和驗(yàn)證MAC應(yīng)當(dāng)使用同樣的密鑰。
6MAC算法1
MAC算法1計(jì)算MAC值要求調(diào)用一次雜湊函數(shù),而且要求修改其中的輪函數(shù)常數(shù)。
雜湊函數(shù)應(yīng)當(dāng)從GB/T18238.3-2002中的專用雜湊函數(shù)1、2、3或ISO/IEC10118-3:2004中的專用
雜湊函數(shù)7中選取。
密鑰長(zhǎng)度k不大于128比特。
注:本條款包括MDx-MAC的描述【5】。具體來(lái)講,若采用專用雜湊函數(shù)1,MAC算法1也被稱作RIPEMD-160-MAC;
若采用專用雜湊函數(shù)2,MAC算法1也被稱作RIPEMD-128-MAC;若采用專用雜湊函數(shù)3,MAC算法1也被稱作
SHA-1-MAC;若采用專用雜湊函數(shù)4(即ISO/IEC10118-3:2004中的專用雜湊函數(shù)7),MAC算法1也被稱作
WHIRLPOOL-MAC。
6.1MAC算法1的描述
MAC算法1要求如下五步操作:密鑰擴(kuò)展、修改常數(shù)和初始值、雜湊操作、輸出變換和截?cái)嗖僮鳌?/p>
6.1.1密鑰擴(kuò)展
若K長(zhǎng)度小于128比特,那么將K重復(fù)足夠多次數(shù),從連接起來(lái)的比特串中選取最左邊128比特作
為128比特密鑰K'(若K的長(zhǎng)度恰好為128比特,則K':K),即:
'
K:MSB128(K||K||||K)
按照如下操作計(jì)算子密鑰、和:
K0K1K2
''
K0:h(K||U0||K)
''
K1:MSB128(h(K||U1||K))
''
K2:MSB128(h(K||U2||K))
其中,、和是768比特的常數(shù),在條款9中有定義。表示簡(jiǎn)化的雜湊函數(shù),即沒(méi)有數(shù)據(jù)
U0U1U2hh
填充和長(zhǎng)度附加。
注:數(shù)據(jù)填充和長(zhǎng)度附加可以被省略,是因?yàn)樵谶@里輸入比特串的長(zhǎng)度總是比特。
2L1
導(dǎo)出的密鑰被分割成四個(gè)字,表示為,即:。
K1K1[i]iK1K1[0]||K1[1]||K1[2]||K1[3]
從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)的排列順序。在這里的轉(zhuǎn)換中,采用GB/T18238.3-2002中對(duì)
所有專用雜湊函數(shù)規(guī)定的字節(jié)排列順序。
6.1.2修改常數(shù)和初始值
輪函數(shù)中采用的附加常數(shù),被修改為它與四個(gè)字中的一個(gè)進(jìn)行模32加的結(jié)果,比如說(shuō):
K12
C0:C032K1[0]
5
GB/T15852.2—XXXX
在條款9中具體規(guī)定了中的哪個(gè)字與哪個(gè)常數(shù)相加。用'取代雜湊函數(shù)的初始值,所
K1IV:K0IV
得的雜湊函數(shù)記作h',其中的輪函數(shù)記作'。
6.1.3雜湊操作
用D表示輸入到被修改的雜湊函數(shù)h'中的比特串,即:
H':h'(D)
6.1.4輸出變換
'
再一次應(yīng)用被修改的輪函數(shù),其中輸入的第一個(gè)參數(shù)為K2||(K2T0)||(K2T1)||(K2T2),第
二個(gè)參數(shù)為H'(雜湊操作的結(jié)果),即:
'''',
H:(K2||(K2T0)||(K2T1)||(K2T2),H)
這里、和都是長(zhǎng)度為128的比特串,在條款9中對(duì)所有專用雜湊函數(shù)均有定義。
T0T1T2
注:輸出變換對(duì)應(yīng)于處理一個(gè)額外的數(shù)據(jù)分組,這個(gè)額外的數(shù)據(jù)分組是在數(shù)據(jù)填充和長(zhǎng)度附加操作之后,由導(dǎo)
K2
出。
6.1.5截?cái)嗖僮?/p>
取比特串H''最左邊m比特,作為MAC值,即:
''
MAC:MSBm(H)
6.2MAC算法1的效率
假定填充后的消息比特串包括q個(gè)分組(這里填充方法由具體的雜湊函數(shù)決定),那么MAC算法1
調(diào)用輪函數(shù)q7次。
'
通過(guò)預(yù)計(jì)算K0、K1和K2,并且在雜湊函數(shù)的應(yīng)用中用IV取代IV,MAC算法1調(diào)用輪函數(shù)的次數(shù)
可以降低到q1次。
處理長(zhǎng)的消息比特串時(shí),MAC算法1和相應(yīng)雜湊函數(shù)的性能相當(dāng)。
7MAC算法2
MAC算法2計(jì)算MAC值要求調(diào)用兩次雜湊函數(shù)。
雜湊函數(shù)應(yīng)當(dāng)從GB/T18238.3-2002中的專用雜湊函數(shù)1、2、3或ISO/IEC10118-3:2004中的專用雜
湊函數(shù)7中選取,并且要求是8的正整數(shù)倍,。
L1L2L1
注:GB/T18238.3-2002中的雜湊函數(shù)1、2、3和ISO/IEC10118-3:2004中的雜湊函數(shù)7滿足這些條件。
6
GB/T15852.2—XXXX
密鑰長(zhǎng)度不小于比特(是雜湊值的比特長(zhǎng)度),不大于比特(為輸入到輪函數(shù)的比特
kL2L2L1L1
串的比特長(zhǎng)度),即:。
L2kL1
7.1MAC算法2的描述
MAC算法2要求如下四步操作:密鑰擴(kuò)展、雜湊操作、輸出變換和截?cái)嗖僮鳌?/p>
7.1.1密鑰擴(kuò)展
在密鑰的右側(cè)填充個(gè)0,所得的長(zhǎng)度為的比特串記作。
KL1kL1K
按照如下的方法,將擴(kuò)展為兩個(gè)子密鑰和:
KK1K2
·將16進(jìn)制的值“36”(二進(jìn)制表示為“00110110”)重復(fù)次連接起來(lái),所得比特串記作。
L1/8IPAD
然后將和比特串相異或,記作。即:
KIPADK1
。
K1:KIPAD
·將16進(jìn)制的值“5C”(二進(jìn)制表示為“01011100”)重復(fù)次連接起來(lái),所得比特串記作。
L1/8OPAD
然后將和比特串相異或,記作。即:
KOPADK2
。
K2:KOPAD
7.1.2雜湊操作
將和相連接,作為輸入到雜湊函數(shù)的比特串,即:
K1D
'。
H:h(K1||D)
7.1.3輸出變換
將和'相連接,作為輸入到雜湊函數(shù)的比特串,即:
K2H
'''。
H:h(K2||H)
7.1.4截?cái)嗖僮?/p>
取比特串H''最左邊m比特,作為MAC值,即:
''。
MAC:MSBm(H)
7
GB/T15852.2—XXXX
7.2MAC算法2的效率
假定填充后的消息比特串包括q個(gè)分組(這里填充方法由具體的雜湊函數(shù)決定),那么采用專用雜
湊函數(shù)1、2和3時(shí),MAC算法2調(diào)用輪函數(shù)q3次;采用專用雜湊函數(shù)4時(shí),MAC算法2調(diào)用輪函數(shù)q4
次。
通過(guò)修改雜湊函數(shù)代碼,MAC算法2調(diào)用輪函數(shù)的次數(shù)可以降低2次。
使用者可以預(yù)計(jì)算和,并且在第一次調(diào)用雜湊函數(shù)時(shí)用取代,
IV1:(K1,IV)IV2:(K2,IV)IV1IV
在輸出變換中(第二次調(diào)用雜湊函數(shù))用取代。同時(shí),這也要求對(duì)填充方法進(jìn)行修改。事實(shí)上,
IV2IV
對(duì)雜湊函數(shù)實(shí)際輸入的比特長(zhǎng)度少了,這樣必須把的值加到上。
L1L1LD
處理長(zhǎng)的消息比特串時(shí),MAC算法2和相應(yīng)雜湊函數(shù)的性能相當(dāng)。
8MAC算法3
注:本條款包括MAC算法1的一個(gè)變種,對(duì)短的輸入(不大于256比特)做了優(yōu)化。
MAC算法3計(jì)算MAC值,要求調(diào)用7次簡(jiǎn)化的輪函數(shù);但是通過(guò)預(yù)計(jì)算,可以降低到調(diào)用一次簡(jiǎn)化的
輪函數(shù)。
雜湊函數(shù)應(yīng)當(dāng)從GB/T18238.3-2002中的專用雜湊函數(shù)1、2、3或ISO/IEC10118-3:2004中的專用雜
湊函數(shù)7中選取。
密鑰長(zhǎng)度不大于128比特,MAC值長(zhǎng)度不大于比特。
kmLH/2
8.1MAC算法3的描述
MAC算法3要求如下五步操作:密鑰擴(kuò)展、修改輪函數(shù)的常數(shù)、數(shù)據(jù)填充、應(yīng)用輪函數(shù)和截?cái)嗖僮鳌?/p>
8.1.1密鑰擴(kuò)展
若K長(zhǎng)度小于128比特,那么將K重復(fù)足夠多次數(shù),從連接起來(lái)的比特串中選取最左邊128比特作
為128比特密鑰K'(若K的長(zhǎng)度恰好為128比特,則K':K),即:
'
K:MSB128(K||K||||K)
按照如下操作計(jì)算子密鑰、和:
K0K1K2
''
K0:h(K||U0||K)
''
K1:MSB128(h(K||U1||K))
''
K2:MSB128(h(K||U2||K))
其中,、和是768比特的常數(shù),在條款9中有定義。表示簡(jiǎn)化的雜湊函數(shù),即沒(méi)有數(shù)據(jù)
U0U1U2hh
填充和長(zhǎng)度附加。
注:數(shù)據(jù)填充和長(zhǎng)度附加可以被省略,是因?yàn)樵谶@里輸入比特串的長(zhǎng)度總是比特。
2L1
8
GB/T15852.2—XXXX
導(dǎo)出的密鑰被分割成四個(gè)字,表示為,即:。
K1K1[i]iK1K1[0]||K1[1]||K1[2]||K1[3]
從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)的排列順序。在這里的轉(zhuǎn)換中,采用GB/T18238.3-2002中對(duì)
所有專用雜湊函數(shù)規(guī)定的字節(jié)排列順序。
8.1.2修改輪函數(shù)的常數(shù)
輪函數(shù)中采用的附加常數(shù),被修改為它與四個(gè)字中的一個(gè)進(jìn)行模32加的結(jié)果,比如說(shuō):
K12
C0:C032K1[0]
在條款9中具體規(guī)定了中的哪個(gè)字與哪個(gè)常數(shù)相加。用'取代雜湊函數(shù)的初始值,所
K1IV:K0IV
得的輪函數(shù)記作'。
8.1.3數(shù)據(jù)填充
對(duì)原始消息填充的比特串只用來(lái)計(jì)算MAC,所以這些填充比特串(如果有)不必隨原始消息存儲(chǔ)或
發(fā)送。MAC的驗(yàn)證者應(yīng)當(dāng)知道填充比特串是否已經(jīng)被存儲(chǔ)或發(fā)送。
對(duì)要輸入到MAC算法的消息比特串D,在其右側(cè)填充盡可能少(可能沒(méi)有)的“0”以使得填充后
比特串D的長(zhǎng)度是256比特。
注:如果消息比特串D是空串,那么規(guī)定填充后的比特串D為256個(gè)“0”。
8.1.4應(yīng)用輪函數(shù)
消息比特串的長(zhǎng)度記作,其二進(jìn)制表示記作。在最左邊填充足夠少的“0”使得的長(zhǎng)度
DLDLLL
為128比特,最右邊的比特和最低位相對(duì)應(yīng)。
LLD
將、和與的異或值相連接,作為輪函數(shù)'(使用修改過(guò)的常數(shù))的輸入,即:
K2DK2L
'''。
H:(K2||D||(K2L),IV)
8.1.5截?cái)嗖僮?/p>
取比特串H'最左邊m比特,作為MAC值,即:
'。
MAC:MSBm(H)
8.2MAC算法3的效率
MAC算法3需要調(diào)用7次輪函數(shù),通過(guò)預(yù)計(jì)算、和,可以降低到一次。
K0K1K2
9
GB/T15852.2—XXXX
9常數(shù)的計(jì)算
本條款中規(guī)定的常數(shù),將被用在MAC算法1和條款8的MAC算法3中。
比特串和是MAC算法中固定的元素,它們通過(guò)雜湊函數(shù)計(jì)算得到(只計(jì)算一次),并且在四個(gè)
TiUi
專用雜湊函數(shù)中各不相同。
128比特的和768比特的按照如下的方法定義:
TiUi
Ti:MSB128(h(Si||R)),i0,1,2
Ui:Ti||Ti1||Ti2||Ti||Ti1||Ti2,i0,1,2
其中下標(biāo)的加法是模3加。是496比特的常數(shù),、和都是16比特
R"abyzABYZ0189"S0S1S2
的常數(shù),其中通過(guò)重復(fù)兩次數(shù)字的16進(jìn)制ASCII編碼得到(比如說(shuō),的表示為3131)。和都
SiiS1RSi
采用ASCII編碼,ASCII編碼等同于GB/T1988-1998所使用的編碼。
對(duì)于所有的常數(shù)、'和所有的字,最高位和最左邊的比特相對(duì)應(yīng)。常數(shù)和'用16進(jìn)制
CiCiK1[i]CiCi
表示。
9.1專用雜湊函數(shù)1
專用雜湊函數(shù)1中的128比特常數(shù)定義如下:(用16進(jìn)制表示)
Ti
T01CC7086A046AFA22353AE88F3D3DACEB
T1E3FA02710E491D851151CC34E4718D41
T293987557C07B8102BA592949EB638F37
專用雜湊函數(shù)1的輪函數(shù)中用到兩個(gè)常數(shù)字序列和''',它們定義如下:
C0,C1,,C79C0C1,,C79
CiK1[0]3200000000,(0i15),
CiK1[1]325A827999,(16i31),
CiK1[2]326ED9EBA1,(32i47),
CiK1[3]328F1BBCDC,(48i63),
CiK1[0]32A953FD4E,(64i79),
'
CiK1[1]3250A28BE6,(0i15),
'
CiK1[2]325C4DD124,(16i31),
'
CiK1[3]326D703EF3,(32i47),
'
CiK1[0]327A6D76E9,(48i63),
'
CiK1[1]3200000000,(64i79)
10
GB/T15852.2—XXXX
9.2專用雜湊函數(shù)2
專用雜湊函數(shù)2中的128比特常數(shù)定義如下:(用16進(jìn)制表示)
Ti
T0FD7EC18964C36D53FC18C31B72112AAC
T12538B78EC0E273949EE4C4457A77525C
T2F5C93ED85BD65F609A7EB182A85BA181
專用雜湊函數(shù)2的輪函數(shù)中用到兩個(gè)常數(shù)字序列和''',它們定義如下:
C0,C1,,C63C0C1,,C63
CiK1[0]3200000000,(0i15),
CiK1[1]325A827999,(16i31),
CiK1[2]326ED9EBA1,(32i47),
CiK1[3]328F1BBCDC,(48i63),
'
CiK1[0]3250A28BE6,(0i15),
'
CiK1[1]325C4DD124,(16i31),
'
CiK1[2]326D703EF3,(32i47),
'
CiK1[3]3200000000,(48i63)
9.3專用雜湊函數(shù)3
專用雜湊函數(shù)3中的128比特常數(shù)定義如下:(用16進(jìn)制表示)
Ti
T01D4CA39FA40417E2AE5A77B49067BBCC
T19318AFEF5D5A5B46EFCA6BEC0E138940
T24544209656E14F97005DAC76868E97A3
專用雜湊函數(shù)3的輪函數(shù)中用到一個(gè)常數(shù)字序列,它定義如下:
C0,C1,,C79
CiK1[0]325A827999,(0i19),
CiK1[1]326ED9EBA1,(20i39),
CiK1[2]328F1BBCDC,(40i59),
CiK1[3]32CA62C1D6,(60i79)
9.4專用雜湊函數(shù)4
專用雜湊函數(shù)4中的128比特常數(shù)定義如下:(用16進(jìn)制表示)
Ti
T036129D71469F205824E118E1F922295A
T119A934B16952C37951C31AA9699FD5A4
T2313D9B56799988C1A3639FB2BDFEF274
11
GB/T15852.2—XXXX
專用雜湊函數(shù)4的輪函數(shù)中用到一個(gè)常數(shù)矩陣序列,它們定義如下:
CC1,CC2,,CC10
1823C6E887B8014F36A6D2F5796F9152
K[0]0000000000000000
100000000
00000000000000000000000000000000
00000000000000000000000000000000
CC=,CC=,
1000000000000000020000000000000000
0000000000000000K1[1]00000000
00000000000000000000000000000000
00000000000000000000000000000000
60BC9B8EA30C7B351DE0D7C22E4BFE57
K[2]0000000000000000
100000000
00000000000000000000000000000000
00000000000000000000000000000000
CC=,CC=,
3000000000000000040000000000000000
0000000000000000K1[3]00000000
00000000000000000000000000000000
00000000000000000000000000000000
157737E59FF04ADA58C9290AB1A06B85
K[0]0000000000000000
100000000
00000000000000000000000000000000
00000000000000000000000000000000
CC=,CC=,
5000000000000000060000000000000000
0000000000000000K1[1]00000000
00000000000000000000000000000000
00000000000000000000000000000000
BD5D10F4CB3E0567E427418BA77D95D8
K[2]0000000000000000
100000000
00000000000000000000000000000000
00000000000000000000000000000000
CC=,CC=,
7000000000000000080000000000000000
0000000000000000K1[3]00000000
00000000000000000000000000000000
00000000000000000000000000000000
12
GB/T15852.2—XXXX
FBEE7C66DD17479ECA2DBF07AD5A8333
K[0]0000000000000000
100000000
00000000000000000000000000000000
00000000000000000000000000000000
CC=,CC=。
90000000000000000100000000000000000
0000000000000000K1[1]00000000
00000000000000000000000000000000
00000000000000000000000000000000
13
GB/T15852.2—XXXX
AA
附錄A
(資料性附錄)
使用MAC算法生成MAC的示例
A.1概述
本附錄提供了使用MAC算法1、2和3生成MAC的過(guò)程示例,采用四種專用雜湊函數(shù);其中,專用雜湊
函數(shù)1、2、3分別是GB/T18238.3-2002中規(guī)定的專用雜湊函數(shù)1、2、3,專用雜湊函數(shù)4是ISO/IEC10118-3:
2004中規(guī)定的專用雜湊函數(shù)7。每個(gè)雜湊函數(shù)值的計(jì)算有九個(gè)示例。表1包含了序號(hào)為1至9的輸入比特串。
在整個(gè)附錄中,我們對(duì)消息比特串采用ASCII編碼,ASCII編碼等同于GB/T1988-1998所使用的編碼。
兩個(gè)128比特的密鑰如下:
密鑰1=00112233445566778899AABBCCDDEEFF
密鑰2=0123456789ABCDEFFEDCBA9876543210
表1用于測(cè)試的輸入數(shù)據(jù)
序號(hào):輸入比特串
1“”(空比特串)
2“a”
3“abc”
4“messagedigest”
5“abcdefghijklmnopqrstuvwxyz”
6“abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq”
7“ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz0123456789”
8“1234567890”重復(fù)8次所得的長(zhǎng)為80的字符串
9“a”重復(fù)1,000,000次得到1兆長(zhǎng)的字符串
A.2MAC算法1
在這一部分的示例中,選取mL2/2。具體來(lái)講,在專用雜湊函數(shù)1和3中,m80;在專用雜湊
函數(shù)2中,m64;在專用雜湊函數(shù)4中,m256。
A.2.1專用雜湊函數(shù)1
密鑰1:00112233445566778899
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四大名著之紅樓春趣經(jīng)典解讀2
- 2023年整體家居項(xiàng)目融資計(jì)劃書(shū)
- 2023年鎢合金項(xiàng)目籌資方案
- 《SBU人力資源評(píng)估》課件
- 《個(gè)性時(shí)尚》課件
- 內(nèi)蒙古包頭市東河區(qū)2024屆九年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員行為規(guī)范制度
- 《廉政建設(shè)課件》課件
- 《票據(jù)行為》課件
- 《個(gè)人電子銀行介紹》課件
- (2023)政府采購(gòu)評(píng)審專家考試題庫(kù)
- 2023年健康管理師考題(含答案)
- 2023年醫(yī)師定期考核-口腔醫(yī)師定期考核歷年考試真題試卷摘選答案
- 三基醫(yī)師分冊(cè)題庫(kù)新版題庫(kù)《中醫(yī)臨床“三基”訓(xùn)練試題集醫(yī)師分冊(cè)》
- 2024年電梯安裝質(zhì)量手冊(cè)、程序文件含質(zhì)量記錄表符合特種設(shè)備許可規(guī)范TSG07-2019
- 2022年08月內(nèi)蒙古自治區(qū)文物考古研究院自主公開(kāi)招聘5人筆試題庫(kù)含答案解析
- 2023年1月浙江省高中學(xué)業(yè)水平考試物理試卷真題(含答案詳解)
- 企業(yè)法務(wù)概論智慧樹(shù)知到答案章節(jié)測(cè)試2023年溫州大學(xué)
- 杭州灣跨海大橋鋼樁腐蝕防護(hù)
- 2023-2024學(xué)年湖南省漣源市初中語(yǔ)文七年級(jí)上冊(cè)期末評(píng)估試卷
- 2023-2024學(xué)年山東省青島市小學(xué)語(yǔ)文二年級(jí)上冊(cè)期末通關(guān)試題
評(píng)論
0/150
提交評(píng)論