JP5000365B2 - ハッシュ値生成装置、プログラム及びハッシュ値生成方法 - Google Patents
ハッシュ値生成装置、プログラム及びハッシュ値生成方法 Download PDFInfo
- Publication number
- JP5000365B2 JP5000365B2 JP2007104636A JP2007104636A JP5000365B2 JP 5000365 B2 JP5000365 B2 JP 5000365B2 JP 2007104636 A JP2007104636 A JP 2007104636A JP 2007104636 A JP2007104636 A JP 2007104636A JP 5000365 B2 JP5000365 B2 JP 5000365B2
- Authority
- JP
- Japan
- Prior art keywords
- round
- data
- conversion
- key
- value
- 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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/043—Masking or blinding of tables, e.g. lookup, substitution or mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
但し、gは有限体GF(2)において定義される多項式である。
変換部123は、メッセージブロック毎におけるラウンド毎に、ラウンド鍵及び第一の平文の変換を行う。ここで、変換部で行う変換には、算術加算を含まない。
300 メッセージ識別子生成装置
110、210 記憶部
111、211 初期値記憶領域
112、212 鍵ステート記憶領域
113、213 第一の平文ステート記憶領域
114、214 第二の平文ステート記憶領域
120、220 制御部
121、221 メッセージブロック化部
122、222 ラウンド定数生成部
123、223 変換部
124、224 管理部
125、225 全体制御部
326 メッセージ識別子生成部
130 入出力部
340 通信部
Claims (15)
- 入力されたメッセージを予め定められたデータ長のN(Nは自然数)個のメッセージブロックに分割し、該メッセージブロックに対して予め定められたR(Rは2以上の自然数)ラウンドの変換処理を繰り返し行い、第n(nは自然数)メッセージブロックでのRラウンドの変換処理で算出された値を、第n+1メッセージブロックでの鍵情報として用いるブロック暗号化をN回繰り返すことで、前記メッセージのハッシュ値を生成する制御部を備え、
前記制御部は、二つのデータを入力とし、前記二つのデータを非線形変換し、二つのデータを出力する非線形変換部を備え、
前記非線形変換部は、二つのデータを入力とし、前記二つのデータの内、一方のデータに予め定めたビットの巡回シフトを行い、他方のデータに合成する処理、を6回行う線型変換部を備え、
前記6回の巡回シフトでシフトするビット数は、順番にq1、q2、q3、q4、q5、q6であり、
q1+q2、q1+q4、q3+q4、q1+q2+q3+q4、q1+q6、q3+q6、q1+q2+q3+q6、q5+q6、q1+q2+q5+q6、q1+q4+q5+q6、q1+q3+q4+q5+q6、q2+q3+q4+q5+q6、q1+q2+q3+q4+q5+q6、の13個の値の内の任意の二つの値の差が32の倍数になるような組の個数が3より小さくなるようにしたこと、
を特徴とするハッシュ値生成装置。 - 請求項1に記載のハッシュ値生成装置であって、
前記制御部が行う前記変換処理では、合成変換が行われており、
前記合成変換は、排他的論理和を算出するものであること、
を特徴とするハッシュ値生成装置。 - 請求項2に記載のハッシュ値生成装置であって、
前記合成変換には、算術加算は含まれていないこと、
を特徴とするハッシュ値生成装置。 - 請求項1に記載のハッシュ値生成装置であって、
ラウンド定数の初期値及びラウンド鍵の初期値を記憶する記憶部を備えており、
前記制御部は、前記変換処理として、
前記記憶部に記憶されている前記ラウンド定数の初期値からラウンド毎のラウンド定数を予め定められた関数で算出する処理と、
ラウンドに対応する前記ラウンド定数と、前記記憶部に記憶されている前記ラウンド鍵の初期値から前回のラウンドで算出されたラウンド鍵と、予め定められた鍵変換関数に入力することによりラウンド毎のラウンド鍵を算出する処理と、
ラウンドに対応する前記ラウンド鍵と、前記メッセージブロックから前回のラウンドで算出された第一平文と、を予め定められた平文変換関数に入力することによりラウンド毎の第一平文を算出する処理と、
を行うものであること、
を特徴とするハッシュ値生成装置。 - 請求項4に記載のハッシュ値生成装置であって、
前記鍵変換関数と、前記平文変換関数と、は同じ関数が用いられること、
を特徴とするハッシュ値生成装置。 - 請求項5に記載のハッシュ値生成装置であって、
前記鍵変換関数と、前記平文変換関数と、は、
入力されたデータをY0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)、Y5(r)、Y6(r)、Y7(r)に分割し、
Y0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)、Y5(r)の値を、それぞれ、Y2(r+1)、Y3(r+1)、Y4(r+1)、Y5(r+1)、Y6(r+1)、Y7(r+1)に変換し、
Y4(r)と、ラウンドごとに定められる定数と、の排他的論理和を算出したものと、Y5(r)と、を予め定められた非線形関数に入力して算出された算出値の上位ビットと、Y6(r)と、の排他的論理和を算出したものをY0(r+1)に変換し、
前記算出値の下位ビットと、Y7(r)と、の排他的論理和を算出したものをY1(r+1)に変換し、
変換したY0(r+1)、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)、Y5(r+1)、Y6(r+1)、Y7(r+1)の値を連結したデータを出力データとするものであること、
を特徴とするハッシュ値生成装置。 - 請求項5に記載のハッシュ値生成装置であって、
前記鍵変換関数と、前記平文変換関数と、は、
入力されたデータをY0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)に分割し、
Y0(r)、Y1(r)、Y2(r)、Y3(r)の値を、それぞれ、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)に変換し、
Y3(r)と、ラウンドごとに定められる定数と、の排他的論理和を算出したものを予め定められた非線形関数に入力して算出された算出値と、Y4(r)と、の排他的論理和を算出したものをY0(r+1)に変換し、
前記算出値の下位ビットと、Y7(r)と、の排他的論理和を算出したものをY1(r+1)に変換し、
変換したY0(r+1)、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)の値を連結したデータを出力データとするものであること、
を特徴とするハッシュ値生成装置。 - コンピュータを、ハッシュ値生成手段として機能させるプログラムであって、
前記コンピュータが備える制御手段に対して、
入力されたメッセージを予め定められたデータ長のN(Nは自然数)個のメッセージブロックに分割し、該メッセージブロックに対して予め定められたR(Rは2以上の自然数)ラウンドの変換処理を繰り返し行い、第n(nは自然数)メッセージブロックでのRラウンドの変換処理で算出された値を、第n+1メッセージブロックでの鍵情報として用いるブロック暗号化をN回繰り返すことで、前記メッセージのハッシュ値を生成させ、
前記制御手段が行う前記変換処理においては、二つのデータを入力とし、前記二つのデータを非線形変換し、二つのデータを出力する非線形変換を行わせ、
前記非線形変換においては、二つのデータを入力とし、前記二つのデータの内、一方のデータに予め定めたビットの巡回シフトを行い、他方のデータに合成する処理、を6回行う線型変換を行わせ、
前記6回の巡回シフトでシフトするビット数は、順番にq1、q2、q3、q4、q5、q6であり、
q1+q2、q1+q4、q3+q4、q1+q2+q3+q4、q1+q6、q3+q6、q1+q2+q3+q6、q5+q6、q1+q2+q5+q6、q1+q4+q5+q6、q1+q3+q4+q5+q6、q2+q3+q4+q5+q6、q1+q2+q3+q4+q5+q6、の13個の値の内の任意の二つの値の差が32の倍数になるような組の個数が3より小さくなるようにした、
ことを特徴とするプログラム。 - 請求項8に記載のプログラムであって、
前記制御手段が行う前記変換処理では、合成変換が行われており、
前記合成変換は、排他的論理和を算出するものであること、
を特徴とするプログラム。 - 請求項9に記載のプログラムであって、
前記合成変換には、算術加算は含まれていないこと、
を特徴とするプログラム。 - 請求項8に記載のプログラムであって、
前記コンピュータをラウンド定数の初期値及びラウンド鍵の初期値を記憶する記憶手段としても機能させ、
前記制御手段は、前記変換処理として、
前記記憶手段に記憶されている前記ラウンド定数の初期値からラウンド毎のラウンド定数を予め定められた関数で算出する処理と、
ラウンドに対応する前記ラウンド定数と、前記記憶手段に記憶されている前記ラウンド鍵の初期値から前回のラウンドで算出されたラウンド鍵と、予め定められた鍵変換関数に入力することによりラウンド毎のラウンド鍵を算出する処理と、
ラウンドに対応する前記ラウンド鍵と、前記メッセージブロックから前回のラウンドで算出された第一平文と、を予め定められた平文変換関数に入力することによりラウンド毎の第一平文を算出する処理と、
を行うものであること、
を特徴とするプログラム。 - 請求項11に記載のプログラムであって、
前記鍵変換関数と、前記平文変換関数と、は同じ関数が用いられること、
を特徴とするプログラム。 - 請求項12に記載のプログラムであって、
前記鍵変換関数と、前記平文変換関数と、は、
入力されたデータをY0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)、Y5(r)、Y6(r)、Y7(r)に分割し、
Y0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)、Y5(r)の値を、それぞれ、Y2(r+1)、Y3(r+1)、Y4(r+1)、Y5(r+1)、Y6(r+1)、Y7(r+1)に変換し、
Y4(r)と、ラウンドごとに定められる定数と、の排他的論理和を算出したものと、Y5(r)と、を予め定められた非線形関数に入力して算出された算出値の上位ビットと、Y6(r)と、の排他的論理和を算出したものをY0(r+1)に変換し、
前記算出値の下位ビットと、Y7(r)と、の排他的論理和を算出したものをY1(r+1)に変換し、
変換したY0(r+1)、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)、Y5(r+1)、Y6(r+1)、Y7(r+1)の値を連結したデータを出力データとするものであること、
を特徴とするプログラム。 - 請求項12に記載のプログラムであって、
前記鍵変換関数と、前記平文変換関数と、は、
入力されたデータをY0(r)、Y1(r)、Y2(r)、Y3(r)、Y4(r)に分割し、
Y0(r)、Y1(r)、Y2(r)、Y3(r)の値を、それぞれ、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)に変換し、
Y3(r)と、ラウンドごとに定められる定数と、の排他的論理和を算出したものを予め定められた非線形関数に入力して算出された算出値と、Y4(r)と、の排他的論理和を算出したものをY0(r+1)に変換し、
前記算出値の下位ビットと、Y7(r)と、の排他的論理和を算出したものをY1(r+1)に変換し、
変換したY0(r+1)、Y1(r+1)、Y2(r+1)、Y3(r+1)、Y4(r+1)の値を連結したデータを出力データとするものであること、
を特徴とするプログラム。 - ハッシュ値生成装置が行うハッシュ値生成方法であって、前記ハッシュ値生成装置は、
入力されたメッセージを予め定められたデータ長のN(Nは自然数)個のメッセージブロックに分割し、該メッセージブロックに対して予め定められたR(Rは2以上の自然数)ラウンドの変換処理を繰り返し行い、第n(nは自然数)メッセージブロックでのRラウンドの変換処理で算出された値を、第n+1メッセージブロックでの鍵情報として用いるブロック暗号化をN回繰り返すことで、前記メッセージのハッシュ値を生成する制御部を備え、
前記制御部が行う前記変換処理においては、二つのデータを入力とし、前記二つのデータを非線形変換し、二つのデータを出力する非線形変換の過程が行われ、
前記非線形変換の過程においては、二つのデータを入力とし、前記二つのデータの内、一方のデータに予め定めたビットの巡回シフトを行い、他方のデータに合成する処理、を6回行う線型変換が行われ、
前記6回の巡回シフトでシフトするビット数は、順番にq 1 、q 2 、q 3 、q 4 、q 5 、q 6 であり、
q 1 +q 2 、q 1 +q 4 、q 3 +q 4 、q 1 +q 2 +q 3 +q 4 、q 1 +q 6 、q 3 +q 6 、q 1 +q 2 +q 3 +q 6 、q 5 +q 6 、q 1 +q 2 +q 5 +q 6 、q 1 +q 4 +q 5 +q 6 、q 1 +q 3 +q 4 +q 5 +q 6 、q 2 +q 3 +q 4 +q 5 +q 6 、q 1 +q 2 +q 3 +q 4 +q 5 +q 6 、の13個の値の内の任意の二つの値の差が32の倍数になるような組の個数が3より小さくなるようにしたこと
を特徴とするハッシュ値生成方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007104636A JP5000365B2 (ja) | 2006-04-27 | 2007-04-12 | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 |
| US11/740,953 US20080063187A1 (en) | 2006-04-27 | 2007-04-27 | Hash value generation device, program, and hash value generation method |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006122868 | 2006-04-27 | ||
| JP2006122868 | 2006-04-27 | ||
| JP2007104636A JP5000365B2 (ja) | 2006-04-27 | 2007-04-12 | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007316614A JP2007316614A (ja) | 2007-12-06 |
| JP5000365B2 true JP5000365B2 (ja) | 2012-08-15 |
Family
ID=38850473
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007104636A Expired - Fee Related JP5000365B2 (ja) | 2006-04-27 | 2007-04-12 | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20080063187A1 (ja) |
| JP (1) | JP5000365B2 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8175266B2 (en) * | 2008-05-07 | 2012-05-08 | Apple Inc. | System and method of performing authentication |
| JP2010044251A (ja) * | 2008-08-13 | 2010-02-25 | Hitachi Ltd | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 |
| JP5156540B2 (ja) * | 2008-08-22 | 2013-03-06 | 株式会社日立製作所 | ハッシュ値生成装置 |
| JP5532560B2 (ja) | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
| JP5504592B2 (ja) * | 2008-08-25 | 2014-05-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
| US8244909B1 (en) * | 2009-06-18 | 2012-08-14 | Google Inc. | Method, apparatus and networking equipment for performing flow hashing using quasi cryptographic hash functions |
| WO2014047135A2 (en) * | 2012-09-18 | 2014-03-27 | Interdigital Patent Holdings, Inc. | Generalized cryptographic framework |
| US9160525B2 (en) * | 2013-07-19 | 2015-10-13 | Qualcomm Incorporated | Apparatus and method for key update for use in a block cipher algorithm |
| JP2015025930A (ja) * | 2013-07-26 | 2015-02-05 | 日本電信電話株式会社 | 圧縮関数演算装置、圧縮関数演算方法及びプログラム |
| WO2018094566A1 (zh) * | 2016-11-22 | 2018-05-31 | 深圳大学 | 并行哈希函数的构造方法 |
| US10795873B1 (en) * | 2016-11-22 | 2020-10-06 | Innovium, Inc. | Hash output manipulation |
| US11240022B1 (en) | 2019-04-11 | 2022-02-01 | Wells Fargo Bank, N.A. | Passive encryption rotation keys |
| CN110659472A (zh) * | 2019-09-29 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种密码卡以及数据存储系统 |
| DE102019216203A1 (de) * | 2019-10-21 | 2021-04-22 | Infineon Technologies Ag | Auf Blockverschlüsselung basierender Proof-of-Work |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0682259B2 (ja) * | 1987-11-30 | 1994-10-19 | 日本電信電話株式会社 | データ拡散装置 |
| JP3029381B2 (ja) * | 1994-01-10 | 2000-04-04 | 富士通株式会社 | データ変換装置 |
| US5664016A (en) * | 1995-06-27 | 1997-09-02 | Northern Telecom Limited | Method of building fast MACS from hash functions |
| JP3928819B2 (ja) * | 1997-01-21 | 2007-06-13 | ソニー株式会社 | データ受信装置及び暗号処理プログラム更新方法 |
| JP3689595B2 (ja) * | 1999-07-21 | 2005-08-31 | 株式会社日立製作所 | 暗号装置、復号装置、暗号通信方法および自動料金徴収システム |
| US6832316B1 (en) * | 1999-12-22 | 2004-12-14 | Intertrust Technologies, Corp. | Systems and methods for protecting data secrecy and integrity |
-
2007
- 2007-04-12 JP JP2007104636A patent/JP5000365B2/ja not_active Expired - Fee Related
- 2007-04-27 US US11/740,953 patent/US20080063187A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007316614A (ja) | 2007-12-06 |
| US20080063187A1 (en) | 2008-03-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5000365B2 (ja) | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 | |
| Eastlake 3rd et al. | US secure hash algorithms (SHA and SHA-based HMAC and HKDF) | |
| KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
| CN113824547B (zh) | 保留格式的加密和解密方法、装置、电子设备和介质 | |
| JPWO2015015702A1 (ja) | 認証暗号装置、認証暗号方法および認証暗号用プログラム | |
| JPH11509940A (ja) | データブロックおよび鍵を非線形的に結合する暗号方法および装置 | |
| JP2008513811A (ja) | 計算変換の方法及びシステム | |
| Singh | Modified vigenere encryption algorithm and its hybrid implementation with Base64 and AES | |
| US8122075B2 (en) | Pseudorandom number generator and encryption device using the same | |
| JP3180836B2 (ja) | 暗号通信装置 | |
| CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
| JPWO2020095382A1 (ja) | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム | |
| JPH10240500A (ja) | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム | |
| Yamuna et al. | Encryption of a Binary String using music notes and graph theory | |
| JP6052166B2 (ja) | 暗号化方法、暗号化装置および暗号化プログラム | |
| KR101445339B1 (ko) | 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법 | |
| El Hanouti et al. | A lightweight hash function for cryptographic and pseudo-cryptographic applications | |
| JP2010044251A (ja) | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 | |
| JP4857230B2 (ja) | 疑似乱数生成装置及びそれを用いた暗号化処理装置 | |
| Gupta et al. | Enhancement of security using B-RSA algorithm | |
| JPWO2006019152A1 (ja) | メッセージ認証子生成装置、メッセージ認証子検証装置、およびメッセージ認証子生成方法 | |
| JP2010256749A (ja) | ハッシュ値生成装置、ハッシュ値生成方法およびプログラム | |
| Bermani et al. | Efficient cryptography techniques for image encryption in cloud storage | |
| Ahmad et al. | Protection of the texts using Base64 and MD5 | |
| Assa-Agyei | Enhancing the Performance of Cryptographic Algorithms for Secured Data Transmission |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090820 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120131 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120328 |
|
| 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: 20120417 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120516 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |