JP2001282106A - ハッシュ装置 - Google Patents

ハッシュ装置

Info

Publication number
JP2001282106A
JP2001282106A JP2000089518A JP2000089518A JP2001282106A JP 2001282106 A JP2001282106 A JP 2001282106A JP 2000089518 A JP2000089518 A JP 2000089518A JP 2000089518 A JP2000089518 A JP 2000089518A JP 2001282106 A JP2001282106 A JP 2001282106A
Authority
JP
Japan
Prior art keywords
stage
adder
register
value
registers
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.)
Granted
Application number
JP2000089518A
Other languages
English (en)
Other versions
JP3709760B2 (ja
Inventor
Satoshi Hyodo
聡 兵頭
Nobusato Kadowaki
信諭 門脇
Hiroshige Nakatani
浩茂 中谷
Yasukazu Miyazaki
靖一 宮崎
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP2000089518A priority Critical patent/JP3709760B2/ja
Publication of JP2001282106A publication Critical patent/JP2001282106A/ja
Application granted granted Critical
Publication of JP3709760B2 publication Critical patent/JP3709760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】ハードウェアによる高速かつ小面積のハッシュ
装置を実現する。 【解決手段】構造的に周期性のあるSHAアルゴリズム
の1周期分の処理について、同時に用いる加算器の最大
数を2個に制限することで、小さな回路面積で高速にハ
ッシュ値を生成する。また、SHAアルゴリズムのうち
唯一周期性が乱れる最終段の処理についても構造的な周
期性を維持するために、最終段とその前段における加算
器の余っているステージを利用して初期値の加算を行
う。さらに、何周期目のどのステージを実行中かを判定
するカウンタと、20周期毎のカウンタを設けて加算器
の入出力端子の接続変更、代入値、代入式の選択を行
う。また、元のデータを16個のレジスタに分割して格
納し、そこから演算した結果をレジスタ上を順次シフト
させて80周期分の代入値を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はネットワークセキュ
リティを確保する技術に関し、特に元のデータを不可逆
なハッシュ値に変換するハッシュ関数SHAをハードウ
ェアで実現するハッシュ装置に関する。
【0002】
【従来の技術】従来、ハッシュ関数の一つであるSHA
アルゴリズムに関してはソフトウェアにより実現されて
いる。以下、SHAアルゴリズムについて説明する。3
2bit長の変数A,B,C,D,Eの初期値Aini
t,Binit,Cinit,Dinit,Dini
t,Einitを16進数で次のとおり設定する。 Ainit=0x67452301 Binit=0xEFCDAB89 Cinit=0x98BADCFE Dinit=0x10325476 Einit=0xC3D2E1F0
【0003】512bitずつn個に分割された元デー
タをM1,M2,…,Mnとする。i=1〜nについて
以下の処理を繰り返す。 (イ)元データMiを32bitずつ16に分割し、左
からW1,W2,…,W16とおく。 (ロ)A=Ainit、B=Binit、C=Cini
t、D=Dinit、E=Einitとおく。
【0004】(ハ)t=1,2,…,79,80につい
て以下の処理を繰り返す。 TEMP=S(5,A)+f(B,C,D)+E+W+
K ここで、TEMPは一時変数、S(m,x)は32bi
t変数xの上位mbitを下位側へ巡回シフトしたもの
であり、f(B,C,D)、Kは次式で与えられる。 ・1≦t≦20のとき、 f(B,C,D)=(B AND C)OR((NOT
B)AND D) K=0x5A827999 ・21≦t≦40のとき、 f(B,C,D)=B XOR C XOR D K=0x6ED9EBA1 ・41≦t≦60のとき、 f(B,C,D)=(B AND C)OR(B AN
D D)OR(C AND D) K=0x8F1BBCDC ・61≦t≦80のとき、 f(B,C,D)=B XOR C XOR D K=0xCA62C1D6
【0005】また、元データWは次式で与えられる。 ・1≦t≦16のとき、 W=Wt ・17≦t≦80では、 W=S(1,Wt-3 XOR Wt-8 XOR Wt-14
XOR Wt-16)とする。 上式により一時変数TEMPを求めた後、E=D、D=
C、C=S(30,B)、B=A、A=TEMPとす
る。
【0006】(ニ)最後に、各変数A,B,C,D,E
に初期値を加算する。すなわち、 A=Ainit+A B=Binit+B C=Cinit+C D=Dinit+D E=Einit+E とする。これによりハッシュ関数の値(32×5=16
0bit)が演算される。この160bitのデータは
元のメッセージを要約したメッセージダイジェスト(要
約関数)として利用される。
【0007】
【発明が解決しようとする課題】ハッシュ関数を用いる
ユーザは、ソフトウェアで実現されるハッシュ関数SH
Aよりもハードウェアで実現されるハッシュ関数SHA
に、より大きな信頼を持っており、ハードウェアによる
高速かつ小面積のハッシュ装置の早期実現が望まれてい
る。
【0008】
【課題を解決するための手段】請求項1の発明によれ
ば、構造的に周期性のあるSHAアルゴリズムの1周期
分の処理について、同時に用いる加算器の最大数を2個
に制限することで、小さい回路面積で高速にハッシュ値
を生成できる。すなわち、請求項1の発明は、元のデー
タからSHAアルゴリズムを用いて160bitのハッ
シュ値を求めるための第1ないし第5レジスタA〜Eを
備えるハッシュ装置であって、図1に示すように、第1
レジスタAの上位5ビットを下位側へ巡回シフトする第
1のローテーション処理部4と、第2、第3、第4レジ
スタB,C,Dに基づく論理演算f(B,C,D)を実
行する論理演算処理部5と、第1のローテーション処理
部4の出力と第5レジスタEの値を加算する第1加算器
6と、ハッシュ値を求める元のデータを分割または演算
処理したデータWを設定する元データ設定処理部7と、
所定の定数Kを設定する定数設定処理部8とを含んで構
成される第1ステージと、第1ステージの論理演算処理
部5と第1加算器6と元データ設定処理部7と定数設定
処理部8の出力のうちいずれか2つを加算する第2加算
器9と、残りの2つを加算する第3加算器10とを含ん
で構成される第2ステージと、第2ステージの第2加算
器9と第3加算器10の出力を加算する第4加算器11
を含んで構成される第3ステージと、第5、第4レジス
タE,Dに第4、第3レジスタD,Cの値を代入し、第
2レジスタBの上位30ビットを下位側へ巡回シフトす
る第2のローテーション処理部12の出力を第3レジス
タCに代入し、第2レジスタBに第1レジスタAの値を
代入し、第3ステージの第4加算器11の出力を第1レ
ジスタAに代入する処理を含む第4ステージとを含む回
路ブロックを図2に示すように80段縦続接続し、1段
目の回路ブロックの第1ないし第5レジスタA〜Eに第
1ないし第5の初期値Ainit〜Einitを設定す
ると共に、最終段の回路ブロックの第1ないし第5レジ
スタA〜Eの出力に前記第1ないし第5の初期値Ain
it〜Einitをそれぞれ加算する加算器を接続して
成ることを特徴とするものである。なお、図2の構成で
は、最終段の回路ブロックの第1ないし第5レジスタA
〜Eの出力に第1ないし第5の初期値Ainit〜Ei
nitをそれぞれ加算する加算器についても、同時に用
いる加算器の最大数を2個に制限しており、A=Ain
it+A、B=Binit+Bを1ステージ、C=Ci
nit+C、D=Dinit+Dを次の1ステージ、E
=Einit+Eをさらに次の1ステージで実行してい
る。したがって、後述のように、本発明のハッシュ装置
に具備すべき加算器の数は2個であり、回路面積を小さ
くできるものである。
【0009】請求項2の発明によれば、構造的に周期性
のあるSHAアルゴリズムのうち唯一周期性が乱れる最
終段の処理についても構造的な周期性を維持するため
に、請求項1において、80段目の回路を図4に示すよ
うな回路に置換することで、最小の回路面積でかつ高速
にハッシュ値を生成できる。すなわち、請求項2の発明
では、図4に示すように、請求項1の発明における79
段目の回路ブロックの第4ステージに第4レジスタDの
値と第5の初期値Einitを加算する第5加算器13
を設け、80段目の回路ブロックの第1ステージに第3
レジスタCの値と第4の初期値Dinitを加算する第
6加算器14を設け、80段目の回路ブロックの第3ス
テージに第1レジスタAの値と第2の初期値Binit
を加算する第7加算器15を設け、80段目の回路ブロ
ックの第4ステージは第2レジスタBの上位30ビット
を下位側へ巡回シフトする第2のローテーション処理部
12の出力と第3の初期値Cinitを加算する第8加
算器16と、80段目の回路ブロックの第3ステージの
第4加算器11の出力と第1の初期値Ainitを加算
する第9加算器17とを含むステージとし、80段目の
回路ブロックにさらに第5ステージを設けて、該第5ス
テージでは、第5加算器13の出力を第5レジスタE
に、第6加算器14の出力を第4レジスタDに、第8加
算器16の出力を第3レジスタCに、第7加算器15の
出力を第2レジスタBに、第9加算器17の出力を第1
レジスタAにそれぞれ代入することにより、最終段の回
路ブロックの第1ないし第5レジスタA〜Eの出力に第
1ないし第5の初期値Ainit〜Einitをそれぞ
れ加算する処理を前記第5ないし第9加算器13〜17
で行うことを特徴とするものである。このようにすれ
ば、図5に示すように、最終段の回路ブロックの出力に
図2に示すような5つの加算器を付加する必要がなくな
る。
【0010】請求項3の発明によれば、請求項1または
2において、1段目から80段目の回路ブロックに対
し、図6及び図7に示すように、1から80までカウン
トできるカウンタ1を割り当て、1段目から79段目の
回路ブロックの各ステージに対しては1から4までカウ
ントでき、80段目の回路ブロックの各ステージに対し
ては1から5までカウントできるカウンタ2を割り当
て、さらに、図8に示すように、カウンタ1の1〜2
0、21〜39、41〜59、61〜80の値に対して
1から4までカウントできるカウンタ3を割り当てたも
のであり、これにより、図1に示す回路ブロックの使い
回しが可能となり、最小の回路面積でかつ高速にハッシ
ュ値を生成できる。すなわち、請求項3の発明では、図
2または図5に示される1段目から80段目の回路ブロ
ックの全部または一部は、少なくとも2個の加算器を含
む1ステージ分の演算回路を複数回反復して使用するこ
とにより構成され、前記演算回路が何段目の回路ブロッ
クの処理をしているかをカウントする第1カウンタ1
と、各回路ブロックを複数のステージに分割する第2カ
ウンタ2と、第1カウンタの値から1ないし20段目、
21ないし40段目、41ないし60段目、61ないし
80段目を区別する第3カウンタ3を備え、各カウンタ
1〜3の値により前記演算回路の処理内容を各段の回路
ブロックの各ステージに応じて変更することを特徴とす
るものである。
【0011】請求項4の発明によれば、SHAアルゴリ
ズムで用いる80種類の代入値を16個のレジスタで生
成、供給することで、小面積でハッシュ値を生成できる
回路を実現できる。すなわち、請求項4の発明では、請
求項1ないし3のいずれかにおいて、ハッシュ値を求め
る元のデータを分割または演算処理したデータWを設定
する元データ設定処理部7は、図9に示すように、元の
512bitのデータを16分割して格納して1ないし
16段目の回路ブロックの元データとして出力する第1
ないし第16の元データレジスタW1〜W16と、17
ないし80段目の回路ブロックの元データとして第1、
第3、第9及び第14の元データレジスタの値の排他的
論理和を求めて出力する演算回路と、前記演算回路によ
る演算後に第2ないし第16の元データレジスタW2〜
W16の値を第1ないし第15の元データレジスタW1
〜W15に順次代入すると共に、第16の元データレジ
スタW16には前記演算回路の出力の最上位1bitを
下位側に巡回シフトしたデータを代入する手段を含んで
構成されることを特徴とするものである。
【0012】
【発明の実施の形態】上述のように、SHAアルゴリズ
ムは類似した処理を80回繰り返す。このようなアルゴ
リズムの構造的な周期性に着目し、最小の面積で高速処
理が可能なハッシュ関数SHAを実現するために、請求
項1の発明では、図3に示すような回路ブロックを1ブ
ロックとし、その中で1つのステージ内に加算器が2個
以下になるように4つのステージに分割する。上記の回
路ブロックを回路ブロックKとする。回路ブロックKの
第1ステージでは、A,B,C,D,Eレジスタに格納
されている初期値A,B,C,D,E(1段目のブロッ
クではAinit,Binit,Cinit,Dini
t,Einit、2段目のブロック以降は前ブロックで
導出された値)により演算f(B,C,D)の実行およ
びそれにより得られた値(a)の保持、値Aの上位5b
itを巡回シフトしたものと値Eとの加算の実行および
それにより得られた値(b)の保持、あらかじめ与えら
れた16個の値(W1〜W16)をもとに行われる演算
W[t]の実行およびそれにより得られた値(c)の保
持、そしてブロックの番号により選択、入力される値K
(その値を(d)とする)の保持を行う。
【0013】回路ブロックKの第2ステージでは第1ス
テージで得られた結果から(a)+(b)の実行および
それにより得られた値(e)の保持、(c)+(d)の
実行およびそれにより得られた値(f)の保持を行う。
回路ブロックKの第3ステージでは第2ステージで得ら
れた結果から(e)+(f)の実行およびそれにより得
られた値(g)の保持を行う。
【0014】回路ブロックKの第4ステージでは第3ス
テージで得られた結果(g)をAレジスタに、もとあっ
たAレジスタの値をBレジスタに、もとあったBレジス
タの値の上位30bitを下位側に巡回シフトしてCレ
ジスタに、もとあったCレジスタの値をDレジスタに、
もとあったDレジスタの値をEレジスタにそれぞれ格納
する。これによりA,B,C,D,Eレジスタの値の更
新が完了する。
【0015】この回路ブロックKを80個直列に接続
し、80段目のブロックにより出力されたA,B,C,
D,Eに対して、A=Ainit+A,B=Binit
+B,C=Cinit+C,D=Dinit+D,E=
Einit+Eの演算を行う。以上の処理を行う回路全
体の構成は図2のようになる。
【0016】請求項2の発明では、図4に示すような回
路ブロックを1ブロックとし、その中で1つのステージ
内に加算器が2個以下になるように5つのステージに分
割する。上記の回路ブロックを回路ブロックZとし、図
5に示すように79段目の回路ブロックKの後に接続す
る。回路ブロックZでは1ステージに含まれる加算器の
最大数を2個にするために、回路ブロックKの79段目
のブロックの第4ステージにEinitと79段目のブ
ロックの第4ステージのDレジスタを加算する加算器1
3を設け、80段目のブロックの第1ステージにDin
itと79段目のブロックの第4ステージのCレジスタ
を加算する加算器14を設け、80段目のブロックの第
3ステージにBinitと79段目のブロックの第4ス
テージのAレジスタを加算する加算器15を設け、80
段目のブロックの第4ステージにCinitと79段目
のブロックの第4ステージのBレジスタの上位30bi
tを下位側に巡回シフトしたものを加算する加算器16
と、Ainitと80段目のブロックの第3ステージの
加算器11の出力を加算する加算器17を設ける。
【0017】これにより回路ブロックZは回路ブロック
Kをもとに第1ステージと第3ステージにそれぞれ1
個、第4ステージに2個の加算器を追加した構造となる
が、その他に1ブロック内で行われる値の導出や巡回シ
フト等の処理は他ブロックと同一のステージで実行され
るため、回路ブロックZの構造について回路ブロックK
との類似性が保たれる。
【0018】請求項3の発明によれば、図5の回路に対
し、1から80までカウントできるカウンタ1、1から
5までカウントできるカウンタ2、1から4までカウン
トできるカウンタ3を付加する。カウンタ1の1から7
9は回路ブロックKを、カウンタ1の80は回路ブロッ
クZを示す。カウンタ1により必要な回路ブロックを選
択する。カウンタ2の1から4は回路ブロックK、回路
ブロックZのステージ1から4を示す。また、カウンタ
2の5は回路ブロックZの第5ステージを示す。回路ブ
ロックK、回路ブロックZにおいて、各ステージに現れ
る加算器の数は2個以下であり、カウンタ2を用いて処
理中のステージを判定し、加算器の入出力端子の接続を
変更することにより加算器の再利用が可能となり、これ
によりハッシュ装置に具備する加算器を2個にまで低減
することができる。カウンタ3の1はカウンタ1の1〜
20、2はカウンタ1の21〜40、3はカウンタ1の
41〜60、4はカウンタ1の61〜80に対応する。
【0019】回路ブロックK、回路ブロックZについ
て、回路構成は類似しているが、各ステージで代入する
値、式はカウンタ3の1から4で異なる。したがって、
カウンタ3を用いて、代入する値、式を選択する。これ
ら3種類のカウンタを組み合わせることにより、現時点
でSHAアルゴリズムのうち、どのブロックのどのステ
ージの処理を行っているのかを判断し、代入値、代入
式、加算器の入出力選択を行う。なお、回路ブロックK
について、カウンタ1とカウンタ2の関係を図7に示
す。回路ブロックZについて、カウンタ1とカウンタ2
の関係を図8に示す。また、カウンタ1とカウンタ3の
関係を図9に示す。
【0020】請求項4の発明によれば、上記の回路にお
いて用いる代入値Wを、カウンタ1が示す全ての回路ブ
ロック(1〜80段目)のそれぞれに対応して出力す
る。ハッシュ関数SHAでは80種類の元データWが必
要となるが、これら全てを生成するために、16個のレ
ジスタ(W1〜W16)を具備し、カウンタ1の値が1
〜16のときはカウンタ1の値tに対応するWtをその
まま出力し、カウンタ1の値tが17〜80のときはW
=Wt-3 XOR Wt-8 XOR Wt-14 XOR
t-16の演算を行い、その後、最上位bitを下位側へ
巡回シフトし、W16に格納する。このときW2〜W1
6に元々格納されていた値は、それぞれ1つ下位のレジ
スタW1〜W15にシフト(Wn→Wn−1;n=2,
3,…,16)され、W1に格納されていた値は消去さ
れる。この様子を図10に示す。これにより16個のレ
ジスタW1〜W16のみでハッシュ値の生成に必要な8
0種類の元データW[1]〜W[80]を全て生成する
ことができる。
【0021】
【発明の効果】請求項1の発明によれば、1ステージに
2個以内の加算器を用いてハッシュ関数SHAを求める
ことができるから、小さな回路面積で高速なハッシュ装
置を提供できる。請求項2の発明によれば、最終段およ
びその前段の回路ブロックで加算器が余っているステー
ジを利用して最終段で必要となる初期値の加算を行うよ
うにしたので、ハッシュ値の演算速度をより一層向上で
きる。
【0022】請求項3の発明によれば、何段目の回路ブ
ロックかを判定する第1カウンタ、どのステージかを判
定する第2カウンタ、論理演算処理部で用いる論理式や
定数設定処理部で設定すべき定数を選択する第3カウン
タを設けたので、1ステージに2個以内の加算器を含む
共通の回路ブロックを複数回反復して使用する動作が容
易に実現できる。請求項4の発明によれば、80段の回
路ブロックでそれぞれ必要となる80種類の元データを
16個のレジスタで設定できるから、ハッシュ装置の回
路面積を小さくできる。
【図面の簡単な説明】
【図1】本発明のハッシュ装置における基本回路ブロッ
クを示す回路図である。
【図2】請求項1の一実施形態に係るハッシュ装置の全
体構成を示す回路図である。
【図3】請求項1の一実施形態に係るハッシュ装置の各
段の回路ブロックを示す回路図である。
【図4】請求項2の一実施形態に係るハッシュ装置の最
終段の回路ブロックを示す回路図である。
【図5】請求項2の一実施形態に係るハッシュ装置の全
体構成を示す回路図である。
【図6】請求項3の1ないし79段目の回路ブロックと
第1、第2カウンタの関係を示す説明図である。
【図7】請求項3の80段目の回路ブロックと第1、第
2カウンタの関係を示す説明図である。
【図8】請求項3の第1、第3カウンタの関係を示す説
明図である。
【図9】請求項4の元データ設定処理部の構成および動
作を示す説明図である。
【符号の説明】
4 第1のローテーション処理部 5 論理演算処理部 6 第1加算器 7 元データ設定処理部 8 定数設定処理部 9 第2加算器 10 第3加算器 11 第4加算器 12 第2のローテーション処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中谷 浩茂 大阪府門真市大字門真1048番地 松下電工 株式会社内 (72)発明者 宮崎 靖一 大阪府門真市大字門真1048番地 松下電工 株式会社内 Fターム(参考) 5J104 AA18 JA01 NA12 NA22

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 元のデータからSHAアルゴリズムを
    用いて160bitのハッシュ値を求めるための第1な
    いし第5レジスタを備えるハッシュ装置であって、第1
    レジスタの上位5ビットを下位側へ巡回シフトする第1
    のローテーション処理部と、第2、第3、第4レジスタ
    に基づく論理演算を実行する論理演算処理部と、第1の
    ローテーション処理部の出力と第5レジスタの値を加算
    する第1加算器と、ハッシュ値を求める元のデータを分
    割または演算処理したデータを設定する元データ設定処
    理部と、所定の定数を設定する定数設定処理部とを含ん
    で構成される第1ステージと、第1ステージの論理演算
    処理部と第1加算器と元データ設定処理部と定数設定処
    理部の出力のうちいずれか2つを加算する第2加算器
    と、残りの2つを加算する第3加算器とを含んで構成さ
    れる第2ステージと、第2ステージの第2加算器と第3
    加算器の出力を加算する第4加算器を含んで構成される
    第3ステージと、第5、第4レジスタに第4、第3レジ
    スタの値を代入し、第2レジスタの上位30ビットを下
    位側へ巡回シフトする第2のローテーション処理部の出
    力を第3レジスタに代入し、第2レジスタに第1レジス
    タの値を代入し、第3ステージの第4加算器の出力を第
    1レジスタに代入する処理を含む第4ステージとを含む
    回路ブロックを80段縦続接続し、1段目の回路ブロッ
    クの第1ないし第5レジスタに第1ないし第5の初期値
    を設定すると共に、最終段の回路ブロックの第1ないし
    第5レジスタの出力に前記第1ないし第5の初期値をそ
    れぞれ加算する加算器を接続して成ることを特徴とする
    ハッシュ装置。
  2. 【請求項2】 請求項1において、79段目の回路ブ
    ロックの第4ステージに第4レジスタの値と第5の初期
    値を加算する第5加算器を設け、80段目の回路ブロッ
    クの第1ステージに第3レジスタの値と第4の初期値を
    加算する第6加算器を設け、80段目の回路ブロックの
    第3ステージに第1レジスタの値と第2の初期値を加算
    する第7加算器を設け、80段目の回路ブロックの第4
    ステージは第2レジスタの上位30ビットを下位側へ巡
    回シフトする第2のローテーション処理部の出力と第3
    の初期値を加算する第8加算器と、80段目の回路ブロ
    ックの第3ステージの第4加算器の出力と第1の初期値
    を加算する第9加算器とを含むステージとし、80段目
    の回路ブロックにさらに第5ステージを設けて、該第5
    ステージでは、第5加算器の出力を第5レジスタに、第
    6加算器の出力を第4レジスタに、第8加算器の出力を
    第3レジスタに、第7加算器の出力を第2レジスタに、
    第9加算器の出力を第1レジスタにそれぞれ代入するこ
    とにより、最終段の回路ブロックの第1ないし第5レジ
    スタの出力に第1ないし第5の初期値をそれぞれ加算す
    る処理を前記第5ないし第9加算器で行うことを特徴と
    するハッシュ装置。
  3. 【請求項3】 請求項1または2において、1段目か
    ら80段目の回路ブロックの全部または一部は、少なく
    とも2個の加算器を含む1ステージ分の演算回路を複数
    回反復して使用することにより構成され、前記演算回路
    が何段目の回路ブロックの処理をしているかをカウント
    する第1カウンタと、各回路ブロックを複数のステージ
    に分割する第2カウンタと、第1カウンタの値から1な
    いし20段目、21ないし40段目、41ないし60段
    目、61ないし80段目を区別する第3カウンタを備
    え、各カウンタの値により前記演算回路の処理内容を各
    段の回路ブロックの各ステージに応じて変更することを
    特徴とするハッシュ装置。
  4. 【請求項4】 請求項1ないし3のいずれかにおい
    て、ハッシュ値を求める元のデータを分割または演算処
    理したデータを設定する元データ設定処理部は、元の5
    12bitのデータを16分割して格納して1ないし1
    6段目の回路ブロックの元データとして出力する第1な
    いし第16の元データレジスタと、17ないし80段目
    の回路ブロックの元データとして第1、第3、第9及び
    第14の元データレジスタの値の排他的論理和を求めて
    出力する演算回路と、前記演算回路による演算後に第2
    ないし第16の元データレジスタの値を第1ないし第1
    5の元データレジスタに順次代入すると共に、第16の
    元データレジスタには前記演算回路の出力の最上位1b
    itを下位側に巡回シフトしたデータを代入する手段を
    含んで構成されることを特徴とするハッシュ装置。
JP2000089518A 2000-03-28 2000-03-28 ハッシュ装置 Expired - Fee Related JP3709760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000089518A JP3709760B2 (ja) 2000-03-28 2000-03-28 ハッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000089518A JP3709760B2 (ja) 2000-03-28 2000-03-28 ハッシュ装置

Publications (2)

Publication Number Publication Date
JP2001282106A true JP2001282106A (ja) 2001-10-12
JP3709760B2 JP3709760B2 (ja) 2005-10-26

Family

ID=18605264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000089518A Expired - Fee Related JP3709760B2 (ja) 2000-03-28 2000-03-28 ハッシュ装置

Country Status (1)

Country Link
JP (1) JP3709760B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208400A (ja) * 2004-01-23 2005-08-04 Mitsubishi Electric Corp ハッシュ値算出装置及び演算装置
KR100656375B1 (ko) 2005-12-10 2006-12-11 한국전자통신연구원 저전력 해쉬함수 암호화 장치
US7376685B2 (en) 2003-12-26 2008-05-20 Electronics And Telecommunications Research Institute Apparatus and method for computing SHA-1hash function
WO2010041307A1 (ja) 2008-10-07 2010-04-15 富士通株式会社 暗号化装置
JP2011133916A (ja) * 2011-04-07 2011-07-07 Mitsubishi Electric Corp 演算装置
JP2015537284A (ja) * 2012-09-28 2015-12-24 インテル・コーポレーション 複数の128ビットデータパスにおけるsha1ラウンド処理のための命令セット
CN109905228A (zh) * 2017-12-07 2019-06-18 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376685B2 (en) 2003-12-26 2008-05-20 Electronics And Telecommunications Research Institute Apparatus and method for computing SHA-1hash function
JP2005208400A (ja) * 2004-01-23 2005-08-04 Mitsubishi Electric Corp ハッシュ値算出装置及び演算装置
KR100656375B1 (ko) 2005-12-10 2006-12-11 한국전자통신연구원 저전력 해쉬함수 암호화 장치
WO2010041307A1 (ja) 2008-10-07 2010-04-15 富士通株式会社 暗号化装置
JP2011133916A (ja) * 2011-04-07 2011-07-07 Mitsubishi Electric Corp 演算装置
JP2015537284A (ja) * 2012-09-28 2015-12-24 インテル・コーポレーション 複数の128ビットデータパスにおけるsha1ラウンド処理のための命令セット
JP2017097902A (ja) * 2012-09-28 2017-06-01 インテル・コーポレーション 複数の128ビットデータパスにおけるsha1ラウンド処理のための命令セット
JP2019071075A (ja) * 2012-09-28 2019-05-09 インテル・コーポレーション 複数の128ビットデータパスにおけるsha1ラウンド処理のための命令セット
CN109905228A (zh) * 2017-12-07 2019-06-18 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路
CN109905228B (zh) * 2017-12-07 2023-07-25 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路

Also Published As

Publication number Publication date
JP3709760B2 (ja) 2005-10-26

Similar Documents

Publication Publication Date Title
KR102137956B1 (ko) 블록 마이닝 방법 및 장치
Dobbertin Cryptanalysis of MD4
Eastlake 3rd et al. Rfc3174: Us secure hash algorithm 1 (sha1)
US6718536B2 (en) Computer-implemented method for fast generation and testing of probable prime numbers for cryptographic applications
US8160242B2 (en) Efficient implementation of arithmetical secure hash techniques
CN101350716A (zh) 用于可变位宽的哈希值的有效生成的系统和方法
US11716076B2 (en) Circuits and methods for performing hash algorithm
JP2001282106A (ja) ハッシュ装置
Van Hieu et al. Hardware implementation for fast block generator of Litecoin blockchain system
Mihaljevic et al. A family of fast dedicated one-way hash functions based on linear cellular automata over GF (q)
JP2950485B2 (ja) ストリーム暗号処理装置
CN116318660B (zh) 一种消息扩展与压缩方法及相关装置
KR20050065976A (ko) Sha-1 해쉬값 연산 장치 및 방법
US7181009B1 (en) Generating message digests according to multiple hashing procedures
JP4120193B2 (ja) 暗号復号回路
Dai et al. High-throughput hardware implementation for haraka in sphincs+
JP2002358010A (ja) べき乗剰余演算器
San Jose et al. Enhanced SHA-1 on Parsing Method and Message Digest Formula
CN213482935U (zh) 执行哈希算法的电路、计算芯片和加密货币矿机
JP4004805B2 (ja) 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム
JP2011081594A (ja) データ処理装置及びデータ処理プログラム
TW202141302A (zh) 執行哈希算法的電路、計算晶片、數據處理設備和方法
Li MD5 Message Digest Algorithm
JP3277894B2 (ja) 情報処理装置及びコード生成方法
CN114626537A (zh) 一种基于x86平台SIMD的不可约多项式及量子安全哈希值计算方法

Legal Events

Date Code Title Description
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: 20050719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050801

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

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees