TWI238636B - Operation device and method of fast secure hash algorithm - Google Patents

Operation device and method of fast secure hash algorithm Download PDF

Info

Publication number
TWI238636B
TWI238636B TW092116632A TW92116632A TWI238636B TW I238636 B TWI238636 B TW I238636B TW 092116632 A TW092116632 A TW 092116632A TW 92116632 A TW92116632 A TW 92116632A TW I238636 B TWI238636 B TW I238636B
Authority
TW
Taiwan
Prior art keywords
data
multiplexer
variable
function
sets
Prior art date
Application number
TW092116632A
Other languages
English (en)
Other versions
TW200501704A (en
Inventor
Yen-Fu Liu
Original Assignee
Yen-Fu Liu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yen-Fu Liu filed Critical Yen-Fu Liu
Priority to TW092116632A priority Critical patent/TWI238636B/zh
Priority to US10/704,678 priority patent/US8045706B2/en
Publication of TW200501704A publication Critical patent/TW200501704A/zh
Application granted granted Critical
Publication of TWI238636B publication Critical patent/TWI238636B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Description

1238636 玖、發明說明: 【發明所屬之技術領域】 本舍明係關於一種加速安全雜凑〉貝鼻法(Secure Hash Algorithm,SHA-1)之運算裝置及方法,尤指一種可同步擷 取所需的資料參數以提高安全雜湊演算法(SUA—丨)之運算速 度的裝置及方法。 【先前技術】 於網路環境中的商業交易過程或資料傳遞的過程中, 數位簽章(Dlgital Signature )的應用可以驗證雙方的傳輸 貢料有無遭人修改。其中安全雜湊演算法(Secure “讣 Algonthm,SHA-1 )便是一種應用於數位簽章之技術,此種 演算法的基本原理為··根據某一段資料(資料長度小於 2^bits),演算法可建立出一段僅有16〇μ^之代表壓縮 貝料,%之為訊息摘要(Message digest),此訊息摘要即 應用於數位簽章的建立過程之中。假設資料在傳輸過程中 遭人竄改’就資料接收的一方而言,當其進行簽章驗證 Venflcatlon)時’因根據接收資料所演算出來的訊息摘 要將無法與接收到的訊息摘要㈣,故可得知資料經人修 而就習用貫施安全雜杳 曾 用軟體進行1而此種==方式來看,其大” 慢,因為演算法在計心最:的:題係在於運算速度緵 广 ""的過私之中會大量地使用到先前已 計异出的數據資料(儲存於暫 ,將會導致整體運算逹产大:中)而採取軟體進行時 建-速度大幅下降。舉例而言,在演算法 1238636 中會應用到計算式TEMp = r, ύ Ca) +Ft(b p t ’若以習用的軟體程式執行運算時,A, + e + wt + 必須花費數個時脈信號時間去讀取、母個貧料參數即 參數進行邏輯運算,-計算式:花費的、及與其它資料 時脈信號其至數千個時脈信號。故整雜=常須數百個 時,其過程將極度冗長。 雜凑函數演算下來 【發明内容】 〃因此’本發明之主要目的係提供 异法(SHA-1)之妒晉万古土 執仃女全雜湊演 。 )…及方法,用以加速該演算法之運算速度 為達成前述目的’本發明 : 无係具有以下步驟 w妖/帘數定義手段,係先 環函數(Ft)、當$ α ^、 義雜凑演算法之循 -資料夫1 鎖變數(a,b,…)之初始值; 内容定羞山^ 係根據一資料區塊之字串 疋義出16個初始資料參數Wt ; 貝料同步擷取手段,係同步擷 Wt-8、Wt-U、Wt —16 ; 貝科參數 Wt-3、 “輯運异手段,以前述定 數及資料參數進行雜、泰了盤 ④數、吊’數、連鎖變 (“Cdj 運算,並更新連鎖變數值 (’ ’,d’e)與資料參數值,以計算得 訊息摘要。 τ-仔出该育料區塊之 為具體實施前述方法 —資料儲存單元,係 ,本發明所提出之裝置係具有: 具有四組的輸出通道,可用以暫 5 1238636 存雜凑函數運算中所產生的數據; -邏輯運算單元’其輸人端係連接前述資料儲存單元 之四,輸出通道同步擷取該資料儲存單元中四組數據 =單—㈣„(elQek eyeleM ’對四組數據進行雜凑 函數之邏輯運算;及 、 曾。-中央控制單元,係控制前述邏輯運算單元之函數運 函數演算時,係 故於單一時脈週 就一個完整的訊 僅須81個時脈 因透過前述電路實施雜湊函數) 利用四組輸出通道同時擷取所須的參數, 期(Clock cycle)即可完成一次邏輯計算, 息摘要(message digest)之計算時間來看, 週期(clock cycle)便可完成。 【實施方式】 不贫明係針對如何
Algorithm, SHA-1)以硬體加以實施 ^曰比,Ha。 乂提歼其運管李庚 因此有關該演算法之細節部分’因非 :
會全面地詳加介紹該演算法,合先陳明、=的,故 算法過程中係使用到一邏輯運算式纟女王雜凑 U〇R W卜16),當中即使用到四個 X0"h X ,依據本發明之技術手段係可同步梅取遞運 進而縮短演算所需時間 述貝料參數 請參閱第一圖所示,為本發明裝 : ,、万塊圖,包含 一資料儲存單元(1 〇 ) 係具有四組的輸出通道 1238636 (Wt__3)(Wt_8)(Wt_14)(Wt j6) 過程中所產生的數據; 可用以暫存雜湊函數運算 一邏輯運算單元(2 〇 ) ,f认 ^ r 1 η ^ 一輸入端係連接前述資料 二Γ:早:(10)…輪出通道,可同步操取該資料儲 存早4四組數據而於單-時脈週期(clQck cycle)内,以 利用此四組數據進行雜湊函數之邏輯運算,· -中央控制單元(30),係控制:述邏輯運算單元 (2 0 ) <函數運算’該中央控制單元係具有複數接腳, 其接腳功能可分為五類,係介紹如下: 第一類:資料輸/出入接腳 1 ·重置接腳(rst—):係低電位動作。 2 ·時脈接腳(clock) u妾收外部輸入之連續時脈信 號0 3 ·控制 / 狀態暫存器(Control/Status register)選 擇接腳(sel-csr) ··高電位動作。 4 ·訊息緩衝器(message buffer)選擇接腳(sel_mb) :高電位動作。 5 ·雜湊暫存器選擇接腳(sei一hash) ··高電位動作。 6 ·讀寫控制接腳(w):當邏輯為1時係進行寫入動作 ’邏輯為0時為讀取動作。 7 ·位址匯流排(a) 8 ·資料輸入匯流排(din) 9 ·資料輸出匯流排(dout) 第二類:中斷要求接腳(Interrupt) I238636 有區塊係利用雜凑函數運算而得到一 之訊息摘要(message digest) 〇 &代表全體原始資料 具有八十次的運算(t = 〇 —79, 八十々66、富V\ ^衣不為T=1〜80),且這 人的運π係均力為四輪(Roun , 循環函盔以π ,Λ ) 母一輪有其特定的 目衣函數Ft(b,c,d),係定義如下:
Ft(b,c,d)=(b AND C) OR ((N〇T b) l D; AND d), ( 〇<=t<=19)
Ft(b,c,d) = b X〇R c X〇R d (2 0< = t< = 39)
Ft(b,c,d)=(b AND 〇 〇R (b and d) 〇R (c ^ (4〇<=t<=59)
Ft(b,c,d)=b XOR c X〇R d (6 0< = t< = 79) 此外,有四組常數Kt亦同時定義如下··
Kt=5A827999 (0<=t<=19)
Kt=6ED9EBAl (20<=t<=39)
Kt=8FlBBCDC (40<=t<=59)
Kt=CA62ClD6 (60<=t<=79) 係先預設有五個連鎖變數 在首次處理資料區塊之前 之初值: A 二 67452301
B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0 於前述各項常數、函數均預設完畢之後,即開始對兮 資料區塊進行運算: ~ 10 1238636 (a) •將該資料區塊劃分為16個字元w w 並依序儲存,WG為最左字元 G’ (b ) ·當 t = 16 〜79 時·· 令 Wt=s〗(wt_3 xo"t_8 χο"卜丨4 xo"t 丨6) (〇 .將前述預設值A〜E载入於五個1鎖變數a、 、c、d、e : 、 a=A, b=B, c=C, d=D, e=E (d ) ·當t = 0〜79時 TEMP = s5(a) +Ft(b,c,d) + e + Wt + Kt
e=d; d=c; c=S30(b); b=a; a=TEMP (〇 .當t=80 (T=81)時,係將t=8。時所得到之微 數值a, b,c,d,e再加上其初始值a B c D 文 ,’υ,υ,Ε,則該資料匡 鬼之訊心摘要(message digest)即計算完成,如 二 • 「Z7/!' 不 a=a+A, b=b+B, c=c+C, d=d+D, e=e+E. 有關前述演算之具體實例,請參閱附件—所示,以字 串“abc”為資料輸入’而最終取得訊息摘* “A9993E3^6 4706816A BA3E2571 7850C26C 9CD0D89D »〇 m’係由邏輯運算單元(2〇)負責執行前 :古凊參考第-、三圖所示,該邏輯運算單元( 2 0 )包含有: /Wt資料參數多工器(21),可選擇合適的η值 :t為(M5時’係自資料儲存單元(1〇)依序取出 。’H t t為16,時’係藉由四組輪出通道同時 1238636 取出、V14、^四個數值,並進行·運算 及移位,清參閱楚 _ 弟四圖所示,為資料儲存單元(1 〇)内 之資料排列示青 ^圖,係具有16個位址,其初值各為 W0, Wl5 ...^5 ’ ap 係由 ^ 16個位址時,係回/Λ /之位址指標’當計數至第 、知至原第〇個位址;當t = 16時,之 值係取代原W,*X〇R運算所用資料參數w乂 _8
Wt-“ WtMe四個數據即是圖中以雙線框示的四個值,其 餘亦如此類推; - Kt常數多工器(22),根據目 〇〜79),選擇適當的常數; 数^ 一 Ft循環函數多工器(2 3 ),根據 數(t=H9),選擇適當的函數; 運广人 二運算器(24),係接收前述”:身料參數多
Kt常數多工器(2 2 )、Ft循環函數多 工益(2 3 )以及連鎖變數e、%),該邏輯運算 4 )係執行前述邏輯運算式:TEMP = S5(a) +Ft(tJ e + Wt "t,本發明利用該邏輯運算 執行
式子時,將僅使用到-一的長度便可完I S 算速度將會快速提高; 文〃運 -雜凑函數暫存器(25),係用以暫存連鎖變數值 a,b’C,d,e ’其中兩個變數e、a(經移位處理 邏輯運算器(24)之輪入端; &至5亥 於前述邏輯運算器(24)及雜凑函數暫存 )之間’係具有第-變數多工器群(2 6 1 )〜(2 6 5 12 1238636 )及第二變數多工器群(271)〜 數多工器群(261)〜(265) 數暫存器(2 5 )之連鎖變數值a,b, 器(2 4 )之運算結果temp。 2 7 ^ \ 卜 3 )。第一變 係接收前述雜湊函 c,d,e 及邏輯運算 向弟二變數多工器群( 之輸入 端係接收前述第一變數多工器群(2 6丄)〜5 之輸出結果及來自五組加法器(圖中未示〜(2 6 5) B + b、c+c、D+d、E+e值,且第二變數多工、輪出A+a、 〜(275)之輪出值係輸入至雜凑 。 π存為(2 5 ) 於運算次數t = 〇-79期間,前述第一變 6 1 )〜(2 6 5 )係進行連鎖變 ς工器群(2 ::、多;器群(271)〜(2…則選擇^ e +d E+e &五組數據輸人至雜凑函 )中。舉例而言,多工器(…w & 仔益(2 5 ° 2 6 1 )之輸入端係為ΤΕΜρ鱼 器(25)中,在運/J )…雜凑函數暫存 )中在運开二人數為t=0-79期間,多工器Γ 1 )係送出TEMP值經由多工 D Z b 存器(2 5”,而完成"EMp= 雜凑函數暫 達㈣,則由多工琴(/; 一旦運算次數到 貝I由夕工益(2 7 1 )選擇A+a之值 數暫存器(2 5 )。 凑函 再者,t=80 digest) a=a+A, 時所得到之變數值(即訊息摘要message b=b+B, c=c+c,d=d+D, e=e+E 亦再儲存於 1238636 (2 2 ) Kt常數多工器 (2 3 ) Ft循環函數多工器 (2 4 )邏輯運算器 (2 5 )雜湊函數暫存器 (26 1)〜(265)第一變數多工器群 (2 7 1 )〜(2 7 5 )第二變數多工器群 (2 8 )訊息摘要暫存器 (3 0 )中央控制單元 (4 1 )第一多工器 鲁 (4 2 )第二多工器
15

Claims (1)

1238636 拾、申請專利範圍: 種加速女全雜凑演算法之瞀 料儲存單元中同步掏取出邏輯運 :方法,係於-資 Wt—3、Wt」、wt」4 ^ '戶斤需之資料參數 完成邏鞋、、宫管 4遽長度内可 成^次异,據以提高該安全雜凑演算法之運了 如申請專利範圍第1項所述加速安入雜二又 之運算方法,係包含有: 王雜湊演异法 一函數/常數定義手段,係 環函數(Ft)、常數α Μ、 疋雜凑演算法之循 -資料二w 變數(心,。)之初始值; 貝科參數Wt定義手段,係根 内容定義出16個初始資料參數wt;胃枓區塊之字串 一資料同步擷取手段,係同步 Wt-H. wt-16; / 忾取貝科參數 Wt-3、 -邏輯運算手段,以前述Μ之 數及資料參數進行雜凑函數之運督,丨承/數、連鎖變 (a,b,c,d,e)i^f+_# w+運,纟更新連鎖變數值 訊息摘要。 于出该—貝料區塊之 3種加速安全雜凑演算法之運算裝置,.i -貧料儲存單元,係具有四組的輸出通道,可用 存雜凑函數運算中所產生的數據, · —邏輯運算單元,其輸人㈣連接前 函數之邏輯運:期lcl°ckcycle)内,對四組數據進行雜凑 16 1238636 算 中央拴制早元’係控制前述邏輯運算單元之函數運 之運^如7專利範圍第3項所述加速安全雜湊演算法 之位二 月〗述貝料儲存單元係為-記憶體,該記憶體 之位址^旒輸入埠及咨 貝枓輪入埠係分別取自一第一多工器 及-弟二多工器之輪出端; 吞亥第一多工 排月此、+、 係具有兩輪入埠,分別連接一位址匯流 排及月ij逑邏輯運瞀留一 pomter);,早%之—位址指標接腳(吼—s 及該邏輯之兩輸人料別連接—f料賤排(din) I铒運异早兀之—資料參數Wt接腳。 之運^如中請專利範圍第4項所述加速安全雜凑演算法 ^置’該記憶體係包含有四組多工器而構成前述輸 ’纟中三組多工器係配合有三組位址指標加法器, ’、且夕工盗可同步輸出不同位址之資料參數Wt_3、 Wt〜8 、 Wt-14 、 Wt-16 。 6 "請專利範圍第3、4或5項所述加速安全雜 ,、次异法之運算裝置,前述邏輯運算單元係具有·· Wt貝料參數多工器,係接收前述資料儲存單元之 別出值(W0〜W15),及四組資料參數計一3、wtni4、 ^、經X〇R運算及移位後之值,該Wt資料參數多工器係 艮據運算次數t以選擇適當的Wt值輸出; 一 Kt常數多工器,係根據目前之運算次數〜π ’選擇適當的常數; 17 1238636 〆Ft循環函數多工哭 μ),撰遮、奋火 σσ 根據目前之運瞀-女齡r + 〇^9)璉擇適當的循環函數; 連开-人數(t^ ,邏輯運算器,筏4立L ’ /工叩Γ 係接收前述Wt資料參數多工 常#〆工态、Ft循環函數 如 夕工态、Kt ,其中該邏輯運算^ 及兩相變數e、S5(a) ,bcd)… 行邏輯運算 < 着=sw +Ft(b,。,d) + e + wt + Kt ; 6 (a) a, 輸八 /雜凑函數暫存器,係一 b,c,d,e,其中兩個變數子、鎖變數值 入瑞; 數e a係回授至該邏輯運算器之 ί 於前述邏輯運算器及雜凑函 从夕 货存态之間,係具有笫 〆變教夕工器群及第二變數多工器群,其中: 第一變數多工器群係接收前述雜凑函數暫存器之連鎖 變棼值a,b’c,d,e與邏輯運算器之運算結果τΕΜρ; 第-變數多XII群之輸人端係接收前述第—變數多工 器群之輸出結果及來自五組加法器之輸丨A+a、B+b、c+c 基D+d、E+e i ’且第二變數多工器群之輪出值係輸入至雜 凑函數暫存器。 拾查、囷式: 如次頁 18
TW092116632A 2003-06-19 2003-06-19 Operation device and method of fast secure hash algorithm TWI238636B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW092116632A TWI238636B (en) 2003-06-19 2003-06-19 Operation device and method of fast secure hash algorithm
US10/704,678 US8045706B2 (en) 2003-06-19 2003-11-12 System of efficiently implementing secure hash algorithm (SHA-1) in digital hardware that accomplishes optimal computation speed using minimal hardware resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092116632A TWI238636B (en) 2003-06-19 2003-06-19 Operation device and method of fast secure hash algorithm

Publications (2)

Publication Number Publication Date
TW200501704A TW200501704A (en) 2005-01-01
TWI238636B true TWI238636B (en) 2005-08-21

Family

ID=33516561

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092116632A TWI238636B (en) 2003-06-19 2003-06-19 Operation device and method of fast secure hash algorithm

Country Status (2)

Country Link
US (1) US8045706B2 (zh)
TW (1) TWI238636B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249384B1 (en) * 2000-08-16 2007-07-24 Matsushita Electric Industrial Co., Ltd. Copy-resistant read-only digital optical disc and adaptable player
KR20050065976A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 Sha-1 해쉬값 연산 장치 및 방법
US8161524B2 (en) * 2005-01-13 2012-04-17 Samsung Electronics Co., Ltd. Method and portable storage device for allocating secure area in insecure area
US9027080B2 (en) * 2008-03-31 2015-05-05 Cleversafe, Inc. Proxy access to a dispersed storage network
US8407146B2 (en) * 2005-10-28 2013-03-26 Microsoft Corporation Secure storage
JP4308840B2 (ja) * 2006-11-08 2009-08-05 Okiセミコンダクタ株式会社 Sha演算方法およびsha演算装置
KR100901697B1 (ko) * 2007-07-09 2009-06-08 한국전자통신연구원 저전력 sha-1 해쉬 연산 장치 및 이를 이용한 저전력hmac 암호 장치
US9680637B2 (en) * 2009-05-01 2017-06-13 Harris Corporation Secure hashing device using multiple different SHA variants and related methods
US20120201373A1 (en) * 2011-02-03 2012-08-09 Futurewei Technologies, Inc. Design of a Good General-Purpose Hash Function with Limited Resources
US8712039B2 (en) 2011-04-06 2014-04-29 Certicom Corp. Efficient implementation of hash algorithm on a processor
CN104012032B (zh) * 2011-12-22 2017-04-19 英特尔公司 处理sha‑1安全散列算法的方法和设备
US10020934B2 (en) 2015-11-05 2018-07-10 Intel Corporation Hardware accelerator for cryptographic hash operations
US11057187B2 (en) * 2018-08-09 2021-07-06 Guardtime Sa Blockchain-assisted hash-based data signature system and method
US20220278823A1 (en) * 2019-08-30 2022-09-01 Telefonaktiebolaget Lm Ericsson (Publ) A round-free cryptographic hashing device for secure and low-latency communications
CN111064561B (zh) * 2019-12-11 2023-04-25 北京雍鼎智能科技有限公司 消息加密方法及装置
CN114648319A (zh) 2020-12-18 2022-06-21 深圳比特微电子科技有限公司 执行哈希算法的电路、计算芯片、加密货币矿机和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142669B2 (en) * 2000-11-29 2006-11-28 Freescale Semiconductor, Inc. Circuit for generating hash values
US7489779B2 (en) * 2001-03-22 2009-02-10 Qstholdings, Llc Hardware implementation of the secure hash standard

Also Published As

Publication number Publication date
US8045706B2 (en) 2011-10-25
TW200501704A (en) 2005-01-01
US20040260740A1 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
TWI238636B (en) Operation device and method of fast secure hash algorithm
CN103970833B (zh) 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法
JP7211943B2 (ja) イベントの削除を可能にする分散データベースのための方法および装置
CN108512650B (zh) 面向区块链的动态哈希计算方法、装置、节点及存储介质
US10572455B2 (en) Methods and apparatus for a distributed database within a network
CN107229721B (zh) 一种变更数据抽取的方法及装置
CN106415530A (zh) 区块挖掘方法和装置
US20150207790A1 (en) Method and system for generating and authorizing dynamic password
CN107666387A (zh) 低功耗并行哈希计算电路
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
CN107798039A (zh) 一种数据同步方法和装置
CN107483182A (zh) 一种基于乱序执行的面向aes算法的抗功耗攻击方法
CN107835071B (zh) 一种提高键入-散列法运算速度的方法和装置
CN110515591B (zh) 基于区块链的随机数生成方法及装置
CN110784315B (zh) 基于区块链的摇号方法、装置、计算机设备及存储介质
Badertscher et al. Dynamic ad hoc clock synchronization
CN101908963A (zh) 一种摘要引擎的实现方法
CN115794356A (zh) 基于ssh服务器的多线程同步连接处理方法
CN116318660A (zh) 一种消息扩展与压缩方法及相关装置
CN107368283A (zh) 一种真随机数生成方法
Wu et al. High throughput design and implementation of SHA-3 hash algorithm
US11449494B2 (en) Distributed secure database system using an evolving nonce
CN105528157B (zh) 一种多媒体内容管理方法及用户终端
Saetran et al. Leverage sidechains to reduce the workload of smart contracts through parallelization
CN109389477A (zh) 一种随机报价方法及装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees