發(fā)布日期:2023-03-21 19:03 瀏覽次數(shù):
GB/T 15852的本部分規(guī)定了三種采用專用雜湊函數(shù)的消息鑒別碼算法。這些消息鑒別碼算法可用作數(shù)據(jù)完整性檢驗,檢驗數(shù)據(jù)是否被非授權(quán)地改變。同樣這些消息鑒別碼算法也可用作消息鑒別,保證消息源的合法性。數(shù)據(jù)完整性和消息鑒別的強度依賴于密鑰的長度及其保密性、雜湊函數(shù)的算法強度及其輸出長度、消息鑒別碼的長度和具體的消息鑒別碼算法。
本部分適用于任何安全體系結(jié)構(gòu)、進程或應用的安全服務。
下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
GB/T 1988-1998 信息技術(shù) 信息交換用七位編碼字符集(eqv ISO/IEC 646:1991)
ISO/IEC 10118-3:2004 信息技術(shù) 安全技術(shù) 雜湊函數(shù) 第3部分:專用雜湊函數(shù)(Information technology-Security techniques-Hash-functions-Part 3:Dedicated hash-functions)
下列術(shù)語和定義適用于本文件。
3.1
消息鑒別碼 message authentication code;MAC
利用對稱密碼技術(shù),以密鑰為參數(shù),由消息導出的數(shù)據(jù)項。任何持有這一密鑰的實體,都可利用消息鑒別碼檢查消息的完整性和始發(fā)者。
3.2
消息鑒別碼(MAC)算法密鑰 MAC algorithm key
一種用于控制消息鑒別碼算法運算的密鑰。
3.3
消息鑒別碼算法 message authentication code algorithm
消息鑒別碼算法簡稱MAC算法,其輸入為密鑰和消息,輸出為一個固定長度的比特串,滿足下面兩個性質(zhì):
——對于任何密鑰和消息,MAC算法都能夠快速地計算。
——對于任何固定的密鑰,攻擊者在沒有獲得密鑰信息的情況下,即使獲得了一些(消息,MAC)對,對任何新的消息預測其MAC在計算上是不可行的。
注:一個MAC算法有時被稱作一個密碼校驗函數(shù)。計算不可行性依賴于使用者具體的安全要求及其環(huán)境。
3.4
輸出變換 output transformation
應用在算法中,對迭代操作的輸出所進行的變換。
3.5
抗碰撞雜湊函數(shù) collision-resistant hash-function
滿足如下性質(zhì)的雜湊函數(shù):
——尋找兩個不同的輸入,使得它們的輸出相同,在計算上是不可行的。
3.6
消息比特串(數(shù)據(jù))data string(data)
雜湊函數(shù)的輸入比特串。
3.7
雜湊值 hash-code
雜湊函數(shù)的輸出比特串。
3.8
雜湊函數(shù) hash-function
將任意長消息比特串映射到定長比特串的函數(shù),并且滿足如下兩個性質(zhì):
——對于任何輸出,找到它所對應的輸入在計算上是不可行的。
——對于任何輸入,找到區(qū)別于它且和它具有相同輸出的輸入在計算上是不可行的。
3.9
初始值 initializing value
雜湊函數(shù)開始工作時用到的值。
3.10
填充 padding
在消息比特串后面附加額外比特串的操作。
3.11
分組 block
一種定義了長度的比特串。
3.12
輪函數(shù) round-function
將兩個長度為L1和L2的比特串映射到一個長度為L2的比特串的函數(shù) Φ(· ,·)。
注:它被反復地用在雜湊函數(shù)中,將長度為L1的比特串和前面長度為L2的輸出值相合并。
3.13
字 word
長度為32位的比特串。
下列符號和記法適用于本部分。
D、D' 將要被輸入到MAC算法的消息比特串
m MAC值的比特長度
q 經(jīng)過填充和分割操作后,消息比特串D的分組個數(shù)
MSBj(X) 比特串X最左邊的j比特
X⊕Y 比特串X和Y的異或值
X||Y 按順序?qū)⒈忍卮甔和Y連接所構(gòu)成的比特串
:= MAC算法定義中使用的賦值符號
D 經(jīng)過填充的消息比特串
h 雜湊函數(shù)
h'被修改了常數(shù)和初始值的雜湊函數(shù)h
簡化的雜湊函數(shù)h,沒有數(shù)據(jù)填充和長度附加
H'、H” 長度為L2比特串,在MAC算法計算中被用來存儲臨時結(jié)果
IV、IV'、IV1、IV2 初始值
k MAC算法密鑰的比特長度
K MAC算法的密鑰
K'、K0、K1、K2 MAC算法1和3中的導出密鑰
K、K1、K2 MAC算法2中的導出密鑰
L MAC算法3中表示消息長度的比特串
OPAD、IPAD MAC算法2中使用的常數(shù)比特串
R、S0、S1、S2 MAC算法1和3中,用來導出一系列常數(shù)的常數(shù)比特串
T0、T1、T2 MAC算法1和3中,用來導出子密鑰的128比特常數(shù)
U0、U1、U2 MAC算法1和3中,用來導出子密鑰的768比特常數(shù)
Φ'使用修改后常數(shù)的輪函數(shù)
K1[i] 128比特串K1的第i個字,即:K1=K1[0]||K1K1[1]||K1[2]||K1[3]
H 雜湊值
Lx 比特串X的比特長度
C1、C 輪函數(shù)中用到的常數(shù)字
CCi 專用雜湊函數(shù)4中用到的常數(shù)矩陣
L1 輸入到輪函數(shù)φ的兩個比特串中,第一個比特串的比特長度
L2 輸入到輪函數(shù)φ的兩個比特串中,第二個比特串的比特長度;輪函數(shù)φ輸出值的比特長度;初始值IV的比特長度
φ 輪函數(shù),即:若X和Y分別表示長度為L1和 L2的比特串,則 φ(X,Y)表示將?作用到X和Y所得到的比特串
+32 模 232加法操作,即:若A和B是字,那么把A和B看作是整數(shù)的2進制表示,計算它們的和再模 232,所得到的結(jié)果在0和 232-1之間,把它看作為字,記作 A+32B
注:h只能被用來處理長度為L1整數(shù)倍的輸入比特串。
采用本部分MAC算法的使用者應當選擇:
1)從第6、7、8章中選取一種MAC算法;
2)從ISO/IEC 10118-3:2004中的專用雜湊函數(shù)1、2、3和7中選取一個雜湊函數(shù);
3)MAC的長度m。
對于MAC算法1和2,MAC的長度m應該是一個正整數(shù)并且不大于雜湊值長度 H。對于 MAC算法3,MAC的長度m應該是一個正整數(shù)并且不大于雜湊值長度的二分之一,即 m≤LH/2。
對于MAC算法1和2,消息比特串D的比特長度不大于 264-1;對于MAC 算法3,消息比特串D的比特長度不大于256。
對一個具體MAC算法、專用雜湊函數(shù)、m值的選擇超出了本部分所規(guī)定的范圍。
注:上述選擇將影響MAC算法的安全強度,具體請參考附錄B。
生成MAC和驗證MAC應當使用同樣的密鑰。
以上為標準部分內(nèi)容,如需看標準全文,請到相關(guān)授權(quán)網(wǎng)站購買標準正版。