《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 電子簽名卡應(yīng)用接口測試規(guī)范》_第1頁
《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 電子簽名卡應(yīng)用接口測試規(guī)范》_第2頁
《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 電子簽名卡應(yīng)用接口測試規(guī)范》_第3頁
《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 電子簽名卡應(yīng)用接口測試規(guī)范》_第4頁
《信息安全技術(shù) 公鑰基礎(chǔ)設(shè)施 電子簽名卡應(yīng)用接口測試規(guī)范》_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

ICS35.040

L80

中華人民共和國國家標(biāo)準(zhǔn)

GB/T15852.2—XXXX

信息技術(shù)安全技術(shù)消息鑒別碼

第2部分:采用專用雜湊函數(shù)的機制

Informationtechnology–Securitytechniques–MessageAuthentication

Codes(MACs)–Part2:Mechanismsusingadedicatedhash-function

MOD

(報批稿)

(本稿完成日期:2011年1月19日)

XXXX-XX-XX發(fā)布XXXX-XX-XX實施

GB/T15852.2—XXXX

引??言

本部分規(guī)定的第一個MAC算法通常被稱作MDx-MAC。它調(diào)用一次完整的雜湊函數(shù),但是對其中

的輪函數(shù)做了細(xì)微的修改,把一個密鑰加到了輪函數(shù)的附加常數(shù)上。第二個MAC算法通常被稱作

HMAC,它調(diào)用兩次完整的雜湊函數(shù)。第三個MAC算法是MDx-MAC的一個變種,它限制輸入長度不

大于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ù)也可以為國家密碼管理部門批準(zhǔn)的相應(yīng)專用雜湊函數(shù)。

I

GB/T15852.2—XXXX

信息技術(shù)安全技術(shù)消息鑒別碼

第2部分:采用專用雜湊函數(shù)的機制

1范圍

GB/T15852的本部分規(guī)定了三種采用專用雜湊函數(shù)的消息鑒別碼算法。這些消息鑒別碼算法可用作

數(shù)據(jù)完整性檢驗,檢驗數(shù)據(jù)是否被非授權(quán)地改變。同樣這些消息鑒別碼算法也可用作消息鑒別,保證消

息源的合法性。數(shù)據(jù)完整性和消息鑒別的強度依賴于密鑰的長度及其保密性、雜湊函數(shù)的算法強度及其

輸出長度、消息鑒別碼的長度和具體的消息鑒別碼算法。

本部分適用于任何安全體系結(jié)構(gòu)、進程或應(yīng)用的安全服務(wù)。

2規(guī)范性引用文件

下列文件對于本文件的應(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ù)語和定義

下列術(shù)語和定義適用于本部分。

3.1

消息鑒別碼messageauthenticationcodeMAC

利用對稱密碼技術(shù),以密鑰為參數(shù),由消息導(dǎo)出的數(shù)據(jù)項。任何持有這一密鑰的實體,都可利用消

息鑒別碼檢查消息的完整性和始發(fā)者。

3.2

消息鑒別碼(MAC)算法密鑰MACalgorithmkey

一種用于控制消息鑒別碼算法運算的密鑰。

3.3

消息鑒別碼算法MessageAuthenticationCodealgorithm

消息鑒別碼算法簡稱MAC算法,其輸入為密鑰和消息,輸出為一個固定長度的比特串,滿足下面兩

個性質(zhì):

1

GB/T15852.2—XXXX

-對于任何密鑰和消息,MAC算法都能夠快速地計算。

-對于任何固定的密鑰,攻擊者在沒有獲得密鑰信息的情況下,即使獲得了一些(消息,MAC)對,

對任何新的消息預(yù)測其MAC在計算上是不可行的。

注:一個MAC算法有時被稱作一個密碼校驗函數(shù)。計算不可行性依賴于使用者具體的安全要求及其環(huán)境。

3.4

輸出變換outputtransformation

應(yīng)用在算法中,對迭代操作的輸出所進行的變換。

3.5

抗碰撞雜湊函數(shù)collision-resistanthash-function

滿足如下性質(zhì)的雜湊函數(shù):

-尋找兩個不同的輸入,使得它們的輸出相同,在計算上是不可行的。

3.6

消息比特串(數(shù)據(jù))datastring(data)

雜湊函數(shù)的輸入比特串。

3.7

雜湊值hash-code

雜湊函數(shù)的輸出比特串。

3.8

雜湊函數(shù)hash-function

將任意長消息比特串映射到定長比特串的函數(shù),并且滿足如下兩個性質(zhì):

-對于任何輸出,找到它所對應(yīng)的輸入在計算上是不可行的。

-對于任何輸入,找到區(qū)別于它且和它具有相同輸出的輸入在計算上是不可行的。

3.9

初始值initializingvalue

雜湊函數(shù)開始工作時用到的值。

3.10

填充padding

在消息比特串后面附加額外比特串的操作。

3.11

分組block

一種定義了長度的比特串。

2

GB/T15852.2—XXXX

3.12

輪函數(shù)round-function

將兩個長度為和的比特串映射到一個長度為的比特串的函數(shù)。

L1L2L2(.,.)

注:它被反復(fù)地用在雜湊函數(shù)中,將長度為的比特串和前面長度為的輸出值相合并。

L1L2

3.13

字word

長度為32位的比特串。

4符號和記法

下列符號和記法適用于本部分。

D、D'將要被輸入到MAC算法的消息比特串;

mMAC值的比特長度;

q經(jīng)過填充和分割操作后,消息比特串D的分組個數(shù);

比特串最左邊的比特;

MSBj(X)Xj

XY比特串X和Y的異或值;

X||Y按順序?qū)⒈忍卮甔和Y連接所構(gòu)成的比特串;

:MAC算法定義中使用的賦值符號;

D經(jīng)過填充的消息比特串;

h雜湊函數(shù);

h'被修改了常數(shù)和初始值的雜湊函數(shù)h;

h簡化的雜湊函數(shù)h,沒有數(shù)據(jù)填充和長度附加;

'''長度為比特串,在MAC算法計算中被用來存儲臨時結(jié)果;

H、HL2

'初始值;

IV、IV、IV1、IV2

kMAC算法密鑰的比特長度;

KMAC算法的密鑰;

'MAC算法1和3中的導(dǎo)出密鑰;

K、K0、K1、K2

、、MAC算法2中的導(dǎo)出密鑰;

KK1K2

LMAC算法3中表示消息長度的比特串;

3

GB/T15852.2—XXXX

OPAD、IPADMAC算法2中使用的常數(shù)比特串;

R、S0、S1、S2MAC算法1和3中,用來導(dǎo)出一系列常數(shù)的常數(shù)比特串;

、、MAC算法1和3中,用來導(dǎo)出子密鑰的128比特常數(shù);

T0T1T2

、、MAC算法1和3中,用來導(dǎo)出子密鑰的768比特常數(shù);

U0U1U2

'使用修改后常數(shù)的輪函數(shù);

128比特串的第個字,即:;

K1[i]K1iK1K1[0]||K1[1]||K1[2]||K1[3]

H雜湊值;

LX比特串X的比特長度;

、'輪函數(shù)中用到的常數(shù)字;

CiCi

專用雜湊函數(shù)4中用到的常數(shù)矩陣;

CCi

輸入到輪函數(shù)的兩個比特串中,第一個比特串的比特長度;

L1

輸入到輪函數(shù)的兩個比特串中,第二個比特串的比特長度;

L2

輪函數(shù)輸出值的比特長度;初始值IV的比特長度。

輪函數(shù),即:若和分別表示長度為和的比特串,則

XYL1L2

(X,Y)表示將作用到X和Y所得到的比特串。

模232加法操作,即:若A和B是字,那么把A和B看作是整

32

數(shù)的2進制表示,計算它們的和再模232,所得到的結(jié)果在0和

32之間,把它看作為字,記作。

21A32B

注:只能被用來處理長度為整數(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中

選取一個雜湊函數(shù);

3)MAC的長度m。

對于MAC算法1和2,MAC的長度應(yīng)該是一個正整數(shù)并且不大于雜湊值長度。對于MAC算法3,MAC

mLH

的長度m應(yīng)該是一個正整數(shù)并且不大于雜湊值長度的二分之一,即。

mLH/2

對于MAC算法1和2,消息比特串D的比特長度不大于2641;對于MAC算法3,消息比特串D的比特

長度不大于256。

對一個具體MAC算法、專用雜湊函數(shù)、m值的選擇超出了本部分所規(guī)定的范圍。

注:上述選擇將影響MAC算法的安全強度,具體請參考附錄B。

4

GB/T15852.2—XXXX

生成MAC和驗證MAC應(yīng)當(dāng)使用同樣的密鑰。

6MAC算法1

MAC算法1計算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中選取。

密鑰長度k不大于128比特。

注:本條款包括MDx-MAC的描述【5】。具體來講,若采用專用雜湊函數(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要求如下五步操作:密鑰擴展、修改常數(shù)和初始值、雜湊操作、輸出變換和截斷操作。

6.1.1密鑰擴展

若K長度小于128比特,那么將K重復(fù)足夠多次數(shù),從連接起來的比特串中選取最左邊128比特作

為128比特密鑰K'(若K的長度恰好為128比特,則K':K),即:

'

K:MSB128(K||K||||K)

按照如下操作計算子密鑰、和:

K0K1K2

''

K0:h(K||U0||K)

''

K1:MSB128(h(K||U1||K))

''

K2:MSB128(h(K||U2||K))

其中,、和是768比特的常數(shù),在條款9中有定義。表示簡化的雜湊函數(shù),即沒有數(shù)據(jù)

U0U1U2hh

填充和長度附加。

注:數(shù)據(jù)填充和長度附加可以被省略,是因為在這里輸入比特串的長度總是比特。

2L1

導(dǎo)出的密鑰被分割成四個字,表示為,即:。

K1K1[i]iK1K1[0]||K1[1]||K1[2]||K1[3]

從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)的排列順序。在這里的轉(zhuǎn)換中,采用GB/T18238.3-2002中對

所有專用雜湊函數(shù)規(guī)定的字節(jié)排列順序。

6.1.2修改常數(shù)和初始值

輪函數(shù)中采用的附加常數(shù),被修改為它與四個字中的一個進行模32加的結(jié)果,比如說:

K12

C0:C032K1[0]

5

GB/T15852.2—XXXX

在條款9中具體規(guī)定了中的哪個字與哪個常數(shù)相加。用'取代雜湊函數(shù)的初始值,所

K1IV:K0IV

得的雜湊函數(shù)記作h',其中的輪函數(shù)記作'。

6.1.3雜湊操作

用D表示輸入到被修改的雜湊函數(shù)h'中的比特串,即:

H':h'(D)

6.1.4輸出變換

'

再一次應(yīng)用被修改的輪函數(shù),其中輸入的第一個參數(shù)為K2||(K2T0)||(K2T1)||(K2T2),第

二個參數(shù)為H'(雜湊操作的結(jié)果),即:

'''',

H:(K2||(K2T0)||(K2T1)||(K2T2),H)

這里、和都是長度為128的比特串,在條款9中對所有專用雜湊函數(shù)均有定義。

T0T1T2

注:輸出變換對應(yīng)于處理一個額外的數(shù)據(jù)分組,這個額外的數(shù)據(jù)分組是在數(shù)據(jù)填充和長度附加操作之后,由導(dǎo)

K2

出。

6.1.5截斷操作

取比特串H''最左邊m比特,作為MAC值,即:

''

MAC:MSBm(H)

6.2MAC算法1的效率

假定填充后的消息比特串包括q個分組(這里填充方法由具體的雜湊函數(shù)決定),那么MAC算法1

調(diào)用輪函數(shù)q7次。

'

通過預(yù)計算K0、K1和K2,并且在雜湊函數(shù)的應(yīng)用中用IV取代IV,MAC算法1調(diào)用輪函數(shù)的次數(shù)

可以降低到q1次。

處理長的消息比特串時,MAC算法1和相應(yīng)雜湊函數(shù)的性能相當(dāng)。

7MAC算法2

MAC算法2計算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

密鑰長度不小于比特(是雜湊值的比特長度),不大于比特(為輸入到輪函數(shù)的比特

kL2L2L1L1

串的比特長度),即:。

L2kL1

7.1MAC算法2的描述

MAC算法2要求如下四步操作:密鑰擴展、雜湊操作、輸出變換和截斷操作。

7.1.1密鑰擴展

在密鑰的右側(cè)填充個0,所得的長度為的比特串記作。

KL1kL1K

按照如下的方法,將擴展為兩個子密鑰和:

KK1K2

·將16進制的值“36”(二進制表示為“00110110”)重復(fù)次連接起來,所得比特串記作。

L1/8IPAD

然后將和比特串相異或,記作。即:

KIPADK1

K1:KIPAD

·將16進制的值“5C”(二進制表示為“01011100”)重復(fù)次連接起來,所得比特串記作。

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截斷操作

取比特串H''最左邊m比特,作為MAC值,即:

''。

MAC:MSBm(H)

7

GB/T15852.2—XXXX

7.2MAC算法2的效率

假定填充后的消息比特串包括q個分組(這里填充方法由具體的雜湊函數(shù)決定),那么采用專用雜

湊函數(shù)1、2和3時,MAC算法2調(diào)用輪函數(shù)q3次;采用專用雜湊函數(shù)4時,MAC算法2調(diào)用輪函數(shù)q4

次。

通過修改雜湊函數(shù)代碼,MAC算法2調(diào)用輪函數(shù)的次數(shù)可以降低2次。

使用者可以預(yù)計算和,并且在第一次調(diào)用雜湊函數(shù)時用取代,

IV1:(K1,IV)IV2:(K2,IV)IV1IV

在輸出變換中(第二次調(diào)用雜湊函數(shù))用取代。同時,這也要求對填充方法進行修改。事實上,

IV2IV

對雜湊函數(shù)實際輸入的比特長度少了,這樣必須把的值加到上。

L1L1LD

處理長的消息比特串時,MAC算法2和相應(yīng)雜湊函數(shù)的性能相當(dāng)。

8MAC算法3

注:本條款包括MAC算法1的一個變種,對短的輸入(不大于256比特)做了優(yōu)化。

MAC算法3計算MAC值,要求調(diào)用7次簡化的輪函數(shù);但是通過預(yù)計算,可以降低到調(diào)用一次簡化的

輪函數(shù)。

雜湊函數(shù)應(yīng)當(dāng)從GB/T18238.3-2002中的專用雜湊函數(shù)1、2、3或ISO/IEC10118-3:2004中的專用雜

湊函數(shù)7中選取。

密鑰長度不大于128比特,MAC值長度不大于比特。

kmLH/2

8.1MAC算法3的描述

MAC算法3要求如下五步操作:密鑰擴展、修改輪函數(shù)的常數(shù)、數(shù)據(jù)填充、應(yīng)用輪函數(shù)和截斷操作。

8.1.1密鑰擴展

若K長度小于128比特,那么將K重復(fù)足夠多次數(shù),從連接起來的比特串中選取最左邊128比特作

為128比特密鑰K'(若K的長度恰好為128比特,則K':K),即:

'

K:MSB128(K||K||||K)

按照如下操作計算子密鑰、和:

K0K1K2

''

K0:h(K||U0||K)

''

K1:MSB128(h(K||U1||K))

''

K2:MSB128(h(K||U2||K))

其中,、和是768比特的常數(shù),在條款9中有定義。表示簡化的雜湊函數(shù),即沒有數(shù)據(jù)

U0U1U2hh

填充和長度附加。

注:數(shù)據(jù)填充和長度附加可以被省略,是因為在這里輸入比特串的長度總是比特。

2L1

8

GB/T15852.2—XXXX

導(dǎo)出的密鑰被分割成四個字,表示為,即:。

K1K1[i]iK1K1[0]||K1[1]||K1[2]||K1[3]

從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)的排列順序。在這里的轉(zhuǎn)換中,采用GB/T18238.3-2002中對

所有專用雜湊函數(shù)規(guī)定的字節(jié)排列順序。

8.1.2修改輪函數(shù)的常數(shù)

輪函數(shù)中采用的附加常數(shù),被修改為它與四個字中的一個進行模32加的結(jié)果,比如說:

K12

C0:C032K1[0]

在條款9中具體規(guī)定了中的哪個字與哪個常數(shù)相加。用'取代雜湊函數(shù)的初始值,所

K1IV:K0IV

得的輪函數(shù)記作'。

8.1.3數(shù)據(jù)填充

對原始消息填充的比特串只用來計算MAC,所以這些填充比特串(如果有)不必隨原始消息存儲或

發(fā)送。MAC的驗證者應(yīng)當(dāng)知道填充比特串是否已經(jīng)被存儲或發(fā)送。

對要輸入到MAC算法的消息比特串D,在其右側(cè)填充盡可能少(可能沒有)的“0”以使得填充后

比特串D的長度是256比特。

注:如果消息比特串D是空串,那么規(guī)定填充后的比特串D為256個“0”。

8.1.4應(yīng)用輪函數(shù)

消息比特串的長度記作,其二進制表示記作。在最左邊填充足夠少的“0”使得的長度

DLDLLL

為128比特,最右邊的比特和最低位相對應(yīng)。

LLD

將、和與的異或值相連接,作為輪函數(shù)'(使用修改過的常數(shù))的輸入,即:

K2DK2L

'''。

H:(K2||D||(K2L),IV)

8.1.5截斷操作

取比特串H'最左邊m比特,作為MAC值,即:

'。

MAC:MSBm(H)

8.2MAC算法3的效率

MAC算法3需要調(diào)用7次輪函數(shù),通過預(yù)計算、和,可以降低到一次。

K0K1K2

9

GB/T15852.2—XXXX

9常數(shù)的計算

本條款中規(guī)定的常數(shù),將被用在MAC算法1和條款8的MAC算法3中。

比特串和是MAC算法中固定的元素,它們通過雜湊函數(shù)計算得到(只計算一次),并且在四個

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ù),其中通過重復(fù)兩次數(shù)字的16進制ASCII編碼得到(比如說,的表示為3131)。和都

SiiS1RSi

采用ASCII編碼,ASCII編碼等同于GB/T1988-1998所使用的編碼。

對于所有的常數(shù)、'和所有的字,最高位和最左邊的比特相對應(yīng)。常數(shù)和'用16進制

CiCiK1[i]CiCi

表示。

9.1專用雜湊函數(shù)1

專用雜湊函數(shù)1中的128比特常數(shù)定義如下:(用16進制表示)

Ti

T01CC7086A046AFA22353AE88F3D3DACEB

T1E3FA02710E491D851151CC34E4718D41

T293987557C07B8102BA592949EB638F37

專用雜湊函數(shù)1的輪函數(shù)中用到兩個常數(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進制表示)

Ti

T0FD7EC18964C36D53FC18C31B72112AAC

T12538B78EC0E273949EE4C4457A77525C

T2F5C93ED85BD65F609A7EB182A85BA181

專用雜湊函數(shù)2的輪函數(shù)中用到兩個常數(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進制表示)

Ti

T01D4CA39FA40417E2AE5A77B49067BBCC

T19318AFEF5D5A5B46EFCA6BEC0E138940

T24544209656E14F97005DAC76868E97A3

專用雜湊函數(shù)3的輪函數(shù)中用到一個常數(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進制表示)

Ti

T036129D71469F205824E118E1F922295A

T119A934B16952C37951C31AA9699FD5A4

T2313D9B56799988C1A3639FB2BDFEF274

11

GB/T15852.2—XXXX

專用雜湊函數(shù)4的輪函數(shù)中用到一個常數(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的過程示例,采用四種專用雜湊函數(shù);其中,專用雜湊

函數(shù)1、2、3分別是GB/T18238.3-2002中規(guī)定的專用雜湊函數(shù)1、2、3,專用雜湊函數(shù)4是ISO/IEC10118-3:

2004中規(guī)定的專用雜湊函數(shù)7。每個雜湊函數(shù)值的計算有九個示例。表1包含了序號為1至9的輸入比特串。

在整個附錄中,我們對消息比特串采用ASCII編碼,ASCII編碼等同于GB/T1988-1998所使用的編碼。

兩個128比特的密鑰如下:

密鑰1=00112233445566778899AABBCCDDEEFF

密鑰2=0123456789ABCDEFFEDCBA9876543210

表1用于測試的輸入數(shù)據(jù)

序號:輸入比特串

1“”(空比特串)

2“a”

3“abc”

4“messagedigest”

5“abcdefghijklmnopqrstuvwxyz”

6“abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq”

7“ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz0123456789”

8“1234567890”重復(fù)8次所得的長為80的字符串

9“a”重復(fù)1,000,000次得到1兆長的字符串

A.2MAC算法1

在這一部分的示例中,選取mL2/2。具體來講,在專用雜湊函數(shù)1和3中,m80;在專用雜湊

函數(shù)2中,m64;在專用雜湊函數(shù)4中,m256。

A.2.1專用雜湊函數(shù)1

密鑰1:00112233445566778899

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論