2024信息安全技術(shù) 消息鑒別碼 第2部分:采用專用雜湊函數(shù)的機(jī)制_第1頁
2024信息安全技術(shù) 消息鑒別碼 第2部分:采用專用雜湊函數(shù)的機(jī)制_第2頁
2024信息安全技術(shù) 消息鑒別碼 第2部分:采用專用雜湊函數(shù)的機(jī)制_第3頁
2024信息安全技術(shù) 消息鑒別碼 第2部分:采用專用雜湊函數(shù)的機(jī)制_第4頁
2024信息安全技術(shù) 消息鑒別碼 第2部分:采用專用雜湊函數(shù)的機(jī)制_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

信息安全技術(shù)消息鑒別碼2目 次前言 V1范圍 12規(guī)性用件 13術(shù)和義 14符號 35用使要求 46MAC算法1(MDx-MAC) 55MAC法1的述 56.2.1概述 56.2.2驟1(密擴(kuò)) 56.2.3驟2(修常和初值) 56.2.4驟3(雜操) 66.2.5驟4(輸變) 66.2.6驟5(截操) 667MAC算法2(HMAC) 66MAC法2的述 67.2.1概述 67.2.2驟1(密擴(kuò)) 67.2.3驟2(雜操) 77.2.4驟4(輸變) 77.2.5驟5(截操) 778MAC算法3(MDx-MAC變種) 77MAC法3的述 78.2.1概述 78.2.2驟1(密擴(kuò)) 78.2.3驟2(修常和初值) 88.2.4驟3(填) 88.2.5驟4(應(yīng)輪數(shù)) 88.2.6驟5(截操) 889常的算 88IIIIIIIISM3碼湊數(shù) 9附錄A(料)本與ISO/IEC9797-2:2021相比結(jié)變情況 10附錄B(料)測量 1111MAC法1(MDx-MAC) 11MAC法2(HMAC) 12MAC法3(MDx-MAC的變) 13附錄C(料)MAC法的全分析 14參考獻(xiàn) 1611信息安全技術(shù)消息鑒別碼第2部分:采用專用雜湊函數(shù)的機(jī)制范圍3本文件適用于安全體系結(jié)構(gòu)、過程及應(yīng)用的安全服務(wù)。注:本文件定義的第一個(gè)MACMDx-MACMACMDx-MAC256(GB/T18238.3-XXXX信息安全技術(shù)雜湊函數(shù)第3部分:專門設(shè)計(jì)的雜湊函數(shù)GB/T25069-2022界定的以及下列術(shù)語和定義適用于本文件。熵 entropy封閉系統(tǒng)中無序性、隨機(jī)性或可變性的度量。注:隨機(jī)變量X的熵是觀察X所獲得的信息量的量化度量。雜湊數(shù) hash-function將任意長(但通常存在上限)的比特串映射為定長比特串的函數(shù),滿足下列性質(zhì):——給定一個(gè)輸出比特串,尋找一個(gè)輸入比特串來產(chǎn)生該輸出比特串,在計(jì)算上不可行;注:計(jì)算不可行性取決于特定的安全要求和環(huán)境。[來源:GB/T25069-2022,3.505,有修改]輸入據(jù)特串 inputdatastring輸入MAC算法的比特串。22填充 paddingGB/T25069-2022,3.598]初始值 initializingvalueGB/T25069-2022,3.80]雜湊碼 hash-code輪函數(shù) round-functionL2L2注輪函數(shù)記為??(?,?)??1的數(shù)據(jù)串和長度為??2(或初始化值輸出一個(gè)長度為??2的比特串。注2:在該領(lǐng)域的文獻(xiàn)中,多個(gè)術(shù)語具有與輪函數(shù)相同或相似的含義。例如:壓縮函數(shù)和迭代函數(shù)。[來源:GB/T18238.1,3.8]分組 block作為一個(gè)單位記錄或傳輸?shù)脑匦蛄小Wⅲ哼@里的元素可以是字符、字或記錄。GB/T25069-2022,3.354]字 wordGB/T25069-2022,3.812]消息別碼 messageauthenticationcodeMAC注:一個(gè)MACGB/T15852.1-2020,3.10]消息別算法 messageauthenticationcodealgorithm輸入為密鑰和消息,輸出為一個(gè)固定長度的比特串的算法,滿足下面兩個(gè)性質(zhì):,MAC(,MAC)MAC注1:MAC算法有時(shí)也稱作密碼校驗(yàn)函數(shù)。注2:計(jì)算不可行性依賴于使用者具體的安全要求及其環(huán)境。33[來源:GB/T15852.1-2020,3.11]MAC法鑰 MACalgorithmkeyGB/T15852.1-2020,3.12]輸出換 outputtransformationGB/T15852.1-2020,3.14]安全強(qiáng)度 securitystrength與攻破密碼算法或系統(tǒng)所需的工作量相關(guān)的數(shù)值,以比特為單位,s比特的安全強(qiáng)度表示需要的操作數(shù)是2s。符號下列符號適用于本文件。Ci,C'i輪函數(shù)中使用的常數(shù)字D輸入數(shù)據(jù)比特串,即:將要被輸入到MAC算法的數(shù)據(jù)比特串D經(jīng)過填充的數(shù)據(jù)比特串H雜湊碼H'、H''長度為L2的比特串,在MAC算法計(jì)算中被用來存儲臨時(shí)結(jié)果h雜湊函數(shù)h'被修改了常數(shù)和初始值IV的雜湊函數(shù)hh簡化的雜湊函數(shù)h,沒有數(shù)據(jù)填充和長度附加,沒有將輪函數(shù)輸出(L2比特LH注1:被用來處理長度為L1正整數(shù)倍的輸入比特串。注2:h的輸出是長度為L2位的比特串,而不是長度為LH位的比特串。IV、IV'、IV1、IV2初始值KMAC算法的密鑰K、K0、K1、K2KK1K2被用于MAC算法的誘導(dǎo)密鑰K1[i]誘導(dǎo)密鑰K1的第i個(gè)字KTMAC算法1的輸出變換步驟中,函數(shù)'的第一個(gè)輸入比特串kMAC算法密鑰的比特長度LMAC算法3中表示消息長度的比特串44LX比特串X的比特長度L1輸入到輪函數(shù)的兩個(gè)比特串中,第一個(gè)比特串的比特長度L2輸入到輪函數(shù)的兩個(gè)比特串中,第二個(gè)比特串的比特長度;輪函數(shù)輸出值的比特長度;初始值IV的比特長度MSBj(X)比特串X最左側(cè)j位比特串mMAC值的比特長度OPAD、IPADMAC算法2中使用的常數(shù)比特串q經(jīng)過填充和分割操作后,輸入數(shù)據(jù)比特串D的分組個(gè)數(shù)RS0S2MAC算法1和3的常數(shù)計(jì)算中使用的常數(shù)比特串T0、T1、T2、U0、U1、U2MAC算法1和3的密鑰誘導(dǎo)中使用的常數(shù)比特串w字的比特長度,取32XY比特串X和Y的異或值X||Y按順序?qū)⒈忍卮甔和Y連接所構(gòu)成的比特串:MAC算法定義中使用的賦值符號向上取整符號輪函數(shù),即:若X和Y分別表示長度為L1和L2的比特串,則(X,Y)表示將作用到X和Y所得到的比特串'修改的輪函數(shù),其常數(shù)與原輪函數(shù)中使用的不同w模2w加法操作,其中w是一個(gè)字的比特?cái)?shù),即:若A和B是字,AB2w和2w1AB。w使用本文件中給出的MAC算法的用戶需要選擇:——GB/T18238.3中的專用雜湊函數(shù);——章節(jié)6、7、8中定義的一種MAC算法;——MAC的比特長度m,其中m不小于32。用戶之間就這些選擇達(dá)成協(xié)議對數(shù)據(jù)完整機(jī)制的運(yùn)作至關(guān)重要。MAC算法中使用的密鑰K的熵應(yīng)滿足或超過由MAC算法提供的安全性強(qiáng)度。在任何情況下,MAC算法密鑰K的選擇應(yīng)使每個(gè)可能的密鑰被選擇的可能性近似相等。MAC12,MACmLHMAC2,MACm32MAC3,MACmm/2MACMAC具體的MAC算法和m值的選擇超出了本文件所規(guī)定的范圍。55這些選擇影響MAC算法的安全性級別。詳細(xì)討論見附錄C。生成和驗(yàn)證MAC使用的密鑰相同。如果輸入數(shù)據(jù)串也被加密,那么計(jì)算MAC的密鑰宜不同于用于加密的密鑰。因?yàn)椋瑸楸C苄院蛿?shù)據(jù)完整性使用相互獨(dú)立的密鑰被認(rèn)為是好的密碼實(shí)踐。BMACCMACMAC1(MDx-MAC)概述本章描述了采用GB/T18238.3-XXXX中的專用雜湊函數(shù)的MAC算法1。MAC算法1又稱MDx-MAC。MAC1MACMAC1128K128MACSM3D的比特長度應(yīng)不大于2641。MAC1概述MAC算法1要求如下五步操作:密鑰擴(kuò)展、修改常數(shù)和初始值、雜湊操作、輸出變換和截?cái)嗖僮鳌?()若K12K重復(fù)8/K122K':K'(KK KK128K(K。K0K1K2K0:h(K'U0

K'),K1:MSB256(h(K'U1K2:MSB128(h(K'U2

K'))K'))其中,h表示簡化的專用雜湊函數(shù)h,U0、U1和U2是第9章中定義的768比特的常數(shù)。數(shù)據(jù)填充和長度附加可被省略,因?yàn)榇藭r(shí)輸入比特串的長度是L或2L比特。1 1K0K0L2比特。誘K1K1[iiK1K1[0]||K1[1]||K1[2]||K1[3]||K1[4]||K1[5]||K1[6]||K1[7]從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)排列順序。在這里的轉(zhuǎn)換中,采用GB/T32905-2016中規(guī)定的字節(jié)排列順序。2()輪函數(shù)中采用的附加常數(shù),被修改為它與K1中的一個(gè)字進(jìn)行模2w加的結(jié)果,例如:C0:C0wK1[0]每個(gè)常數(shù)具體與K1的哪個(gè)字相加取決于使用的雜湊函數(shù),在第9章中規(guī)定。用IV':K0取代雜湊函數(shù)的初始值IV,所得的雜湊函數(shù)記作h',其中的輪函數(shù)記作'。663()將輸入數(shù)據(jù)比特串D輸入被修改的雜湊函數(shù)h',即:H':h'(D)4()KTH'(3果)H'':'(KT,H')KTK2||K2||K2||K2。這里、和128章中定義。輸出變換對應(yīng)于處理在數(shù)據(jù)填充和長度附加操作之后由K2誘導(dǎo)得到的一個(gè)額外的數(shù)據(jù)分組。5()取比特串H''最左側(cè)m比特,作為MAC值,即:MAC:MSBm(H")效率q(MAC算法調(diào)用q7K0K1K2',MAC1調(diào)q1MAC算法MAC2(HMAC)概述本章描述了采用GB/T18238.3-XXXX中的專用雜湊函數(shù)的MAC算法2。MAC算法2又稱HMAC。MAC算法2計(jì)算MAC值要求調(diào)用兩次雜湊函數(shù)。雜湊函數(shù)要求L1是8的正整數(shù)倍。密鑰長度kL2L2L2MAC2,假設(shè)密鑰長度不大于L1比特,即:L2kL1。對于MAC算法2,采用SM3密碼雜湊算法時(shí)的輸入數(shù)據(jù)串D的比特長度應(yīng)不大于264512。MAC算法2的描述概述MAC算法2要求如下四步操作:密鑰擴(kuò)展、雜湊操作、輸出變換和截?cái)嗖僮鳌?()Kk個(gè)0K。KK1K2。1636”(00110110”)/8IPAD。然后將K和比特串IPAD相異或,記作K1,即:77K1:KIPAD165C”(01011100”)/8OPAD。然后將K和比特串OPAD相異或,記作K2,即:K2:KOPAD2()K1DH'h(K1||D)3()K2H'H''h(K2||H')4()取比特串H''最左側(cè)m比特,作為MAC值,即:MAC:MSBm(H")效率q(MAC算法輪函數(shù)q3通過修改雜湊函數(shù)代碼,MAC2調(diào)用輪函數(shù)的次數(shù)可以降低到q1次。可以預(yù)計(jì)算(K1IV(K2IVIV2LDMAC3(MDx-MAC)概述本章描述了MAC算法1的一個(gè)變種,該變種對短輸入(不大于256比特)做了優(yōu)化。對于MAC算法3,輸入數(shù)據(jù)串D的比特長度應(yīng)不大于256。密鑰比特長度k應(yīng)不大于128,MAC值比特長度m應(yīng)不大于LH/2。MAC算法3的描述概述MAC算法3要求如下五步操作:密鑰擴(kuò)展、修改常數(shù)和初始值、填充、應(yīng)用輪函數(shù)和截?cái)嗖僮鳌?()若K12K重復(fù)8/K122K':K'(KK KK128K(K。K0K1K288K0:h(K'U0

K'),K1:MSB256(h(K'U1K2:MSB128(h(K'U2

K'))K'))其中,h表示簡化的專用雜湊函數(shù)h,U0、U1和U2是第9章中定義的768比特的常數(shù)。數(shù)據(jù)填充和長度附加可被省略,因?yàn)榇藭r(shí)輸入比特串的長度是L或2L比特。1 1K0K0L2比特。K1K1[iiK1K1[0]||K1[1]||K1[2]||K1[3]||K1[4]||K1[5]||K1[6]||K1[7]從比特串到字的轉(zhuǎn)換,需要規(guī)定字節(jié)排列順序。在這里的轉(zhuǎn)換中,采用GB/T32905-2016中規(guī)定的字節(jié)排列順序。2()1輪函數(shù)中采用的附加常數(shù),被修改為它與K四個(gè)字中的一個(gè)進(jìn)行模2w加的結(jié)果,例如:1C0:C0wK1[0]。每個(gè)常數(shù)具體與K1的哪個(gè)字相加取決于使用的雜湊函數(shù),在第9章中規(guī)定。用IV':K0取代雜湊函數(shù)的初始值IV,所得的雜湊函數(shù)記作h',其中的輪函數(shù)記作'。3()MAC(MACMACD,的“0256D如果輸入數(shù)據(jù)比特串D是空串,那么規(guī)定填充后的比特串D為256個(gè)“0”。4()DLD0128LK2DK2L(輪函數(shù)H':'(K2||D||(K2L),IV')5()取比特串H'最左側(cè)m比特,作為MAC值,即:MAC:MSBm(H')效率MAC3K0K1K2概述第9章規(guī)定的常數(shù)被用在MAC算法1和3中。比特串Ti和Ui是MAC算法中固定的元素。它們通過雜湊函數(shù)計(jì)算得到(只計(jì)算一次),不同雜湊函數(shù)中的常數(shù)不同。99128和768比特的常數(shù)Ui按照如下的方法定義。的定義使用到496比特的常數(shù)RabYZ0189和16S0S2Si通過重復(fù)兩次數(shù)字i的16ASCII編(的163131)R和Si都采用ASCIIGB/T1988-1998進(jìn)行Ti:MSB128(h(Si||R)),Ui||||2||||||Ti2,

i2i2其中Ti的下標(biāo)采用模3加。對于所有的常數(shù)Ci、C'i和所有的字K1[i],最高位對應(yīng)于最左側(cè)的比特。常數(shù)Ci和C'i采用16進(jìn)制表示。SM3密碼雜湊函數(shù)SM3密碼雜湊函數(shù)中的128比特常數(shù)Ti定義如下(以16進(jìn)制表示):SM3碼湊數(shù)輪中用的數(shù)序列C0,C1, ,C63定如下CiK1[imod8]32C'i其中序列C'0, ,C'63用16進(jìn)表定義下

(0i63),C'i79CC4519(0i15),C'i7A879D8Ai1010附錄A(資料性)本文件與ISO/IEC9797-2:2021相比的結(jié)構(gòu)變化情況本文件與ISO/IEC9797-2:2021相比在結(jié)構(gòu)上有較多調(diào)整,具體章條編號對照情況見表A.1。表A.1 本文件與ISO/IEC9797-2:2021的條號照況本文件章條編號對應(yīng)的ISO/IEC標(biāo)準(zhǔn)章條編號3.13.23.23.53.33.33.43.113.53.63.63.43.73.123.83.13.93.143.103.83.113.93.123.73.133.103.143.1396.49.16.4.19.26.4.9—9附錄A——附錄A1111附錄B(概述本附錄提供了MAC算法1、2和3的計(jì)算示例,采用GB/T32905-2016的SM3密碼雜湊算法。表B.1包含了序號為1至9的輸入比特串。對于MAC算法1和2,本附錄給出了計(jì)算MAC值的九個(gè)示例;對于MAC算法3,只給出了表中的前五個(gè)示例。在整個(gè)附錄中,采用ASCII碼對輸入數(shù)據(jù)比特串進(jìn)行編碼,等同于采用GB/T1988-1998規(guī)定的七位編碼字符。表B.1 于試輸特串序號輸入比特串1“”(空比特串)2“a”3“abc”4“messagedigest”5“abcdefghijklmnopqrstuvwxyz”6“abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq”7“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789”8“1234567890”重復(fù)8次所得的長為80的字符串9“a”重復(fù)1,000,000次得到1兆長的字符串兩個(gè)128比特的密鑰如下:12m/2LHSM3MAC算m128。MAC1(MDx-MAC)對于采用SM3密碼雜湊函數(shù)的MAC算法1,測試向量如下:密鑰1:00112233445566778899AABBCCDDEEFF序號128比特MAC值:下列比特串的最左側(cè)的128比特14AECB47B01AF2E0B420FE3C9B24A0FD8C5EF6D82F41C8009B9133E398BD4A8B52AC5FE9BA773DAF4A9235C858BFC03E6863052E3C58B0C125AED70A999AB775E73F321D3C152400A44CB98D8096084823ADFDDBB57A3B2E947A4024B581020E40412124CFF373D995C6112F16A585184595E0A99FAD55AF4A55494E37D47B6766C28A0552A139ABD14AFD36C4C483816BA188A2444B3B5B08D95E2B64FA946A1604128AE6389066AB696C54D77BBD168A1B5D1D177DB6233751E3994B0804C3F1CC3780757D0DAD6CB29EE0D393547D1F716BF83111E00A6513FA213DB522F9E0E1AFF96B489C1C16CEE95C7BBFEE01C054A72169A0F99A1472B9060074AA5366CC18EBB0D49ED73BAE5E7FA51284FC2704C98DA12FB20992564BF1D8976970E9E07586D1783密鑰2:0123456789ABCDEFFEDCBA9876543210序號128比特MAC值:下列比特串的最左側(cè)的128比特180DFB76DBF659EDBCA4E703FF92D522B00BECE4B8D698BF644837F2F88EEC61328F319C8AC77E38786B6DDA88CEE90388597CC2FE7772FA3BCF14DA16F1D11C50301B474B0BA28ECBA6EF0A7A1339C96A734351D59D4BB5EC192EDC59BBF4FBC4B49841877F2A1E0E04813B4258ED16FDD080476CC7D6B2C51D7BD2EEBD7F93FA5D557CD60810A8A106EFE2B4B16F3D16F4EF89CB49E0EC5D9C07300BC127603DD3561B3BEF507A9D57B95D2B41E8A56EE88BDC8539D04B224D6BEDA2CE1098E4CBB27271AF8DC5A4DA1AF692306CC198EFE2BC9923BD6D382FCE5C1284D19E6A2721C8BFDD8620B52EB6FF3FCF74EF0EE93652161C816DEE86DDF5C822867A2901ADE49883827DE1F419CC0E8502F962A052DF5913212A9AD2DA3BFF00DA80A7CA8DFE4MAC2(HMAC)對于采用SM3密碼雜湊函數(shù)的MAC算法2,測試向量如下:密鑰1:00112233445566778899AABBCCDDEEFF序號128比特MAC值:下列比特串的最左側(cè)的128比特1C8E4E95012EB3D449B5DD0691947986E469E08A3506BB55CCB94A96EBFADA65425FD9F7568A24C438F14B7A22E799B0689FE053ABB76D316202E3C9D10E9EEBE230933617A88D312F6F9FB4B5F200E31A64D655E92F7FA2A43F55DFEEB8AB6788D49C9A22E8B5797B82CFF9BABA56893CC1D75811C334D198F3AF43401740B824F75A51CE58C52AE29EDD66A53E6AAF0745BF4FEDBDE899973B2D817290E646DF87E6DC813339153491AD81477754EB3DF00DBB3CC3E6A69F9CACCE737DB7E61342FF7BCA6FA751AECAC5BA3AC49963F6A58F7C2293C6E6923802BC52117A741A49FEE825E034DF9A3AC81599C233440CA6F68F38CA5166438BFA620210EC2F59880C0D934DB1B0452359EA54DA16932E42A662BE88C19C5AD4FE9073867C05A92752024密鑰2:0123456789ABCDEFFEDCBA9876543210序號128比特MAC值:下列比特串的最左側(cè)的128比特1F14B797B559216B73D3816ADFB790250AF3F21198A1AE867123762BB63A0094525BD1836B97C74F88A77BC309E77A269481F53BE9D5C4CE1E40B1C50FE574762E328D8A61BE67D8BF7652C4EDA7092B612F88BE62184F55005C57DDF076E7641994E0ACCC4DA77E77D135F17F5CA1EE3E600DAB444FC23ADD6F7E6A54E1B34B26BC13135429D9030B1D992AD8198E01C13141C2859A913D69DE00CCE9E4A60F00BF276CB6AAB294F80562AB234E6226BF7FC3B03F839C7759E60F69735B7E99E50EB94A24708F457B37E5E062AFAFB24DE8D48B92246F1788BAAD4D7B3D11E5F627E33A0D389F85C779D718A33BDEC2D6E0C1F280FE6A8C12FF2521530A44D168DD4080BC149ED3057AB0DB1E826240FCF8E8760C3DB9338E9AABDAD8B11BB0C040D73E74441MAC3(MDx-MAC)對于采用SM3密碼雜湊函數(shù)的MAC算法3,測試向量如下:密鑰1:00112233445566778899AABBCCDDEEFF序號128比特MAC值:下列比特串的最左側(cè)的128比特1B7DA221372494909407DAE9BAA89EC6F97B4B5FF44453C1C634B0CBB642612F22C9333F511344032C70CA41DAB3E335A2AB28DF5B933344E90B4EFC91BA90DC6B3336202E1213B63AF5A141FDFCD2B2213C6EDC56CEE7EC12B8A8878182C530FB34E6A3BC8769F5DC27131F4799AD710C8B933347FA65D3A7EFDF354472B81F023854602CD8E9

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論