JP2000112353A - Hash function system - Google Patents

Hash function system

Info

Publication number
JP2000112353A
JP2000112353A JP10292801A JP29280198A JP2000112353A JP 2000112353 A JP2000112353 A JP 2000112353A JP 10292801 A JP10292801 A JP 10292801A JP 29280198 A JP29280198 A JP 29280198A JP 2000112353 A JP2000112353 A JP 2000112353A
Authority
JP
Japan
Prior art keywords
bit
hash
hash function
hash value
bit blocks
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
JP10292801A
Other languages
Japanese (ja)
Other versions
JP2983533B1 (en
Inventor
Toru Inoue
井上  徹
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.)
KODO IDO TSUSHIN SECURITY GIJU
Advanced Mobile Telecommunications Security Technology Research Laboratory Co Ltd
Original Assignee
KODO IDO TSUSHIN SECURITY GIJU
Advanced Mobile Telecommunications Security Technology Research Laboratory Co 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 KODO IDO TSUSHIN SECURITY GIJU, Advanced Mobile Telecommunications Security Technology Research Laboratory Co Ltd filed Critical KODO IDO TSUSHIN SECURITY GIJU
Priority to JP10292801A priority Critical patent/JP2983533B1/en
Application granted granted Critical
Publication of JP2983533B1 publication Critical patent/JP2983533B1/en
Publication of JP2000112353A publication Critical patent/JP2000112353A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

PROBLEM TO BE SOLVED: To simplify the operations in an error correction coding means which converts the compressed object data to be inputted into a hash function device. SOLUTION: (2k-n) pieces of m-bit block message and the n pieces of m-bit block hash value with one step delay are inputted. These message and value are coded into 2m pieces of n-bit two dimensional error correcting code languages by an (n, k) two dimensional coder having a BCH code. 2m pieces of n-bit two dimensional error correcting code languages are made into 2n pieces of m-bit blocks. By using n pieces of multiple Davies-Meyer hash function devices, hash values of n pieces of m-bit blocks are outputted. The message consisting of arbitrary plural m-bit blocks are compressed by using an m-bit block cipher and the hash values of multiplexedly linked nm bits are obtained. Since a two dimensional coding is used, extended Galois field computations are unnecessitated and hash computations are simplified.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ハッシュ関数方式
に関し、特に、暗号通信システムにおいてメッセージを
圧縮関数で圧縮して署名するためのハッシュ関数方式に
関する。
The present invention relates to a hash function system, and more particularly to a hash function system for compressing and signing a message with a compression function in a cryptographic communication system.

【0002】[0002]

【従来の技術】文書を暗号化して送信する場合に、文書
が改ざんされたものでない真正なものであることを証明
する必要がある。そのために、文書にデジタル署名を付
加することが行なわれている。しかし、もとの文書に直
接デジタル署名を付加するとデータ長が長くなり過ぎる
ために、文書を圧縮してからデジタル署名を付加する。
任意の長さの文書を、ある決められた長さに圧縮するた
めに、暗号化手段を利用したハッシュ(hash)関数が用い
られる。その一例は、DSS(Digital SignatureStanda
rd)を使って署名をするものである。任意の長さの文書
を、ハッシュ関数を使って、例えば一旦160ビットのブ
ロックのハッシュ値に変換する。この160ビットのブロ
ックに署名を施す。例えば、160ビットのハッシュ値に
対して320ビットの署名を付加する。
2. Description of the Related Art When a document is transmitted after being encrypted, it is necessary to prove that the document is authentic and not falsified. For this purpose, a digital signature is added to a document. However, if a digital signature is directly added to the original document, the data length becomes too long. Therefore, the digital signature is added after compressing the document.
In order to compress a document having an arbitrary length to a predetermined length, a hash function using encryption means is used. One example is DSS (Digital Signature Standa).
rd). A document of an arbitrary length is temporarily converted into a hash value of, for example, a 160-bit block by using a hash function. This 160-bit block is signed. For example, a 320-bit signature is added to a 160-bit hash value.

【0003】ハッシュ関数は衝突のないように工夫する
必要がある。衝突とは、x'≠xの場合にh(x)=h
(x')となることである。衝突に対するハッシュ関数の
耐性の定義には、弱い衝突耐性と強い衝突耐性の2つが
ある。弱い耐性(weak collisonresist)とは、プレイメ
ージ耐性(pre-image resistance)またはセカンドプレ
イメージ耐性(2nd-preimage resistance)と呼ばれる
ものである。いかなる特定のxに対しても、h(x)=h
(x')となるいかなるx'(≠x)をも見つけることがどの
程度困難かということである。つまり、文書xとそのハ
ッシュ値h(x)があったとき、同じハッシュ値h(x)に
なる別の文書x'を見つけることが、いかなる文書xに
対しても困難であり、平均N回の試行を必要とすれば、
そのハッシュ関数hのプレイメージ耐性はNであるとい
う。
It is necessary to devise a hash function so as not to cause collision. A collision is defined as h (x) = h when x ′ ≠ x
(x ′). There are two definitions of the resistance of a hash function to collisions: weak collision resistance and strong collision resistance. Weak collisonresist is what is called pre-image resistance or 2nd-preimage resistance. For any particular x, h (x) = h
That is how difficult it is to find any x ′ (≠ x) that is (x ′). That is, when there is a document x and its hash value h (x), it is difficult to find another document x ′ having the same hash value h (x) for any document x. If you need to try
The pre-image resistance of the hash function h is said to be N.

【0004】強い耐性(strong collision resist)と
は、衝突耐性(collison resistance)またはバースデ
ーアタックに対する耐性と呼ばれるものである。h
(x)=h(x')となるいかなる入力ペア(x,x';
x'≠x)をも見つけることがどの程度困難かというこ
とである。つまり、ハッシュ値が同じになる異なる文書
の組を見つけるために、平均N回の試行を必要とするな
らば、そのハッシュ関数のバースデーアタックに対する
耐性はNであるという。単に衝突耐性というときは、こ
の強い耐性の方を意味する。
[0004] Strong collision resist is what is called collison resistance or resistance to birthday attacks. h
Any input pair (x, x ';) where (x) = h (x')
x ′ ≠ x) is also difficult. That is, if it takes an average of N trials to find a different set of documents with the same hash value, then the hash function is said to be resistant to N birthday attacks. When simply saying collision resistance, it means this strong resistance.

【0005】ここで、従来のハッシュ関数の例を説明す
る。図7に、mビットブロック暗号を用いたハッシュ関
数を示す。12はブロック暗号化手段である。これは、デ
ービス−マイヤ(Davies-Meyer)の方法を利用したハッシ
ュ関数である。Ek(・)をmビット暗号の暗号アルゴリズ
ムとし、そのmビット鍵をKとする。Ek(・)で実現され
るハッシュ関数hを、Davies-Meyer関数と呼ぶ。hに対
する衝突を見つけるには、安全なブロック暗号を用いて
いる限り、mビットブロックの約2m/2回の暗号化が必
要である。また、hに対するプレイメージを見つけるに
は、約2m回の暗号化が必要である。
Here, an example of a conventional hash function will be described. FIG. 7 shows a hash function using an m-bit block cipher. 12 is a block encryption means. This is a hash function using the Davies-Meyer method. Let E k (·) be the encryption algorithm for m-bit encryption, and let the m-bit key be K. The hash function h realized by E k (·) is called a Davies-Meyer function. Finding a collision for h requires about 2 m / 2 encryptions of an m-bit block, as long as a secure block cipher is used. Also, about 2 m encryptions are needed to find the pre-image for h.

【0006】メッセージMi、ハッシュ値Hi、および1
ステップ前のハッシュ値Hi-1の間には、 Hi=h(Mi,Hi-1)=EMi(Hi-1)+Hi-1 という関係が成り立つ。ここで、(+)は法2加算であ
る。
The message M i , the hash value H i , and 1
The relationship H i = h (M i , H i−1 ) = E Mi (H i−1 ) + H i−1 holds between the hash values H i−1 before the step. Here, (+) is modulus 2 addition.

【0007】図8は、デービス−マイヤのハッシュ関数
を複数個並列に並べた多重デービス−マイヤ(multiple
Davies-Meyer)のハッシュ関数である。多重デービス
−マイヤ法において、つぎのことを定義する。EK(・)
を、t>0なるt×mビット鍵Kを使うmビットブロッ
ク暗号とする。h1,h2,…,hnを、鍵を互いに異な
る値を取ることにより、互いに異なるデービス−マイヤ
関数であるとする。多重デービス−マイヤ関数へは、r
個のmビットメッセージ入力をアフィン変換して、n個
のペアー(Xi,Yi)へ写像してから入力する。出力
は、h1,h2,…,hnの連接となる。衝突またはプレ
イメージアタックにおいて、(Xi,Yi)を形成する入
力ブロックが元のデータと異なるなら、h(Xi,Yi
はactiveであるという。また、関数hiの変数パラメー
タ(Xi,Yi)が変わっても、関数hjの変数パラメー
タ(Xj,Yj)は変わらないような関数を、独立に攻撃
可能な関数であるという。
FIG. 8 shows a multiple Davis-Meier hash function in which a plurality of Davis-Meier hash functions are arranged in parallel.
Davies-Meyer). In the multiple Davis-Meier method, the following is defined. E K (・)
Is an m-bit block cipher using a t × m-bit key K where t> 0. Let h 1 , h 2 ,..., h n be different Davis-Meier functions by taking the keys different values. For a multiple Davis-Meier function, r
The m-bit message inputs are affine transformed and mapped to n pairs (X i , Y i ) before input. Output, h 1, h 2, ... , a concatenation of h n. In a collision or pre-image attack, if the input block forming (X i , Y i ) is different from the original data, then h (X i , Y i )
Is said to be active. Further, a function in which the variable parameter (X j , Y j ) of the function h j does not change even if the variable parameter (X i , Y i ) of the function h i changes is said to be a function that can be independently attacked. .

【0008】仮定Aとして、つぎのことを仮定する。多
重デービス−マイヤの圧縮関数に対する衝突あるいはプ
レイメージが見つかったとする。Nをactiveな関数の数
とし、(N−v)を、N個の関数のうちの独立に攻撃可
能な最大数とする。この場合に衝突あるいはプレイメー
ジを見つけるためには、平均2vm/2、あるいは2vm回の
暗号化がそれぞれ必要である。
[0008] As assumption A, the following is assumed. Suppose a collision or pre-image is found for the multiple Davis-Meier compression function. Let N be the number of active functions, and let (Nv) be the maximum number of N functions that can be attacked independently. In this case, an average of 2 vm / 2 or 2 vm encryptions are required to find a collision or pre-image, respectively.

【0009】ここで従来例として、K&P(L.Knudsen a
nd B.Preneel)による誤り訂正符号を用いた構成法を説
明する。図9は、K&Pの圧縮関数の構成図である。1
は、多重デービス−マイヤのハッシュ関数器である。3
は、ハッシュ関数器1の出力ハッシュ値を1ステップ遅
延させるメモリーである。5は、各部を制御する制御回
路である。13は、(n,k)ブロック符号器である。14
は、符号器13の出力データを、2n個のmビットブロッ
クに編集するメモリーなどからなる編集器である。長さ
n、情報シンボル数k、最小距離d、(t+1)k>
n、但し、t≧1、且つ、m>>log2nなるGF(2
t+1)上の(n,k,d)符号で入力ブロックを符号化
したとする。すると、仮定Aが成り立つ限り、圧縮関数
に対する衝突を見つけることは、平均2(d-1)m/2回の暗
号化が必要である。あるいは、プレイメージを見つける
には、平均2(d-1)m回の暗号化が必要である。このこと
が、文献L.Knudsen and B.Preneel“Fast and Secure H
ashing Based on Codes" Crypto'97, LNCS1294、 pp.485
-498, 1997.に明らかにされている。このハッシュ関数
は、n・mビットの内部メモリーが必要であり、ハッシ
ュ率は、(t+1)(k/n)−1である。なお、mビ
ットブロック暗号に基くハッシュ関数のハッシュ率(ha
sh rate)とは、1回の暗号化または復号化で処理され
るmビットメッセージブロック数のハッシュ値のブロッ
ク数に対する比率で定義される。
Here, as a conventional example, K & P (L. Knudsen a
nd B. Preneel) will be described. FIG. 9 is a configuration diagram of a compression function of K & P. 1
Is a multi-Davis-Meier hash function unit. 3
Is a memory for delaying the output hash value of the hash function unit 1 by one step. Reference numeral 5 denotes a control circuit that controls each unit. 13 is an (n, k) block encoder. 14
Is an editor comprising a memory for editing the output data of the encoder 13 into 2n m-bit blocks. Length n, number of information symbols k, minimum distance d, (t + 1) k>
n, where t ≧ 1 and m >> log 2 n GF (2
Assume that the input block is coded with the (n, k, d) code on ( t + 1 ). Then, as long as assumption A holds, finding collisions against the compression function requires an average of 2 (d-1) m / 2 encryptions. Alternatively, finding the pre-image requires an average of 2 (d-1) m encryptions. This is described in L. Knudsen and B. Preneel, “Fast and Secure H
ashing Based on Codes "Crypto'97, LNCS1294, pp.485
-498, 1997. This hash function requires nm memory, and the hash rate is (t + 1) (k / n) -1. Note that the hash rate (ha) of the hash function based on the m-bit block cipher is
sh rate) is defined as the ratio of the number of m-bit message blocks processed in one encryption or decryption to the number of blocks of the hash value.

【0010】次に、GF(22)上の(8,5,3)Ham
ming符号を使った構成例を示す。
Next, (8, 5, 3) Ham on GF (2 2 )
An example of a configuration using a ming code is shown.

【0011】生成マトリクスGは、The generation matrix G is

【数1】 (Equation 1)

【0012】ここで、0=(00),1=(01),α
=(10),β=α+1=(11)である。鎖連値(ch
aining value)の順序は、Hi-1 1,Mi 1,Hi-1 3,H
i-1 4,Hi-1 5,Hi-1 6,Hi-1 7,Hi-1 8,Hi-1 2,Mi 2
で、以下のように選ばれる。 Hi 1=f1(Hi-1 1,Mi 1) Hi 2=f2(Hi-1 3,Hi-1 4) Hi 3=f3(Hi-1 5,Hi-1 6) Hi 4=f4(Hi-1 7,Hi-1 8) Hi 5=f5(Hi-1 2,Mi 2) Hi 6=f6(Hi-1 3+Hi-1 5+Hi-1 7+Hi-1 2,Hi-1 4
+Hi-1 6+Hi-1 8+Mi 2) Hi 7=f7(Hi-1 1+Hi-1 2,Mi 1+Mi 2) Hi 8=f8(Hi-1 1+Hi-1 3+Hi-1 4+Hi-1 6
i-1 7,Mi 1+Hi-1 3+Hi-1 5+Hi-1 6+Hi-1 8
Here, 0 = (00), 1 = (01), α
= (10), β = α + 1 = (11). Chained value (ch
The order of aining value) is, H i-1 1, M i 1, H i-1 3, H
i-1 4, H i- 1 5, H i-1 6, H i-1 7, H i-1 8, H i-1 2, M i 2
Is selected as follows. H i 1 = f 1 (H i-1 1, M i 1) H i 2 = f 2 (H i-1 3, H i-1 4) H i 3 = f 3 (H i-1 5, H i-1 6) H i 4 = f 4 (H i-1 7, H i-1 8) H i 5 = f 5 (H i-1 2, M i 2) H i 6 = f 6 (H i -1 3 + H i-1 5 + H i-1 7 + H i-1 2, H i-1 4
+ H i-1 6 + H i-1 8 + M i 2) H i 7 = f 7 (H i-1 1 + H i-1 2, M i 1 + M i 2) H i 8 = f 8 (H i-1 1 + Hi-1 3 + Hi-1 4 + Hi-1 6 +
H i-1 7, M i 1 + H i-1 3 + H i-1 5 + H i-1 6 + H i-1 8)

【0013】ここで、(+)は法2加算である。Hi 8
得るために、f8への入力を求めるには拡大ガロア体の
演算が必要である。拡大ガロア体の演算は具体的には次
のように行なう。GF(22)上の既約多項式は(X2
X+1)だから、その根をαとすると、α2=α+1と
なる。f8への入力を多項式表現すると、次のようにな
る。 (Hi-1 1α+Mi 1)・1+(Hi-1 3α+Hi-1 4)・α +(Hi-1 5α+Hi-1 6)・(α+1) +(Hi-1 7α+Hi-1 8)・1+(Hi-1 2α+Mi 2)・0 =Hi-1 1α+Hi-1 3(α+1)+Hi-1 4α+Hi-1 5 +Hi-1 6(α+1)+Hi-1 7α+Hi-1 8+Mi 1 =(Hi-1 1+Hi-1 3+Hi-1 4+Hi-1 6+Hi-1 7)α +(Hi-1 3+Hi-1 5+Hi-1 6+Hi-1 8+Mi 1
Here, (+) is modulo 2 addition. To obtain H i 8, the prompt to f 8 are necessary operations expanded Galois field. The operation of the extended Galois field is specifically performed as follows. The irreducible polynomial on GF (2 2 ) is (X 2 +
X + 1) Therefore, if the root is α, α 2 = α + 1. If the input to f 8 is represented by a polynomial expression, it is as follows. (H i-1 1 α + M i 1) · 1+ (H i-1 3 α + H i-1 4) · α + (H i-1 5 α + H i-1 6) · (α + 1) + (H i-1 7 α + H i-1 8) · 1+ (H i-1 2 α + M i 2) · 0 = H i-1 1 α + H i-1 3 (α + 1) + H i-1 4 α + H i-1 5 + H i-1 6 ( α + 1) + H i- 1 7 α + H i-1 8 + M i 1 = (H i-1 1 + H i-1 3 + H i-1 4 + H i-1 6 + H i-1 7) α + (H i-1 3 + H i-1 5 + H i-1 6 + H i-1 8 + M i 1)

【0014】このように、誤り訂正符号を使うことによ
って、衝突耐性が2m/2から2mに改善され、あるいは、
プレイメージ耐性が2mから22mに改善されるので、安
全なハッシュ関数を簡単に構成できる。
As described above, by using the error correction code, the collision resistance is improved from 2 m / 2 to 2 m , or
Since the pre-image resistance is improved from 2 m to 22 m , a secure hash function can be easily configured.

【0015】[0015]

【発明が解決しようとする課題】しかし、上記従来の方
式では、BCH符号などの2元符号を用いることができ
ないという問題があった。そのため、拡大ガロア体の演
算を実行するソフトウェアあるいはハードウェアが必要
であった。あるいは、K&Pらがしているように、予め
計算してテーブルとしてメモリーに記憶しておく必要が
あった。
However, the above-mentioned conventional system has a problem that a binary code such as a BCH code cannot be used. Therefore, software or hardware for executing the operation of the enlarged Galois field was required. Alternatively, as in the case of K & P et al., It was necessary to calculate in advance and store it in a memory as a table.

【0016】本発明は、上記従来の問題を解決し、BC
H符号などの2元符号の利用を可能にして、より簡単に
ハッシュ値を計算できるようにすることを目的とする。
The present invention solves the above-mentioned conventional problems and provides a BC
It is an object of the present invention to enable the use of a binary code such as an H code so that a hash value can be calculated more easily.

【0017】[0017]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明では、ハッシュ関数方式を、複数個のmビ
ットブロックのメッセージと1ステップ遅延したn個の
mビットブロックのハッシュ値を入力して2m個のnビ
ット2元誤り訂正符号語に符号化する2元符号器と、2
m個のnビット2元誤り訂正符号語を2n個のmビット
ブロックにして入力しn個のmビットブロックのハッシ
ュ値を出力する多重デービス−マイヤのハッシュ関数器
と、ハッシュ関数器から出力されたn個のmビットブロ
ックのハッシュ値を1ステップ遅延させる遅延メモリー
とを備えた構成とした。
In order to solve the above-mentioned problems, in the present invention, a hash function method is used to calculate a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step. A binary encoder that inputs and encodes 2m n-bit binary error correction codewords;
a multi-Davis-Meier hash function unit that inputs m n-bit binary error correction codewords into 2n m-bit blocks and outputs a hash value of n m-bit blocks; And a delay memory for delaying the hash values of the n m-bit blocks by one step.

【0018】このように構成したことにより、デビス−
マイヤの基本構成である2つのmビット入力に対して拡
大ガロア体のシンボルエレメントを割り当てる必要がな
くなり、1つの入力に2元符号のm個の符号語を割り当
てて、2元符号を使って演算を簡単にすることができ
る。
[0018] With this configuration, Devis-
There is no need to assign an extended Galois field symbol element to two m-bit inputs, which is the basic configuration of Maya, and m inputs are assigned to m codewords of a binary code, and operation is performed using a binary code. Can be simplified.

【0019】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力して(t+1)m個(t≧1)のnビッ
ト2元誤り訂正符号語に符号化する2元符号器と、(t
+1)m個のnビット2元誤り訂正符号語を(t+1)
n個のmビットブロックにして入力しn個のmビットブ
ロックのハッシュ値を出力する多重デービス−マイヤの
ハッシュ関数器とを備えた構成とした。
Also, a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input to obtain (t + 1) m (t ≧ 1) n-bit binary error correcting codewords. And a binary encoder that encodes
+1) m n-bit binary error correction codewords are (t + 1)
A multifunction Davis-Meier hash function unit that inputs n m-bit blocks and outputs a hash value of n m-bit blocks is provided.

【0020】このように構成したことにより、鍵長tm
ビットのデビス−マイヤのハッシュ関数器を使って簡単
にハッシュ値を求めることができる。
With this configuration, the key length tm
A hash value can be easily obtained by using a Bits-Meier hash function unit of bits.

【0021】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したamビットのハッシュ値を入
力して、符号長(t+a)ビット(t≧1,a≧1)の
m個の線形符号に符号化する2元符号器と、m個の(t
+a)ビット符号を(t+a)個のmビットブロックに
して入力しamビットのハッシュ値を出力する鍵長tm
ビットのハッシュ関数器とを備えた構成とした。このよ
うに構成したことにより、衝突耐性が2m(d-1)/2のハッ
シュ値長amビットのハッシュ値を得ることができる。
Also, a plurality of m-bit block messages and an am-bit hash value delayed by one step are input into m linear codes of code length (t + a) bits (t ≧ 1, a ≧ 1). Binary encoder to encode, and m (t
+ A) A key length tm for inputting a bit code into (t + a) m-bit blocks and outputting an am-bit hash value
And a bit hash function unit. With such a configuration, it is possible to obtain a hash value having a hash value length of am bits with a collision resistance of 2 m (d-1) / 2 .

【0022】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力してn(t+1)個(t≧1)のmビッ
トブロックの1個の積符号の誤り訂正符号語に符号化す
る符号器を備えた構成とした。このように構成したこと
により、長い鍵のブロック符号やタンデムD−Mやアブ
レストD−Mを利用する場合に、積符号を用いることに
より、符号の最小距離が大きく改善され、その結果、安
全性が大幅に改善される。
Also, a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input and one product of n (t + 1) (t ≧ 1) m-bit blocks is input. The configuration is such that an encoder for encoding the error correction codeword of the code is provided. With this configuration, when a block code of a long key, a tandem DM or an abrest DM is used, the minimum distance of the code is greatly improved by using the product code, and as a result, security is improved. Is greatly improved.

【0023】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力してn(t+1)個(t≧1)のmビッ
トブロックの1個の連接符号の誤り訂正符号語に符号化
する符号器を備えた構成とした。このように構成したこ
とにより、長い鍵のブロック暗号器やタンデムD−Mや
アブレストD−Mを利用する場合に、外符号にリードソ
ロモン符号などのようなMDS(最大距離分離)符号が
使え、同じ構成でも積符号より高性能の符号が使えるこ
とになり、その結果、安全性が大幅に改善される。
Also, a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input to form one concatenation of n (t + 1) (t ≧ 1) m-bit blocks. The configuration is such that an encoder for encoding the error correction codeword of the code is provided. With this configuration, when using a long key block encryptor, tandem DM, or abrest DM, an MDS (maximum distance separation) code such as a Reed-Solomon code can be used as an outer code. Even with the same configuration, a code with higher performance than a product code can be used, and as a result, security is greatly improved.

【0024】[0024]

【発明の実施の形態】本発明の請求項1記載の発明は、
複数個のmビットブロックからなるメッセージをmビッ
トブロック暗号を用いて圧縮して多重に連接したハッシ
ュ値を得るハッシュ関数方式において、複数個のmビッ
トブロックのメッセージと1ステップ遅延したn個のm
ビットブロックのハッシュ値を入力して2m個のnビッ
ト2元誤り訂正符号語に符号化する2元符号器と、2m
個のnビット2元誤り訂正符号語を2n個のmビットブ
ロックにして入力しn個のmビットブロックのハッシュ
値を出力する多重デービス−マイヤのハッシュ関数器
と、ハッシュ関数器から出力されたn個のmビットブロ
ックのハッシュ値を1ステップ遅延させる遅延メモリー
とを具備するハッシュ関数方式であり、衝突を起こす割
合を減少せしめるという作用を有する。
BEST MODE FOR CARRYING OUT THE INVENTION
In a hash function method in which a message composed of a plurality of m-bit blocks is compressed using an m-bit block cipher to obtain a multiplexed and connected hash value, n messages m and a plurality of m-bit block messages are delayed by one step.
A binary encoder that inputs a hash value of a bit block and encodes it into 2m n-bit binary error correction codewords;
N-bit binary error-correcting codewords are input into 2n m-bit blocks, and a hash function unit of a multiplex Davis-Meier that outputs a hash value of n m-bit blocks is output from the hash function unit. This is a hash function method including a delay memory that delays a hash value of n m-bit blocks by one step, and has an effect of reducing the rate of occurrence of collision.

【0025】本発明の請求項2記載の発明は、複数個の
mビットブロックからなるメッセージをmビットブロッ
ク暗号を用いて圧縮して多重に連接したハッシュ値を得
るハッシュ関数方式において、複数個のmビットブロッ
クのメッセージと1ステップ遅延したn個のmビットブ
ロックのハッシュ値を入力して(t+1)m個(t≧
1)のnビット2元誤り訂正符号語に符号化する2元符
号器と、(t+1)m個のnビット2元誤り訂正符号語
を(t+1)n個のmビットブロックにして入力しn個
のmビットブロックのハッシュ値を出力する多重デービ
ス−マイヤのハッシュ関数器と、ハッシュ関数器から出
力されたn個のmビットブロックのハッシュ値を1ステ
ップ遅延させる遅延メモリーとを具備するハッシュ関数
方式であり、衝突を起こす割合を減少せしめるという作
用を有する。
According to a second aspect of the present invention, there is provided a hash function method for compressing a message composed of a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed concatenated hash value. The message of the m-bit block and the hash value of the n m-bit blocks delayed by one step are input and (t + 1) m (t ≧
(1) a binary encoder for encoding into an n-bit binary error correction codeword, and (t + 1) m n-bit binary error correction codewords as (t + 1) n m-bit blocks and input as n A hash function comprising: a multiple Davis-Meier hash function unit for outputting hash values of m m-bit blocks; and a delay memory for delaying the hash value of n m-bit blocks output from the hash function unit by one step. This method has the effect of reducing the rate of collision.

【0026】本発明の請求項3記載の発明は、複数個の
mビットブロックからなるメッセージをmビットブロッ
ク暗号を用いて圧縮して多重に連接したハッシュ値を得
るハッシュ関数方式において、複数個のmビットブロッ
クのメッセージと1ステップ遅延したa個(a≧1)の
mビットブロックのハッシュ値を入力してm個の符号長
(t+a)ビット(t≧1)の2元誤り訂正符号語に符
号化する2元符号器と、m個の符号長(t+a)ビット
の2元誤り訂正符号語を(t+a)個のmビットブロッ
クにして入力しa個のmビットブロックのハッシュ値を
出力する鍵長tmビットのハッシュ関数器と、ハッシュ
関数器から出力されたa個のmビットブロックのハッシ
ュ値を1ステップ遅延させる遅延メモリーとを具備する
ハッシュ関数方式であり、衝突の複雑さを改良するとい
う作用を有する。
According to a third aspect of the present invention, there is provided a hash function method for compressing a message comprising a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed and connected hash value. An m-bit block message and a hash value of a (a ≧ 1) m-bit blocks delayed by one step are input to form a m-code length (t + a) bits (t ≧ 1) binary error correction codeword. A binary encoder to be encoded and m error-correcting codewords having a code length of (t + a) bits are input as (t + a) m-bit blocks, and hash values of a m-bit blocks are output. A hash function method including a hash function unit having a key length of tm bits and a delay memory for delaying a hash value of a number of m-bit blocks output from the hash function unit by one step. There has the effect of improving the complexity of collision.

【0027】本発明の請求項4記載の発明は、複数個の
mビットブロックからなるメッセージをmビットブロッ
ク暗号を用いて圧縮して多重に連接したハッシュ値を得
るハッシュ関数方式において、複数個のmビットブロッ
クのメッセージと1ステップ遅延したn個のmビットブ
ロックのハッシュ値を入力してn(t+1)個(t≧
1)のmビットブロックの1個の積符号の誤り訂正符号
語に符号化する符号器と、n(t+1)個のmビットブ
ロックの誤り訂正符号語を入力してn個のmビットブロ
ックのハッシュ値を出力する多重デービス−マイヤのハ
ッシュ関数器と、ハッシュ関数器から出力されたn個の
mビットブロックのハッシュ値を1ステップ遅延させる
遅延メモリーとを具備するハッシュ関数方式であり、衝
突を起こす割合を減少せしめるという作用を有する。
According to a fourth aspect of the present invention, there is provided a hash function system for obtaining a multiply-connected hash value by compressing a message comprising a plurality of m-bit blocks using an m-bit block cipher. The message of the m-bit block and the hash value of the n m-bit blocks delayed by one step are input and n (t + 1) (t ≧
1) an encoder that encodes an error correction codeword of one product code of an m-bit block, and n (t + 1) error correction codewords of an m-bit block, A hash function system comprising a multi-Davis-Meier hash function unit that outputs a hash value, and a delay memory that delays the hash value of n m-bit blocks output from the hash function unit by one step. It has the effect of reducing the rate of occurrence.

【0028】本発明の請求項5記載の発明は、複数個の
mビットブロックからなるメッセージをmビットブロッ
ク暗号を用いて圧縮して多重に連接したハッシュ値を得
るハッシュ関数方式において、複数個のmビットブロッ
クのメッセージと1ステップ遅延したn個のmビットブ
ロックのハッシュ値を入力してn(t+1)個(t≧
1)のmビットブロックの1個の連接符号の誤り訂正符
号語に符号化する符号器と、n(t+1)個のmビット
ブロックの誤り訂正符号語を入力してn個のmビットブ
ロックのハッシュ値を出力する多重デービス−マイヤの
ハッシュ関数器と、ハッシュ関数器から出力されたn個
のmビットブロックのハッシュ値を1ステップ遅延させ
る遅延メモリーとを具備するハッシュ関数方式であり、
衝突を起こす割合を減少せしめるという作用を有する。
According to a fifth aspect of the present invention, there is provided a hash function system for obtaining a multiply-connected hash value by compressing a message comprising a plurality of m-bit blocks by using an m-bit block cipher. The message of the m-bit block and the hash value of the n m-bit blocks delayed by one step are input and n (t + 1) (t ≧
1) an encoder that encodes one concatenated code error correction code word of the m-bit block, and n (t + 1) error correction code words of the m-bit block, and inputs n (t + 1) m-bit block error correction code words. A hash function method comprising: a multi-Davis-Meier hash function unit that outputs a hash value; and a delay memory that delays a hash value of n m-bit blocks output from the hash function unit by one step.
This has the effect of reducing the rate of collision.

【0029】以下、本発明の実施の形態について、図1
〜図6を参照しながら詳細に説明する。
Hereinafter, an embodiment of the present invention will be described with reference to FIG.
This will be described in detail with reference to FIGS.

【0030】(第1の実施の形態)本発明の第1の実施
の形態は、(2k−n)個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力して、(n,k)2元符号器で2m個の
nビット2元誤り訂正符号語に符号化し、2n個のmビ
ットブロックを形成し、2n個のmビットブロックをn
個の多重デービス−マイヤのハッシュ関数器に入力し
て、n個のmビットブロックのハッシュ値を出力するハ
ッシュ関数方式である。
(First Embodiment) In a first embodiment of the present invention, a message of (2kn) m-bit blocks and a hash value of n m-bit blocks delayed by one step are input. Then, the (n, k) binary encoder encodes them into 2m n-bit binary error correction codewords to form 2n m-bit blocks, and converts the 2n m-bit blocks to n
This is a hash function method in which a hash value of n m-bit blocks is output by inputting to a plurality of multiple Davis-Meier hash function units.

【0031】図1は、本発明の第1の実施の形態の2元
符号を使ったハッシュ関数方式を示す図である。図1に
おいて、多重デービス−マイヤのハッシュ関数器1は、
n段のデビス−マイヤのハッシュ関数器である。2元符
号器2は、BCH符号などの(n,k,d)2元符号を
演算する手段である。遅延メモリー3は、ハッシュ値を
1ステップ遅延させるためのメモリーである。編集器4
は、m個のnビット符号語をn個のmビットブロックに
編集するメモリーまたはワイヤードロジックである。制
御回路5は、各部を制御する制御手段である。
FIG. 1 is a diagram showing a hash function system using binary codes according to the first embodiment of the present invention. In FIG. 1, the hash function unit 1 of the multiple Davis-Meier is
It is an n-stage Davis-Meier hash function unit. The binary encoder 2 is means for calculating an (n, k, d) binary code such as a BCH code. The delay memory 3 is a memory for delaying the hash value by one step. Editor 4
Is a memory or wired logic that edits m n-bit codewords into n m-bit blocks. The control circuit 5 is control means for controlling each unit.

【0032】符号長n、情報記号数k、最小距離dの
(n,k,d)2元符号を利用する。デビス−マイヤの
ハッシュ関数器の段数をnとする。ハッシュ関数器の入
力は2nブロックである。したがって、2元符号器の入
力は2kブロックとなる。処理時刻iには、前の時刻
(i−1)のn個のハッシュ値を使わねばならないか
ら、メッセージブロックのため使われるブロック数r
は、n+r=2kだから、r=(2k―n)となる。ハ
ッシュ率は(2k―n)/nとなる。
An (n, k, d) binary code having a code length n, the number of information symbols k, and a minimum distance d is used. Let n be the number of stages of the Davis-Meier hash function unit. The input to the hash function unit is 2n blocks. Therefore, the input of the binary encoder is 2k blocks. Since the processing time i must use the n hash values of the previous time (i-1), the number r of blocks used for the message block
Since n + r = 2k, r = (2k−n). The hash rate is (2kn) / n.

【0033】本発明の第1の実施の形態の2元符号を使
ったハッシュ関数方式は、2m個のnビット2元符号語
から形成した2つの符号語によって、mビットブロック
のn個のペアーを構成して、ハッシュ関数器に入力する
点が、K&Pの構成法と異なる。説明の便宜上、(15,
11,3)Hamming符号を短縮した(14,10,3)Hamming
符号で説明する。
The hash function method using binary codes according to the first embodiment of the present invention employs two codewords formed from 2m n-bit binary codewords, whereby n pairs of m-bit blocks are used. Is different from the K & P construction method in that it is input to the hash function unit. For convenience of explanation, (15,
(11,3) Hamming code shortened (14,10,3) Hamming
This will be described with reference numerals.

【0034】パリティマトリクスは次のようになる。The parity matrix is as follows.

【数2】 (Equation 2)

【0035】原始多項式は(X4+X+1)である。 H1=f1(G1,M1) H2=f2(G3,M3) H3=f3(G5,M5) H4=f4(G7,G8) H5=f5(G9,G10) H6=f6(G11,G12) H7=f7(G13,G14) H8=f8(G2,M2) H9=f9(G4,M4) H10=f10(G6,M6) H11=f11(r4L,r4R) H12=f12(r3L,r3R) H13=f13(r2L,r2R) H14=f14(r1L,r1RThe primitive polynomial is (X 4 + X + 1). H 1 = f 1 (G 1 , M 1 ) H 2 = f 2 (G 3 , M 3 ) H 3 = f 3 (G 5 , M 5 ) H 4 = f 4 (G 7 , G 8 ) H 5 = f 5 (G 9, G 10) H 6 = f 6 (G 11, G 12) H 7 = f 7 (G 13, G 14) H 8 = f 8 (G 2, M 2) H 9 = f 9 (G 4, M 4) H 10 = f 10 (G 6, M 6) H 11 = f 11 (r 4L, r 4R) H 12 = f 12 (r 3L, r 3R) H 13 = f 13 ( r 2L , r 2R ) H 14 = f 14 (r 1L , r 1R )

【0036】ここで、(r4L,r4R),(r3L
3R),(r2L,r2R),(r1L,r1R)は、Hamming
符号のチェックビットのブロックである。これらは次式
で与えられる。 r4L=G1+G3+G5+G9+G13+G23L=G1+G3+G5+G7+G11+G2+G42L=G3+G5+G7+G9+G13+G4+G61L=G1+G3+G7+G11+G13+G64R=M1+M3+M5+G10+G14+M23R=M1+M3+M5+G8+G12+M2+M42R=M3+M5+G8+G10+G14+M4+M61R=M1+M3+G8+G12+G14+M6
Here, (r 4L , r 4R ), (r 3L ,
(r 3R ), (r 2L , r 2R ), (r 1L , r 1R ) are Hamming
This is a block of code check bits. These are given by the following equations. r 4L = G 1 + G 3 + G 5 + G 9 + G 13 + G 2 r 3L = G 1 + G 3 + G 5 + G 7 + G 11 + G 2 + G 4 r 2L = G 3 + G 5 + G 7 + G 9 + G 13 + G 4 + G 6 r 1L = G 1 + G 3 + G 7 + G 11 + G 13 + G 6 r 4R = M 1 + M 3 + M 5 + G 10 + G 14 + M 2 r 3R = M 1 + M 3 + M 5 + G 8 + G 12 + M 2 + M 4 r 2R = M 3 + M 5 + G 8 + G 10 + G 14 + M 4 + M 6 r 1R = M 1 + M 3 + G 8 + G 12 + G 14 + M 6

【0037】シンボルGi,Mi,riL,riRは、mビッ
トブロックを表す。Giはひとつ前の時刻のハッシュ値
を表す。Miはメッセージブロックを表し、riL,riR
は、Hamming符号のチェックビットをそれぞれ表す。
The symbol G i, M i, r iL , r iR represents a m-bit blocks. G i represents a single hash value of the previous time. M i represents a message block, r iL , r iR
Represents the check bits of the Hamming code.

【0038】ここでは説明の便宜上Hamming符号で示し
たが、2重誤り訂正BCH符号で考えると次のようにな
る。BCH符号は、Hamming符号より最小距離を大きく
取れるので、より安全性の高いハッシュ関数を構成でき
る。(31,21,5)BCH符号を(30,20,5)BCH
符号に短縮する。するとr=40―30=10となる。ハッシ
ュ率は10/30=1/3となる。
Here, the Hamming code is used for the sake of explanation, but when a double error correction BCH code is considered, the following is obtained. Since the BCH code can have a larger minimum distance than the Hamming code, a more secure hash function can be configured. (31, 21, 5) BCH code is (30, 20, 5) BCH
Shorten to sign. Then, r = 40−30 = 10. The hash rate is 10/30 = 1/3.

【0039】2元符号を使った例と、従来のK&Pらの
結果とを比較のため表1に示す。
Table 1 shows an example using the binary code and a result of the conventional K & P et al. For comparison.

【0040】 (Non-binaryの符号は、K&Pらの結果による。)[0040] (The sign of Non-binary is based on the result of K & P et al.)

【0041】上記のように、本発明の第1の実施の形態
では、ハッシュ関数方式を、(2k−n)個のmビット
ブロックのメッセージと1ステップ遅延したn個のmビ
ットブロックのハッシュ値を入力して、(n,k)2元
符号器で2m個のnビット2元誤り訂正符号語に符号化
し、2n個のmビットブロックを形成し、2個のmビッ
トブロックをn個の多重デービス−マイヤのハッシュ関
数器に入力して、n個のmビットブロックのハッシュ値
を出力する構成としたので、2元符号を使うことにより
拡大ガロア体の演算が不要になり、簡単な演算でより安
全性の高いハッシュ値を得ることができる。
As described above, in the first embodiment of the present invention, the hash function method is used to calculate the message of (2k−n) m bit blocks and the hash value of n m bit blocks delayed by one step. Is input to the (n, k) binary encoder to encode 2m n-bit binary error correction codewords to form 2n m-bit blocks, and to convert the two m-bit blocks into n The configuration is such that a hash value of n m-bit blocks is output by inputting it to the hash function unit of the multiplex Davis-Meier. , A more secure hash value can be obtained.

【0042】(第2の実施の形態)本発明の第2の実施
の形態は、(k−a)個のmビットブロックのメッセー
ジと1ステップ遅延したamビットのハッシュ値を入力
して、2元符号器で、符号長(t+a)ビット(t≧
1,a≧1)、情報ビット数k、最小距離dの(t+
a,k,d)線形符号に符号化し、(t+a)個のmビ
ットブロックを形成し、鍵長tmビットでハッシュ値長
amビットのハッシュ関数器に入力して、amビットの
ハッシュ値を出力するハッシュ関数方式である。
(Second Embodiment) In a second embodiment of the present invention, (ka) m-bit block messages and an am-bit hash value delayed by one step are input, In the original encoder, the code length (t + a) bits (t ≧
1, a ≧ 1), the number of information bits k, and the minimum distance d (t +
(a, k, d) Encoding into a linear code to form (t + a) m-bit blocks, input to a hash function unit having a key length of tm bits and a hash value length of am bits, and output an am bit hash value This is a hash function method.

【0043】図2は、本発明の第2の実施の形態のハッ
シュ関数のデータの図である。図2において、ワードデ
ータ6は、kビットの情報記号ブロックとCビットのチ
ェック記号ブロックからなる符号語であり、t個のmビ
ットブロックの鍵とa個のmビットブロックのハッシュ
値として、ハッシュ関数器に入力する。MISTY暗号
データ7は、mビットのHi-1とmビットのMiとmビッ
トのCiからなる符号語であり、2つのmビットブロッ
クを鍵と、1つのmビットブロックのハッシュ値をMI
STY暗号器に入力する。
FIG. 2 is a diagram of data of a hash function according to the second embodiment of the present invention. In FIG. 2, a word data 6 is a code word including a k-bit information symbol block and a C-bit check symbol block, and has a hash value of a key of t m-bit blocks and a hash value of a m-bit blocks. Input to the function unit. MISTY encryption data 7 is a code word consisting of C i of M i and m bits of the H i-1 and m-bit m-bit, and the key two m-bit blocks, the hash value of the one m-bit blocks MI
Input to STY encryptor.

【0044】ブロック暗号には、MISTYやIDEA
のように、128ビット、すなわち、ブロック長64の2倍
のt=2のブロック暗号が有る。また、タンデム−デー
ビス−マイヤ(Tandem-Davies-Meyer)やアブレスト−
デービス−マイヤ(Abreast-Davies-Meyer)のように、
鍵は64ビットでも、ハッシュ値が128ビット、すなわち
a=2のハッシュ方式がある。
The block cipher includes MISTY and IDEA.
, There is a block cipher of 128 bits, that is, t = 2, which is twice the block length 64. Also, Tandem-Davies-Meyer and Abrest-
Like Abreast-Davies-Meyer,
Even if the key is 64 bits, there is a hash method in which the hash value is 128 bits, that is, a = 2.

【0045】一般的に、tブロック(tmビット)の鍵
長で、aブロック(amビット)のハッシュ値を得る方
式を用いて、これに誤り訂正符号を適用するものとす
る。ある整数k(k>aとする)を、符号長(t+a)
の線形符号の情報記号数とし、その符号の最小距離をd
とすれば、メッセージブロック数r=(k―a)のメッ
セージブロックに対して、aブロックのハッシュ値が得
られる。例えば、MISTYやIDEAの場合は、t=
2,a=1だから、k=2の(3,2,2)ハミング符
号により符号化すると、r=(2―1)/1=1で、ハ
ッシュレート1のハッシュ関数が得られる。
Generally, an error correction code is applied to a hash value of a block (am bits) using a key length of t blocks (tm bits). An integer k (k> a) is represented by a code length (t + a)
And the minimum distance of the code is d.
Then, the hash value of the a block is obtained for the message block of the message block number r = (ka). For example, in the case of MISTY or IDEA, t =
Since 2, a = 1, encoding by a (3, 2, 2) Hamming code of k = 2 yields a hash function with a hash rate of 1 with r = (2-1) / 1 = 1.

【0046】上記のように、本発明の第2の実施の形態
では、ハッシュ関数方式を、(k−a)個のmビットブ
ロックのメッセージと1ステップ遅延したamビットの
ハッシュ値を入力して、2元符号器で、符号長(t+
a)ビット、情報ビット数k、最小距離dの(t+a,
k,d)線形符号に符号化し、(t+a)個のmビット
ブロックを形成し、鍵長tmビットでハッシュ値長am
ビットのハッシュ関数器に入力して、amビットのハッ
シュ値を出力する構成としたので、衝突耐性が2
m(d-1)/2のハッシュ値長amビットのハッシュ値を得る
ことができる。
As described above, in the second embodiment of the present invention, the hash function method is performed by inputting (ka) m-bit block messages and an am-bit hash value delayed by one step. , The code length (t +
a) bits, number of information bits k, (t + a,
k, d) to form a (t + a) m-bit block with a key length tm bits and a hash value length am
Since a hash value of am bits is input to a hash function unit of bits and a hash value of am bits is output, the collision resistance is 2
A hash value with a hash value length of am bits of m (d-1) / 2 can be obtained.

【0047】(第3の実施の形態)本発明の第3の実施
の形態は、r個のmビットブロックのメッセージと1ス
テップ遅延したn個のmビットブロックのハッシュ値を
入力して、n(t+1)個(t≧1)のmビットブロッ
クの1個の積符号に符号化し、n(t+1)個のmビッ
トブロックを入力してn個のmビットブロックのハッシ
ュ値を出力するハッシュ関数器とを具備するハッシュ関
数方式である。
(Third Embodiment) In a third embodiment of the present invention, a message of r m-bit blocks and a hash value of n m-bit blocks delayed by one step are input, and n A hash function that encodes (t + 1) (t ≧ 1) m-bit blocks into one product code, inputs n (t + 1) m-bit blocks, and outputs a hash value of n m-bit blocks This is a hash function method including a container.

【0048】図3は、本発明の第3の実施の形態の積符
号を用いて構成したハッシュ関数方式を示す図である。
図3において、8は行符号器、9は列符号器である。図
3では、行符号化を先に実行するように図示されている
が、積符号の場合は、列符号化を先に、行符号化を後に
実行してもよい。
FIG. 3 is a diagram showing a hash function system configured using a product code according to the third embodiment of the present invention.
In FIG. 3, 8 is a row encoder and 9 is a column encoder. Although FIG. 3 illustrates that the row encoding is performed first, in the case of the product code, the column encoding may be performed first and the row encoding may be performed later.

【0049】第1の実施の形態では、2元の誤り訂正符
号を用いて、行方向に2個、列方向にn個のmビットブ
ロックを形成する例を示したが、第3の実施の形態で
は、積符号を用いて、行方向に(t+1)個、列方向にn
個のmビットブロックを形成する場合を説明する。
In the first embodiment, an example is shown in which two m-bit blocks are formed in the row direction and n m columns in the column direction using the binary error correction code. In the embodiment, (t + 1) pieces are used in the row direction and n
A case of forming m m-bit blocks will be described.

【0050】ブロック暗号には、t≧2、すなわちMI
STYやIDEA暗号のように、m=64ビットで、入力
と出力のデータビット数は64でも、暗号化/復号化の鍵
は128ビット、すなわち、t=2のものがある。また、
タンデムD−M(Tandem-Davies-Meyer)やアブレスト
D−M(Abreast-Davies-Meyer)は、mビット鍵によっ
て2mビットのハッシュ値を得ることができる。ハッシ
ュ関数の入力としては、時刻(i−1)のハッシュ値の2
mビットと鍵入力mビットとなる。また、一般に、t≧
2の鍵長t×mビットの鍵を使う暗号を考えると、行方
向は符号長(t+1)ビットの符号語が使える。
In the block cipher, t ≧ 2, that is, MI
Like STY and IDEA encryption, there are m / 64 bits and input / output data bit numbers of 64, but encryption / decryption keys of 128 bits, that is, t = 2. Also,
A tandem DM (Tandem-Davies-Meyer) and an Abrest DM (Abreast-Davies-Meyer) can obtain a 2m-bit hash value using an m-bit key. The input of the hash function is the hash value 2 of the time (i-1).
There are m bits and key input m bits. Also, in general, t ≧
Considering encryption using a key having a key length of t × m bits of 2, a code word having a code length of (t + 1) bits can be used in the row direction.

【0051】図4は、積符号の符号化過程を示す図であ
る。行符号のパラメータを(t+1,K,dr)、列符
号のパラメータを(n,k,dc)とする。図4(A)
では、時刻(i−1)のハッシュ値Hi-1 1,…,Hi-1 n
と、r=2k−nなる新しい入力であるメッセージ
i 1,…,mi rを、k×Kの矩形のmビットブロックに
配置する。ここでは、K=2である。図4(B)では、
行方向の2元符号に符号化し、各行(t+1)のmビッ
トブロックに符号化する。検査ブロック数は、(t+
1)―Kで、(t+1)―K個のmビットブロックが検
査ブロックを構成している。図3(C)では、列符号の
符号化が(t+1)回行なわれ、全体としてn×(t+
1)個のmビットブロックの積符号語が得られる。この
ようにすることによって、衝突の生起する確率が大幅に
減少する。
FIG. 4 is a diagram showing an encoding process of a product code. The parameter of the row code is (t + 1, K, dr), and the parameter of the column code is (n, k, dc). FIG. 4 (A)
Then, the hash values H i- 11 ,..., H i-1 n at the time (i−1)
If the message m i 1 is r = 2k-n becomes the new input, ..., a m i r, arranged in a rectangular m-bit blocks of k × K. Here, K = 2. In FIG. 4B,
It is encoded into a binary code in the row direction, and is encoded into m-bit blocks in each row (t + 1). The number of inspection blocks is (t +
1) -K, (t + 1) -K m-bit blocks constitute a check block. In FIG. 3C, encoding of the column code is performed (t + 1) times, and as a whole, n × (t +
1) A product codeword of m-bit blocks is obtained. By doing so, the probability of a collision occurring is greatly reduced.

【0052】上記のように、本発明の第3の実施の形態
では、ハッシュ関数方式を、r個のmビットブロックの
メッセージと1ステップ遅延したn個のmビットブロッ
クのハッシュ値を入力して、n(t+1)個(t≧1)
のmビットブロックの1個の積符号に符号化し、n(t
+1)個のmビットブロックを入力してn個のmビット
ブロックのハッシュ値を出力する構成としたので、t≧
2の長い鍵を使うブロック符号や、タンデムD−Mやア
ブレストD−Mを使うハッシュ関数において、積符号を
用いることにより、符号の最小距離が大きく改善され、
その結果、安全性が大幅に改善される。
As described above, in the third embodiment of the present invention, the hash function method is performed by inputting a message of r m-bit blocks and a hash value of n m-bit blocks delayed by one step. , N (t + 1) (t ≧ 1)
, Into one product code of m bit blocks, and n (t
Since +1) m-bit blocks are input and hash values of n m-bit blocks are output, t ≧
In a block code using a long key of 2 or a hash function using a tandem DM or an abrest DM, the minimum distance of the code is greatly improved by using a product code.
As a result, safety is greatly improved.

【0053】(第4の実施の形態)本発明の第4の実施
の形態は、複数個のmビットブロックのメッセージと1
ステップ遅延したn個のmビットブロックのハッシュ値
を入力して、n(t+1)個(t≧1)のmビットブロ
ックの1個の連接符号の誤り訂正符号語に符号化し、n
(t+1)個のmビットブロックを入力してn個のmビ
ットブロックのハッシュ値を出力するハッシュ関数方式
である。
(Fourth Embodiment) In a fourth embodiment of the present invention, a plurality of m-bit block messages and one
A hash value of n step-delayed m-bit blocks is input and encoded into one concatenated error-correcting codeword of n (t + 1) (t ≧ 1) m-bit blocks.
This is a hash function method in which (t + 1) m-bit blocks are input and hash values of n m-bit blocks are output.

【0054】図5は、本発明の第4の実施の形態の連接
符号によるハッシュ関数方式を示す図である。図5にお
いて、10は外符号器、11は内符号器である。図6は、連
接符号の符号化過程を示す図である。
FIG. 5 is a diagram showing a hash function system using concatenated codes according to the fourth embodiment of the present invention. In FIG. 5, reference numeral 10 denotes an outer encoder, and 11 denotes an inner encoder. FIG. 6 is a diagram illustrating an encoding process of a concatenated code.

【0055】連接符号を用いた場合は積符号と似ている
が、外符号器、内符号器の順に符号化を行なう。内符号
器の符号化パラメータを(t+1,K,dI)とし、外
符号器の符号化パラメータを(n,k,dO)とすると
き、合成距離Dは、dI×dOとなる。外符号にガロア
体GF(2K)上のリードソロモン符号を用い、内符号
にBCH符号や、パリティ符号や、Hamming符号などの
2元符号を用いて構成する。積符号と同様の構成であり
ながら、外符号にガロア体の符号を用いることができる
ので、リードソロモン符号のようなMDS(最大距離分
離)符号を使うことができ、合成距離は積符号より大き
く取れる。したがって、より安全なハッシュ関数が構成
できる。積符号と連接符号を用いた構成例を表2と表3
に示す。
When a concatenated code is used, it is similar to a product code, but performs encoding in the order of an outer encoder and an inner encoder. When the coding parameters of the inner encoder are (t + 1, K, dI) and the coding parameters of the outer encoder are (n, k, dO), the composite distance D is dI × dO. A Reed-Solomon code on a Galois field GF (2 K ) is used as an outer code, and a binary code such as a BCH code, a parity code, and a Hamming code is used as an inner code. Although it has the same configuration as the product code, a Galois field code can be used for the outer code, so that an MDS (maximum distance separation) code such as a Reed-Solomon code can be used, and the composite distance is larger than the product code. I can take it. Therefore, a more secure hash function can be configured. Tables 2 and 3 show examples of configurations using product codes and concatenated codes.
Shown in

【0056】 [0056]

【0057】 [0057]

【0058】上記のように、本発明の第4の実施の形態
では、ハッシュ関数方式を、複数個のmビットブロック
のメッセージと1ステップ遅延したn個のmビットブロ
ックのハッシュ値を入力して、n(t+1)個(t≧
1)のmビットブロックの1個の連接符号の誤り訂正符
号語に符号化し、n(t+1)個のmビットブロックを
入力してn個のmビットブロックのハッシュ値を出力す
る構成としたので、t≧2の長い鍵を使うブロック符号
や、タンデムD−MやアブレストD−Mを使うハッシュ
関数において、連接符号を用いることにより、外符号に
リードソロモン符号などのようなMDS(最大距離分
離)符号が使え、同じ構成でも積符号より高性能の符号
が使えることになり、その結果、安全性が大幅に改善さ
れる。
As described above, in the fourth embodiment of the present invention, the hash function method is performed by inputting a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step. , N (t + 1) (t ≧
Since 1) the m-bit block is encoded into one concatenated code error-correcting codeword, n (t + 1) m-bit blocks are input, and the hash value of n m-bit blocks is output. , T ≧ 2, a block code using a long key, or a hash function using a tandem DM or an abrest DM, by using a concatenated code, an MDS such as a Reed-Solomon code is used as an outer code. ) Code can be used, and a code having a higher performance than a product code can be used in the same configuration, and as a result, security is greatly improved.

【0059】[0059]

【発明の効果】以上説明したように、本発明によれば、
複数個のmビットブロックからなるメッセージをmビッ
トブロック暗号を用いて圧縮して多重に連接したハッシ
ュ値を得るハッシュ関数方式を、複数個のmビットブロ
ックのメッセージと1ステップ遅延したn個のmビット
ブロックのハッシュ値を入力して2m個のnビット2元
誤り訂正符号語に符号化する2元符号器と、2m個のn
ビット2元誤り訂正符号語を2n個のmビットブロック
にして入力しn個のmビットブロックのハッシュ値を出
力する多重デービス−マイヤのハッシュ関数器と、ハッ
シュ関数器から出力されたn個のmビットブロックのハ
ッシュ値を1ステップ遅延させる遅延メモリーとを具備
する構成としたので、2元符号を使うことにより拡大ガ
ロア体の演算が不要になり、簡単な演算でより安全性の
高いハッシュ値を得ることができるという効果が得られ
る。
As described above, according to the present invention,
A hash function method of compressing a message composed of a plurality of m-bit blocks using an m-bit block cipher and obtaining a multiplexed and concatenated hash value is described below. A binary encoder that inputs a hash value of a bit block and encodes it into 2m n-bit binary error correction codewords;
A multi-Davis-Meier hash function unit that inputs a binary error-correcting codeword into 2n m-bit blocks and outputs a hash value of n m-bit blocks, and n n-bit units output from the hash function unit Since the configuration is provided with a delay memory that delays the hash value of the m-bit block by one step, the use of the binary code eliminates the need for the operation of the extended Galois field, and provides a more secure hash value with a simple operation. Can be obtained.

【0060】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力して(t+1)m個(t≧1)のnビッ
ト2元誤り訂正符号語に符号化する2元符号器と、(t
+1)m個のnビット2元誤り訂正符号語を(t+1)
n個のmビットブロックにして入力しn個のmビットブ
ロックのハッシュ値を出力する多重デービス−マイヤの
ハッシュ関数器とを備えたので、鍵長tmビットのデー
ビス−マイヤのハッシュ関数器を使って簡単にハッシュ
値を求めることができるという効果が得られる。
A message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input to obtain (t + 1) m (t ≧ 1) n-bit binary error correcting codewords. And a binary encoder that encodes
+1) m n-bit binary error correction codewords are (t + 1)
A multi-Davis-Meier hash function unit that inputs n m-bit blocks and outputs a hash value of n m-bit blocks is provided, so that a Davis-Meier hash function unit with a key length of tm bits is used. The hash value can be easily obtained.

【0061】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したamビットのハッシュ値を入
力して、符号長(t+a)ビット(t≧1,a≧1)の
m個の線形符号に符号化する2元符号器と、m個の(t
+a)ビット符号を(t+a)個のmビットブロックに
して入力しamビットのハッシュ値を出力する鍵長tm
ビットのハッシュ関数器とを備えたので、衝突耐性が2
m(d-1)/2のハッシュ値長amビットのハッシュ値を得る
ことができるという効果が得られる。
Also, a message of a plurality of m-bit blocks and an am-bit hash value delayed by one step are input to form m linear codes of code length (t + a) bits (t ≧ 1, a ≧ 1). Binary encoder to encode, and m (t
+ A) A key length tm for inputting a bit code into (t + a) m-bit blocks and outputting an am-bit hash value
With a bit hash function, collision resistance is 2
The effect is obtained that a hash value having a hash value length of am bits of m (d-1) / 2 can be obtained.

【0062】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力してn(t+1)個(t≧1)のmビッ
トブロックの1個の積符号の誤り訂正符号語に符号化す
る符号器を備えたので、長い鍵のブロック符号やタンデ
ムD−MやアブレストD−Mを利用する場合に、積符号
を用いることにより、符号の最小距離が大きく改善さ
れ、その結果、安全性が大幅に改善されるという効果が
得られる。
Further, a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input and one product of n (t + 1) (t ≧ 1) m-bit blocks is input. Since the encoder has an encoder that encodes the code into an error correction codeword, the minimum distance of the code can be reduced by using a product code when using a block code of a long key, a tandem DM or an abrest DM. A significant improvement is achieved, resulting in a significant improvement in safety.

【0063】また、複数個のmビットブロックのメッセ
ージと1ステップ遅延したn個のmビットブロックのハ
ッシュ値を入力してn(t+1)個(t≧1)のmビッ
トブロックの1個の連接符号の誤り訂正符号語に符号化
する符号器を備えたので、長い鍵のブロック暗号器やタ
ンデムD−MやアブレストD−Mを利用する場合に、外
符号にリードソロモン符号などのようなMDS(最大距
離分離)符号が使え、同じ構成でも積符号より高性能の
符号が使えることになり、その結果、安全性が大幅に改
善されるという効果が得られる。
Also, a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step are input, and one concatenation of n (t + 1) (t ≧ 1) m-bit blocks is performed. Since an encoder for encoding a code into an error correction code word is provided, when using a long key block cipher or a tandem DM or an abrest DM, an MDS such as a Reed-Solomon code is used as an outer code. (Maximum distance separation) code can be used, and even with the same configuration, a code with higher performance than the product code can be used. As a result, the effect of greatly improving security can be obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態の2元符号を使った
ハッシュ関数方式の図、
FIG. 1 is a diagram of a hash function method using a binary code according to a first embodiment of the present invention;

【図2】本発明の第2の実施の形態の線形符号を使った
ハッシュ関数方式の説明図、
FIG. 2 is an explanatory diagram of a hash function method using a linear code according to a second embodiment of the present invention;

【図3】本発明の第3の実施の形態の積符号を用いるハ
ッシュ関数方式の図、
FIG. 3 is a diagram of a hash function method using a product code according to a third embodiment of the present invention;

【図4】本発明の第3の実施の形態の積符号の符号化過
程を示す図、
FIG. 4 is a diagram showing an encoding process of a product code according to a third embodiment of the present invention;

【図5】本発明の第4の実施の形態の連接符号を用いる
ハッシュ関数方式の図、
FIG. 5 is a diagram of a hash function method using a concatenated code according to a fourth embodiment of the present invention;

【図6】本発明の第4の実施の形態の連接符号の符号化
過程を示す図、
FIG. 6 is a diagram showing an encoding process of a concatenated code according to a fourth embodiment of the present invention;

【図7】従来のmビットブロック暗号を用いたデービス
−マイヤのハッシュ関数器、
FIG. 7 shows a Davis-Meier hash function unit using a conventional m-bit block cipher;

【図8】従来のmビットブロック暗号を用いた多重デー
ビス−マイヤのハッシュ関数器、
FIG. 8 shows a conventional multi-Davis-Meier hash function using an m-bit block cipher;

【図9】従来のK&Pによる誤り訂正符号を用いたハッ
シュ関数器である。
FIG. 9 shows a conventional hash function unit using an error correction code based on K & P.

【符号の説明】[Explanation of symbols]

1 多重デービス−マイヤのハッシュ関数器 2 2元符号器 3 遅延メモリー 4 編集器 5 制御回路 6 ワード 7 MISTY暗号の場合のワード 8 行符号器 9 列符号器 10 外符号器 11 内符号器 12 暗号化手段 13 ブロック符号器 14 編集器 DESCRIPTION OF SYMBOLS 1 Multi-Davis-Meier hash function unit 2 Binary encoder 3 Delay memory 4 Editor 5 Control circuit 6 Word 7 Word in the case of MISTY encryption 8 Row encoder 9 Column encoder 10 Outer encoder 11 Inner encoder 12 Encryption Means 13 block encoder 14 editor

【手続補正書】[Procedure amendment]

【提出日】平成11年3月25日(1999.3.2
5)
[Submission date] March 25, 1999 (1999.3.2
5)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】全文[Correction target item name] Full text

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【書類名】 明細書[Document Name] Statement

【発明の名称】 ハッシュ関数方式[Title of the Invention] Hash function method

【特許請求の範囲】[Claims]

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ハッシュ関数方式
に関し、特に、暗号通信システムにおいてメッセージを
圧縮関数で圧縮して署名するためのハッシュ関数方式に
関する。
The present invention relates to a hash function system, and more particularly to a hash function system for compressing and signing a message with a compression function in a cryptographic communication system.

【0002】[0002]

【従来の技術】文書を暗号化して送信する場合に、文書
が改ざんされたものでない真正なものであることを証明
する必要がある。そのために、文書にデジタル署名を付
加することが行われている。しかし、もとの文書に直接
デジタル署名を付加するとデータ長が長くなり過ぎるた
めに、文書を圧縮してからデジタル署名を付加する。任
意の長さの文書を、ある決められた長さに圧縮するため
に、暗号化手段を利用したハッシュ(hash)関数が用いら
れる。その一例は、DSS(Digital Signature Standar
d)を使って署名をするものである。任意の長さの文書
を、ハッシュ関数を使って、例えば一旦160ビットのブ
ロックのハッシュ値に変換する。この160ビットのブロ
ックに署名を施す。例えば、160ビットのハッシュ値に
対して320ビットの署名を付加する。
2. Description of the Related Art When a document is transmitted after being encrypted, it is necessary to prove that the document is authentic and not falsified. For this purpose, a digital signature is added to a document. However, if a digital signature is directly added to the original document, the data length becomes too long. Therefore, the digital signature is added after compressing the document. In order to compress a document having an arbitrary length to a predetermined length, a hash function using encryption means is used. One example is DSS (Digital Signature Standar).
Signing using d). A document of an arbitrary length is temporarily converted into a hash value of, for example, a 160-bit block by using a hash function. This 160-bit block is signed. For example, a 320-bit signature is added to a 160-bit hash value.

【0003】ハッシュ関数は衝突のないように工夫する
必要がある。衝突とは、x'≠xの場合にh(x)=h
(x')となることである。衝突に対するハッシュ関数の
耐性の定義には、弱い衝突耐性と強い衝突耐性の2つが
ある。弱い耐性(weak collisonresist)とは、プレイメ
ージ耐性(pre-image resistance)またはセカンドプレ
イメージ耐性(2nd-preimage resistance)と呼ばれる
ものである。いかなる特定のxに対しても、h(x)=h
(x')となるいかなるx'(≠x)をも見つけることがどの
程度困難かということである。つまり、文書xとそのハ
ッシュ値h(x)があったとき、同じハッシュ値h(x)に
なる別の文書x'を見つけることが、いかなる文書xに
対しても困難であり、平均N回の試行を必要とすれば、
そのハッシュ関数hのプレイメージ耐性はNであるとい
う。
It is necessary to devise a hash function so as not to cause collision. A collision is defined as h (x) = h when x ′ ≠ x
(x ′). There are two definitions of the resistance of a hash function to collisions: weak collision resistance and strong collision resistance. Weak collisonresist is what is called pre-image resistance or 2nd-preimage resistance. For any particular x, h (x) = h
That is how difficult it is to find any x ′ (≠ x) that is (x ′). That is, when there is a document x and its hash value h (x), it is difficult to find another document x ′ having the same hash value h (x) for any document x. If you need to try
The pre-image resistance of the hash function h is said to be N.

【0004】強い耐性(strong collision resist)と
は、衝突耐性(collison resistance)またはバースデ
ーアタックに対する耐性と呼ばれるものである。h
(x)=h(x')となるいかなる入力ペア(x,x';
x'≠x)をも見つけることがどの程度困難かというこ
とである。つまり、ハッシュ値が同じになる異なる文書
の組を見つけるために、平均N回の試行を必要とするな
らば、そのハッシュ関数のバースデーアタックに対する
耐性はNであるという。単に衝突耐性というときは、こ
の強い耐性の方を意味する。
[0004] Strong collision resist is what is called collison resistance or resistance to birthday attacks. h
Any input pair (x, x ';) where (x) = h (x')
x ′ ≠ x) is also difficult. That is, if it takes an average of N trials to find a different set of documents with the same hash value, then the hash function is said to be resistant to N birthday attacks. When simply saying collision resistance, it means this strong resistance.

【0005】ここで、従来のハッシュ関数の例を説明す
る。図2に、mビットブロック暗号を用いたハッシュ関
数を示す。12はブロック暗号化手段である。これは、デ
ービス−マイヤ(Davies-Meyer)の方法を利用したハッシ
ュ関数である。Ek(・)をmビット暗号の暗号アルゴリ
ズムとし、そのmビット鍵をKとする。Ek(・)で実現
されるハッシュ関数hを、Davies-Meyer関数と呼ぶ。h
に対する衝突を見つけるには、安全なブロック暗号を用
いている限り、mビットブロックの約2m/2回の暗号化
が必要である。また、hに対するプレイメージを見つけ
るには、約2m回の暗号化が必要である。
Here, an example of a conventional hash function will be described. FIG. 2 shows a hash function using an m-bit block cipher. 12 is a block encryption means. This is a hash function using the Davies-Meyer method. Let E k (·) be the encryption algorithm for m-bit encryption, and let the m-bit key be K. The hash function h realized by E k (·) is called a Davies-Meyer function. h
Finding collisions against requires about 2 m / 2 encryptions of m-bit blocks, as long as a secure block cipher is used. Also, about 2 m encryptions are needed to find the pre-image for h.

【0006】メッセージMi、ハッシュ値Hi、および1
ステップ前のハッシュ値Hi-1の間には、 Hi=h(Mi,Hi-1)=EMi(Hi-1)+Hi-1 という関係が成り立つ。ここで、[+]は法2加算であ
る。
The message M i , the hash value H i , and 1
The relationship H i = h (M i , H i−1 ) = E Mi (H i−1 ) + H i−1 holds between the hash values H i−1 before the step. Here, [+] is modulo 2 addition.

【0007】図3は、デービス−マイヤのハッシュ関数
を複数個並列に並べた多重デービス−マイヤ(multiple
Davies-Meyer)のハッシュ関数である。多重デービス
−マイヤ法において、つぎのことを定義する。EK(・)
を、t>0なるt×mビット鍵Kを使うmビットブロッ
ク暗号とする。h1,h2,…,hnを、鍵を互いに異な
る値を取ることにより、互いに異なるデービス−マイヤ
関数であるとする。多重デービス−マイヤ関数へは、r
個のmビットメッセージ入力をアフィン変換して、n個
のペアー(Xi,Yi)へ写像してから入力する。出力
は、h1,h2,…,hnの連接となる。衝突またはプレ
イメージアタックにおいて、(Xi,Yi)を形成する入
力ブロックが元のデータと異なるなら、h(Xi,Yi
はactiveであるという。また、関数hiの変数パラメー
タ(Xi,Yi)が変わっても、関数hjの変数パラメー
タ(Xj,Yj)は変わらないような関数を、独立に攻撃
可能な関数であるという。
FIG. 3 shows a multiple Davis-Meier hash function in which a plurality of Davis-Meier hash functions are arranged in parallel.
Davies-Meyer). In the multiple Davis-Meier method, the following is defined. E K (・)
Is an m-bit block cipher using a t × m-bit key K where t> 0. Let h 1 , h 2 ,..., h n be different Davis-Meier functions by taking the keys different values. For a multiple Davis-Meier function, r
The m-bit message inputs are affine transformed and mapped to n pairs (X i , Y i ) before input. Output, h 1, h 2, ... , a concatenation of h n. In a collision or pre-image attack, if the input block forming (X i , Y i ) is different from the original data, then h (X i , Y i )
Is said to be active. Further, a function in which the variable parameter (X j , Y j ) of the function h j does not change even if the variable parameter (X i , Y i ) of the function h i changes is said to be a function that can be independently attacked. .

【0008】仮定Aとして、つぎのことを仮定する。多
重デービス−マイヤの圧縮関数に対する衝突あるいはプ
レイメージが見つかったとする。Nをactiveな関数の数
とし、(N−v)を、N個の関数のうちの独立に攻撃可
能な最大数とする。この場合に衝突あるいはプレイメー
ジを見つけるためには、平均2vm/2、あるいは2vm回の
暗号化がそれぞれ必要である。
[0008] As assumption A, the following is assumed. Suppose a collision or pre-image is found for the multiple Davis-Meier compression function. Let N be the number of active functions, and let (Nv) be the maximum number of N functions that can be attacked independently. In this case, an average of 2 vm / 2 or 2 vm encryptions are required to find a collision or pre-image, respectively.

【0009】ここで従来例として、K&P(L.Knudsen a
nd B.Preneel)による誤り訂正符号を用いた構成法を説
明する。図4は、K&Pの圧縮関数の構成図である。1
は、多重デービス−マイヤのハッシュ関数器である。3
は、ハッシュ関数器1の出力ハッシュ値を1ステップ遅
延させるメモリーである。5は、各部を制御する制御回
路である。13は、(n,k)ブロック符号器である。14
は、符号器13の出力データを、2n個のmビットブロッ
クに編集するメモリーなどからなる編集器である。長さ
n、情報シンボル数k、最小距離d、(t+1)k>
n、但し、t≧1、且つ、m>>log2nなるGF(2
t+1)上の(n,k,d)符号で入力ブロックを符号化
したとする。すると、仮定Aが成り立つ限り、圧縮関数
に対する衝突を見つけることは、平均2(d-1)m/2回の暗
号化が必要である。あるいは、プレイメージを見つける
には、平均2(d-1)m回の暗号化が必要である。このこと
が、文献L.Knudsen and B.Preneel“Fast and Secure H
ashing Based on Codes" Crypto'97, LNCS1294、 pp.48
5-498, 1997.に明らかにされている。このハッシュ関数
は、n・mビットの内部メモリーが必要であり、ハッシ
ュ率は、(t+1)(k/n)−1である。なお、mビ
ットブロック暗号に基くハッシュ関数のハッシュ率(ha
sh rate)とは、1回の暗号化または復号化で処理され
るmビットメッセージブロック数のハッシュ値のブロッ
ク数に対する比率で定義される。
Here, as a conventional example, K & P (L. Knudsen a
nd B. Preneel) will be described. FIG. 4 is a configuration diagram of a K & P compression function. 1
Is a multi-Davis-Meier hash function unit. 3
Is a memory for delaying the output hash value of the hash function unit 1 by one step. Reference numeral 5 denotes a control circuit that controls each unit. 13 is an (n, k) block encoder. 14
Is an editor comprising a memory for editing the output data of the encoder 13 into 2n m-bit blocks. Length n, number of information symbols k, minimum distance d, (t + 1) k>
n, where t ≧ 1 and m >> log 2 n GF (2
Assume that the input block is coded with the (n, k, d) code on ( t + 1 ). Then, as long as assumption A holds, finding collisions against the compression function requires an average of 2 (d-1) m / 2 encryptions. Alternatively, finding the pre-image requires an average of 2 (d-1) m encryptions. This is described in L. Knudsen and B. Preneel, “Fast and Secure H
ashing Based on Codes "Crypto'97, LNCS1294, pp.48
5-498, 1997. This hash function requires nm memory, and the hash rate is (t + 1) (k / n) -1. Note that the hash rate (ha) of the hash function based on the m-bit block cipher is
sh rate) is defined as the ratio of the number of m-bit message blocks processed in one encryption or decryption to the number of blocks of the hash value.

【0010】次に、GF(22)上の(8,5,3)Ham
ming符号を使った構成例を示す。
Next, (8, 5, 3) Ham on GF (2 2 )
An example of a configuration using a ming code is shown.

【0011】生成マトリクスGは、The generation matrix G is

【数1】 (Equation 1)

【0012】ここで、0=[00],1=[01],α
=[10],β=α+1=[11]である。鎖連値(ch
aining value)の順序は、Hi-1 1,Mi 1,Hi-1 3,H
i-1 4,Hi-1 5,Hi-1 6,Hi-1 7,Hi-1 8,Hi-1 2,Mi 2
で、以下のように選ばれる。 Hi 1=f1(Hi-1 1,Mi 1) Hi 2=f2(Hi-1 3,Hi-1 4) Hi 3=f3(Hi-1 5,Hi-1 6) Hi 4=f4(Hi-1 7,Hi-1 8) Hi 5=f5(Hi-1 2,Mi 2) Hi 6=f6(Hi-1 3+Hi-1 5+Hi-1 7+Hi-1 2,Hi-1 4
+Hi-1 6+Hi-1 8+Mi 2) Hi 7=f7(Hi-1 1+Hi-1 2,Mi 1+Mi 2) Hi 8=f8(Hi-1 1+Hi-1 3+Hi-1 4+Hi-1 6
i-1 7,Mi 1+Hi-1 3+Hi -1 5+Hi-1 6+Hi-1 8
Here, 0 = [00], 1 = [01], α
= [10], β = α + 1 = [11]. Chained value (ch
The order of aining value) is, H i-1 1, M i 1, H i-1 3, H
i-1 4, H i- 1 5, H i-1 6, H i-1 7, H i-1 8, H i-1 2, M i 2
Is selected as follows. H i 1 = f 1 (H i-1 1, M i 1) H i 2 = f 2 (H i-1 3, H i-1 4) H i 3 = f 3 (H i-1 5, H i-1 6) H i 4 = f 4 (H i-1 7, H i-1 8) H i 5 = f 5 (H i-1 2, M i 2) H i 6 = f 6 (H i -1 3 + H i-1 5 + H i-1 7 + H i-1 2, H i-1 4
+ H i-1 6 + H i-1 8 + M i 2) H i 7 = f 7 (H i-1 1 + H i-1 2, M i 1 + M i 2) H i 8 = f 8 (H i-1 1 + Hi-1 3 + Hi-1 4 + Hi-1 6 +
H i-1 7, M i 1 + H i-1 3 + H i -1 5 + H i-1 6 + H i-1 8)

【0013】ここで、[+]は法2加算である。Hi 8
得るために、f8への入力を求めるには拡大ガロア体の
演算が必要である。拡大ガロア体の演算は具体的には次
のように行う。GF(22)上の既約多項式は(X2+X
+1)だから、その根をαとすると、α2=α+1とな
る。f8への入力を多項式表現すると、次のようにな
る。 (Hi-1 1α+Mi 1)・1+(Hi-1 3α+Hi-1 4)・α +(Hi-1 5α+Hi-1 6)・(α+1) +(Hi-1 7α+Hi-1 8)・1+(Hi-1 2α+Mi 2)・0 =Hi-1 1α+Hi-1 3(α+1)+Hi-1 4α+Hi-1 5 +Hi-1 6(α+1)+Hi-1 7α+Hi-1 8+Mi 1 =(Hi-1 1+Hi-1 3+Hi-1 4+Hi-1 6+Hi-1 7)α +(Hi-1 3+Hi-1 5+Hi-1 6+Hi-1 8+Mi 1
Here, [+] is modulo 2 addition. To obtain H i 8, the prompt to f 8 are necessary operations expanded Galois field. The operation of the extended Galois field is specifically performed as follows. The irreducible polynomial on GF (2 2 ) is (X 2 + X
+1) Therefore, if the root is α, α 2 = α + 1. If the input to f 8 is represented by a polynomial expression, it is as follows. (H i-1 1 α + M i 1) · 1+ (H i-1 3 α + H i-1 4) · α + (H i-1 5 α + H i-1 6) · (α + 1) + (H i-1 7 α + H i-1 8) · 1+ (H i-1 2 α + M i 2) · 0 = H i-1 1 α + H i-1 3 (α + 1) + H i-1 4 α + H i-1 5 + H i-1 6 ( α + 1) + H i- 1 7 α + H i-1 8 + M i 1 = (H i-1 1 + H i-1 3 + H i-1 4 + H i-1 6 + H i-1 7) α + (H i-1 3 + H i-1 5 + H i-1 6 + H i-1 8 + M i 1)

【0014】このように、誤り訂正符号を使うことによ
って、衝突耐性が2m/2から2mに改善され、あるいは、
プレイメージ耐性が2mから22mに改善されるので、安
全なハッシュ関数を簡単に構成できる。
As described above, by using the error correction code, the collision resistance is improved from 2 m / 2 to 2 m , or
Since the pre-image resistance is improved from 2 m to 22 m , a secure hash function can be easily configured.

【0015】[0015]

【発明が解決しようとする課題】しかし、上記従来の方
式では、BCH符号などの2元符号を用いることができ
ないという問題があった。そのため、拡大ガロア体の演
算を実行するソフトウェアあるいはハードウェアが必要
であった。あるいは、K&Pらがしているように、予め
計算してテーブルとしてメモリーに記憶しておく必要が
あった。
However, the above-mentioned conventional system has a problem that a binary code such as a BCH code cannot be used. Therefore, software or hardware for executing the operation of the enlarged Galois field was required. Alternatively, as in the case of K & P et al., It was necessary to calculate in advance and store it in a memory as a table.

【0016】本発明は、上記従来の問題を解決し、BC
H符号などの2元符号の利用を可能にして、より簡単に
ハッシュ値を計算できるようにすることを目的とする。
The present invention solves the above-mentioned conventional problems and provides a BC
It is an object of the present invention to enable the use of a binary code such as an H code so that a hash value can be calculated more easily.

【0017】[0017]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明では、ハッシュ関数方式を、複数個のmビ
ットブロックのメッセージと1ステップ遅延したn個の
mビットブロックのハッシュ値を入力して2m個のnビ
ット2元誤り訂正符号語に符号化する2元符号器と、2
m個のnビット2元誤り訂正符号語を2n個のmビット
ブロックにして入力しn個のmビットブロックのハッシ
ュ値を出力する多重デービス−マイヤのハッシュ関数器
と、ハッシュ関数器から出力されたn個のmビットブロ
ックのハッシュ値を1ステップ遅延させる遅延メモリー
とを備えた構成とした。
In order to solve the above-mentioned problems, in the present invention, a hash function method is used to calculate a message of a plurality of m-bit blocks and a hash value of n m-bit blocks delayed by one step. A binary encoder that inputs and encodes 2m n-bit binary error correction codewords;
a multi-Davis-Meier hash function unit that inputs m n-bit binary error correction codewords into 2n m-bit blocks and outputs a hash value of n m-bit blocks; And a delay memory for delaying the hash values of the n m-bit blocks by one step.

【0018】このように構成したことにより、デビス−
マイヤの基本構成である2つのmビット入力に対して拡
大ガロア体のシンボルエレメントを割り当てる必要がな
くなり、1つの入力に2元符号のm個の符号語を割り当
てて、2元符号を使って演算を簡単にすることができ
る。
[0018] With this configuration, Devis-
There is no need to assign an extended Galois field symbol element to two m-bit inputs, which is the basic configuration of Maya, and m inputs are assigned to m codewords of a binary code, and operation is performed using a binary code. Can be simplified.

【0019】[0019]

【発明の実施の形態】本発明の請求項1記載の発明は、
複数個のmビットブロックからなるメッセージをmビッ
トブロック暗号を用いて圧縮して多重に連接したハッシ
ュ値を得るハッシュ関数方式において、複数個のmビッ
トブロックのメッセージと1ステップ遅延したn個のm
ビットブロックのハッシュ値を入力して2m個のnビッ
ト2元誤り訂正符号語に符号化する2元符号器と、2m
個のnビット2元誤り訂正符号語を2n個のmビットブ
ロックにして入力しn個のmビットブロックのハッシュ
値を出力する多重デービス−マイヤのハッシュ関数器
と、ハッシュ関数器から出力されたn個のmビットブロ
ックのハッシュ値を1ステップ遅延させる遅延メモリー
とを具備するハッシュ関数方式であり、衝突を起こす割
合を減少せしめるという作用を有する。
BEST MODE FOR CARRYING OUT THE INVENTION
In a hash function method in which a message composed of a plurality of m-bit blocks is compressed using an m-bit block cipher to obtain a multiplexed and connected hash value, n messages m and a plurality of m-bit block messages are delayed by one step.
A binary encoder that inputs a hash value of a bit block and encodes it into 2m n-bit binary error correction codewords;
N-bit binary error-correcting codewords are input into 2n m-bit blocks, and a hash function unit of a multiplex Davis-Meier that outputs a hash value of n m-bit blocks is output from the hash function unit. This is a hash function method including a delay memory that delays a hash value of n m-bit blocks by one step, and has an effect of reducing the rate of occurrence of collision.

【0020】以下、本発明の実施の形態について、図1
を参照しながら詳細に説明する。
FIG. 1 shows an embodiment of the present invention.
This will be described in detail with reference to FIG.

【0021】(実施の形態)本発明の実施の形態は、
(2k−n)個のmビットブロックのメッセージと1ス
テップ遅延したn個のmビットブロックのハッシュ値を
入力して、(n,k)2元符号器で2m個のnビット2
元誤り訂正符号語に符号化し、2n個のmビットブロッ
クを形成し、2n個のmビットブロックをn個の多重デ
ービス−マイヤのハッシュ関数器に入力して、n個のm
ビットブロックのハッシュ値を出力するハッシュ関数方
式である。
(Embodiment) An embodiment of the present invention is as follows.
The (2k−n) m-bit block message and the hash value of the n m-bit blocks delayed by one step are input, and the (n, k) binary encoder encodes 2m n-bit 2 bits.
The original error correction codeword is encoded to form 2n m-bit blocks, and the 2n m-bit blocks are input to n multiplexed Davis-Meier hash function units to obtain n m-bit blocks.
This is a hash function method that outputs a hash value of a bit block.

【0022】図1は、本発明の実施の形態の2元符号を
使ったハッシュ関数方式を示す図である。図1におい
て、多重デービス−マイヤのハッシュ関数器1は、n段
のデビス−マイヤのハッシュ関数器である。2元符号器
2は、BCH符号などの(n,k,d)2元符号を演算
する手段である。遅延メモリー3は、ハッシュ値を1ス
テップ遅延させるためのメモリーである。編集器4は、
m個のnビット符号語をn個のmビットブロックに編集
するメモリーまたはワイヤードロジックである。制御回
路5は、各部を制御する制御手段である。
FIG. 1 is a diagram showing a hash function system using a binary code according to an embodiment of the present invention. In FIG. 1, a multiple Davis-Meier hash function unit 1 is an n-stage Davis-Meier hash function unit. The binary encoder 2 is means for calculating an (n, k, d) binary code such as a BCH code. The delay memory 3 is a memory for delaying the hash value by one step. Editor 4
A memory or wired logic that edits m n-bit codewords into n m-bit blocks. The control circuit 5 is control means for controlling each unit.

【0023】符号長n、情報記号数k、最小距離dの
(n,k,d)2元符号を利用する。デビス−マイヤの
ハッシュ関数器の段数をnとする。ハッシュ関数器の入
力は2nブロックである。したがって、2元符号器の入
力は2kブロックとなる。処理時刻iには、前の時刻
(i−1)のn個のハッシュ値を使わねばならないか
ら、メッセージブロックのため使われるブロック数r
は、n+r=2kだから、r=(2k―n)となる。ハ
ッシュ率は(2k―n)/nとなる。
An (n, k, d) binary code having a code length n, the number of information symbols k, and a minimum distance d is used. Let n be the number of stages of the Davis-Meier hash function unit. The input to the hash function unit is 2n blocks. Therefore, the input of the binary encoder is 2k blocks. Since the processing time i must use the n hash values of the previous time (i-1), the number r of blocks used for the message block
Since n + r = 2k, r = (2k−n). The hash rate is (2kn) / n.

【0024】本発明の実施の形態の2元符号を使ったハ
ッシュ関数方式は、2m個のnビット2元符号語から形
成した2つの符号語によって、mビットブロックのn個
のペアーを構成して、ハッシュ関数器に入力する点が、
K&Pの構成法と異なる。説明の便宜上、(15,11,
3)Hamming符号を短縮した(14,10,3)Hamming符号
で説明する。
In the hash function method using binary codes according to the embodiment of the present invention, n pairs of m-bit blocks are formed by two codewords formed from 2m n-bit binary codewords. The point input to the hash function unit is
It is different from the construction method of K & P. For convenience of explanation, (15, 11,
3) Hamming code is shortened (14, 10, 3).

【0025】パリティマトリクスは次のようになる。The parity matrix is as follows.

【数2】H=(α13,α12,α11,α10
α,α,α,α,α,α,α,α,α
,α0
H = (α 13 , α 12 , α 11 , α 10 ,
α 9 , α 8 , α 7 , α 6 , α 5 , α 4 , α 3 , α 2 , α
1 , α 0 )

【0026】原始多項式は(X4+X+1)である。 H1=f1(G1,M1) H2=f2(G3,M3) H3=f3(G5,M5) H4=f4(G7,G8) H5=f5(G9,G10) H6=f6(G11,G12) H7=f7(G13,G14) H8=f8(G2,M2) H9=f9(G4,M4) H10=f10(G6,M6) H11=f11(r4L,r4R) H12=f12(r3L,r3R) H13=f13(r2L,r2R) H14=f14(r1L,r1RThe primitive polynomial is (X 4 + X + 1). H 1 = f 1 (G 1 , M 1 ) H 2 = f 2 (G 3 , M 3 ) H 3 = f 3 (G 5 , M 5 ) H 4 = f 4 (G 7 , G 8 ) H 5 = f 5 (G 9, G 10) H 6 = f 6 (G 11, G 12) H 7 = f 7 (G 13, G 14) H 8 = f 8 (G 2, M 2) H 9 = f 9 (G 4, M 4) H 10 = f 10 (G 6, M 6) H 11 = f 11 (r 4L, r 4R) H 12 = f 12 (r 3L, r 3R) H 13 = f 13 ( r 2L , r 2R ) H 14 = f 14 (r 1L , r 1R )

【0027】ここで、(r4L,r4R),(r3L
3R),(r2L,r2R),(r1L,r1R)は、Hamming
符号のチェックビットのブロックである。これらは次式
で与えられる。 r4L=G1+G3+G5+G9+G13+G23L=G1+G3+G5+G7+G11+G2+G42L=G3+G5+G7+G9+G13+G4+G61L=G1+G3+G7+G11+G13+G64R=M1+M3+M5+G10+G14+M23R=M1+M3+M5+G8+G12+M2+M42R=M3+M5+G8+G10+G14+M4+M61R=M1+M3+G8+G12+G14+M6 シンボルGi,Mi,riL,riRは、mビットブロックを
表す。Giはひとつ前の時刻のハッシュ値を表す。Mi
メッセージブロックを表し、riL,riRは、Hamming符
号のチェックビットをそれぞれ表す。
Here, (r 4L , r 4R ), (r 3L ,
(r 3R ), (r 2L , r 2R ), (r 1L , r 1R ) are Hamming
This is a block of code check bits. These are given by the following equations. r 4L = G 1 + G 3 + G 5 + G 9 + G 13 + G 2 r 3L = G 1 + G 3 + G 5 + G 7 + G 11 + G 2 + G 4 r 2L = G 3 + G 5 + G 7 + G 9 + G 13 + G 4 + G 6 r 1L = G 1 + G 3 + G 7 + G 11 + G 13 + G 6 r 4R = M 1 + M 3 + M 5 + G 10 + G 14 + M 2 r 3R = M 1 + M 3 + M 5 + G 8 + G 12 + M 2 + M 4 r 2R = M 3 + M 5 + G 8 + G 10 + G 14 + M 4 + M 6 r 1R = M 1 + M 3 + G 8 + G 12 + G 14 + M 6 symbols G i, M i, r iL , r iR represents a m-bit blocks. G i represents a single hash value of the previous time. M i represents the message block, r iL, r iR represent respectively the check bits of Hamming code.

【0028】ここでは説明の便宜上Hamming符号で示し
たが、2重誤り訂正BCH符号で考えると次のようにな
る。BCH符号は、Hamming符号より最小距離を大きく
取れるので、より安全性の高いハッシュ関数を構成でき
る。(31,21,5)BCH符号を(30,20,5)BCH
符号に短縮する。するとr=40―30=10となる。ハッシ
ュ率は10/30=1/3となる。
Here, the Hamming code is used for the sake of convenience of explanation, but when considering a double error correction BCH code, it is as follows. Since the BCH code can have a larger minimum distance than the Hamming code, a more secure hash function can be configured. (31, 21, 5) BCH code is (30, 20, 5) BCH
Shorten to sign. Then, r = 40−30 = 10. The hash rate is 10/30 = 1/3.

【0029】2元符号を使った例と、従来のK&Pらの
結果とを比較のため表1に示す。
Table 1 shows an example using a binary code and a result of the conventional K & P et al. For comparison.

【0030】 [表1] 2元符号による方法と従来法との比較 −−−−−−−−−−−−−−−−−−−−−−−−−−− field t code rate collision memory −−−−−−−−−−−−−−−−−−−−−−−−−−− GF(2) 2 (25,15,5) 5/25=0.20 22m 25m GF(2) 2 (30,20,5) 10/30=0.333 22m 30m GF(2) 2 (62,54,5) 38/62=0.613 22m 62m GF(22) 1 (5,3,3) 1/5=0.20 2m 5m GF(24) 1 (6,4,3) 1/4=0.25 2m 6m GF(22) 1 (8,5,3) 1/4=0.25 2m 8m −−−−−−−−−−−−−−−−−−−−−−−−−−− (Non-binaryの符号は、K&Pらの結果による。)[Table 1] Comparison between binary code method and conventional method--------------------------------------------t memory −−−−−−−−−−−−−−−−−−−−−−−−−−−−− GF (2) 2 (25,15,5) 5/25 = 0.20 2 2m 25m GF ( 2) 2 (30,20,5) 10/30 = 0.333 2 2m 30m GF (2) 2 (62,54,5) 38/62 = 0.613 2 2m 62m GF (2 2 ) 1 (5,3,3 ) 1/5 = 0.20 2 m 5m GF (2 4 ) 1 (6,4,3) 1/4 = 0.25 2 m 6m GF (2 2 ) 1 (8,5,3) 1/4 = 0.25 2 m 8m ----- (Non-binary code is based on the result of K & P et al.)

【0031】上記のように、本発明の実施の形態では、
ハッシュ関数方式を、(2k−n)個のmビットブロッ
クのメッセージと1ステップ遅延したn個のmビットブ
ロックのハッシュ値を入力して、(n,k)2元符号器
で2m個のnビット2元誤り訂正符号語に符号化し、2
n個のmビットブロックを形成し、2個のmビットブロ
ックをn個の多重デービス−マイヤのハッシュ関数器に
入力して、n個のmビットブロックのハッシュ値を出力
する構成としたので、2元符号を使うことにより拡大ガ
ロア体の演算が不要になり、簡単な演算でより安全性の
高いハッシュ値を得ることができる。
As described above, in the embodiment of the present invention,
The hash function method is configured by inputting a message of (2k−n) m-bit blocks and a hash value of n m-bit blocks delayed by one step, and using an (n, k) binary encoder to obtain 2m n Encoded into a binary error correcting codeword,
Since n m-bit blocks are formed, the two m-bit blocks are input to the n multiple Davis-Meier hash function units, and the hash values of the n m-bit blocks are output. The use of the binary code eliminates the need for an operation on an extended Galois field, and a more secure hash value can be obtained with a simple operation.

【0032】[0032]

【発明の効果】以上説明したように、本発明によれば、
複数個のmビットブロックからなるメッセージをmビッ
トブロック暗号を用いて圧縮して多重に連接したハッシ
ュ値を得るハッシュ関数方式を、複数個のmビットブロ
ックのメッセージと1ステップ遅延したn個のmビット
ブロックのハッシュ値を入力して2m個のnビット2元
誤り訂正符号語に符号化する2元符号器と、2m個のn
ビット2元誤り訂正符号語を2n個のmビットブロック
にして入力しn個のmビットブロックのハッシュ値を出
力する多重デービス−マイヤのハッシュ関数器と、ハッ
シュ関数器から出力されたn個のmビットブロックのハ
ッシュ値を1ステップ遅延させる遅延メモリーとを具備
する構成としたので、2元符号を使うことにより拡大ガ
ロア体の演算が不要になり、簡単な演算でより安全性の
高いハッシュ値を得ることができるという効果が得られ
る。
As described above, according to the present invention,
A hash function method of compressing a message composed of a plurality of m-bit blocks using an m-bit block cipher and obtaining a multiplexed and concatenated hash value is described below. A binary encoder that inputs a hash value of a bit block and encodes it into 2m n-bit binary error correction codewords;
A multi-Davis-Meier hash function unit that inputs a binary error-correcting codeword into 2n m-bit blocks and outputs a hash value of n m-bit blocks, and n n-bit units output from the hash function unit Since the configuration is provided with a delay memory that delays the hash value of the m-bit block by one step, the use of the binary code eliminates the need for the operation of the extended Galois field, and provides a more secure hash value with a simple operation. Can be obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態の2元符号を使ったハッシ
ュ関数方式の図、
FIG. 1 is a diagram of a hash function method using a binary code according to an embodiment of the present invention;

【図2】従来のmビットブロック暗号を用いたデービス
−マイヤのハッシュ関数器、
FIG. 2 shows a Davis-Meier hash function unit using a conventional m-bit block cipher;

【図3】従来のmビットブロック暗号を用いた多重デー
ビス−マイヤのハッシュ関数器、
FIG. 3 shows a multi-Davis-Meier hash function using a conventional m-bit block cipher;

【図4】従来のK&Pによる誤り訂正符号を用いたハッ
シュ関数器である。
FIG. 4 shows a conventional hash function unit using an error correction code based on K & P.

【符号の説明】 1 多重デービス−マイヤのハッシュ関数器 2 2元符号器 3 遅延メモリー 4 編集器 5 制御回路 6 ワード 12 暗号化手段 13 ブロック符号器 14 編集器[Description of Code] 1 Hash function unit of multiple Davis-Meier 2 Binary encoder 3 Delay memory 4 Editor 5 Control circuit 6 Word 12 Encryption means 13 Block encoder 14 Editor

【手続補正2】[Procedure amendment 2]

【補正対象書類名】図面[Document name to be amended] Drawing

【補正対象項目名】全図[Correction target item name] All figures

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図1】 FIG.

【図2】 FIG. 2

【図3】 FIG. 3

【図4】 FIG. 4

フロントページの続き Fターム(参考) 5J065 AD02 AD11 AE08 AH02 AH06 AH08 5J104 AA09 AA18 LA05 NA12 NA23 9A001 CC02 DD10 EE03 EE04 GG01 JJ18 KK56 Continued on the front page F term (reference) 5J065 AD02 AD11 AE08 AH02 AH06 AH08 5J104 AA09 AA18 LA05 NA12 NA23 9A001 CC02 DD10 EE03 EE04 GG01 JJ18 KK56

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数個のmビットブロックからなるメッ
セージをmビットブロック暗号を用いて圧縮して多重に
連接したハッシュ値を得るハッシュ関数方式において、
複数個のmビットブロックのメッセージと1ステップ遅
延したn個のmビットブロックのハッシュ値を入力して
2m個のnビット2元誤り訂正符号語に符号化する2元
符号器と、2m個のnビット2元誤り訂正符号語を2n
個のmビットブロックにして入力しn個のmビットブロ
ックのハッシュ値を出力する多重デービス−マイヤのハ
ッシュ関数器と、ハッシュ関数器から出力されたn個の
mビットブロックのハッシュ値を1ステップ遅延させる
遅延メモリーとを具備することを特徴とするハッシュ関
数方式。
1. A hash function method for compressing a message consisting of a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed and connected hash value.
A binary encoder that inputs a plurality of m-bit block messages and a hash value of n m-bit blocks delayed by one step and encodes them into 2m n-bit binary error correction codewords; 2n n-bit binary error correction codeword
Multiplexed Davis-Meier hash function unit that inputs as m m-bit blocks and outputs a hash value of n m-bit blocks, and a hash value of n m-bit blocks output from the hash function unit in one step A hash function method comprising: a delay memory for delaying.
【請求項2】 複数個のmビットブロックからなるメッ
セージをmビットブロック暗号を用いて圧縮して多重に
連接したハッシュ値を得るハッシュ関数方式において、
複数個のmビットブロックのメッセージと1ステップ遅
延したn個のmビットブロックのハッシュ値を入力して
(t+1)m個(t≧1)のnビット2元誤り訂正符号
語に符号化する2元符号器と、(t+1)m個のnビッ
ト2元誤り訂正符号語を(t+1)n個のmビットブロ
ックにして入力しn個のmビットブロックのハッシュ値
を出力する多重デービス−マイヤのハッシュ関数器と、
ハッシュ関数器から出力されたn個のmビットブロック
のハッシュ値を1ステップ遅延させる遅延メモリーとを
具備することを特徴とするハッシュ関数方式。
2. A hash function method for compressing a message consisting of a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed and connected hash value.
A plurality of m-bit block messages and a hash value of n m-bit blocks delayed by one step are input and encoded into (t + 1) m (t ≧ 1) n-bit binary error correction codewords 2 Original encoder and (t + 1) m n-bit binary error-correcting codewords into (t + 1) n m-bit blocks and input and output a hash value of n m-bit blocks. A hash function unit,
A delay memory for delaying the hash value of the n m-bit blocks output from the hash function unit by one step.
【請求項3】 複数個のmビットブロックからなるメッ
セージをmビットブロック暗号を用いて圧縮して多重に
連接したハッシュ値を得るハッシュ関数方式において、
複数個のmビットブロックのメッセージと1ステップ遅
延したa個(a≧1)のmビットブロックのハッシュ値
を入力してm個の符号長(t+a)ビット(t≧1)の
2元誤り訂正符号語に符号化する2元符号器と、m個の
符号長(t+a)ビットの2元誤り訂正符号語を(t+
a)個のmビットブロックにして入力しa個のmビット
ブロックのハッシュ値を出力する鍵長tmビットのハッ
シュ関数器と、ハッシュ関数器から出力されたa個のm
ビットブロックのハッシュ値を1ステップ遅延させる遅
延メモリーとを具備することを特徴とするハッシュ関数
方式。
3. A hash function system for compressing a message comprising a plurality of m-bit blocks by using an m-bit block cipher to obtain a multiplexed and connected hash value.
A binary error correction of m code length (t + a) bits (t ≧ 1) by inputting a plurality of m-bit block messages and a hash value of a (a ≧ 1) m-bit blocks delayed by one step A binary encoder that encodes a codeword, and a binary error-correcting codeword having m code lengths (t + a) bits (t +
a) a hash function unit having a key length of tm bits for inputting as m m-bit blocks and outputting a hash value of a m-bit blocks; and a m function units output from the hash function unit
A delay memory for delaying the hash value of the bit block by one step.
【請求項4】 複数個のmビットブロックからなるメッ
セージをmビットブロック暗号を用いて圧縮して多重に
連接したハッシュ値を得るハッシュ関数方式において、
複数個のmビットブロックのメッセージと1ステップ遅
延したn個のmビットブロックのハッシュ値を入力して
n(t+1)個(t≧1)のmビットブロックの1個の
積符号の誤り訂正符号語に符号化する符号器と、n(t
+1)個のmビットブロックの誤り訂正符号語を入力し
てn個のmビットブロックのハッシュ値を出力する多重
デービス−マイヤのハッシュ関数器と、ハッシュ関数器
から出力されたn個のmビットブロックのハッシュ値を
1ステップ遅延させる遅延メモリーとを具備することを
特徴とするハッシュ関数方式。
4. A hash function method for compressing a message consisting of a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed and connected hash value,
An error correction code of one product code of n (t + 1) (t ≧ 1) m-bit blocks by inputting a plurality of m-bit block messages and a hash value of n m-bit blocks delayed by one step An encoder that encodes the words, and n (t
+1) a multi-Davis-Meier hash function unit that inputs error correction code words of m bit blocks and outputs hash values of n m bit blocks, and n m bits output from the hash function unit A delay memory for delaying the hash value of the block by one step.
【請求項5】 複数個のmビットブロックからなるメッ
セージをmビットブロック暗号を用いて圧縮して多重に
連接したハッシュ値を得るハッシュ関数方式において、
複数個のmビットブロックのメッセージと1ステップ遅
延したn個のmビットブロックのハッシュ値を入力して
n(t+1)個(t≧1)のmビットブロックの1個の
連接符号の誤り訂正符号語に符号化する符号器と、n
(t+1)個のmビットブロックの誤り訂正符号語を入
力してn個のmビットブロックのハッシュ値を出力する
多重デービス−マイヤのハッシュ関数器と、ハッシュ関
数器から出力されたn個のmビットブロックのハッシュ
値を1ステップ遅延させる遅延メモリーとを具備するこ
とを特徴とするハッシュ関数方式。
5. A hash function method for compressing a message consisting of a plurality of m-bit blocks using an m-bit block cipher to obtain a multiplexed and connected hash value,
An error correction code for one concatenated code of n (t + 1) (t ≧ 1) m-bit blocks by inputting a plurality of m-bit block messages and hash values of n m-bit blocks delayed by one step An encoder to encode words, and n
A multi-Davis-Meier hash function unit for inputting (t + 1) m-bit block error correction codewords and outputting n m-bit block hash values, and n m output from the hash function unit A delay memory for delaying the hash value of the bit block by one step.
JP10292801A 1998-10-01 1998-10-01 Hash function method Expired - Lifetime JP2983533B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10292801A JP2983533B1 (en) 1998-10-01 1998-10-01 Hash function method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10292801A JP2983533B1 (en) 1998-10-01 1998-10-01 Hash function method

Publications (2)

Publication Number Publication Date
JP2983533B1 JP2983533B1 (en) 1999-11-29
JP2000112353A true JP2000112353A (en) 2000-04-21

Family

ID=17786531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10292801A Expired - Lifetime JP2983533B1 (en) 1998-10-01 1998-10-01 Hash function method

Country Status (1)

Country Link
JP (1) JP2983533B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007288576A (en) * 2006-04-18 2007-11-01 Kyodo Printing Co Ltd Encoding method of information symbol, device therefor, decoding method of information symbol and decoding device
JP4735644B2 (en) * 2005-11-04 2011-07-27 日本電気株式会社 Message authentication apparatus, message authentication method, message authentication program and recording medium thereof
CN105610848A (en) * 2016-01-08 2016-05-25 北京工业大学 Centralized data preservation method and system with source data security guaranty mechanism

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4735644B2 (en) * 2005-11-04 2011-07-27 日本電気株式会社 Message authentication apparatus, message authentication method, message authentication program and recording medium thereof
JP2007288576A (en) * 2006-04-18 2007-11-01 Kyodo Printing Co Ltd Encoding method of information symbol, device therefor, decoding method of information symbol and decoding device
JP4662367B2 (en) * 2006-04-18 2011-03-30 共同印刷株式会社 Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus
CN105610848A (en) * 2016-01-08 2016-05-25 北京工业大学 Centralized data preservation method and system with source data security guaranty mechanism
CN105610848B (en) * 2016-01-08 2018-05-25 北京工业大学 Possess the centralized data security method and system of source data Security Assurance Mechanism

Also Published As

Publication number Publication date
JP2983533B1 (en) 1999-11-29

Similar Documents

Publication Publication Date Title
Josefsson et al. Edwards-curve digital signature algorithm (EdDSA)
Wang Quantum resistant random linear code based public key encryption scheme RLCE
KR101942030B1 (en) Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof
Josefsson et al. RFC 8032: Edwards-curve digital signature algorithm (EdDSA)
JP2013523043A (en) How to identify and protect the integrity of a source dataset
JP2008242034A (en) Device and method for integrated encoding and decoding for performing data compression/expansion, encoding/decoding, and error control
Wang RLCEKeyEncapsulation Mechanism (RLCE-KEM) Specifcation
US8365052B2 (en) Encoding device for error correction, encoding method for error correction and encoding program for error correction
EP1287641B1 (en) A method of validating an encrypted message
Aragon et al. HQC-RMRS, an instantiation of the HQC encryption framework with a more efficient auxiliary error-correcting code
Alhassan et al. The Huffman’s method of secured data encoding and error correction using residue number system (RNS)
JP2983533B1 (en) Hash function method
JP2009169316A (en) Hash function operational device, signature device, program and hash function operational method
Mukesh et al. Enhancing AES algorithm with arithmetic coding
US20040076291A1 (en) End of message markers
Hashemi et al. A modified McEliece public-Key cryptosystem based on irregular codes of QC-LDPC and QC-MDPC
JP2983541B1 (en) Hash function method
Sahu et al. A code-based digital signature scheme using modified quasi-cyclic low-density parity-check codes (QC-LDPC)
JP3238670B2 (en) Hash function method
JP4914329B2 (en) Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium
JP2009188794A (en) Message authenticator generating device, message authenticator verifying device, message authenticator generating method, message authenticator verifying method, program, and recording medium
JP3220099B2 (en) Hash function method
Huang et al. A secure arithmetic coding algorithm based on integer implementation
Ilanthenral et al. Design of Hexi Cipher for Error Correction-Using Quasi Cyclic Partial Hexi Codes
Pérez-Pacheco et al. Mceliece cryptosystem: Reducing the key size with qc-ldpc codes