JP2739826B2 - データハッシュ化装置 - Google Patents

データハッシュ化装置

Info

Publication number
JP2739826B2
JP2739826B2 JP6232738A JP23273894A JP2739826B2 JP 2739826 B2 JP2739826 B2 JP 2739826B2 JP 6232738 A JP6232738 A JP 6232738A JP 23273894 A JP23273894 A JP 23273894A JP 2739826 B2 JP2739826 B2 JP 2739826B2
Authority
JP
Japan
Prior art keywords
intermediate key
bit string
new
received
key
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 - Lifetime
Application number
JP6232738A
Other languages
English (en)
Other versions
JPH0895994A (ja
Inventor
浩 宮野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP6232738A priority Critical patent/JP2739826B2/ja
Publication of JPH0895994A publication Critical patent/JPH0895994A/ja
Application granted granted Critical
Publication of JP2739826B2 publication Critical patent/JP2739826B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データハッシュ化装
に関するものである。
【0002】
【従来の技術】ハッシュ関数とは、規模が大きいために
取扱いにくいデータの規模の小さいレプリカを作る関数
のことである(ただしハッシュ化されるデータの規模が
小さいときには例外的にハッシュ値の方が元のデータよ
りも規模が大きくなることもある)。
【0003】ハッシュ関数は、情報検索の際のタグとし
て用いられる場合と、認証装置などをはじめとする情報
セキュリティ技術の一構成要素として用いられる場合と
がある。前者の場合にはハッシュ関数に安全性は要求さ
れないが、後者の場合には安全性が要求される。ここで
いう安全性とは、(1)ハッシュ値がある特定の値になる
ようなデータを容易に作成できないこと、(2)ハッシュ
化は特定の者(ハッシュ化鍵を知っている者)にのみで
きること、のことである。ハッシュ関数は用途によって
これらの条件の一方または両方を満たすことが要求され
る。
【0004】この2つの条件をともに要求される用途と
しては、たとえばデータ改竄の検出のためにハッシュ関
数を用いる場合などがある。この技術は、データ改竄を
検出するために、データのハッシュ値を求めデータとと
もに保管しておき、改竄の有無をチェックする際にはデ
ータのハッシュ値を求め保管されていたハッシュ値と比
較することで改竄の有無をチェックするというものであ
る。これに対して悪意の第三者がこのデータを改竄しよ
うとした場合を考える。ハッシュ関数が前記(1)の条件
を満たしていない場合には保管されているハッシュ値と
ハッシュ値が一致するような別のデータを作成し、元の
データと置き換えてしまうというような工作が可能であ
る。また、ハッシュ関数が前記(2)の条件を満たしてい
ない場合には元のデータを任意のデータで置き換え、新
しいデータのハッシュ値を求めて保管されているハッシ
ュ値もこの値で置き換えてしまうという工作が可能であ
る。いずれの場合にもデータが改竄されているにもかか
わらず改竄を検出することはできない。
【0005】従来用いられているハッシュ関数の代表的
なものとして、平文にDES(DataEncryption Standard:特
開昭51-108701,たとえば「現代暗号理論」池野信一ら
著,電子情報通信学会の第3章に解説)をCBCモード(Cip
her Block Chainingモード:特開昭48-17234,前記「現
代暗号理論」p.66に解説)で適用して得られた暗号文の
最終ブロック64ビットの上位32ビットをハッシュ値とす
る方式がある(「現代暗号理論」p.225)。この方式は、
ハッシュ化にはDESの暗号化鍵が必要であるため、前記
(2)の条件を満たしている。また、DESの暗号化鍵(すな
わちハッシュ化鍵)を知らない第三者にはハッシュ値が
ある特定の値になるようなデータを作成することはでき
ない。すなわち、第三者に対してはこのハッシュ方式は
前記の条件(1)も満たしている。したがってこのハッシ
ュ化方式は、第三者からの攻撃に対しては安全であると
いうことができる。
【0006】
【発明が解決しようとする課題】従来の技術では当事者
の不正を防ぐことができない。
【0007】ハッシュ鍵を知っている当事者は、たとえ
ばある平文とハッシュ値が一致するような別の平文を生
成するというようなことが可能である。前述のDESのCBC
モードを利用したハッシュ関数の場合、DESの鍵を知っ
ていれば任意の平文に対してその平文の末尾に適切に64
ビットを付加することによって任意のハッシュ値を持つ
ようにすることができる。
【0008】このことは、ハッシュ値をディジタル署名
技術に応用する場合などには大きな問題を生む。ディジ
タル署名においては、長い文書に署名する場合に、文書
に対して直接署名するのではなくそのハッシュ値に対し
て署名するということがしばしば行われる。この際、署
名者はハッシュ化鍵を知っているので、従来の技術では
署名者は後日、署名の対象となっている文書を同じハッ
シュ値を持つ別の文書で置き換えることができてしま
う。そのため、署名者の不正を想定したシステムにおい
てはこの技術では十分な機能を果たすことができない。
【0009】当事者自身による改竄をも防止するために
は、ハッシュ化鍵を知っていてもハッシュ値がある値に
なるようなデータを生成することが容易でないようなハ
ッシュ関数をが必要である。
【0010】
【課題を解決するための手段】本発明のハッシュ化装置
は、入力ビット列があらかじめ定められた整数rのちょ
うど整数倍になるように入力ビットを終端処理する終端
処理手段と、終端処理された入力ビット列をrビットず
つに分割するビット列分割手段と、n組(nはあらかじ
め定められた値)の固定された中間鍵初期値を記憶する
中間鍵初期値記憶手段と、n組の中間鍵を記憶し、初期
においては前記中間鍵初期値記憶手段から中間鍵の初期
値を受け取る中間鍵記憶手段と、
【0011】前記ビット列分割手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第1の中間鍵とを入力とし、長さrのビット列と新しい
中間鍵とを出力し、該長さrのビット列は第2のデータ
変換手段に受け渡し、該新しい中間鍵は新しい第1の中
間鍵として中間鍵記憶手段に受け渡す、第1のデータ変
換手段と、第(i−1)<iは2,3,...,n−1
>のデータ変換手段から受け取ったビット長rのビット
列と前記中間鍵記憶手段から受け取った第iの中間鍵と
を入力とし、長さrのビット列と新しい中間鍵とを出力
し、該長さrのビット列は第(i+1)のデータ変換手
段に受け渡し、該新しい中間鍵は新しい第iの中間鍵と
して中間鍵記憶手段に受け渡す、第iのデータ変換手段
と、第(n−1)のデータ変換手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第nの中間鍵とを入力とし、新しい中間鍵を出力し、該
新しい中間鍵を新しい第nの中間鍵として中間鍵記憶手
段に受け渡す、第nのデータ変換手段と、前記rビット
ずつに分割された入力ビット列が前記n組のデータ変換
手段による処理を完了した後に中間鍵記憶手段に記憶さ
れた中間鍵の最終値を入力としてあらかじめ定められた
ビット長のハッシュ値を生成するハッシュ値生成手段と
を具備することを特徴とする。
【0012】本発明のハッシュ化装置は、入力ビット列
があらかじめ定められた整数rのちょうど整数倍になる
ように入力ビットを終端処理する終端処理手段と、終端
処理された入力ビット列をrビットずつに分割するビッ
ト列分割手段と、外部より投入されたハッシュ化鍵に基
づいてn組(nはあらかじめ定められた値)の中間鍵初
期値を生成する中間鍵初期値生成手段と、n組の中間鍵
を記憶し、初期においては前記中間鍵初期値生成手段か
ら中間鍵の初期値を受け取る中間鍵記憶手段と、
【0013】前記ビット列分割手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第1の中間鍵とを入力とし、長さrのビット列と新しい
中間鍵とを出力し、該長さrのビット列は第2のデータ
変換手段に受け渡し、該新しい中間鍵は新しい第1の中
間鍵として中間鍵記憶手段に受け渡す、第1のデータ変
換手段と、第(i−1)<iは2,3,...,n−1
>のデータ変換手段から受け取ったビット長rのビット
列と前記中間鍵記憶手段から受け取った第iの中間鍵と
を入力とし、長さrのビット列と新しい中間鍵とを出力
し、該長さrのビット列は第(i+1)のデータ変換手
段に受け渡し、該新しい中間鍵は新しい第iの中間鍵と
して中間鍵記憶手段に受け渡す、第iのデータ変換手段
と、第(n−1)のデータ変換手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第nの中間鍵とを入力とし、新しい中間鍵を出力し、該
新しい中間鍵を新しい第nの中間鍵として中間鍵記憶手
段に受け渡す、第nのデータ変換手段と、前記rビット
ずつに分割された入力ビット列が前記n組のデータ変換
手段による処理を完了した後に中間鍵記憶手段に記憶さ
れた中間鍵の最終値を入力としてあらかじめ定められた
ビット長のハッシュ値を生成するハッシュ値生成手段と
を具備することを特徴とする。
【0014】本発明のハッシュ化装置は、入力ビット列
があらかじめ定められた整数rのちょうど整数倍になる
ように入力ビットを終端処理する終端処理手段と、終端
処理された入力ビット列をrビットずつに分割するビッ
ト列分割手段と、外部から指定された出力すべきハッシ
ュ値の長さに応じて、ハッシュ値生成時に参照する中間
鍵の数kを決定する中間鍵参照数決定手段と、n組(n
はあらかじめ定められた値)の固定された中間鍵初期値
を記憶する中間鍵初期値記憶手段と、n組の中間鍵を記
憶し、初期においては前記中間鍵初期値記憶手段より中
間鍵の初期値を受け取る中間鍵記憶手段と、
【0015】前記ビット列分割手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第1の中間鍵とを入力とし、長さrのビット列と新しい
中間鍵とを出力し、該長さrのビット列は第2のデータ
変換手段に受け渡し、該新しい中間鍵は新しい第1の中
間鍵として中間鍵記憶手段に受け渡す、第1のデータ変
換手段と、第(i−1)<iは2,3,...,n−1
>のデータ変換手段から受け取ったビット長rのビット
列と前記中間鍵記憶手段から受け取った第iの中間鍵と
を入力とし、長さrのビット列と新しい中間鍵とを出力
し、該長さrのビット列は第(i+1)のデータ変換手
段に受け渡し、該新しい中間鍵は新しい第iの中間鍵と
して中間鍵記憶手段に受け渡す、第iのデータ変換手段
と、第(n−1)のデータ変換手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第nの中間鍵とを入力とし、新しい中間鍵を出力し、該
新しい中間鍵を新しい第nの中間鍵として中間鍵記憶手
段に受け渡す、第nのデータ変換手段と、前記rビット
ずつに分割された入力ビット列が前記n組のデータ変換
手段のうち少なくとも第kのデータ変換手段による処理
を完了した後に中間鍵記憶手段に記憶された第1から第
kまでの中間鍵の最終値を入力として前記指定されたビ
ット長のハッシュ値を生成するハッシュ値生成手段とを
具備することを特徴とする。
【0016】本発明のハッシュ化装置は、入力ビット列
があらかじめ定められた整数rのちょうど整数倍になる
ように入力ビットを終端処理する終端処理手段と、終端
処理された入力ビット列をrビットずつに分割するビッ
ト列分割手段と、外部から指定された出力すべきハッシ
ュ値の長さに応じて、ハッシュ値生成時に参照する中間
鍵の数kを決定する中間鍵参照数決定手段と、外部より
投入されたハッシュ化鍵に基づいてn組の中間鍵初期値
を生成する中間鍵初期値生成手段と、n組(nはあらか
じめ定められた値)の中間鍵を記憶し初期においては前
記中間鍵初期値生成手段より中間鍵の初期値を受け取る
中間鍵記憶手段と、
【0017】前記ビット列分割手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第1の中間鍵とを入力とし、長さrのビット列と新しい
中間鍵とを出力し、該長さrのビット列は第2のデータ
変換手段に受け渡し、該新しい中間鍵は新しい第1の中
間鍵として中間鍵記憶手段に受け渡す、第1のデータ変
換手段と、第(i−1)<iは2,3,...,n−1
>のデータ変換手段から受け取ったビット長rのビット
列と前記中間鍵記憶手段から受け取った第iの中間鍵と
を入力とし、長さrのビット列と新しい中間鍵とを出力
し、該長さrのビット列は第(i+1)のデータ変換手
段に受け渡し、該新しい中間鍵は新しい第iの中間鍵と
して中間鍵記憶手段に受け渡す、第iのデータ変換手段
と、第(n−1)のデータ変換手段から受け取ったビッ
ト長rのビット列と前記中間鍵記憶手段から受け取った
第nの中間鍵とを入力とし、新しい中間鍵を出力し、該
新しい中間鍵を新しい第nの中間鍵として中間鍵記憶手
段に受け渡す、第nのデータ変換手段と、前記rビット
ずつに分割された入力ビット列が前記n組のデータ変換
手段のうち少なくとも第kのデータ変換手段による処理
を完了した後に中間鍵記憶手段に記憶された第1から第
kまでの中間鍵の最終値を入力として前記指定されたビ
ット長のハッシュ値を生成するハッシュ値生成手段とを
具備することを特徴とする。
【0018】
【実施例】図1は本発明の第1の実施例のデータの流れ
を示すデータフロー図である。
【0019】入力ビット列101は、まず終端処理102によ
ってあらかじめ定められたブロック長rの整数倍の長さ
になるように処理される。この終端処理は、たとえば全
体のビット長がrの整数倍になるまでビット列の末尾
に'0'ビットを付加するというような方式を用いること
ができる。
【0020】終端処理を施されたビット列は、分割処理
103によってrビット毎に区切られ、データ変換104に順
次送られる。
【0021】データ変換104は2入力2出力の関数であ
る。第1の入力および第1の出力のビット長はともにr
であり、第2の入力と第2の出力のビット長はいずれも
中間鍵の長さに等しい。この関数は、たとえば関数表を
参照して2つの出力を決定するという方式で実現するこ
ともできるし、代数的な演算によって2つの出力を決定
する方式で実現することもできる。
【0022】データ変換104の第1の入力は分割処理103
あるいは他のデータ変換から受け渡され、第2の入力は
中間鍵105が参照される。中間鍵105はデータ変換104が
実行される度にデータ変換104の第2の出力の値で置き
換えられる。初期においては、中間鍵105の値は中間鍵
初期値106の値が用いられる。中間鍵初期値106はあらか
じめ定められた値である。
【0023】分割処理103でrビット毎に区切られたビッ
ト列の全てが全てのデータ変換104による処理を施され
た時点での中間鍵105の値を入力としてハッシュ値生成
関数107はあらかじめ定められたビット長のハッシュ値1
08を生成する。ハッシュ値生成関数は、仮にあらかじめ
定められたハッシュ値のビット長がpだとして、たとえ
ば各中間鍵の値を足し合わせた結果の下位pビットを採
用するなどの方法で実現することができる。
【0024】図2は本発明の第2の実施例のデータの流
れを示すデータフロー図である。図1に示した実施例と
の違いは、中間鍵205の初期の値の生成法である。本実
施例においては、中間鍵初期値生成関数206によって生
成される。中間鍵初期値生成関数はハッシュ化鍵初期値
を入力としn個の出力を持つ関数である。n個の出力の
ビット長はそれぞれの中間鍵205の長さに等しい。
【0025】図3は本発明の第3の実施例のデータの流
れを示すデータフロー図である。図1に示した実施例と
の違いは、ハッシュ値長とデータ変換の段数がいずれも
あらかじめ定められていない点にある。データ変換304
の段数は、要求されたハッシュ値305に依存して変換の
段数設定関数306が決定する。変換の段数設定関数306
は、たとえばハッシュ値長が32ビット以下の時には段数
を4、48ビット以下の時には段数を6、64ビット以下の時
には段数を8とする、などというような関数で実現する
ことができる。
【0026】図4は本発明の第4の実施例のデータの流
れを示すデータフロー図である。本実施例は、図2に示
した実施例における中間鍵初期値生成関数による中間鍵
初期値生成法と図3に示した実施例におけるハッシュ値
長に依存してデータ変換の段数を決定する方法とを合わ
せ持つ構成になっている。
【0027】図5は本発明の第5項の実施例の構成を示
すブロック図である。本図におけるデータ変換手段504
およびハッシュ値生成手段507の構成については図6お
よび図7に示した。本実施例の構成要素である終端処理
手段503、データ変換手段504およびハッシュ値生成手段
507の構成は一例であって、他の構成をとることも可能
である。また、本実施例においてはハッシュ値は32ビッ
トとあらかじめ定められているものとする。これも、ハ
ッシュ値長として別の長さを定めることができる。
【0028】終端処理手段502は、入力ビット列のビッ
ト長が64の倍数でないとき、ビット列の末尾に'0'を必
要な数だけ付加してビット長が64の倍数になるようにす
る。分割処理手段は終端処理手段から受け渡されたビッ
ト列を受け取り第1のデータ変換手段504に受け渡す。
データ変換手段504は、分割処理手段503または他のデー
タ変換手段504から受け取った長さ64ビットのビット列
を第一の入力とし、RAMに記憶された48ビットのビット
列を第二の入力として64ビットからなる第一の出力と48
ビットからなる第二の出力を生成する。データ変換手段
504の構成については後述する。RAM505は初期においてR
OM506から48ビットからなるビット列を受け取り記憶す
る。次にデータ変換手段504に記憶内容を受け渡し、該
データ記憶手段から48ビットからなるビット列を受け取
り先に記憶していた内容の代わりに記憶する。ハッシュ
値生成手段507は、分割処理手段503で分割された全ての
ビット列が第4のデータ変換手段での処理が終了した
後、RAM505の記憶内容を受け取りハッシュ値508を生成
する。ハッシュ値生成手段の機能については後述する。
【0029】図6は図5におけるデータ変換手段504の
構成を表した構成図である。データ変換手段の構成要素
であるF関数603および拡大転置E607についてはDES(Da
taEncryption Standard,たとえば「現代暗号理論」池
野・小山著,電子通信学会の3章に解説)の構成要素で
ある暗号関数f(たとえば「現代暗号理論」p.46,図3.3
参照)および拡大転置E(たとえば「現代暗号理論」p.4
6,表3.3参照)を用いることができる。604および608は
ビット毎の排他的論理和を表している。また、605は前
半32ビットと後半32ビットとを入れ換える操作を表して
いる。第1の入力601は前半32ビットと後半32ビットに
分けられ、後半32ビットと第2の入力602がF関数603の
入力となる。F関数の出力は第1の入力601の前半32ビ
ットとの間でビット毎の排他的論理和をとられ、この結
果が第1の出力の後半の32ビットとなる。また、第1の
出力の前半の32ビットは第1の入力の後半の32ビットが
そのままなる。また、F関数603の出力に拡大転置607を
施した結果と第2の入力602とでビット毎の排他的論理
和608をとった結果が第2の出力609となる。
【0030】図7は図5にあるハッシュ値生成手段507
の機能を示した図である。ハッシュ値生成手段507は4
つのRAMの内容を受け取り、それぞれの先頭の8ビット
を並べて32ビットのビット列とし、これをハッシュ値と
して出力する。
【0031】図8は本発明の第6の実施例の構成を示す
ブロック図である。本実施例と図5で示した実施例との
違いは、中間鍵の初期値がハッシュ化鍵806を入力とす
る中間鍵初期値生成手段807によって生成される点であ
る。ハッシュ化鍵は48ビットからなるビット列である。
中間鍵生成手段は第1の中間鍵の初期値としてはハッシ
ュ化鍵そのもの、第2の中間鍵の初期値としてはハッシ
ュ化鍵を1ビット巡回シフトしたもの、第3の中間鍵の
初期値としてはハッシュ化鍵を2ビット巡回シフトした
ものを出力するなどというように構成することができ
る。なお、この中間鍵初期値生成手段の構成は一例であ
り、他の構成を用いることもできるし、ハッシュ化鍵の
ビット長も変えることができる。
【0032】図9は本発明の第7の実施例の構成を示す
ブロック図である。本実施例と図5で示した実施例との
違いは、外部からハッシュ値長907の入力を受け、ハッ
シュ値生成関数908 はハッシュ値長907に依存した処理
をおこなう。これは、ハッシュ値長に合わせて各RAM905
のそれぞれの先頭から取ってくるビット数を適切な数に
設定することによって実現できる。
【0033】図10は本発明の第8の実施例の構成を示
すブロック図である。本実施例は、図8に示した実施例
に含まれている中間鍵生成手段1007を持ち、図9に示し
た実施例と同じくハッシュ値長1008の入力を受けてそれ
に依存したハッシュ値生成1009を行うことを特徴として
いる。
【0034】
【発明の効果】本発明によって、ハッシュ化鍵を知って
いるとしてもひとつの平分とハッシュ値が一致するよう
な別の平文を生成することが容易でないようなハッシュ
関数を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のデータの流れを示すデ
ータフロー図である。
【図2】本発明の第2の実施例のデータの流れを示すデ
ータフロー図である。
【図3】本発明の第3の実施例のデータの流れを示すデ
ータフロー図である。
【図4】本発明の第4の実施例のデータの流れを示すデ
ータフロー図である。
【図5】本発明の第5の実施例の構成を示すブロック図
である。
【図6】図5中のデータ変換手段504の構成を示す構成
図である。
【図7】図6中のハッシュ値生成手段507の機能を示す
図である。
【図8】本発明の第6の実施例の構成を示すブロック図
である。
【図9】本発明の第7の実施例の構成を示すブロック図
である。
【図10】本発明の第8の実施例の構成を示すブロック
図である。
【符号の説明】
101 入力ビット列 102 終端処理 103 分割処理 104 データ変換 105 中間鍵 106 中間鍵初期値 107 ハッシュ値生成関数 108 ハッシュ値 201 入力ビット列 202 終端処理 203 分割処理 204 データ変換 205 中間鍵 206 ハッシュ化鍵 207 中間鍵初期値生成 208 ハッシュ値生成関数 209 ハッシュ値 301 入力ビット列 302 終端処理 303 分割処理 304 データ変換 305 ハッシュ値長 306 変換の段数設定関数 307 中間鍵 308 中間鍵初期値 309 ハッシュ値生成関数 310 ハッシュ値 401 入力ビット列 402 終端処理 403 分割処理 404 データ変換 405 ハッシュ値長 406 変換の段数設定関数 407 中間鍵 408 ハッシュ化鍵 409 中間鍵初期値生成 410 ハッシュ値生成関数 411 ハッシュ値 501 入力ビット列 502 終端処理手段 503 分割処理手段 504 データ変換手段 505 書き換え可能メモリ 506 読みとり専用メモリ 507 ハッシュ値生成手段 508 ハッシュ値 601 第1の入力 602 第2の入力 603 F関数 604 ビット毎の排他的論理和(32ビット) 605 スワップ手段 606 第1の出力 607 拡大転置E 608 ビット毎の排他的論理和(48ビット) 609 第2の出力 701 中間鍵 702 中間鍵の先頭の8ビット 703 ハッシュ値 801 入力ビット列 802 終端処理手段 803 分割処理手段 804 データ変換手段 805 書き換え可能メモリ 806 ハッシュ化鍵 807 中間鍵生成手段 808 ハッシュ値生成手段 809 ハッシュ値 901 入力ビット列 902 終端処理手段 903 分割処理手段 904 データ変換手段 905 書き換え可能メモリ 906 読みとり専用メモリ 907 ハッシュ値長 908 ハッシュ値生成手段 909 ハッシュ値 1001 入力ビット列 1002 終端処理手段 1003 分割処理手段 1004 データ変換手段 1005 書き換え可能メモリ 1006 ハッシュ化鍵 1007 中間鍵生成手段 1008 ハッシュ値長 1009 ハッシュ値生成手段 1010 ハッシュ値

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】入力ビット列があらかじめ定められた整数
    rのちょうど整数倍になるように入力ビットを終端処理
    する終端処理手段と、 終端処理された入力ビット列をrビットずつに分割する
    ビット列分割手段と、 n組(nはあらかじめ定められた値)の固定された中間
    鍵初期値を記憶する中間鍵初期値記憶手段と、 n組の中間鍵を記憶し、初期においては前記中間鍵初期
    値記憶手段から中間鍵の初期値を受け取る中間鍵記憶手
    段と、 前記ビット列分割手段から受け取ったビット長rのビッ
    ト列と前記中間鍵記憶手段から受け取った第1の中間鍵
    とを入力とし、長さrのビット列と新しい中間鍵とを出
    力し、該長さrのビット列は第2のデータ変換手段に受
    け渡し、該新しい中間鍵は新しい第1の中間鍵として中
    間鍵記憶手段に受け渡す、第1のデータ変換手段と、 第(i−1)<iは2,3,...,n−1>のデータ
    変換手段から受け取ったビット長rのビット列と前記中
    間鍵記憶手段から受け取った第iの中間鍵とを入力と
    し、長さrのビット列と新しい中間鍵とを出力し、該長
    さrのビット列は第(i+1)のデータ変換手段に受け
    渡し、該新しい中間鍵は新しい第iの中間鍵として中間
    鍵記憶手段に受け渡す、第iのデータ変換手段と、 第(n−1)のデータ変換手段から受け取ったビット長
    rのビット列と前記中間鍵記憶手段から受け取った第n
    の中間鍵とを入力とし、新しい中間鍵を出力し、該新し
    い中間鍵を新しい第nの中間鍵として中間鍵記憶手段に
    受け渡す、第nのデータ変換手段と、 前記rビットずつに分割された入力ビット列が前記n組
    のデータ変換手段による処理を完了した後に中間鍵記憶
    手段に記憶された中間鍵の最終値を入力としてあらかじ
    め定められたビット長のハッシュ値を生成するハッシュ
    値生成手段とを具備することを特徴とするハッシュ化装
    置。
  2. 【請求項2】入力ビット列があらかじめ定められた整数
    rのちょうど整数倍になるように入 力ビットを終端処理
    する終端処理手段と、 終端処理された入力ビット列をrビットずつに分割する
    ビット列分割手段と、 外部より投入されたハッシュ化鍵に基づいてn組(nは
    あらかじめ定められた値)の中間鍵初期値を生成する中
    間鍵初期値生成手段と、 n組の中間鍵を記憶し、初期においては前記中間鍵初期
    値生成手段から中間鍵の初期値を受け取る中間鍵記憶手
    段と、 前記ビット列分割手段から受け取ったビット長rのビッ
    ト列と前記中間鍵記憶手段から受け取った第1の中間鍵
    とを入力とし、長さrのビット列と新しい中間鍵とを出
    力し、該長さrのビット列は第2のデータ変換手段に受
    け渡し、該新しい中間鍵は新しい第1の中間鍵として中
    間鍵記憶手段に受け渡す、第1のデータ変換手段と、 第(i−1)<iは2,3,...,n−1>のデータ
    変換手段から受け取ったビット長rのビット列と前記中
    間鍵記憶手段から受け取った第iの中間鍵とを入力と
    し、長さrのビット列と新しい中間鍵とを出力し、該長
    さrのビット列は第(i+1)のデータ変換手段に受け
    渡し、該新しい中間鍵は新しい第iの中間鍵として中間
    鍵記憶手段に受け渡す、第iのデータ変換手段と、 第(n−1)のデータ変換手段から受け取ったビット長
    rのビット列と前記中間鍵記憶手段から受け取った第n
    の中間鍵とを入力とし、新しい中間鍵を出力し、該新し
    い中間鍵を新しい第nの中間鍵として中間鍵記憶手段に
    受け渡す、第nのデータ変換手段と、 前記rビットずつに分割された入力ビット列が前記n組
    のデータ変換手段による処理を完了した後に中間鍵記憶
    手段に記憶された中間鍵の最終値を入力としてあらかじ
    め定められたビット長のハッシュ値を生成するハッシュ
    値生成手段とを具備することを特徴とするハッシュ化装
    置。
  3. 【請求項3】入力ビット列があらかじめ定められた整数
    rのちょうど整数倍になるように入力ビットを終端処理
    する終端処理手段と、 終端処理された入力ビット列をrビットずつに分割する
    ビット列分割手段と、 外部から指定された出力すべきハッシュ値の長さに応じ
    て、ハッシュ値生成時 に参照する中間鍵の数kを決定す
    る中間鍵参照数決定手段と、 n組(nはあらかじめ定められた値)の固定された中間
    鍵初期値を記憶する中間鍵初期値記憶手段と、 n組の中間鍵を記憶し、初期においては前記中間鍵初期
    値記憶手段より中間鍵の初期値を受け取る中間鍵記憶手
    段と、 前記ビット列分割手段から受け取ったビット長rのビッ
    ト列と前記中間鍵記憶手段から受け取った第1の中間鍵
    とを入力とし、長さrのビット列と新しい中間鍵とを出
    力し、該長さrのビット列は第2のデータ変換手段に受
    け渡し、該新しい中間鍵は新しい第1の中間鍵として中
    間鍵記憶手段に受け渡す、第1のデータ変換手段と、 第(i−1)<iは2,3,...,n−1>のデータ
    変換手段から受け取ったビット長rのビット列と前記中
    間鍵記憶手段から受け取った第iの中間鍵とを入力と
    し、長さrのビット列と新しい中間鍵とを出力し、該長
    さrのビット列は第(i+1)のデータ変換手段に受け
    渡し、該新しい中間鍵は新しい第iの中間鍵として中間
    鍵記憶手段に受け渡す、第iのデータ変換手段と、 第(n−1)のデータ変換手段から受け取ったビット長
    rのビット列と前記中間鍵記憶手段から受け取った第n
    の中間鍵とを入力とし、新しい中間鍵を出力し、該新し
    い中間鍵を新しい第nの中間鍵として中間鍵記憶手段に
    受け渡す、第nのデータ変換手段と、 前記rビットずつに分割された入力ビット列が前記n組
    のデータ変換手段のうち少なくとも第kのデータ変換手
    段による処理を完了した後に中間鍵記憶手段に記憶され
    た第1から第kまでの中間鍵の最終値を入力として前記
    指定されたビット長のハッシュ値を生成するハッシュ値
    生成手段とを具備することを特徴とするハッシュ化装
    置。
  4. 【請求項4】入力ビット列があらかじめ定められた整数
    rのちょうど整数倍になるように入力ビットを終端処理
    する終端処理手段と、 終端処理された入力ビット列をrビットずつに分割する
    ビット列分割手段と、 外部から指定された出力すべきハッシュ値の長さに応じ
    て、ハッシュ値生成時 に参照する中間鍵の数kを決定す
    る中間鍵参照数決定手段と、 外部より投入されたハッシュ化鍵に基づいてn組の中間
    鍵初期値を生成する中間鍵初期値生成手段と、 n組(nはあらかじめ定められた値)の中間鍵を記憶し
    初期においては前記中間鍵初期値生成手段より中間鍵の
    初期値を受け取る中間鍵記憶手段と、 前記ビット列分割手段から受け取ったビット長rのビッ
    ト列と前記中間鍵記憶手段から受け取った第1の中間鍵
    とを入力とし、長さrのビット列と新しい中間鍵とを出
    力し、該長さrのビット列は第2のデータ変換手段に受
    け渡し、該新しい中間鍵は新しい第1の中間鍵として中
    間鍵記憶手段に受け渡す、第1のデータ変換手段と、 第(i−1)<iは2,3,...,n−1>のデータ
    変換手段から受け取ったビット長rのビット列と前記中
    間鍵記憶手段から受け取った第iの中間鍵とを入力と
    し、長さrのビット列と新しい中間鍵とを出力し、該長
    さrのビット列は第(i+1)のデータ変換手段に受け
    渡し、該新しい中間鍵は新しい第iの中間鍵として中間
    鍵記憶手段に受け渡す、第iのデータ変換手段と、 第(n−1)のデータ変換手段から受け取ったビット長
    rのビット列と前記中間鍵記憶手段から受け取った第n
    の中間鍵とを入力とし、新しい中間鍵を出力し、該新し
    い中間鍵を新しい第nの中間鍵として中間鍵記憶手段に
    受け渡す、第nのデータ変換手段と、 前記rビットずつに分割された入力ビット列が前記n組
    のデータ変換手段のうち少なくとも第kのデータ変換手
    段による処理を完了した後に中間鍵記憶手段に記憶され
    た第1から第kまでの中間鍵の最終値を入力として前記
    指定されたビット長のハッシュ値を生成するハッシュ値
    生成手段とを具備することを特徴とするハッシュ化装
    置。
JP6232738A 1994-09-28 1994-09-28 データハッシュ化装置 Expired - Lifetime JP2739826B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6232738A JP2739826B2 (ja) 1994-09-28 1994-09-28 データハッシュ化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6232738A JP2739826B2 (ja) 1994-09-28 1994-09-28 データハッシュ化装置

Publications (2)

Publication Number Publication Date
JPH0895994A JPH0895994A (ja) 1996-04-12
JP2739826B2 true JP2739826B2 (ja) 1998-04-15

Family

ID=16944000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6232738A Expired - Lifetime JP2739826B2 (ja) 1994-09-28 1994-09-28 データハッシュ化装置

Country Status (1)

Country Link
JP (1) JP2739826B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1595197A2 (en) * 2003-02-21 2005-11-16 Caringo, Inc. Additional hash functions in content-based addressing
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
JP5624491B2 (ja) * 2011-02-10 2014-11-12 Kddi株式会社 ハッシュ関数装置、ハッシュ関数装置の処理方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宮野浩「既知および選択平文攻撃を困難にする暗号連鎖方式」電子情報通信学会技術研究報告,Vol.92,No.499,(1993),p.13〜17(ISEC92−65)

Also Published As

Publication number Publication date
JPH0895994A (ja) 1996-04-12

Similar Documents

Publication Publication Date Title
Preneel et al. On the security of two MAC algorithms
JP5120830B2 (ja) 共用のハードウェアを利用して暗号文及びメッセージ認証コードを生成するための方法及びシステム
US7546461B2 (en) Strengthening secure hash functions
JP2776491B2 (ja) タグの決定方法及び装置
US6199162B1 (en) Block cipher method
Daemen et al. A new MAC construction ALRED and a specific instance ALPHA-MAC
Knudsen et al. Truncated differentials and Skipjack
US20090055458A1 (en) Substitution Boxes
JP6740902B2 (ja) 認証暗号化方法、認証復号方法および情報処理装置
Knudsen et al. On the design and security of RC2
EP1716663A1 (en) Methods for generating identification values for identifying electronic messages
He et al. Square attack on reduced Camellia cipher
Lu et al. Related-key rectangle attack on 42-round SHACAL-2
JP2739826B2 (ja) データハッシュ化装置
JP3012732B2 (ja) ブロック暗号処理装置
US20080187132A1 (en) Apparatus for encryption and method using the same
US7103180B1 (en) Method of implementing the data encryption standard with reduced computation
KR100411684B1 (ko) 이진 데이터 블록의 암호 변환 방법
EP1016240A1 (en) Improved block cipher method
Velioğlu et al. A New Approach to Cryptographic Hashing: Color Hidden Hash Algorithm
US20030198342A1 (en) System and method for implementing a hash algorithm
Lu et al. The higher-order meet-in-the-middle attack and its application to the Camellia block cipher
Preneel et al. Security analysis of the message authenticator algorithm (MAA)
Ragab et al. An efficient message digest algorithm (MD) for data security
KR100434558B1 (ko) 고속블록암호화방법및이를위한키스케쥴링방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971224