JP5869053B2 - ハッシュアルゴリズムにおける圧縮演算を行うための装置および方法 - Google Patents
ハッシュアルゴリズムにおける圧縮演算を行うための装置および方法 Download PDFInfo
- Publication number
- JP5869053B2 JP5869053B2 JP2014126217A JP2014126217A JP5869053B2 JP 5869053 B2 JP5869053 B2 JP 5869053B2 JP 2014126217 A JP2014126217 A JP 2014126217A JP 2014126217 A JP2014126217 A JP 2014126217A JP 5869053 B2 JP5869053 B2 JP 5869053B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- message
- state data
- bits
- chain variable
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
W_(r−1)[i]、2≦r≦26、0≦i≦15;τ(0)=3、τ(1)=2、τ(2)=0、τ(3)=1、τ(4)=7、τ(5)=4、τ(6)=5、τ(7)=6、τ(8)=11、τ(9)=10、τ(10)=8、τ(11)=9、τ(12)=15、τ(13)=12、τ(14)=13、τ(15)=14であり得る。
W_r[i]、0≦i≦15であり、数式8は、X_r[i]=X_r[i]
X_r[i+8]、0≦i≦7;X_r[i]=ROTL(X_r[i],a)、0≦i≦7;X_r[i]=X_r[i]
C_r[i]、0≦i≦7;X_r[i]=X_r[i−8]
X_r[i]、8≦i≦15;X_r[i]=ROTL(X_r[i],b)、8≦i≦15;X_r[i]=X_r[i]
X_r[i+8]、0≦i≦7;X_r[9]=ROTL(X_r[9],c);X_r[10]=ROTL(X_r[10],2c);X_r[11]=ROTL(X_r[11],3c);X_r[13]=ROTL(X_r[13],c);X_r[14]=ROTL(X_r[14],2c);X_r[15]=ROTL(X_r[16],3c);X_(r+1)[i]=X_r[σ(i)]、0≦i≦15;σ(0)=6、σ(1)=4、σ(2)=5、σ(3)=7、σ(4)=12、σ(5)=15、σ(6)=14、σ(7)=13、σ(8)=2、σ(9)=0、σ(10)=1、σ(11)=3、σ(12)=8、σ(13)=11、σ(14)=10、σ(15)=9;であり、数式9は、X_26[i]=X_26[i]
W_26[i]、0≦i≦15;を意味する。ここで、
は、それぞれ32ビットまたは64ビットのx、yの排他的論理和を出力する演算、
は、それぞれ32ビットまたは64ビットのx、yを正の整数で表した値の和を、232または264で割った時の余りを、32ビットまたは64ビットとして出力する演算、ROTL(x,j)は、32ビットまたは64ビットのxを左にjビットだけ循環移動させて出力する演算を意味する。
W_(r−1)[i]、2≦r≦26、0≦i≦15;τ(0)=3、τ(1)=2、τ(2)=0、τ(3)=1、τ(4)=7、τ(5)=4、τ(6)=5、τ(7)=6、τ(8)=11、τ(9)=10、τ(10)=8、τ(11)=9、τ(12)=15、τ(13)=12、τ(14)=13、τ(15)=14であり得る。
W_r[i]、0≦i≦15;であり、数式8は、X_r[i]=X_r[i]
X_r[i+8]、0≦i≦7;X_r[i]=ROTL(X_r[i],a)、0≦i≦7;X_r[i]=X_r[i]
C_r[i]、0≦i≦7;X_r[i]=X_r[i−8]
X_r[i]、8≦i≦15;X_r[i]=ROTL(X_r[i],b)、8≦i≦15;X_r[i]=X_r[i]
X_r[i+8]、0≦i≦7;X_r[9]=ROTL(X_r[9],c);X_r[10]=ROTL(X_r[10],2c);X_r[11]=ROTL(X_r[11],3c);X_r[13]=ROTL(X_r[13],c);X_r[14]=ROTL(X_r[14],2c);X_r[15]=ROTL(X_r[16],3c);X_(r+1)[i]=X_r[σi)]、0≦i≦15;σ(0)=6、σ(1)=4、σ(2)=5、σ(3)=7、σ(4)=12、σ(5)=15、σ(6)=14、σ(7)=13、σ(8)=2、σ(9)=0、σ(10)=1、σ(11)=3、σ(12)=8、σ(13)=11、σ(14)=10、σ(15)=9;であり、数式9は、X_26[i]=X_26[i]
W_26[i]、0≦i≦15;を意味する。ここで、
は、それぞれ32ビットまたは64ビットのx、yの排他的論理和を出力する演算、
は、それぞれ32ビットまたは64ビットのx、yを正の整数で表した値の和を、232または264で割った時の余りを、32ビットまたは64ビットとして出力する演算、ROTL(x,j)は、32ビットまたは64ビットのxを左にjビットだけ循環移動させて出力する演算を意味する。
は、それぞれ32ビットまたは64ビットのx、yの排他的論理和を出力する演算を意味し、
は、それぞれ32ビットまたは64ビットのx、yを正の整数で表した値の和を、232または264で割った時の余りを、32ビットまたは64ビットとして出力する演算を意味し、ROTL(x,j)は、32ビットまたは64ビットのxを左にjビットだけ循環移動させて出力する演算を意味する。
100:インタフェース部
200:メッセージ拡張部
300:連鎖変数初期変換部
400:圧縮関数演算部
500:連鎖変数最終変換部
Claims (7)
- メッセージおよび連鎖変数データを外部から受信するインタフェース部と、
前記メッセージから、複数の拡張メッセージを生成するメッセージ拡張部と、
前記連鎖変数データを、圧縮関数に対する初期状態データに変換する連鎖変数初期変換部と、
前記初期状態データおよび前記複数の拡張メッセージに基づいて拡張メッセージ結合関数と段階関数とを繰り返した後、最終拡張メッセージと結合して最終状態データを算出する圧縮関数演算部と、
前記最終状態データを用いて、前記連鎖変数データから更新された連鎖変数データを生成して出力する連鎖変数最終変換部とを含み、
前記メッセージ拡張部は、
32個の32ビットまたは64ビットのサブメッセージ(M[0],M[1],…,M[31])が連接されて構成された1024ビットまたは2048ビットのメッセージ(M=M[0]||M[1]||…||M[31])を受信し、下記の数式3に基づいて、それぞれ16個の32ビットまたは64ビットのサブ拡張メッセージ(W_r[0],W_r[1],…,W_r[15])が連接されて構成される27個の512ビットまたは1024ビットの拡張メッセージ(W_r=W_r[0]||W_r[1]||…||W_r[15]、0≦r≦26)を生成することを特徴とするハッシュアルゴリズムにおける圧縮演算を行うための装置。
- 前記連鎖変数初期変換部は、
16個の32ビットまたは64ビットのサブ連鎖変数データ(CV[0],CV[1],…,CV[15])が連接されて構成された512ビットまたは1024ビットの連鎖変数データ(CV=CV[0]||CV[1]||…||CV[15])を受信し、数式X_0[i]=CV[i]、0≦i≦15に基づいて、16個の32ビットまたは64ビットの初期サブ状態データ(X_0[0],X_0[1],…,X_0[15])が連接されて構成される512ビットまたは1024ビットの初期状態データ(X_0=X_0[0]||X_0[1]||…||X_0[15])に変換することを特徴とする、請求項1に記載のハッシュアルゴリズムにおける圧縮演算を行うための装置。 - 前記圧縮関数演算部は、
前記512ビットまたは1024ビットの初期状態データ(X_0=X_0[0]||X_0[1]||…||X_0[15])および前記27個の512ビットまたは1024ビットの拡張メッセージ(W_r[0],W_r[1],…,W_r[15];0≦r≦26)に基づいて前記最終状態データを算出するが、
前記拡張メッセージ結合関数である下記の数式7と、前記段階関数である下記の数式8とを繰り返し演算した後、最終拡張メッセージと結合する下記の数式9を行うことで、前記最終状態データを算出することを特徴とする、請求項2に記載のハッシュアルゴリズムにおける圧縮演算を行うための装置。
- 前記圧縮関数演算部は、
前記拡張メッセージ結合関数と段階関数とを、rに対して0から25まで26回繰り返し演算した後、最終拡張メッセージと結合して、16個の32ビットまたは64ビットの最終サブ状態データ(X_26[0],X_26[1],…,X_26[15])が連接されて構成される512ビットまたは1024ビットの最終状態データ(X_26=X_26[0]||X_26[1]||…||X_26[15])を算出することを特徴とする、請求項3に記載のハッシュアルゴリズムにおける圧縮演算を行うための装置。 - 前記連鎖変数最終変換部は、
数式CV’[i]=X_26[i]、0≦i≦15に基づいて、512ビットまたは1024ビットの連鎖変数データ(CV=CV[0]||CV[1]||…||CV[15])を更新し、更新された512ビットまたは1024ビットの連鎖変数データ(CV’=CV’[0]||CV’[1]||…||CV’[15])を出力することを特徴とする、請求項4に記載のハッシュアルゴリズムにおける圧縮演算を行うための装置。 - メッセージおよび連鎖変数データを受信するステップと、
前記メッセージから、複数の拡張メッセージを生成するステップと、
前記連鎖変数データを、圧縮関数に対する初期状態データに変換するステップと、
前記初期状態データおよび前記複数の拡張メッセージに基づいて拡張メッセージ結合関数と段階関数とを繰り返し演算した後、最終拡張メッセージと結合して最終状態データを算出するステップと、
前記最終状態データを用いて、前記連鎖変数データから更新された連鎖変数データを生成して出力するステップとを含み、
前記複数の拡張メッセージを生成するステップは、
32個の32ビットまたは64ビットのサブメッセージ(M[0],M[1],…,M[31])が連接されて構成された1024ビットまたは2048ビットのメッセージ(M=M[0]||M[1]||…||M[31])を受信し、下記の数式3に基づいて、それぞれ16個の32ビットまたは64ビットのサブ拡張メッセージ(W_r[0],W_r[1],…,W_r[15])が連接されて構成される27個の512ビットまたは1024ビットの拡張メッセージ(W_r=W_r[0]||W_r[1]||…||W_r[15]、0≦r≦26)を生成することを特徴とするハッシュアルゴリズムにおける圧縮演算を行うための方法。
- 前記拡張メッセージ結合関数と段階関数とを繰り返し演算した後、最終拡張メッセージと結合して前記最終状態データを算出するステップは、
512ビットまたは1024ビットの初期状態データ(X_0=X_0[0]||X_0[1]||…||X_0[15])および前記27個の512ビットまたは1024ビットの拡張メッセージ(W_r[0],W_r[1],…,W_r[15];0≦r≦26)に基づいて前記最終状態データを算出するが、
前記拡張メッセージ結合関数である下記の数式7と、前記段階関数である下記の数式8とを繰り返し演算した後、最終拡張メッセージと結合する下記の数式9を行うことで、前記最終状態データを算出することを特徴とする、請求項6に記載のハッシュアルゴリズムにおける圧縮演算を行うための方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130088514A KR101516573B1 (ko) | 2013-07-26 | 2013-07-26 | 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법 |
KR10-2013-0088514 | 2013-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015026071A JP2015026071A (ja) | 2015-02-05 |
JP5869053B2 true JP5869053B2 (ja) | 2016-02-24 |
Family
ID=52391359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014126217A Expired - Fee Related JP5869053B2 (ja) | 2013-07-26 | 2014-06-19 | ハッシュアルゴリズムにおける圧縮演算を行うための装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9479193B2 (ja) |
JP (1) | JP5869053B2 (ja) |
KR (1) | KR101516573B1 (ja) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897662A (en) * | 1995-08-18 | 1999-04-27 | International Business Machines Corporation | Pseudo-random address generation mechanism that reduces address translation time |
JP3160201B2 (ja) * | 1996-03-25 | 2001-04-25 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 情報検索方法、情報検索装置 |
US6258167B1 (en) * | 1996-11-27 | 2001-07-10 | Tokyo Electron Limited | Process liquid film forming apparatus |
US20030041242A1 (en) * | 2001-05-11 | 2003-02-27 | Sarver Patel | Message authentication system and method |
US20060034456A1 (en) * | 2002-02-01 | 2006-02-16 | Secure Choice Llc | Method and system for performing perfectly secure key exchange and authenticated messaging |
US7181009B1 (en) * | 2002-12-18 | 2007-02-20 | Cisco Technology, Inc. | Generating message digests according to multiple hashing procedures |
KR100916805B1 (ko) | 2006-09-15 | 2009-09-14 | 고려대학교 산학협력단 | 256비트 출력을 갖는 해쉬 알고리즘 |
US20090319547A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Compression Using Hashes |
JP5504592B2 (ja) | 2008-08-25 | 2014-05-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
JP5532560B2 (ja) | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
JP2010128392A (ja) | 2008-11-28 | 2010-06-10 | Canon Inc | ハッシュ処理装置及びその方法 |
AR077680A1 (es) * | 2009-08-07 | 2011-09-14 | Dolby Int Ab | Autenticacion de flujos de datos |
WO2012135958A1 (en) * | 2011-04-06 | 2012-10-11 | Certicom Corp. | Efficient implementation of hash algorithm on a processor |
KR101330664B1 (ko) * | 2012-06-15 | 2013-11-15 | 한국전자통신연구원 | 저전력 암호화 장치 및 방법 |
KR101428770B1 (ko) * | 2013-05-29 | 2014-08-08 | 한국전자통신연구원 | 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법 |
-
2013
- 2013-07-26 KR KR1020130088514A patent/KR101516573B1/ko active IP Right Grant
-
2014
- 2014-06-16 US US14/305,147 patent/US9479193B2/en active Active
- 2014-06-19 JP JP2014126217A patent/JP5869053B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20150032704A1 (en) | 2015-01-29 |
JP2015026071A (ja) | 2015-02-05 |
KR101516573B1 (ko) | 2015-05-04 |
US9479193B2 (en) | 2016-10-25 |
KR20150012691A (ko) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218320B2 (en) | Accelerators for post-quantum cryptography secure hash-based signing and verification | |
EP3758282A1 (en) | Combined sha2 and sha3 based xmss hardware accelerator | |
JP5542896B2 (ja) | 低電力暗号化装置および方法 | |
EP3758281A1 (en) | Fast xmss signature verification and nonce sampling process without signature expansion | |
EP4020435A1 (en) | Efficient post-quantum secure software updates tailored to resource-constrained devices | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
JP5728596B2 (ja) | ハッシュアルゴリズムにおける圧縮演算を行うための装置および方法 | |
US20190319802A1 (en) | Parallel processing techniques for hash-based signature algorithms | |
JP5869053B2 (ja) | ハッシュアルゴリズムにおける圧縮演算を行うための装置および方法 | |
US20220123949A1 (en) | Side channel protection for xmss signature function | |
JP5113833B2 (ja) | 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置 | |
JP2004004784A (ja) | ハッシュ・アルゴリズムを実装するためのシステム及び方法 | |
KR102253211B1 (ko) | 소수체와 이진체 상의 타원곡선을 지원하는 공개키 암호 시스템의 하드웨어 구현을 위한 연산장치 및 방법 | |
US9843442B2 (en) | Operation method and apparatus for providing compression function for fast message hashing | |
WO2015194117A1 (ja) | 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体 | |
JP2011081594A (ja) | データ処理装置及びデータ処理プログラム | |
JP5421861B2 (ja) | ハッシュ関数の安全性評価装置、方法及びプログラム | |
WO2020178879A1 (ja) | スレーブ装置およびスレーブプログラム | |
JPWO2020116807A5 (ja) | ||
JP2007212768A (ja) | 楕円曲線暗号における事前計算テーブル作成装置 | |
JP2013076854A (ja) | ハッシュ値生成装置、ハッシュ値生成プログラム及びハッシュ値生成方法 | |
JP2003330367A (ja) | 加算の線形確率計算方法、加算の線形確率計算装置、加算の線形確率計算プログラム、及び該プログラムを記録したコンピュータが読み取り可能な記録媒体 | |
JP2007333815A (ja) | 情報処理装置及びその制御方法、プログラム、記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151019 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5869053 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |