CNS 14105-3-2007 Information technology - Security techniques - Hash-functions - Part 3 Dedicated hash-functions《信息技术-安全技术-杂凑函数-第3部:专属杂凑函数》.pdf
《CNS 14105-3-2007 Information technology - Security techniques - Hash-functions - Part 3 Dedicated hash-functions《信息技术-安全技术-杂凑函数-第3部:专属杂凑函数》.pdf》由会员分享,可在线阅读,更多相关《CNS 14105-3-2007 Information technology - Security techniques - Hash-functions - Part 3 Dedicated hash-functions《信息技术-安全技术-杂凑函数-第3部:专属杂凑函数》.pdf(106页珍藏版)》请在麦多课文档分享上搜索。
1、 1 印月 96 9 月 本標準非經本局同意得翻印 中華民國國家標準 CNS 總號 號 ICS 35.040 X5054-314105-3經濟部標準檢驗局印 公布日期 修訂公布日期 92 1 月 13 日 96 9 月 14 日 (共 106 頁 )資訊技術安全技術雜湊函數第 3 部:專屬雜湊函數 Information technology Security techniques Hash-functions Part 3: Dedicated hash-functions 目錄 節次 頁次 1. 適用範圍 . 2 2. 引用標準 . 2 3. 用語釋義 . 2 4. 符號 (與縮寫 ).
2、3 4.1 CNS 14105-1 中所定義之符號 3 4.2 本標準所定義之符號 3 5. 需求 . 5 6. 專屬雜湊函數模型 . 5 7. 專屬雜湊函數 1 (RIPEMD-160) . 5 7.1 參數、函數及常數 6 7.2 填充方法 . 7 7.3 回合函數之描述 . 8 8. 專屬雜湊函數 2 (RIPEMD-128) . 9 8.1 參數、函數及常數 9 8.2 填充方法 10 8.3 回合函數之描述 10 9. 專屬雜湊函數 3 (SHA-1) .11 9.1 參數、函數及常數 . 11 9.2 填充方法 12 9.3 回合函數之描述 13 10. 專屬雜湊函數 4 (SHA
3、-256) 14 10.1 參數、函數及常數 .14 10.2 填充方法 .15 10.3 回合函數之描述 .15 11. 專屬雜湊函數 5 (SHA-512) 16 11.1 參數、函數及常數 .17 11.2 填充方法 . 18 2 CNS 14105-3, X 5054-3 11.3 回合函數之描述 . 19 12. 專屬雜湊函數 6 (SHA-384) 20 12.1 參數、函數及常數 . 20 12.2 填充方法 .21 12.3 回合函數之描述 .21 13. 專屬雜湊函數 7 (WHIRLPOOL) 21 13.1 參數、函數及常數 .21 13.2 填充方法 .23 13.3
4、回合函數之描述 .23 附錄 A (參考 )範例 .24 附錄 B (參考 )以正規語言描述之規格 89 附錄 C (規定 )ASN.1 模組 .101 參考書目 .104 英中名詞對照表 105 1. 適用範圍 本標準規定專屬雜湊函數 (dedicated hash-function),亦即特別設計的雜 湊函數。本標準規定七個不同的回合函數,因此各有不同的專屬雜湊函數。這些雜湊函數是基於回合函數 (round-function)的迭代 (iteration)使用。 在第 7 節與第 9 節中之第 1 個及第 3 個雜湊函數分別提供最長可達 160 位元的雜湊碼 (hash-code);在第
5、8 節中之第 2 個雜湊函數提供最長可達 128 位元的雜湊碼;在第 10 節中之第 4 個雜湊函數提供最長可達 256 位元的雜湊碼;在第 12 節中之第 6個雜湊函數提供固定長度 384 位元的雜湊碼;在第 11 節與第 13 節中之第 5 個與第7 個雜湊函數提供最長可達 512 位元的雜湊碼。 2. 引用標準 CNS 14105-1 資訊技術安全技術雜湊函數第 1 部:概說 3. 用語釋義 本標準使用 CNS 14105-1 及下列的用語釋義: 3.1 區塊 (block) 長度1L 的位元字串,亦即回合函數的第 1 個輸入值之長度。 3.2 字 (word) 分別使用在第 7 節、第
6、 8 節、第 9 節及第 10 節中第 1、 2、 3 及 4 個之專屬雜湊函數裡為 32 位元的字串,而分別使用在第 11 節、第 12 節中第 5、 6 個之專屬雜湊函數裡則為 64 位元的字串。 3.3 矩陣 (matrix) 第 13 節中專屬雜湊函數 7 所使用的 8 乘 8 矩陣,其中矩陣的每一項為 8 位元的字串。 3 CNS 14105-3, X 5054-3 4. 符號 (與縮寫 ) 4.1 CNS 14105-1 中所定義之符號 本標準使用 CNS 14105-1 中所定義的符號及表示法: Bi位元組。 D 輸入雜湊函數的資料字串。 H 雜湊碼。 IV 起始值 (initi
7、alizing value)。 L1回合函數 的 2 個輸入字串中的第 1 個輸入字串的 (位元 )長度。 L2回合函數 的 2 個輸入字串中的第 2 個輸入字串的 (位元 )長度、回合函數之輸出字串的長度,而且也是 IV 的長度。 Lx 位元字串 X 的 (位元 )長度。 回合函數,若 X 及 Y 分別為長度 L1及 L2的位元字串,則將 X及 Y 代入 ,可以得到字串 ),( YX 。 YX 將位元字串 X 和 Y 做互斥 or (exclusive-or)運算 (其中 LX=LY)。 4.2 本標準所定義之符號 本標準使用下列的符號及表示法: iiaa ,規定回合函數所使用的索引 (in
8、dex)序列。 Ai常數矩陣的序列用於規定第 13 節中所定義的回合函數。 c0輸入值為 64 個 GF(28)元素的字串且輸出值為 GF(28)元素的 8乘 8 矩陣之函數,用於規定第 13 節中所定義的回合函數。 321, ccc 輸入值為 GF(28)元素的 8 乘 8 矩陣且輸出值亦為 8 乘 8 矩陣之函數,用於規定第 13 節中所定義的回合函數。 4c 輸入值為兩個 )2(GF8元素的 8 乘 8 矩陣且輸出值亦為 GF(28)元素的 8 乘 8 矩陣之函數,用於規定第 13 節中所定義的回合函數。 iiCC ,回合函數所使用的常數字。 C GF(28)元素的 8 乘 8 循環矩陣
9、用於規定第 13 節中所定義的回合函數。 iD從填充 (padding)處理後的資料字串所推導出來的區塊。 iiiigfed , 輸入值為一個或三個字且輸出值為單一字之函數,用於規定回合函數。 iH雜湊運算中被用來當作儲存中間結果之2L 位元的字串。 )2(GF8定義為 GF(2)x / )(8xp 的體 (field),其中1)(23488+= xxxxxp ,體的元素為 8 位元的字串。 M 8 乘 8 的矩陣,其中矩陣的項是選擇自 GF(28)。 q 在填充及分割 (splitting)處理後,資料串中區塊的數目。 ()nR 如果 A 是字且 n 是非負的整數,則 ()nR 定義成將 A
10、 的內容向右 4 CNS 14105-3, X 5054-3 移位 n 個位置所得到的字,亦稱為 “右移位 (right shift)” n 位元位置的運算。 s 非線性替代盒,以另一個元素 )2(GF 8xs 取代元素 )2(GF 8x 。 ()nS 如果 A 是字且 n 是非負的整數,則 )(ASn定義成以循環方式將 A的內容向左移位 n 個位置所得到的字,亦稱為 “左循環移位(circular left shift)” n 位元位置的運算。 ()nS 如果 A 是字且 n 是非負的整數,則 )(ASn定義成以循環方式將 A的內容向右移位 n 個位置所得到的字,亦稱為 “右循環移位(cir
11、cular right shift)” n 位元位置的運算。 iitt ,規定回合函數所使用的移位值 (shift-value)。 iiiiZYXXW , 被用來當做儲存中間運算結果的字。 iiiZYKXW , 被用來當做儲存中間運算結果的矩陣,其中矩陣的項是選擇自GF(28)。 位元字串的逐位元邏輯 AND 運算 (bit-wise logical AND operation),即如果 A 及 B 是字,則 AB 等於 A 及 B 的逐位元邏輯 AND 運算後的字。 位元字串的逐位元邏輯 OR 運算 (bit-wise logical OR operation),即如果 A 及 B 是字,則
12、 A B 等於 A 及 B 的逐位元邏輯 OR 運算後的字。 位元字串的逐位元邏輯 NOT 運算 (bit-wise logical NOT operation),即如果 A 是字,則 A 等於 A 的逐位元邏輯 NOT運算後的字。 模w2 的加法運算, A 及 B 是字,則 AB 是由整數 A 及 B 的二進制表示法,計算其和後模w2 ,此結果限制在 0 與 12 w之間。其中 w 是字的位元數,在第 7 節至第 10 節所定義之第 1-4 個專屬雜湊函數中 w 值為 32,在第 11 節及第 12 節所定義之第 5及 6 個專屬雜湊函數中 w 值為 64。 8乘 8 矩陣的乘法運算,其中矩
13、陣的項是選擇自 GF(28),即如果 A 及 B 是這類的矩陣,則 BA 是由 A 及 B 以下列方式相乘所得之矩陣:將 A 或 B 的每項整數視為二進制多項式表示法 (例如,整數 89 (16 進制 )的二進制多項式為 137+ xx ),兩項的乘法視為二個多項式的乘積除以多項式 )(8xp 的餘式,並且將和運算視為互斥 or ( ) 運算,其中 1)(23488+= xxxxxp 。 =: “設定相等 (set equal to)”的符號,使用於回合函數的程序規範中,它指示符號左邊的字 (或第 13 節中的矩陣 )應等於符號右邊的表示式之值。 5 CNS 14105-3, X 5054-3
14、 5. 需求 欲使用本標準中之雜湊函數的使用者應選擇: (1) 下列規定的其中一個專屬函數,並且 (2) 雜湊碼 H 的長度為HL 。 備考 1. 第 1 個及第 2 個專屬雜湊函數適用於使用 “小位數在前 (little-endian)”電腦 (即字中的最低定址位元組被轉譯成最低有效位元組 (least significant byte)的軟體實作。相反地,第 3、 4、 5 及 6 個專屬雜湊函數適用於使用 “大位數在前 (big-endian) ”電腦 (即字中的最低定址位元組被轉譯成最高有效位元組 (most significant byte)的軟體實作。然而,藉由適當地調整其定義,這
15、 6 個回合函數中任一個函數皆能夠實作於大位數在前或小位數在前電腦。第 7 個專屬雜湊函數適用於無結尾敏感(endian-neutral),就某種意義來說,其未使用結尾敏感 (endian-sensitive)的數學運算 (例如整數加法 )。如果將屬於 )2(GF8的元素 (即位元組 )序列對映到電腦的字,並以平行處理此類的運算,例如放置互斥 OR、只要反向對映 (inverse mapping)是一致的,字內的位元組排列是無關的。本標準定義的所有雜湊函數之輸入值為一位元字串,而輸出值亦為一位元字串,此與每個雜湊函數中所使用的內部位元組定序規約 (byte-ordering conventio
16、n)無關。 2. LH的選擇會影響雜湊函數的安全性,當認為執行2/2HL個雜湊碼的計算是計算上不可行的情況下,相信本標準規定的所有雜湊函數是抗碰撞雜湊函數 (collision-resistant hash function)。 6. 專屬雜湊函數模型 本標準所規定的雜湊函數是基於 CNS 14105-1 中雜湊函數之一般模型。 在本標準雜湊函數的規定中,假設填充的資料字串是以位元組序列的形式輸入至雜湊函數,如果填充的資料字串是 8n 位元序列1810,nxxx L 的形式,則應以下列的方式將它轉譯成 n 位元組的序列110,nBBB L ,以 8 個連續的位元為一組,並將每一組視為位元組,其
17、中每個位元組的第 1 個位元是該位元組的最高 有效位元 (most significant bit)。因此,對每個 i )0( ni r ),此結果將會使得位元字串的長度比 512 位元的整數倍長度短少 64 位元。 (3) 將二進制表示的 64 位元 LD分成二個 32 位元的字串,其中一個表示 LD的 “最高有效的半區塊 ”,另外一個則是 “最低有效的半區塊 ”,再將前一步驟所得到的字串與這二個 32 位元的字串序連在一起,先序連 “最低有效的半區塊 ”,再序連 “最高有效的半區塊 ”。 回合函數遵循以下的描述,每個 512 位元的資料區塊iD ( qi 1 )被視為 16 個字的序列15
18、10, ZZZ L ,其中0Z 相當於 Di最左邊的 32 位元。 備考: 在步驟 3, LD的二個 32 位元字串序連,直接使用這二個 32 位元字串做為最後資料區塊的字14Z 及15Z ;基於第 7.1.2 節位元組定序規約, LD的最低有效 8 位元組是最左邊的 8 位元組, LD的最高有效 8 位元組是最右邊的 8 位元組。 7.3 回合函數之描述 回合函數 運作如下,請注意我們使用符號4321043210, XXXXXXXXXXW 記為 11 個相異的字,這些字包含計算過程中所需的數值。 (1) 假設 的 512 位元 (第 1 個 )輸入值是1510, ZZZ L ,其中0Z 是此
19、 512 位元的最左邊 32 位元,並假設 的 160 位元 (第 2 個 )輸入值是五個字43210, YYYYY 。 (2) 令4433221100:,:,:,:,: YXYXYXYXYX = 。 (3) 令4433221100:,:,:,:,: YXYXYXYXYX = 。 (4) i 從 0 開始至 79 依序執行下列四個步驟: (a) 0(: XSWit= ),(321XXXgiiaZ )iC 4X 。 (b) WXXXXSXXXXX = :,:),(:,:,:11221033440。 (c) 0(: XSWit= ),(32179XXXgiiaZ )iC 4X 。 (d) WXXX
20、XSXXXXX = :,:),(:,:,:11221033440。 (5) 令 0: YW = 。 10: YY = 2X 3X 。 21: YY = 3X 4X 。 32: YY = 4X 0X 。 43: YY = 0X 1X 。 WY =:41X 2X 。 (6) 43210, YYYYY 五個字表示回合函數 的輸出值,在回合函數最後一個迭代之後,應使用第 7.1.2 節規定的反向程序將43210, YYYYY 五個字轉換成 20 位元組的序列,其中0Y 應是第 1 個四位元組,1Y 是之下一個四位元組,依此類推。因此,第 1 個 (最左邊 )位元組相當於0Y 的最低有效位元組,而第 2
21、0 個 (最右 9 CNS 14105-3, X 5054-3 邊 )位元組相當於4Y 的最高有效位元組。應使用第 6 節規定的反向程序將此20 個位元組轉換成 160 位元的字串,即第 1 個 (最左邊 )位元將相當於第 1 個(最左邊 )位元組最高有效位元,而第 160 個 (最右邊 )位元相當於第 20 個 (最右邊 )位元組的最低有效位元 (least significant bit)。 圖 1 表示在專屬雜湊函數 1 (RIPEMD-160)之回合函數 項目 4 的步驟 a 與b(另一半的步驟 c 與 d 與其相似 ),在回合函數 項目 4 的步驟 a 至 c 要執行80 次 ( 7
22、9,0 K=i )。 圖 1 專屬雜湊函數 1 之部分回合函數 ZaiX0X2X1X3X4CiX0X2X1X3X4giS10Sti+W(i 回合之前 )(i 回合之後 )8. 專屬雜湊函數 2 (RIPEMD-128) 本節規定使用於 CNS 14105-1 描述的一般模型中之填充方法、起始值及回合函數。使用於上述的一般模型中之填充方法、起始值及回合函數一起定義成專屬雜湊函數2,此專屬雜湊函數能夠適用於最多 2641 位元之所有資料字串 D。本標準規定專屬雜湊函數 2 的雜湊函數識別符等於 32 (十六進制 )。 備考: 本節所定義之專屬雜湊函數 2 通稱為 RIPEMD-128 3。本雜湊函
23、數應該僅使用在當雜湊碼只有 128 位元或更少時,被認定具有適當安全之應用。 8.1 參數、函數及常數 8.1.1 參數 本雜湊函數中 L1=512、 L2=128 且 LH的上限為 128。 8.1.2 位元組定序規約 本雜湊函數的位元組定序規約與第 7 節雜湊函數的位元組定序規約相同。 8.1.3 函數 為了幫助軟體實作,以 32 位元之字運算的觀點來描述回合函數 ,本回合函數使用函數序列6310, ggg L ,其中每個函數 )630( igi的輸入值為 3 個字 X0、 X1及 X2且輸出值為單一字。函數 gi的定義與第 7.1.3 節的前 64 個函數之定義完全相同。 8.1.4 常
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CNS1410532007INFORMATIONTECHNOLOGYSECURITYTECHNIQUESHASHFUNCTIONSPART3DEDICATEDHASHFUNCTIONS 信息技术 安全技术

链接地址:http://www.mydoc123.com/p-633758.html