汪建 方洪鷹
摘要:安全哈希算法(Secure Hash Algorithm)誕生之初便作為優秀的簽名算法得到安全界的重視,其中SHA-1更是因為其安全性和高效性被全球各個領域普遍采用。但是面對海量的待簽信息,傳統的算法將不再勝任。該文著力于基于大數據的SHA-1算法研究,通過改造散列計算步驟,提出分布式云計算模型,最終減少算法的空間復雜度提高計算效率。
關鍵詞:大數據;云計算;分布式計算;SHA-1
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7032-04
安全散列算法(Secure Hash Algorithm,SHA) 是1993年美國國家安全局(NSA)設計,由美國國家標準與技術研究院(NIST) 發布的密碼散列算法,1995年升級發布了SHA-1[1]版本。SHA-1可以從一個最大[264]位的原始信息中產生一串 160位的摘要。其安全性體現在單向性和抗碰撞性兩個方面[2]:單向性指的是的其散列函數[y=fSHA-1x]理論上不存在逆函數[f'SHA-1]使得[x=f'SHA-1y];抗碰撞性指的是要找到兩個不同的[x1]和[x2],使得[fSHA-1x1=fSHA-1x2],在有限計算上也是不可行的。
SHA-1正是因為其安全性和高效性被全球各個領域普遍采用。但自1995年誕生至今SHA-1已有20個年頭的,面對當今海量的數據信息(G級文件比比皆是,T級文件也不罕見),其計算效率已不再具有優勢。該文基于大數據需求對SHA-1算法進行研究,通過改造散列計算步驟,提出分布式云計算模型,利用分布式云計算,最終減少算法的空間復雜度提高計算效率。
1 傳統的SHA-1算法介紹
1.1 常量定義[3]
[H]集:SHA-1算法需要5個字長為32位的初始散列集合[H=h0,h1,h2,h3,h4]。其中:[h0=0x67452301],[h1=0xEFCDAB89],[h2=0x98BADCFE],[h3=0x10325476],[h4=0xC3D2E1F0]。
[K]集:散列計算時需要4個字長為32位的常量集合[K=k0,k1,k2,k3]。其中:[k0=0x5A827999],[k1=0x6ED9EBA1],[k2=0x8F1BBCDC],[k3=0xCA62C1D6]。
[ml](Message Length):原始代簽名數據長度。采用64位二進制數據表示原始消息的長度。……