附 錄 E (資料性附錄) 一種產生短檢驗值的方法
A.1 概述
本附錄針對適用于機制1和2的檢驗函數進行了說明,同時也探討了使用檢驗值模式時,兩種機制被攻破的概率。使用附錄D中的攻擊表達式,一個直接的攻擊方法就是使用產生自編碼理論的檢驗函數。文獻[15]中討論了糾錯碼與檢驗值之間的關系。
在探討具體實例前,首先給出兩個編碼理論的基本定義。為簡單起見,本部分只探討有限域F**q上定義的編碼。V表示有限域F**q上的多進制代碼。假設編碼字長度為n,多進制碼是消息映射成的編碼字,消息和編碼字一一對應。多進制碼V包括所有向量
,
,
此外,還需要以下兩個定義。
定義**:*如果x和y是兩個長度為n*的多進制元組,那么它們的海明距離是

定義**:*編碼V*的最短距離是

接下來我們將展示如何根據多進制編碼構建適用于機制1和機制2的檢驗函數。構建方法十分簡單,消息和密鑰空間可以映射為

,
因此,檢驗函數可通過長度為n的密鑰和與編碼長度相同的消息獲得。
針對上述構建方法,替換攻擊成功的概率描述如下。采用附錄D中P**S的表達式,P**S應遵循:


在給出了成功替換攻擊概率的精確表達式后,現在探討具體的構建方法。著名的里德索羅門(RS)碼 [ 25 ] 滿足具有最小距離且足夠長編碼這一屬性。里德索羅門碼可以在任意有限域Fq上構建,編碼字的計算很簡單,涉及有限域上多項式求值。將數據(消息)編碼成有限域Fq上長度為t的多元組,

檢驗函數可直接通過在任意點

上評估多項式產生

里德索羅門碼一般具有以下屬性([25]):

,
,
以上屬性表明檢驗值的
源于里德索羅門碼。隨著消息D長度的增加,概率也隨之增大。因此,一個較好的獲得較低概率的方法是首先對數據使用好的單向雜湊函數,例如,使用在ISO/IEC 10118-3中規定的專用雜湊函數,而后將單向雜湊函數的輸出作為里德索羅門碼的輸入。通過此方法,128比特位(縮短的SHA-1)的消息能夠提供足夠的安全性。同時,這也表示我們能夠無需再增加密鑰長度或者是檢驗函數的輸出長度就可以維持較低的概率。表E.1給出了兩種構建方法的實例并給出了成功攻擊的概率。
表E.1 里德索羅門(RS)碼檢驗值:成功替換攻擊的概率,PS
| log |
D | log |
P |
|
|---|---|---|---|---|
| 128 | 16 | 2^-13^-2^-16^ | ||
| 256 | 16 | 2^-12^-2^-16^ | ||
| 128 | 20 | 2^-17^-2^-20^ | ||
| 256 | 20 | 2^-16^-2^-20^ |
如表所示,編碼使用4個十六進制位長度的密鑰和檢驗值進行加密,被攻破的概率不超過2^-12^,如果將密鑰和檢驗值長度增加至5個十六進制位,概率會減少至2^-17^或者更低。
GB/T 15843.6—2018 信息技術 安全技術 實體鑒別 第6部分:采用人工數據傳遞的機制
推薦文章: