JP4842694B2 - ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム - Google Patents

ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム Download PDF

Info

Publication number
JP4842694B2
JP4842694B2 JP2006122945A JP2006122945A JP4842694B2 JP 4842694 B2 JP4842694 B2 JP 4842694B2 JP 2006122945 A JP2006122945 A JP 2006122945A JP 2006122945 A JP2006122945 A JP 2006122945A JP 4842694 B2 JP4842694 B2 JP 4842694B2
Authority
JP
Japan
Prior art keywords
hash value
hash
message data
function processing
hash function
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
Application number
JP2006122945A
Other languages
English (en)
Other versions
JP2007293147A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2006122945A priority Critical patent/JP4842694B2/ja
Publication of JP2007293147A publication Critical patent/JP2007293147A/ja
Application granted granted Critical
Publication of JP4842694B2 publication Critical patent/JP4842694B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号装置に用いられるハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラムに関する。
近年、IT技術の目覚ましい進歩により、パーソナルコンピュータをはじめとする端末が広く普及しており、これに伴って、パーソナルコンピュータをはじめとする端末を利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、任意長のデータのダイジェスト(固定長のデータ)を作成するダイジェストアルゴリズムとして、ハッシュ関数が使用されている。
ハッシュ関数は、1方向性の関数処理であり、変換された結果であるメッセージダイジェストは逆変換が極めて困難であるという特徴を有し、MD5やSHA−1をはじめとするいくつかのハッシュ関数が知られている(例えば、特許文献1参照。)。
特開2004−53716号公報
ところが、現在使用されているハッシュ関数の多くは、独自に生成されたものであり、計算時間は短いが安全性に問題があると指摘されている。これに対して、ブロック符号を用いたハッシュ関数も提案されているが、この場合も、安全性は高いものの、計算時間が長いという問題が指摘されている。
そこで、本発明は、上述の課題に鑑みてなされたものであり、計算時間の短く、安全性の高いハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置であって、メッセージデータを入力するメッセージデータ入力部と、前ラウンドのハッシュ値を入力するハッシュ値入力部と、該メッセージデータ入力部から入力したメッセージデータと該ハッシュ値入力部から入力した前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成するストリーム暗号化手段(例えば、図1のストリーム暗号部1に相当)と、該生成されたストリーム暗号と入力したメッセージデータおよび前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する論理回路(例えば、図1のXOR2に相当)と、を備えたことを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、ストリーム暗号化手段が、入力したメッセージデータと入力した前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成し、論理回路が生成されたストリーム暗号と入力したメッセージデータおよび前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する。
したがって、本発明によれば、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。なお、ここで、ストリーム暗号は、特定のストリーム暗号である必要はない。
(2)本発明は、(1)に記載のハッシュ関数処理装置において、メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−T)/N回実行することを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、ストリーム暗号化手段および論理回路における処理を(L−T)/N回実行する。これにより、安全性をより確保するために必要なサイクル数を確保できる。
(3)本発明は、2Nビットのメッセージデータを入力し、2Nビットのハッシュ値を出力するハッシュ関数処理装置であって、前記請求項1に記載のハッシュ関数処理装置の前記ハッシュ値入力部に第1の加算器(例えば、図2の加算器12aに相当)を備えた第1のハッシュ関数処理装置と、前記請求項1に記載のハッシュ関数処理装置の前記論理回路の出力端に第2の加算器(例えば、図2の加算器12bに相当)を備えた第2のハッシュ関数処理装置とからなり、前記第1の加算器が前記第1のハッシュ関数処理装置における前ラウンドのハッシュ値と前記第2のハッシュ関数処理装置における前ラウンドのハッシュ値とを加算するとともに、前記第2の加算器が前記第1のハッシュ関数処理装置における前ラウンドのハッシュ値と前記第2のハッシュ関数処理装置における前記論理回路から出力されるハッシュ値とを加算することを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、請求項1に記載のハッシュ関数処理装置のハッシュ値入力部に第1の加算器を備えた第1のハッシュ関数処理装置と、請求項1に記載のハッシュ関数処理装置の論理回路の出力端に第2の加算器を備えた第2のハッシュ関数処理装置とからなり、第1の加算器が第1のハッシュ関数処理装置における前ラウンドのハッシュ値と第2のハッシュ関数処理装置における前ラウンドのハッシュ値とを加算するとともに、第2の加算器が第1のハッシュ関数処理装置における前ラウンドのハッシュ値と第2のハッシュ関数処理装置における論理回路から出力されるハッシュ値とを加算する。
したがって、上記の構成により、それぞれのハッシュ関数処理装置から異なった値のハッシュ値を出力できるため、2Nビットのメッセージデータについて、2Nビットのハッシュ値を出力することができる。また、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。
(4)本発明は、(3)に記載のハッシュ関数処理装置について、メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−2T)/2N回実行することを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、ストリーム暗号化手段および論理回路における処理を(L−2T)/2N回実行する。これにより、安全性をより確保するために必要なサイクル数を確保できる。
(5)本発明は、MNビットのメッセージデータを入力し、MNビットのハッシュ値を出力するハッシュ関数処理装置であって、前記請求項1記載のハッシュ関数処理装置の前記ハッシュ値入力部に第1の加算器(例えば、図3の加算器22a、22b、22cに相当)を備えるとともに、前記論理回路の出力端に第2の加算器(例えば、図3の加算器22d、22e、22fに相当)を備えたハッシュ関数処理装置をM個並列接続してなり、各ハッシュ値入力部に備えられた第1の加算器により加算される前ラウンドのハッシュ値が前記各ハッシュ値入力部に入力される前ラウンドのハッシュ値を含む任意の前ラウンドのハッシュ値からなる異なった組み合わせの前ラウンドのハッシュ値であり、各論理回路の出力端に設けられた加算器に入力される前ラウンドのハッシュ値が前記ハッシュ値入力部に設けられた前記第1の加算器に入力される前ラウンドのハッシュ値以外の前ラウンドのハッシュ値であることを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、請求項1記載のハッシュ関数処理装置のハッシュ値入力部に第1の加算器を備えるとともに、論理回路の出力端に第2の加算器を備えたハッシュ関数処理装置をM個並列接続してなり、各ハッシュ値入力部に備えられた第1の加算器により加算される前ラウンドのハッシュ値が各ハッシュ値入力部に入力される前ラウンドのハッシュ値を含む任意の前ラウンドのハッシュ値からなる異なった組み合わせの前ラウンドのハッシュ値であり、各論理回路の出力端に設けられた加算器に入力される前ラウンドのハッシュ値がハッシュ値入力部に設けられた第1の加算器に入力される前ラウンドのハッシュ値以外の前ラウンドのハッシュ値であることから、それぞれのハッシュ関数処理装置から異なった値のハッシュ値を出力することにより、MNビットのメッセージデータについて、MNビットのハッシュ値を出力することができる。また、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。
(6)本発明は、(5)に記載のハッシュ関数処理装置について、メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−TM)/NM回実行することを特徴とするハッシュ関数処理装置を提案している。
この発明によれば、ストリーム暗号化手段および論理回路における処理を(L−TM)/NM回実行する。これにより、安全性をより確保するために必要なサイクル数を確保できる。
(7)本発明は、Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置におけるハッシュ関数の生成方法であって、メッセージデータ入力部によりメッセージデータを入力する第1のステップと、ハッシュ値入力部により前ラウンドのハッシュ値を入力する第2のステップと、ストリーム暗号化手段により入力したメッセージデータと前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する第3のステップと、論理回路により該生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する第4のステップと、を備えたことを特徴とするハッシュ関数の生成方法を提案している。
この発明によれば、メッセージデータを入力し、前ラウンドのハッシュ値を入力し、入力したメッセージデータと前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する。そして、生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する。
したがって、本発明によれば、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。
(8)本発明は、Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置におけるハッシュ関数の生成方法をコンピュータに実行させるプログラムであって、メッセージデータ入力部によりメッセージデータを入力する第1のステップと、ハッシュ値入力部により前ラウンドのハッシュ値を入力する第2のステップと、ストリーム暗号化手段により入力したメッセージデータと前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する第3のステップと、論理回路により該生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、コンピュータがメッセージデータを入力し、前ラウンドのハッシュ値を入力し、入力したメッセージデータと前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する。そして、生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力するプログラムを実行する。
したがって、本発明によれば、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。
本発明によれば、暗号化手段としてストリーム暗号を用いたことから、従来よりも処理速度を向上させることができるという効果がある。
また、一連の処理について、安全性を確保するに十分なサイクル数を実施することから、高い安全性が確保できるという効果がある。
以下、本発明の実施形態について、図1から図5を用いて詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
本実施形態に係るハッシュ関数処理装置は、Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するものであり、その構成は、図1に示すように、ストリーム暗号部1と、XOR2とからなり、ストリーム暗号部1には、メッセージデータ入力部と前ラウンドのハッシュ値を入力するハッシュ値入力部を備えている。
ストリーム暗号部1は、Nビットのメッセージデータと前ラウンドのハッシュ値とを入力し、ストリーム暗号による暗号化を実施する。なお、最初のラウンドでは、前ラウンドのハッシュ値が存在しないため、任意の初期ベクトルを使用する。
XOR2は、ストリーム暗号部1の出力データとメッセージデータ、前ラウンドのハッシュ値の排他的論理和を演算し、出力する。これにより、Nビットのハッシュ値が出力されることになる。
次に、図4を用いて、本実施形態に係るハッシュ関数処理装置の処理について説明する。なお、説明の前提として、メッセージ長をL、ストリーム暗号部の内部状態の長さをT、ハッシュ出力をNビットとする。
ストリーム暗号部1の内部状態へハッシュ値を計算したいメッセージ長LのメッセージをM_iとして先頭から入力する(ステップS101)。このとき、メッセージがNビットに満たない場合には、例えば、101010・・・等を付け加えるパディング処理を行うことにより、入力メッセージデータをNビットとする。
次に、初回のラウンドにおいては、前ラウンドのハッシュ値が存在しないため、例えば、1001・・・等の任意の初期ベクトルをH_i−1として入力する(ステップS102)。ストリーム暗号部は、入力したM_iとH_i−1に基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。
次に、ストリーム暗号部1の出力と入力メッセージM_i、任意の初期ベクトルH_i−1がXOR2に入力されると、これらの排他的論理和がとられハッシュ値H_iが出力される(ステップS103)。そして、次のメッセージM_iと前ラウンドのハッシュ値H_i−1とが順次、ストリーム暗号部1に入力され、ハッシュ値H_iが出力される(ステップS104)。
こうした処理を(L−T)/N回実行して、最終的なハッシュ値を得て、その値をメッセージのハッシュ値とする(ステップS105)。なお、処理回数が(L−T)/N回に満たない場合には、例えば、101010・・・等の固定メッセージを入力して、空回しを行うことにより、十分な安全性を確保する。
したがって、本実施形態によれば、暗号化手段としてストリーム暗号を用いたことから、従来に比べて、処理速度の向上を図ることができる。また、上記の処理を規定した(L−T)/N回実行することにより、十分な安全性も確保することができる。
<第2の実施形態>
本実施形態に係るハッシュ関数処理装置は、2Nビットのメッセージデータを入力し、2Nビットのハッシュ値を出力するものであり、その構成は、図2に示すように、2つのストリーム暗号部11a、11bと、2つのXOR13a、13bと、2つの加算器12a、12bとからなり、ストリーム暗号部11a、11bには、メッセージデータ入力部と前ラウンドのハッシュ値を入力するハッシュ値入力部を備えている。なお、ストリーム暗号部11a、11bおよびXOR13a、13bの機能は、第1の実施形態と同様であるため、詳細な説明は省略する。
加算器12aは、前ラウンドのハッシュ値H_i−1とG_i−1とを加算して、ストリーム暗号部11aに入力するものであり、加算器12bは、ストリーム暗号部11bの出力と、メッセージデータM_i_1と前ラウンドのハッシュ値G_i−1との排他的論理和に前ラウンドのハッシュ値H_i−1を加算してハッシュ値を出力するものである。
本実施形態に係るハッシュ関数処理装置の処理は、まず、ストリーム暗号部11a、11bの内部状態へハッシュ値を計算したいメッセージ長LのメッセージをM_i_1、M_i_2として先頭から入力する。このとき、残りのメッセージがある場合には、例えば、101010・・・等を付け加えるパディング処理を行うことにより、2Nで割り切れるようにしておく。
次に、初回のラウンドにおいては、前ラウンドのハッシュ値が存在しないため、例えば、1001・・・等の任意の初期ベクトルをH_i−1、G_i−1として入力する。ストリーム暗号部11aは、加算器12aにおいて加算されたH_i−1+G_i−1とM_i_2に基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。一方、ストリーム暗号部11bは、G_i−1とM_i_1とに基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。
次に、ストリーム暗号部11aの出力と入力メッセージM_i_2および加算器12aにおいて加算されたH_i−1+G_i−1がXOR13aに入力されると、これらの排他的論理和がとられハッシュ値H_iが出力される。一方、ストリーム暗号部11bの出力と入力メッセージM_i_1、任意の初期ベクトルG_i−1がXOR13bに入力されると、これらの排他的論理和がとられハッシュ値G_iが出力される。そして、次のメッセージM_i_1、M_i_2と前ラウンドのハッシュ値H_i−1、G_i−1とが順次、入力され、ハッシュ値H_i、G_iが出力される。
こうした処理を(L−2T)/2N回実行して、最終的なハッシュ値を得て、その値をメッセージのハッシュ値とする。なお、処理回数が(L−2T)/2N回に満たない場合には、例えば、101010・・・等の固定メッセージを入力して、空回しを行うことにより、十分な安全性を確保する。
したがって、本実施形態によれば、第1の実施形態におけるハッシュ関数処理装置を2つ並列接続することにより、2Nビットのハッシュ値を得ることができる。また、上述のように、2つの加算器を設けることにより、それぞれ異なったハッシュ値を得ることができる。
<第3の実施形態>
本実施形態に係るハッシュ関数処理装置は、3Nビットのメッセージデータを入力し、3Nビットのハッシュ値を出力するものであり、その構成は、図3に示すように、3つのストリーム暗号部21a、21b、21cと、3つのXOR23a、23b、23cと、6つの加算器22a、22b、22c、22d、22e、22fとからなり、ストリーム暗号部21a、21b、21cには、メッセージデータ入力部と前ラウンドのハッシュ値を入力するハッシュ値入力部を備えている。なお、ストリーム暗号部21a、21b、21cおよびXOR23a、23b、23cの機能は、第1の実施形態と同様であるため、詳細な説明は省略する。
加算器22aは、前ラウンドのハッシュ値H_i−1とG_i−1とを加算して、ストリーム暗号部21aに入力するものであり、加算器22bは、前ラウンドのハッシュ値G_i−1とF_i−1とを加算して、ストリーム暗号部21bに入力するものであり、加算器22cは、前ラウンドのハッシュ値H_i−1とF_i−1とを加算して、ストリーム暗号部21cに入力するものである。
また、加算器22dは、ストリーム暗号部21aの出力と、メッセージデータM_i_3と前ラウンドのハッシュ値H_i−1との排他的論理和に前ラウンドのハッシュ値F_i−1を加算してハッシュ値を出力するものであり、加算器22eは、ストリーム暗号部21bの出力と、メッセージデータM_i_2と前ラウンドのハッシュ値G_i−1との排他的論理和に前ラウンドのハッシュ値H_i−1を加算してハッシュ値を出力するものであり、加算器22fは、ストリーム暗号部21cの出力と、メッセージデータM_i_1と前ラウンドのハッシュ値F_i−1との排他的論理和に前ラウンドのハッシュ値G_i−1を加算してハッシュ値を出力するものである。
本実施形態に係るハッシュ関数処理装置の処理は、まず、ストリーム暗号部21a、21b、21cの内部状態へハッシュ値を計算したいメッセージ長LのメッセージをM_i_1、M_i_2、M_i_3として先頭から入力する。このとき、残りのメッセージがある場合には、例えば、101010・・・等を付け加えるパディング処理を行うことにより、3Nで割り切れるようにしておく。
次に、初回のラウンドにおいては、前ラウンドのハッシュ値が存在しないため、例えば、1001・・・等の任意の初期ベクトルをH_i−1、G_i−1、F_i−1として入力する。ストリーム暗号部21aは、加算器22aにおいて加算されたH_i−1+G_i−1とM_i_3に基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。また、ストリーム暗号部21bは、加算器22bにおいて加算されたG_i−1+F_i−1とM_i_2とに基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。また、ストリーム暗号部21cは、加算器22cにおいて加算されたF_i−1+H_i−1とM_i_1とに基づいて、ストリーム暗号による暗号化を実施し、その結果を出力する。
次に、ストリーム暗号部21aの出力と入力メッセージM_i_3および加算器22aにおいて加算されたH_i−1+G_i−1がXOR23aに入力されると、これらの排他的論理和がとられハッシュ値H_iが出力される。また、ストリーム暗号部21bの出力と入力メッセージM_i_2および加算器22bにおいて加算されたG_i−1+F_i−1がXOR23bに入力されると、これらの排他的論理和がとられハッシュ値G_iが出力される。また、ストリーム暗号部21cの出力と入力メッセージM_i_1および加算器22cにおいて加算されたF_i−1+H_i−1がXOR23cに入力されると、これらの排他的論理和がとられハッシュ値F_iが出力される。そして、次のメッセージM_i_1、M_i_2、M_i_3と前ラウンドのハッシュ値H_i−1、G_i−1、F_i−1とが順次、入力され、ハッシュ値H_i、G_i、F_iが出力される。
こうした処理を(L−3T)/3N回実行して、最終的なハッシュ値を得て、その値をメッセージのハッシュ値とする。なお、処理回数が(L−3T)/3N回に満たない場合には、例えば、101010・・・等の固定メッセージを入力して、空回しを行うことにより、十分な安全性を確保する。
したがって、本実施形態によれば、第1の実施形態におけるハッシュ関数処理装置を3つ並列接続することにより、3Nビットのハッシュ値を得ることができる。また、上述のように、6つの加算器を設けることにより、それぞれ異なったハッシュ値を得ることができる。
<応用例>
本応用例に係るハッシュ関数処理装置は、MNビットのメッセージデータを入力し、MNビットのハッシュ値を出力するものであり、その構成は、図3と同様に、第1の実施形態に係るハッシュ関数処理装置をM個並列接続したものとなる。
本応用例に係るハッシュ関数処理装置の処理動作を図5を用いて説明すると、まず、各ストリーム暗号部の内部状態へハッシュ値を計算したいメッセージを先頭から入力する(ステップS201)。なお、残ったメッセージについては、101010・・・等を付け加えるパディング処理を行うことにより、N×Mビットで割り切れるようにしておく。
次に、初回のラウンドにおいては、前ラウンドのハッシュ値が存在しないため、N×Mビットのある初期ベクトルを使用し、これを入力して、N×Mビットの出力ハッシュ値を得る(ステップS202)。
さらに、第1ラウンドの出力ハッシュ値と次のN×Mビットのメッセージを入力して、N×Mビットの出力ハッシュ値を得る(ステップS203)。そして、この処理を(L−TM)/NM回繰り返して、最終的な出力ハッシュ値を得て、その値をメッセージのハッシュ値とする(ステップS204)。なお、(L−TM)/NM回が規定の回数に満たない場合には、例えば、101010・・・等の固定メッセージを入力して空回しを行うことにより安全性を確保する。
したがって、本実施形態によれば、第1の実施形態におけるハッシュ関数処理装置をM個並列接続することにより、MNビットのハッシュ値を得るハッシュ関数処理装置を構成することができる。また、上述のように、2M個の加算器を設けることにより、それぞれ異なったハッシュ値を得ることができる。
なお、上記の処理内容を記述したプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを実行することによって本発明のハッシュ関数処理装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
第1の実施形態に係るハッシュ関数処理装置の構成を示す図である。 第2の実施形態に係るハッシュ関数処理装置の構成を示す図である。 第3の実施形態に係るハッシュ関数処理装置の構成を示す図である。 第1の実施形態に係るハッシュ関数処理装置の処理フロー図である。 応用例に係るハッシュ関数処理装置の処理フロー図である。
符号の説明
1、11a、11b、21a、21b、21c・・・ストリーム暗号部、2、13a、13b、23a、23b、23c・・・XOR、12a、12b、22a、22b、22c、22d、22e、22f・・・加算器

Claims (8)

  1. Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置であって、
    メッセージデータを入力するメッセージデータ入力部と、
    前ラウンドのハッシュ値を入力するハッシュ値入力部と、
    該メッセージデータ入力部から入力したメッセージデータと該ハッシュ値入力部から入力した前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成するストリーム暗号化手段と、
    該生成されたストリーム暗号と入力したメッセージデータおよび前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する論理回路と、
    を備えたことを特徴とするハッシュ関数処理装置。
  2. メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−T)/N回実行することを特徴とする請求項1に記載のハッシュ関数処理装置。
  3. 2Nビットのメッセージデータを入力し、2Nビットのハッシュ値を出力するハッシュ関数処理装置であって、
    前記請求項1に記載のハッシュ関数処理装置の前記ハッシュ値入力部に第1の加算器を備えた第1のハッシュ関数処理装置と、前記請求項1に記載のハッシュ関数処理装置の前記論理回路の出力端に第2の加算器を備えた第2のハッシュ関数処理装置とからなり、
    前記第1の加算器が前記第1のハッシュ関数処理装置における前ラウンドのハッシュ値と前記第2のハッシュ関数処理装置における前ラウンドのハッシュ値とを加算するとともに、
    前記第2の加算器が前記第1のハッシュ関数処理装置における前ラウンドのハッシュ値と前記第2のハッシュ関数処理装置における前記論理回路から出力されるハッシュ値とを加算することを特徴とするハッシュ関数処理装置。
  4. メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−2T)/2N回実行することを特徴とする請求項3に記載のハッシュ関数処理装置。
  5. MNビットのメッセージデータを入力し、MNビットのハッシュ値を出力するハッシュ関数処理装置であって、
    前記請求項1記載のハッシュ関数処理装置の前記ハッシュ値入力部に第1の加算器を備えるとともに、前記論理回路の出力端に第2の加算器を備えたハッシュ関数処理装置をM個並列接続してなり、
    各ハッシュ値入力部に備えられた第1の加算器により加算される前ラウンドのハッシュ値が前記各ハッシュ値入力部に入力される前ラウンドのハッシュ値を含む任意の前ラウンドのハッシュ値からなる異なった組み合わせの前ラウンドのハッシュ値であり、各論理回路の出力端に設けられた加算器に入力される前ラウンドのハッシュ値が前記ハッシュ値入力部に設けられた前記第1の加算器に入力される前ラウンドのハッシュ値以外の前ラウンドのハッシュ値であることを特徴とするハッシュ関数処理装置。
  6. メッセージデータのデータ長をL、前記ストリーム暗号化手段内の内部状態の長さをT、前記ストリーム暗号化手段の出力ビット数をNビットとしたときに、前記ストリーム暗号化手段および前記論理回路における処理を(L−TM)/NM回実行することを特徴とする請求項5に記載のハッシュ関数処理装置。
  7. Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置におけるハッシュ関数の生成方法であって、
    メッセージデータ入力部によりメッセージデータを入力する第1のステップと、
    ハッシュ値入力部により前ラウンドのハッシュ値を入力する第2のステップと、
    ストリーム暗号化手段により入力したメッセージデータと前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する第3のステップと、
    論理回路により該生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する第4のステップと、
    を備えたことを特徴とするハッシュ関数の生成方法。
  8. Nビットのメッセージデータを入力し、Nビットのハッシュ値を出力するハッシュ関数処理装置におけるハッシュ関数の生成方法をコンピュータに実行させるプログラムであって、
    メッセージデータ入力部によりメッセージデータを入力する第1のステップと、
    ハッシュ値入力部により前ラウンドのハッシュ値を入力する第2のステップと、
    ストリーム暗号化手段により入力したメッセージデータと前記前ラウンドのハッシュ値とに基づいて、ストリーム暗号を生成する第3のステップと、
    論理回路により該生成されたストリーム暗号と入力したメッセージデータと前ラウンドのハッシュ値との排他的論理和を求めてハッシュ値を出力する第4のステップと、
    をコンピュータに実行させるためのプログラム。
JP2006122945A 2006-04-27 2006-04-27 ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム Expired - Fee Related JP4842694B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006122945A JP4842694B2 (ja) 2006-04-27 2006-04-27 ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006122945A JP4842694B2 (ja) 2006-04-27 2006-04-27 ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2007293147A JP2007293147A (ja) 2007-11-08
JP4842694B2 true JP4842694B2 (ja) 2011-12-21

Family

ID=38763822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006122945A Expired - Fee Related JP4842694B2 (ja) 2006-04-27 2006-04-27 ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4842694B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010256749A (ja) * 2009-04-28 2010-11-11 Kddi Corp ハッシュ値生成装置、ハッシュ値生成方法およびプログラム

Also Published As

Publication number Publication date
JP2007293147A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
US8958548B2 (en) Generation of relative prime numbers for use in cryptography
CN107257279B (zh) 一种明文数据加密方法及设备
JPWO2009075337A1 (ja) 暗号化方法及び復号化方法、装置並びにプログラム
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
JP5652363B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
CN112054896B (zh) 白盒加密方法、装置、终端及存储介质
JP7047838B2 (ja) 秘密計算装置、比較方法、比較プログラム、および秘密計算システム
Tiwari Cryptography in blockchain
JP2008099243A (ja) 誤り訂正符号化装置、誤り訂正符号化方法及びプログラム
JP4842694B2 (ja) ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
CN112507357B (zh) 一种基于密钥生成器的多级接口设计方法
CN110071927B (zh) 一种信息加密方法、系统及相关组件
JP2010256749A (ja) ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
JP2011119985A (ja) 暗号復号方法
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP4819576B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5578422B2 (ja) 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5084224B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5559011B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
CN117411618B (zh) 应用于国际赛事的密钥生成方法、装置及加密方法
JP5726394B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110909

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: 20111004

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: 20111006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees