CNS 14105-4-2003 Information technology-Security techniques-Hash-functions-Part 4 : Hash-functions using modular arithmetic《信息技术-安全技术-杂凑函数-第4部:使用模算术之杂凑函数》.pdf
《CNS 14105-4-2003 Information technology-Security techniques-Hash-functions-Part 4 : Hash-functions using modular arithmetic《信息技术-安全技术-杂凑函数-第4部:使用模算术之杂凑函数》.pdf》由会员分享,可在线阅读,更多相关《CNS 14105-4-2003 Information technology-Security techniques-Hash-functions-Part 4 : Hash-functions using modular arithmetic《信息技术-安全技术-杂凑函数-第4部:使用模算术之杂凑函数》.pdf(28页珍藏版)》请在麦多课文档分享上搜索。
1、 1 印行年月 94 年 10 月 本標準非經本局同意不得翻印 中華民國國家標準 CNS 總號 類號 ICS 35.040.00 14105-4 X5054-4 經濟部標準檢驗局印行 公布日期 修訂公布日期 92 年 9 月 9 日 年月日 資訊技術安全技術雜湊函數 第 4 部:使用模算術之雜湊函數 (共 28 頁) Information technology Security techniques Hash-functions Part 4 : Hash-functions using modular arithmetic 1. 適用範圍:本標準規定名為 MASH-1 及 MASH-2 模
2、算術安全雜湊 (Modular Arithmetic Secure Hash, MASH-1, MASH-2)函數,它們特別適用於能夠在足夠長度的模算術之實作環境,此二個雜湊函數的差異僅在於回合函數中使用不同的指數。相信這些雜湊函數是抗碰撞的,壓縮任意長度的訊息成為有限長度的雜湊碼(hash-code),雜湊碼長度依第 6.3 節中使用於縮減函數 (reduction-function)中的質數 (prime number)長度所決定,因此,依據任何機制 (例如,簽章演算法 (signature algorithm)或識別方案 (identification scheme)的輸入長度制定雜湊碼
3、。 2. 用語釋義 本標準使用下列的用語: 2.1 CNS 14105-1資訊技術安全技術雜湊函數第 1 部:概說的用語: (1) 抗碰撞之雜湊函數 (collision-resistant hash-function)。 (2) 資料串 (資料 ) data string (data)。 (3) 雜湊碼 (hash-code)。 (4) 雜湊函數 (hash-function)。 (5) 初始值 (initializing value)。 (6) 填充 (padding)。 2.2 本標準特有的用語: (1) 區塊 (block):長度L 的位元字串,其長度為 16 的整數倍 (參照第 6.
4、1 節 ),例如,回合函數的輸出值jH 之長度。 (2) 半區塊 (half-block):長度 2/L的位元字串,例如,區塊jH 的一半長度。 (3) 雜湊函數識別符 (hash-function identifier):用以識別一特定雜湊函數的位元組。 (4) 模數 (modulus):一正整數參數,並且等於二個相異質數的乘積。 (5) 縮減函數 (reduction-function):將長度L 的區塊qH 代入此函數 RED 可產生長度pL 的雜湊碼 H。 (6) 回合函數 (round-function):此函數 ),( 將二個長度均為L 的二進制字串變換成一個長度L 的二進制字串。
5、 備考:此函數被疊代地使用為雜湊函數的一部分,其輸入值為一個長度L 2 CNS 14105-4, X 5054-4 的 “擴充 ”資料區塊及前一個長度L 的輸出值。 2.3 規約 2.3.1 位元定序 (bit ordering) 本標準的位元定序參考 CNS 14105-1 第 3 節。 2.3.2 數值轉換成字串 在回合函數的計算過程,必須將整數轉換成 L 位元的字串,並且要求此整數的二進制表示法應等於該位元字串,同時字串最左邊的位元相當於二進制表示法的最高有效位元 (most significant bit)。如果最終結果的位元字串長度小於 L 位元,則字串的左邊應該填充適當數目的 “0
6、”使字串的長度成為 L。 2.3.3 字串轉換成數值 在回合函數的計算過程,必須將位元字串轉換成整數,並且要求此整數應等於二進制表示法的數值 (二進制字串 ),同時字串最左邊的位元相當於二進制表示法的最高有效位元。 2.4 雜湊函數識別符 本標準中規定的二個 MASH 雜湊函數皆有定義各自的識別符,第 7.1 及 7.2 節分別規定這二個雜湊函數識別符等於 41 及 42 (十六進制 ),而且本標準保留 43至 4F (十六進制 )之間的數提供雜湊函數識別符的進一步使用。 3. 符號及縮寫 3.1 CNS 14105-1 的符號及縮寫 D 資料。 H 雜湊碼。 IV 初始值。 YX 將位元字串
7、 X 和 Y 做“互斥或” (exclusive-or)運算。 3.2 本標準特有的符號及縮寫 jB 從 填充 、分割 (splitting)及擴充 (expansion)處理之後的資料串 D 所衍生之第 j 個區塊。 jD 從填充及分割處理之後的資料串 D 所衍生之第 j 個半區塊,在縮減函數中會計算出八個額外的資料區塊821,+ qqqDDDL。 e 使用於回合函數中的指數。 E 最左邊四個位元為 “1”且後隨 4L 個位元為 “0”的常數區塊。 jH 回合 函數 中第 j 個回合的輸出值,jH 的長度為L 。 DL 輸入字串 D 的位元長度。 L 回合函數 的輸出值jH 之長度,其長度應
8、為 16 的整數倍。 NL 使用於回合函數中的模數 N 之長度。 pL 使用於縮減函數中的質數 p 之長度。 3 CNS14105-4, X 5054-4mod 如果1Z 是一整數且2Z 也是一正整數,則21mod ZZ 定義成一個唯一的整數3Z ,使得3Z 滿足 (a) 230 ZZ ;且 (b)31ZZ 是2Z 的整數倍。 N 回合函數中的模數,其為一個合成整數 (composite integer)。 備考:有關於 N 值的決定參照第 5 節。 p 縮減函數中所用的一個質數。 備考:有關於 p 值的決定參照第 5 節。 q 填充及分割處理之後的資料串 D 之半區塊的數目,也是填充、分割及
9、擴充處理之後之半區塊的數目。 RED 應用於雜湊程序中的最後一個運算之縮減函數,可將長度L 的區塊qH 縮減成長度pL 的雜湊碼 H。 jY 使用於縮減函數中長度為 4/L 位元的第 j 個子字串。 回合 函數,如果 X 及 Y 是長度L 的字串,則將 X 及 Y 代入 中可以得到長度L 的字串。 位元字串的逐位元包含或運算 (bit-wise inclusive OR operation),即如果 X和 Y 是相同長度的字串,則 X Y 是等於 X 和 Y 經按位元包含或運算之後的字串。 表示截斷運算的符號,如果 X 是一位元字串,則 Xj 定義成取 X 的最右邊 j 個位元的位元字串。 =
10、: 在回合函數的程序規範中,用此符號定義 “設定等於 ”(set equal to),它指出符號的左式必須等於符號的右式之表示值。 YX | 依標示的定序連接位元字串 X 及 Y。 4. 需求 4.1 欲利用本標準規定的任一雜湊函數,應該選取二個整數 N 及 p,其中模數 N 使用於回合函數,而質數 p 使用於縮減函數。使用這些雜湊函數的應用程式之安全需求決定此兩整數 N 及 p。 4.1.1 模數 N 的選擇應該使得因數分解是計算上不可行的。 4.1.2 模數 N 的產生方式應該保持該模數之因數的秘密性,可藉由一可信賴第三者 (trusted third party)或一安全多方計算 (se
11、cure multiparty computation)達成此要求。 備考 1. 使用一可信賴第三者、可信賴硬體及 /或一安全多方計算產生模數N,方可達成保持該模數的因數之秘密性。 2. 如果模數的因數保持秘密,並且質數 p 足夠大時,則利用已知最佳的演算法找出一個碰撞大概需要求出22/Lp個回合函數的值,另外利用已知最佳的演算法找出第二個輸入值大概需要求出pL2 個回合函 4 CNS 14105-4, X 5054-4 數的值,因此在這樣的情況下,可以相信 MASH-1 及 MASH-2 是無碰撞雜湊函數。 4.1.3 縮減函數中的質數 p 不應為回合函數中的模數 N 之因數。 4.1.4
12、質數 p 的長度pL 最多應只有模數 N 長度的一半,即 2/LLp 。 4.1.5 質數 p 的最左邊三個位元應都是 “1”。 4.2 欲使用任一雜湊函數 MASH-1 或 MASH-2,使用者必須從回合函數 所使用的二個指數 e 中選出一個指數。 4.3 MASH-1 及 MASH-2 能夠適用於最多為 122/L位元之所有資料串 D。 5. 雜湊運算所需的變數及數值 5.1 雜湊碼及模數的長度 模數 N 的長度及區塊jH 的長度與下列式子有關: 161 +LLLN。 區塊qH 的長度L 應該是 16 的整數倍。 備考 1.如果先選擇L ,則長度NL 受上述不等式所限制;如果先選擇NL ,
13、則長度L 將會是小於NL 之最大的 16 倍數。 2.在已知 N 的情形下,有充分能力決定NL 及L 。 5.2 回合函數的模數 使用於回合函數中的模數 N 是一個合成數,它是二個相同長度的質數之乘積,使得分解 N 是計算上不可行的。 備考 1. 除了分解模數是不可行的之外, MASH 雜湊函數的安全性一部分是基於解出模根 (modular root)的困難度。 2.一個適當長度的特殊模數 N 之選擇超出本標準的範圍。 5.3 初始值 初始值 IV 定義成長度L 的二進制零字串。 5.4 指數 在 MASH-1 的回合函數中的指數 e 等於 2,在 MASH-2 的回合函數中的指數 e等於 2
14、57。 5.5 縮減函數中的質數 第 6.3 節規定的縮減函數需要一質數 p,依安全需求及任一使用雜湊碼的機制之輸入長度決定質數 p 的長度pL ,長度pL 最多應該只有模數 N 長度的一半,即 2/LLp 。 備考 1. 如何選擇一個適當長度的特殊質數 p 超出本標準的範圍。 2.為了避免縮減模數 p 導致不均衡的後果,應選擇最左邊的三個位元全為“1”的質數 p。 6. 雜湊程序 應使用下列步驟計算資料串 D 的雜湊碼 H (見圖 1): 5 CNS14105-4, X 5054-46.1 資料串的準備 為了輸入至回合函數 ,資料字串 D 被轉換成一區塊序列,準備過程包含填充、分割及擴充,其
15、細節如下數小節: 6.1.1 資料串的填充 如果資料串 D 的長度DL 不是 2/L 的整數倍,則依據 CNS 14105-1 附錄 2的填充方法 1 將資料串 D 的右邊填充二進制的 “0”。 6.1.2 長度的附加 一個額外的半區塊附加至資料串的右邊,此半區塊的右邊放置原始 (未填充 )資料串的長度DL 之二進制表示法,其餘左邊的位元填充為 “0” 參照第2.3.2 節 。 備考:如果資料區塊 D 是空的,則僅有此區塊 (長度區塊 )輸入至雜湊程序。 6.1.3 資料串的分割 將結果字串分割成 q 個半區塊的序列qDDD ,21L。 6.1.4 擴充 將jD 分割成半區塊,並且將包含有 “
16、1111”的半區塊置放於每一個半區塊),2,1( qjDjL= 之前,如此可以將每一個半區塊 ),2,1( qiDiL= 的長度加倍,即由 2/L 個位元變成L 個位元,半區塊jD 經此處理後所得到的結果標誌成 ),2,1( qjBjL= 。 6.2 回合函數的應用 MASH 雜湊函數主要是以回合函數為基礎,回合函數的輸入值是二個長度L 的區塊1jH 及jB ,並且會傳回一個長度L 的區塊jH 。其定義如下: 111)mod)(),(=jejjjjHLNEBHHB 。 將資料區塊jB 依序代入回合函數,其過程如下: IVH =:0; qjHBHjjj,2,1),(:1L= 。 6.3 縮減函數
17、 縮減函數 RED 包含八次回合函數的應用,回合函數的資料輸入值是由qH 所衍生出來的。應該經由分割區塊qH 、延伸資料串、處理額外的資料區塊及縮減區塊8+qH 四個步驟計算出雜湊碼。 6.3.1 區塊qH 的分割 將區塊qH 分割成四個長度 4/L 位元的字串4321,qqqqHHHH ,即4321|:qqqqqHHHHH = 。 6.3.2 資料串的延伸 定義23421130:,:,:,:qqqqHYHYHYHY = ,並令 )15,5,4(:41L=iYYYiii。定 6 CNS 14105-4, X 5054-4 義八個額外的資料半區塊821,+ qqqDDDL為 )8,2,1(|:1
18、222L=+iYYDiiiq。 6.3.3 半區塊的處理 依照第 6.1.4 節及第 6.2 節的方法處理八個半區塊821,+ qqqDDDL,但是IV 等於qH ,產生結果值為8+qH 。 6.3.4 縮減 利用 pHHqmod:8+= ,計算出長度pL 的雜湊碼 H。 7. 雜湊函數 本標準規定的二個雜湊函數在回合函數 中使用不同的指數值 e。 (1) MASH-1:此雜湊函數的識別符為 41 (十六進制 )。第 6 節規定的回合函數變成1211)mod)(),(=jjjjjHLNEBHHB 。 (2) MASH-2:此雜湊函數的識別符為 42 (十六進制 )。第 6 節規定的回合函數變成
19、125711)mod)(),(=jjjjjHLNEBHHB 。 引用標準: CNS 5205 資訊技術 資訊交換用七位元碼字元集 CNS 14105-1 資訊技術安全技術雜湊函數第 1 部:概說 相對應國際標準: ISO 10118-4: 1998, Information technology Security techniques Hash-functions Part 4 : Hash-functions using modular arithmetic 7 CNS14105-4, X 5054-4疊代 Ho=IV 圖 1 MASH 雜湊函數 1qH2qH3qH4qH4qH區塊)8,2,
20、1(|:)15,5,4(:,:,:,:12224123421130LL=+iYYDiYYYHYHYHYHYiiiqiiiqqqq8+qDiqD+1+qD1+q B iqB+ 8 + q B ),( 1 qq HB + ),(1+ iqiqHB ) , (7 8 + + q qH B1+qH iqH+ 8 + q H p Hqmod 8 +H 分割延伸擴充疊代縮減 輸出:雜湊碼 縮減函數RED 欲被雜湊的資料 DD填充二進位 “0” 1qDqDiD1D2D2B1 B iB1 q B qBDL2/)1(Lq 2/L輸入字串 Lq填補 分割 擴充 的半區塊包含長D L ) , (2 1 q qH B
21、 ),(1qqHB ),(1iiHB) ,( 0 1 H B ),(12HB 1H2HiH1 q H qH填充 8 CNS 14105-4, X 5054-4 附錄 1 (參考 ) 實例 1. 雜湊程序 在實務上被提供的資料串可能是一資料流 (stream),在未觸及資料流末端之前可能無法知道整體的長度DL ,當資料流通過時便執行雜湊計算,為了方便描述,將引進常數 2/Lk = 。變數僅需要下列四個暫存器 i, A, B, C: i 長度DL 的位元計數器 (bit counter)。 A 保存雜湊碼的緩衝器 (buffer)。 B 保存中間值的累積器 (accumulator)。 C 保存半
22、區塊的資料。 由下列步驟計算資料 D 的雜湊碼: 1.1 步驟 1 (初始化 ) 緩衝器 A 設定為零: A : = 0 (初始值 IV=H0=0); 累積器 B 設定為零: B : = 0; 位元計數器設定為零: i : = 0 (累計被雜湊的有效資料位元之數目 )。 1.2 步驟 2 步驟 2a (資料區塊的讀取 ) 如果資料至少剩下 k 個位元,則將資料 D 的 k 個位元讀入至 C;如果資料剩下)kk( k 個位元,則將資料 D 的 k個位元讀入至 C,並且在右邊用 kk 個二進制 “0”將 C 填滿。加上 k 或 k至位元計數器 i,如果沒有任何資料位元 ( 0=k ),則執行步驟
23、3a。 步驟 2b (擴充 ) 將 C 的每個位元組分割成半區塊,並將四個二進制 “1”置於每個半區塊之前,結果放入累積器 B。 步驟 2c (先前雜湊值的組合 ) 計算: AB:B = (組合 )。 步驟 2d EB:B = (最高四個位元值都設為 “1”)。 步驟 2e (取冪 ) 計算: NBBemod:= ,其中 MASH-1 中的 e = 2 (平方 )、 MASH-2 中的 e = 257。 步驟 2f (截斷 ) (當 C 的長度超過L 時,刪除最左邊的位元。 ) 步驟 2g (向前饋送先前雜湊值 ) 計算: ABA =: 。 步驟 2h 9 CNS14105-4, X 5054
24、-4回至步驟 2a。 1.3 步驟 3 步驟 3a (長度計數器的讀取 ) C : = i (令 C 等於長度計數器的值 ),此整數被轉換成一字串 (請參照本標準第2.3.2 節 )。 步驟 3b (連同長度計數器的雜湊 ) 執行步驟 2b、 2c、 2d、 2e、 2f 及 2g,然後跳到步驟 4。 1.4 步驟 4 (輸出結果 ) 區塊qH 放置於暫存器 A 最右邊的L 個位元。 1.5 縮減程序 變數需要下列的暫存器 iCCCCCBA ,3210: A 保留要被縮減的區塊qH 。 B 回合函數使用的暫存器。 C 保存一個半區塊的累積器,其長度為 2/L。 C0,C1,C2,C3 長度為
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CNS1410542003INFORMATIONTECHNOLOGY SECURITYTECHNIQUES HASHFUNCTIONS PART4HASHFUNCTIONSUSINGMODULARARITHMETIC

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