JP4886614B2 - Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium - Google Patents
Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium Download PDFInfo
- Publication number
- JP4886614B2 JP4886614B2 JP2007165141A JP2007165141A JP4886614B2 JP 4886614 B2 JP4886614 B2 JP 4886614B2 JP 2007165141 A JP2007165141 A JP 2007165141A JP 2007165141 A JP2007165141 A JP 2007165141A JP 4886614 B2 JP4886614 B2 JP 4886614B2
- Authority
- JP
- Japan
- Prior art keywords
- padding
- bit string
- bit
- message authenticator
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、データに対する認証子を生成または検証するための、メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびそれらの方法を用いたプログラムと記録媒体に関する。 The present invention relates to a message authenticator generating device, a message authenticator verifying device, a message authenticator generating method, a message authenticator verifying method, and a program and recording using these methods, for generating or verifying an authenticator for data. It relates to the medium.
メッセージ認証では、メッセージ認証コードGは、kビットの鍵Kと任意のビット長のデータMからメッセージ認証子τを生成する(τ←GK(M))。送信者と受信者、またはデータ作成者とデータ利用者とは、メッセージ認証コードGと鍵Kとを共有することで、次のように認証やデータ内容の検証を行うことができる。
送信者またはデータ作成者は、メッセージ認証子生成装置で、鍵KとデータMからメッセージ認証子τを生成する。そして、データMとメッセージ認証子とを送信または保存する。受信者またはデータ利用者は、メッセージ認証子検証装置で、鍵KとデータMからメッセージ認証子τ’を生成する。そして、τとτ’とを比較する。τ=τ’ならば、送信者またはデータ作成者の認証、およびデータ内容の整合性が検証されたとする。τ≠τ’ならば、送信者またはデータ作成者の詐称、もしくはデータの改ざんがあると判断する。
In message authentication, the message authentication code G generates a message authenticator τ from a k-bit key K and data M having an arbitrary bit length (τ ← G K (M)). By sharing the message authentication code G and the key K, the sender and the receiver or the data creator and the data user can perform authentication and verify the data contents as follows.
The sender or the data creator generates a message authenticator τ from the key K and the data M with the message authenticator generating device. Then, the data M and the message authenticator are transmitted or stored. The receiver or the data user generates a message authenticator τ ′ from the key K and the data M by the message authenticator verification device. Then, τ and τ ′ are compared. If τ = τ ′, it is assumed that the authentication of the sender or the data creator and the consistency of the data contents are verified. If τ ≠ τ ′, it is determined that the sender or the data creator is misrepresented or the data is falsified.
メッセージ認証コードGは、ハッシュ関数Hを用いて鍵KとデータMからメッセージ認証子τを生成することが多い。また、ハッシュ関数Hは、マークル・ダンガード強化関数Πとマークル・ダンガード反復による関数Fから構成されるものがある。マークル・ダンガード強化関数Πは、任意のビット長のビット列(“0”または“1”が並んだ列)をあらかじめ定めたブロック長dの整数倍に変換する。マークル・ダンガード反復による関数Fは、圧縮関数fを繰り返し用いることでブロック長dの整数倍のビット列を、あらかじめ定めたビット長nのビット列に変換する。具体的には、以下のような関数である。 The message authentication code G often generates a message authenticator τ from a key K and data M using a hash function H. Some hash functions H are composed of a Merkle Dungard enhancement function Π and a Merkle Dungard iteration function F. The Merkle Dungard enhancement function Π converts a bit string having an arbitrary bit length (a string in which “0” or “1” is arranged) into an integer multiple of a predetermined block length d. The function F by Merkle Dungard iteration converts a bit string that is an integral multiple of the block length d into a bit string of a predetermined bit length n by repeatedly using the compression function f. Specifically, the function is as follows.
v←H(D) (1)
D‖π←Π(D) (2)
v←F(D‖π) (3)
vi←f(vi−1‖mi) (4)
ただし、vはハッシュ関数Hの出力であって、nビットのビット列である。Dはハッシュ関数への入力であって、任意のビット長のビット列である。“‖”はビット列の結合を意味する記号、πはビット列の長さを調整するために付加される付加ビットである。viはnビットのビット列であって、圧縮関数fをi回繰り返したときの圧縮結果である。miはビット列M‖πをdビットずつ区切った場合のi番目のビット列を示しており、dビットのビット列である。ビット列M‖πのビット長がdのL倍とすると、式(4)をL回繰り返したときの圧縮結果vLが式(3)の出力vとなる。なお、初期のビット列v0には、あらかじめ定めた初期ベクトルVが用いられる。つまり、式(3)は式(4)をL回繰り返すことで実現できる。また、式(2)と(3)との組合せによって、ハッシュ関数Hが構成される。
v ← H (D) (1)
D‖π ← Π (D) (2)
v ← F (D‖π) (3)
v i ← f (v i−1 ‖m i ) (4)
However, v is the output of the hash function H and is a bit string of n bits. D is an input to the hash function, and is a bit string having an arbitrary bit length. “‖” Is a symbol indicating a combination of bit strings, and π is an additional bit added to adjust the length of the bit string. v i is a bit string of n bits, and is a compression result when the compression function f is repeated i times. m i represents the i-th bit string when the bit string M‖π is divided by d bits, and is a d-bit bit string. Assuming that the bit length of the bit string MLπ is L times d, the compression result v L when Expression (4) is repeated L times is the output v of Expression (3). Note that the initial bit string v 0, the initial vector V is used a predetermined. That is, Expression (3) can be realized by repeating Expression (4) L times. Further, the hash function H is configured by a combination of the expressions (2) and (3).
従来のメッセージ認証コードには、ハッシュ関数Hを2回適用して安全性を高めたもの(非特許文献1)、2つの鍵を用いてハッシュ関数Hは1回適用したもの(非特許文献2)、その2つの鍵を同一のものとし、ハッシュ関数は1回適用したもの(非特許文献3)などがある。 In the conventional message authentication code, the hash function H is applied twice to improve security (Non-Patent Document 1), and the hash function H is applied once using two keys (Non-Patent Document 2). ), The two keys are the same, and the hash function is applied once (Non-Patent Document 3).
非特許文献1のメッセージ認証コードGK(M)は、次式のようにメッセージ認証子τを求める。
非特許文献2のメッセージ認証コードGK,K’(M)は、次式のようにメッセージ認証子τを求める。
τ←H(K‖P‖M‖K’) (6)
ただし、Pはあらかじめ定められたパディング定数である。このメッセージ認証コードは、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能である(非特許文献5)。しかし、鍵を効率的に回復される攻撃法が知られており、ぜい弱である(非特許文献6)。
The message authentication code G K, K ′ (M) of
τ ← H (K‖P‖M‖K ') (6)
Here, P is a predetermined padding constant. This message authentication code can be forged security-proof based on the pseudo-randomness of the compression function (Non-Patent Document 5). However, attack methods that can recover keys efficiently are known and are weak (Non-Patent Document 6).
非特許文献3のメッセージ認証コードGK(M)は、次式のようにメッセージ認証子τを求める。
τ←H(K‖P‖M‖K) (7)
ただし、Pはあらかじめ定められたパディング定数である。
τ ← H (K‖P‖M‖K) (7)
Here, P is a predetermined padding constant.
非特許文献1のメッセージ認証コードは、鍵は1つだけでよく、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対しても安全である。しかし、圧縮関数を用いる繰り返し回数が、3回分増える(圧縮関数を用いる計算が3回分追加される)。また、ハッシュ関数を2回呼び出さなければならないという問題があった。
非特許文献2のメッセージ認証コードは、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、圧縮関数を用いる計算の追加は1〜2回で済み、ハッシュ関数の呼び出しも1回でよい。しかし、鍵を2つ必要とし、鍵回復攻撃に対して安全でないという問題があった。
The message authentication code of Non-Patent
The message authentication code of Non-Patent
非特許文献3のメッセージ認証コードは、鍵は1つでよく、圧縮関数を用いる計算の追加は1〜2回で済み、ハッシュ関数の呼び出しも1回でよい。しかし、耐偽造安全性の証明は知られていない。また、鍵回復攻撃に対して安全でないという問題があった。
このような状況から、本発明の目的は、鍵が1つでよく、圧縮関数を用いる計算の追加は1〜2回で済み、ハッシュ関数の呼び出しが1回でよいメッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法を実現することである。
The message authentication code of Non-Patent
From such a situation, the object of the present invention is to provide a message authenticator generating apparatus and message that require only one key, add a calculation using a compression function once or twice, and call a hash function only once. An authenticator verification device, a message authenticator generation method, and a message authenticator verification method are realized.
本発明のメッセージ認証子生成装置は、少なくともパディング部と付加ビット生成部とハッシュ部を備え、鍵K(ビット長k)とデータM(ビット長m)とを入力、メッセージ認証子τ(ビット長n)を出力とする。パディング部は、第1パディングP1(ビット長p1)、第2パディングP2(ビット長p2)、第3パディングP3(ビット長p3)を、少なくとも1つは鍵KまたはデータMを用いて定める。付加ビット生成部は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列が、当該メッセージ認証子生成装置で使用するハッシュ関数内の圧縮関数fで圧縮されるビット長dの整数倍となるように、付加ビットπを生成する。ハッシュ部は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列をハッシュ関数で変換した結果を、メッセージ認証子τとして出力する。 The message authenticator generating apparatus of the present invention includes at least a padding part, an additional bit generating part, and a hash part, and inputs a key K (bit length k) and data M (bit length m), and a message authenticator τ (bit length). Let n) be the output. The padding unit includes a first padding P 1 (bit length p 1 ), a second padding P 2 (bit length p 2 ), and a third padding P 3 (bit length p 3 ), at least one of which is a key K or data M Determined using The additional bit generation unit uses a bit string obtained by combining the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π in the message authenticator generation device. The additional bits π are generated so as to be an integral multiple of the bit length d compressed by the compression function f in the hash function to be performed. The hash unit converts the result of converting a bit string combined in the order of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π with a hash function, Output as message authenticator τ.
なお、「付加ビット生成部は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列が、当該メッセージ認証子生成装置で使用するハッシュ関数内の圧縮関数fで圧縮されるビット長dの整数倍となるように、付加ビットπを生成する。」とは、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列を、実際に作成するものに限定されない。例えば、付加ビット生成部は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3のビット長の情報だけから付加ビットπを求めればよい。また、「ハッシュ部は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列をハッシュ関数で変換した結果を、メッセージ認証子τとして出力する。」も、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列を、実際に作成するものに限定されない。例えば、ハッシュ部は、ビット列取り出し手段と圧縮手段とを備えればよい。この場合、ビット列取り出し手段は、結合したビット列を作成せずに、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番でdビットずつ取り出せばよい。また、圧縮手段は、取り出したビット列と、初期ベクトルVまたは前回の圧縮関数fによる圧縮結果とを入力として、圧縮関数fによる圧縮結果を求めればよい。そして、ビット列取り出し手段でのビット列の取り出しと圧縮手段での圧縮を繰り返し、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπのすべてのビット列が圧縮に使用されたときの圧縮結果をメッセージ認証子τとすればよい。このような処理によって、実際には結合したビット列を作成しなくても、結合したビット列をハッシュ関数で変換した結果を得ることができる。 “The additional bit generation unit generates a message authenticator by generating a bit string combining the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π. The additional bit π is generated so as to be an integral multiple of the bit length d compressed by the compression function f in the hash function used in the apparatus. ”Means that the key K, the first padding P 1 , the data M, the first It is not limited to the one that actually creates a bit string that is combined in the order of 2 paddings P 2 , key K, third padding P 3 , and additional bits π. For example, the additional bit generation unit may obtain the additional bit π from only the information on the bit length of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, and the third padding P 3 . In addition, “the hash part converts a bit string combined in the order of key K, first padding P 1 , data M, second padding P 2 , key K, third padding P 3 , and additional bits π with a hash function. The result is output as a message authenticator τ ”in the order of key K, first padding P 1 , data M, second padding P 2 , key K, third padding P 3 , and additional bit π. The bit string is not limited to what is actually created. For example, the hash unit may include a bit string extraction unit and a compression unit. In this case, the bit string extraction means does not create a combined bit string, but in the order of key K, first padding P 1 , data M, second padding P 2 , key K, third padding P 3 , and additional bit π. What is necessary is just to take out d bits at a time. Further, the compression means may obtain the compression result by the compression function f by using the extracted bit string and the initial vector V or the compression result by the previous compression function f as inputs. Then, the extraction of the bit string by the bit string extraction means and the compression by the compression means are repeated, and the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bits π The compression result when all the bit strings are used for compression may be the message authenticator τ. By such processing, it is possible to obtain a result obtained by converting the combined bit string using a hash function without actually generating the combined bit string.
パディング部は以下に示す条件の中からいくつかの条件を満足するように、第1パディングP1、第2パディングP2、第3パディングP3を定める。
(1)データMに第2パディングP2を結合したビット列から、データMを一意に求めることができるという条件。
(2)k+p1+m+p2がdの倍数であるという条件。
(3)k+p1がdであるという条件。
(4)第1パディングP1がいかなる付加ビットπとも異なり、第3パディングP3をなしとするという条件。
The padding section defines the first padding P 1 , the second padding P 2 , and the third padding P 3 so as to satisfy some conditions from the following conditions.
(1) the condition that a bit string obtained by combining the second padding P 2 in the data M, can be obtained data M uniquely.
(2) A condition that k + p 1 + m + p 2 is a multiple of d.
(3) A condition that k + p 1 is d.
(4) The condition that the first padding P 1 is different from any additional bits π and the third padding P 3 is absent.
(5)第1パディングP1のビット列が第3パディングP3のビット列の一部または全部とならない、かつ、第3パディングP3のビット列が第1パディングP1のビット列の一部または全部とならないという条件。
(6)データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、鍵K、第3パディングP3、前記ビット列ML、付加ビットπを結合したビット列のビット長がd以下となるビット長mLの最大値を最大ビット長mLmaxとし、あらかじめ定めた0以上mLmax以下の整数を整数Σとする。また、いかなる付加ビットπおよびいかなるビット列MLに対しても、第1パディングP1は、第3パディングの第1候補P3’と付加ビットπとを結合したビット列とは異なる、かつ、第1パディングP1は、第3パディングの第2候補P3”とビット列MLと付加ビットπとを結合したビット列とは異なるように、第1パディングP1と第3パディングの第1候補P3’と第3パディングの第2候補P3”とを定める。そして、ビット長mLが整数Σより大きい場合には、第1パディングP1、第2パディングP2を用いると共に、第3パディングP3として第1候補P3’を用いる。ビット長mLが整数Σ以下の場合には、第1パディングP1を用いると共に、第2パディングP2をなしとし、第3パディングP3として第2候補P3”にビット列MLを結合させたビット列を用いるという条件。
(5) The bit string of the first padding P 1 does not become part or all of the bit string of the third padding P 3 , and the bit string of the third padding P 3 does not become part or all of the bit string of the first padding P 1 That condition.
(6) A bit string M L (where M L has a bit length m L from 0 to d−1) when the data M is divided into d bits, and the key K, the third padding P 3 , bit string M L, the bit length of the bit string obtained by combining the additional bits π is the maximum value of the bit length m L equal to or less than d and the maximum bit length m Lmax, the
(7)第1パディングP1と第3パディングP3とが異なるという条件。
また、本発明のメッセージ認証子検証装置は、前述のメッセージ認証子生成装置と比較部とを備える。メッセージ認証子検証装置内のメッセージ認証子生成装置は、データMと鍵Kからメッセージ認証子τ’を生成する。比較部は、メッセージ認識子τとメッセージ認証子τ’とを比較してデータMの検証結果を出力する。
(7) first padding P 1 and the third padding P 3 and the condition that differ.
The message authenticator verification device of the present invention includes the above-described message authenticator generation device and a comparison unit. The message authenticator generation device in the message authenticator verification device generates a message authenticator τ ′ from the data M and the key K. The comparison unit compares the message recognizer τ and the message authenticator τ ′ and outputs a verification result of the data M.
本発明のメッセージ認証子生成装置はこのような構成なので、鍵が1つでよく、圧縮関数を用いる計算の追加は原則1〜2回で済み、ハッシュ関数の呼び出しが1回でよい。
さらに、第1パディングP1、第2パディングP2、第3パディングP3を、上述のいくつかの条件を満たすように決定すれば、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対する安全性を確保できる。例えば、(1)〜(4)の条件を満たせば、演算量を少なくしながら、安全性を確保できる。(1)と(2)と(5)の条件を満たせば、さらに演算量を少なくできる。(1)〜(3)と(6)の条件を満たせば、さらに圧縮率の低い圧縮関数を用いることができる。(1)〜(3)と(7)の条件を満たせば、(1)〜(4)の条件を満たす場合と同等の効果が得られる。このように、これらの条件は組み合わせることができる。
Since the message authenticator generation device of the present invention has such a configuration, only one key is required, and the calculation using the compression function may be added only once or twice in principle, and the hash function may be called once.
Furthermore, if the first padding P 1 , the second padding P 2 , and the third padding P 3 are determined so as to satisfy the above-mentioned several conditions, the anti-counterfeit safety proof based on the pseudo-randomness of the compression function is possible. Therefore, security against key recovery attacks can be secured. For example, if the conditions (1) to (4) are satisfied, safety can be ensured while reducing the amount of calculation. If the conditions (1), (2), and (5) are satisfied, the amount of calculation can be further reduced. If the conditions (1) to (3) and (6) are satisfied, a compression function having a lower compression rate can be used. If the conditions (1) to (3) and (7) are satisfied, the same effects as those obtained when the conditions (1) to (4) are satisfied can be obtained. Thus, these conditions can be combined.
[第1実施形態]
第1実施形態では、本発明のメッセージ認証子生成装置とメッセージ認証子生成方法を示す。図1に本発明のメッセージ認証子生成装置の機能構成例を示す。また、図2に本発明のメッセージ認証子生成装置の処理フローを示す。メッセージ認証子生成装置100は、パディング部110、付加ビット生成部120、ハッシュ部130、記録部190を備え、鍵K(ビット長k)とデータM(ビット長m)とが入力、メッセージ認証子τ(ビット長n)が出力である。
[First Embodiment]
In the first embodiment, a message authenticator generating apparatus and a message authenticator generating method of the present invention are shown. FIG. 1 shows an example of the functional configuration of a message authenticator generation device of the present invention. FIG. 2 shows a processing flow of the message authenticator generation device of the present invention. The message authenticator generating
パディング部110は、第1パディングP1(ビット長p1)、第2パディングP2(ビット長p2)、第3パディングP3(ビット長p3)を定める(S110)。付加ビット生成部120は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列が、使用するハッシュ関数内の圧縮関数fで圧縮されるビット長dの整数倍となるように、付加ビットπを生成する(S120)。ハッシュ部130は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列をハッシュ関数で変換した結果を、メッセージ認証子τとして出力する(S130)。記録部190は、鍵K、データM、第1パディングP1、第2パディングP2、第3パディングP3、付加ビットπなどを記録する。なお、記録部190を備えず、その他の構成部でこれらの情報を記録してもかまわない。
The
なお、付加ビット生成部120とハッシュ部130は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列を作成するとは限らない。例えば、付加ビット生成部120は、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3のビット長の情報だけから付加ビットπを求めれば、結合したビット列を作成する必要は無い。また、例えば、ハッシュ部130に、図1に点線で示すように、ビット列取り出し手段131と圧縮手段132とを備えさせる。この場合の処理フローを、図2に点線で示す。この処理では、ビット列取り出し手段131は、結合したビット列を作成せずに、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番でdビットずつ取り出す(S131)。圧縮手段132は、取り出したビット列と、初期ベクトルVまたは前回の圧縮関数fによる圧縮結果とを入力として、圧縮関数fによる圧縮結果を求める(S132)。そして、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπのすべてのビット列が圧縮に使用されたかを確認する(S133)。ステップS133がNoの場合は、ビット列取り出し手段131でのビット列の取り出しと圧縮手段での圧縮を繰り返す(ビット列取り出し手段131で次のdビットを取り出し、処理を続ける)。ステップS133がYesの場合は、このときの圧縮手段132の圧縮結果をメッセージ認証子τとする。
When the additional
図3に、あらかじめ定めた条件にしたがって第1パディングP1を定めるステップ(S111)、第2パディングP2を定めるステップ(S112)、第3パディングP3を定めるステップ(S113)を示した処理フローの例を示す。パディング部110は、例えば、以下に示す条件の例の中からいくつかの条件を満足するように、第1パディングP1、第2パディングP2、第3パディングP3を定める。
3, step (S111) for determining a first padding P 1 in accordance with a predetermined condition, a second step of determining the padding P 2 (S112), the process flow diagram illustrating step (S113) for determining a third padding P 3 An example of For example, the
(1)データMに第2パディングP2を結合したビット列から、データMを一意に求めることができるという条件。
(2)k+p1+m+p2がdの倍数であるという条件。
(3)k+p1がdであるという条件。
(4)第1パディングP1がいかなる付加ビットπとも異なり、第3パディングP3をなしとするという条件。
(5)第1パディングP1のビット列が第3パディングP3のビット列の一部または全部とならない、かつ、第3パディングP3のビット列が第1パディングP1のビット列の一部または全部とならないという条件。
(1) the condition that a bit string obtained by combining the second padding P 2 in the data M, can be obtained data M uniquely.
(2) A condition that k + p 1 + m + p 2 is a multiple of d.
(3) A condition that k + p 1 is d.
(4) The condition that the first padding P 1 is different from any additional bits π and the third padding P 3 is absent.
(5) The bit string of the first padding P 1 does not become part or all of the bit string of the third padding P 3 , and the bit string of the third padding P 3 does not become part or all of the bit string of the first padding P 1 That condition.
(6)データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、鍵K、第3パディングP3、前記ビット列ML、付加ビットπを結合したビット列のビット長がd以下となるビット長mLの最大値を最大ビット長mLmaxとし、あらかじめ定めた0以上mLmax以下の整数を整数Σとする。また、いかなる付加ビットπおよびいかなるビット列MLに対しても、第1パディングP1は、第3パディングの第1候補P3’と付加ビットπとを結合したビット列とは異なる、かつ、第1パディングP1は、第3パディングの第2候補P3”とビット列MLと付加ビットπとを結合したビット列とは異なるように、第1パディングP1と第3パディングの第1候補P3’と第3パディングの第2候補P3”とを定める。そして、ビット長mLが整数Σより大きい場合には、第1パディングP1、第2パディングP2を用いると共に、第3パディングP3として第1候補P3’を用いる。ビット長mLが整数Σ以下の場合には、第1パディングP1を用いると共に、第2パディングP2をなしとし、第3パディングP3として第2候補P3”にビット列MLを結合させたビット列を用いるという条件。
(6) A bit string M L (where M L has a bit length m L from 0 to d−1) when the data M is divided into d bits, and the key K, the third padding P 3 , bit string M L, the bit length of the bit string obtained by combining the additional bits π is the maximum value of the bit length m L equal to or less than d and the maximum bit length m Lmax, the
(7)第1パディングP1と第3パディングP3とが異なるという条件。
第1パディングP1、第2パディングP2、第3パディングP3を、上記のいくつかの条件を満たすように決定すれば、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対する安全性を確保できる。
(7) first padding P 1 and the third padding P 3 and the condition that differ.
If the first padding P 1 , the second padding P 2 , and the third padding P 3 are determined so as to satisfy the above-mentioned several conditions, the anti-counterfeit safety proof based on the pseudorandomness of the compression function is possible. Security against key recovery attacks can be secured.
条件の組み合わせの例1
1つ目の組み合わせの例は、(1)〜(4)の条件を満たすことである。この例では、データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とする。この条件の具体例としては、第1パディングP1を(d−k)個の“0”が並んだビット列、第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、第3パディングP3をなしと定める例がある。
Condition combination example 1
An example of the first combination is to satisfy the conditions (1) to (4). In this example, the last remaining bit string when the data M is divided into d bits is a bit string M L (where M L has a bit length m L of 0 to d−1). As a specific example of this condition, the first padding P 1 is a bit string in which (d−k) “0” s are arranged, the second padding P 2 is “1” and (d−m L −1) “ 0 "bit string aligned, there is an example for determining that no third padding P 3.
この例のイメージを図4に示す。圧縮手段132は、図1に示したように1つであるが、図4では繰り返し回数が分かるように、圧縮手段132を繰り返し回数だけ並べて示している。なお、圧縮手段を示す番号の添え字は、何回目の繰り返しに相当するのかを示している。繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1を結合したビット列(dビット)とが、圧縮手段132に入力される。そして、繰り返しの2回目では、1回目の圧縮結果(nビット)と、データMをdビットずつに区切った最初のビット列M1とが、圧縮手段132に入力される。このように繰り返し処理が行われ、L+1回目の繰り返しでは、L回目の圧縮結果(nビット)と、ビット列MLと第2パディングP2を結合したビット列(dビット)が、圧縮手段132入力される。L+2回目の繰り返しでは、L+1回目の圧縮結果(nビット)と、鍵Kと付加ビットπを結合したビット列(dビット)が、圧縮手段132入力される。そして、L+2回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。
An image of this example is shown in FIG. The number of the compression means 132 is one as shown in FIG. 1, but in FIG. 4, the compression means 132 is shown side by side by the number of repetitions so that the number of repetitions can be understood. Note that the number suffix indicating the compression means indicates the number of repetitions. In the first iteration, a predetermined initial vector V (n bits) and a bit string (d bits) obtained by combining the key K and the first padding P 1 are input to the
このように、(1)〜(4)の条件を満たせば、鍵は1つでよく、圧縮関数を用いる計算の追加は2回で済み、ハッシュ関数の呼び出しも1回でよい。また、この条件の組み合わせの場合は、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対しても安全である。 As described above, if the conditions (1) to (4) are satisfied, the number of keys may be one, the calculation using the compression function may be added twice, and the hash function may be called once. Further, in the case of this combination of conditions, forgery-proof security proof based on the pseudo-randomness of the compression function is possible, and it is safe against key recovery attacks.
条件の組み合わせの例2
2つ目の組み合わせの例は、(1)と(2)と(5)の条件を満たすことである。この例では、鍵K、第1パディングP1、データMを結合したビット列を、dビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とする。この条件の具体例としては、次のような定め方がある。第1パディングP1を“0”とする。第2パディングP2を、(k+1+m)がdより小さいときは“1”と(d−k−m−2)個の“0”が並んだビット列、(k+1+m)がd以上のときは“1”と(d−mL−1)個の“0”が並んだビット列とする。第3パディングP3を“1”とする。
Condition combination example 2
An example of the second combination is to satisfy the conditions (1), (2), and (5). In this example, the key K, the first padding P 1, a bit string obtained by combining the data M, the bit string a bit string intolerable last time separated one by d bits M L (however, the bit length of M L m L from 0 d -1). A specific example of this condition is as follows. The first padding P 1 is set to "0". The second padding P 2 is a bit string in which “1” and (d−k−m−2) “0” are arranged when (k + 1 + m) is smaller than d, and “1” when (k + 1 + m) is greater than or equal to d. ”And (d−m L −1)“ 0 ”are arranged in a bit string. The third padding P 3 is set to "1".
この例のイメージを図5に示す。図5の(a)は、(k+1+m)がdより小さいときの処理を示している。この場合は、繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1とデータMと第2パディングP2を結合したビット列(dビット)とが、圧縮手段132に入力される。繰り返しの2回目では、1回目の圧縮結果(nビット)と、鍵Kと第3パディングP3と付加ビットπが結合したビット列(dビット)が、圧縮手段132入力される。そして、2回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。
An image of this example is shown in FIG. FIG. 5A shows processing when (k + 1 + m) is smaller than d. In this case, in the first iteration, the predetermined initial vector V (n bits), a key K and a first padding P 1 and the data M and the bit string obtained by combining the second padding P 2 (d bits) but , And input to the compression means 132. The repeated second and first compression result (n bits), key K and the third padding P 3 to the bit string added bit π bound (d bits) are compression means 132 inputs. Then, the second compression result is output from the
図5の(b)は、(k+1+m)がd以上のときの処理を示している。この場合は、繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1とデータMの最初の(d−k−1)ビットM1を結合したビット列(dビット)とが、圧縮手段132に入力される。繰り返しの2回目では、1回目の圧縮結果(nビット)と、データMの次のdビットM2とが、圧縮手段132に入力される。このように繰り返し処理が行われ、L回目の繰り返しでは、L−1回目の圧縮結果(nビット)と、ビット列MLと第2パディングP2を結合したビット列(dビット)が、圧縮手段132入力される。L+1回目の繰り返しでは、L回目の圧縮結果(nビット)と、鍵Kと第3パディングP3と付加ビットπを結合したビット列(dビット)が、圧縮手段132入力される。そして、L+1回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。
FIG. 5B shows processing when (k + 1 + m) is equal to or greater than d. In this case, in the first iteration, bound to a predetermined initial vector V (n bits), key K and the first of the first padding P 1 and the data M to (d-k-1) bits M 1 A bit string (d bits) is input to the compression means 132. In the second repetition, the first compression result (n bits) and the next d bits M 2 of the data M are input to the compression means 132. Thus repetition processing is performed, the L iteration, L-1 th compression results (n bits), the bit string M L and the bit string obtained by combining the second padding P 2 (d bits), compression means 132 Entered. In L + 1 th iteration, L th compression results (n bits), key K and the third padding P 3 a bit string obtained by combining the additional bit [pi (d bits) are compression means 132 inputs. Then, the L + 1-th compression result is output from the
このように、(1)と(2)と(5)の条件を満たせば、鍵は1つでよく、圧縮関数を用いる計算の追加は1回で済み、ハッシュ関数の呼び出しも1回でよい。したがって、1つ目の組み合わせの例よりも、さらに演算量を少なくできる。また、この条件の組み合わせの場合も、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対しても安全である。 As described above, if the conditions (1), (2), and (5) are satisfied, one key is required, and the calculation using the compression function is added once, and the hash function is called only once. . Therefore, the amount of calculation can be further reduced as compared with the first combination example. Also in the case of this combination of conditions, forgery-proof security proof based on the pseudo-randomness of the compression function is possible, and it is safe against key recovery attacks.
条件の組み合わせの例3
3つ目の組み合わせの例は、(1)〜(3)と(6)の条件を満たすことである。この例では、データMを結合したビット列を、dビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とする。この条件の具体例としては、次のような定め方がある。ビット長mLが0より大きい場合には、第1パディングP1を(d−k)個の“0”が並んだビット列、第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、第3パディングP3を“0”とする。ビット長mLが0の場合には、第1パディングP1を(d−k)個の“0”が並んだビット列、第2パディングP2をなし、第3パディングP3を“1”とする。
Condition combination example 3
An example of the third combination is to satisfy the conditions (1) to (3) and (6). In this example, a bit string obtained by combining the data M, the bit string a bit string intolerable last time separated one by d bits M L (however, the bit length m L of M L from 0 d-1) a. A specific example of this condition is as follows. When the bit length m L is larger than 0, the first padding P 1 is a bit string in which (d−k) “0” s are arranged, and the second padding P 2 is “1” and (d−m L −1 ) A bit string in which “0” s are arranged, and the third padding P 3 is “0”. When the bit length m L is 0, the first padding P 1 is a bit string in which (d−k) “0” s are arranged, the second padding P 2 is formed, and the third padding P 3 is set to “1”. To do.
この例のイメージを図6に示す。図6の(a)は、ビット長mLが0より大きい場合の処理を示している。この場合は、繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1を結合したビット列(dビット)とが、圧縮手段132に入力される。繰り返しの2回目では、1回目の圧縮結果(nビット)と、データMをdビットずつに区切った最初のビット列M1とが、圧縮手段132に入力される。このように繰り返し処理が行われ、L+1回目の繰り返しでは、L回目の圧縮結果(nビット)と、ビット列MLと第2パディングP2を結合したビット列(dビット)が、圧縮手段132入力される。L+2回目の繰り返しでは、L+1回目の圧縮結果(nビット)と、鍵Kと第3パディングP3と付加ビットπが結合したビット列(dビット)が、圧縮手段132入力される。そして、L+2回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。
An image of this example is shown in FIG. FIG. 6A shows processing when the bit length m L is larger than zero. In this case, in the first iteration, a predetermined initial vector V (n bits) and a bit string (d bits) obtained by combining the key K and the first padding P 1 are input to the
図6の(b)は、ビット長mLが0の場合の処理を示している。この場合は、繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1を結合したビット列(dビット)とが、圧縮手段132に入力される。繰り返しの2回目では、1回目の圧縮結果(nビット)と、データMをdビットずつに区切った最初のビット列M1とが、圧縮手段132に入力される。このように繰り返し処理が行われ、L回目の繰り返しでは、L−1回目の圧縮結果(nビット)と、データMをdビットずつに区切ったときのL−1番目のビット列ML−1とが、圧縮手段132入力される。L+1回目の繰り返しでは、L回目の圧縮結果(nビット)と、鍵Kと第3パディングP3と付加ビットπを結合したビット列(dビット)が、圧縮手段132入力される。そして、L+1回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。なお、ビット長mLが0の場合とは、ビット列MLがない場合を意味しているので、ビット列MLを圧縮手段132に入力することはない。
FIG. 6B shows processing when the bit length m L is zero. In this case, in the first iteration, a predetermined initial vector V (n bits) and a bit string (d bits) obtained by combining the key K and the first padding P 1 are input to the
このように、(1)〜(3)と(6)の条件を満たせば、鍵は1つでよく、圧縮関数を用いる計算の追加は1回または2回で済み、ハッシュ関数の呼び出しも1回でよい。したがって、1つ目の組み合わせの例よりも、さらに演算量を少なくできる。特に、圧縮率が小さい圧縮関数を使うことができるという効果もある。また、この条件の組み合わせの場合も、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対しても安全である。 As described above, if the conditions (1) to (3) and (6) are satisfied, the number of keys is one, the calculation using the compression function is added once or twice, and the hash function is called one time. Times. Therefore, the amount of calculation can be further reduced as compared with the first combination example. In particular, there is an effect that a compression function having a small compression rate can be used. Also in the case of this combination of conditions, forgery-proof security proof based on the pseudo-randomness of the compression function is possible, and it is safe against key recovery attacks.
条件の組み合わせの例4
4つ目の組み合わせの例は、(1)〜(3)と(7)の条件を満たすことである。この例では、データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とする。この条件の具体例としては、第1パディングP1を(d−k)個の“0”が並んだビット列、第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、第3パディングP3を(d−k)個の“1”が並んだビット列と定める例がある。
Condition combination example 4
An example of the fourth combination is to satisfy the conditions (1) to (3) and (7). In this example, the last remaining bit string when the data M is divided into d bits is a bit string M L (where M L has a bit length m L of 0 to d−1). As a specific example of this condition, the first padding P 1 is a bit string in which (d−k) “0” s are arranged, the second padding P 2 is “1” and (d−m L −1) “ 0 there are examples to determine "the bit string arranged, the third padding P 3 (d-k) pieces of" 1 "bit string aligned.
この例のイメージを図7に示す。繰り返しの1回目では、あらかじめ定められた初期ベクトルV(nビット)と、鍵Kと第1パディングP1を結合したビット列(dビット)とが、圧縮手段132に入力される。そして、繰り返しの2回目では、1回目の圧縮結果(nビット)と、データMをdビットずつに区切った最初のビット列M1とが、圧縮手段132に入力される。このように繰り返し処理が行われ、L+1回目の繰り返しでは、L回目の圧縮結果(nビット)と、ビット列MLと第2パディングP2を結合したビット列(dビット)が、圧縮手段132入力される。L+2回目の繰り返しでは、L+1回目の圧縮結果(nビット)と、鍵Kと第3パディングP3を結合したビット列(dビット)が、圧縮手段132入力される。L+3回目の繰り返しでは、L+2回目の圧縮結果(nビット)と、付加ビットπが、圧縮手段132入力される。そして、L+3回目の圧縮結果が、メッセージ認証子τとして、ハッシュ部130から出力される。
An image of this example is shown in FIG. In the first iteration, a predetermined initial vector V (n bits) and a bit string (d bits) obtained by combining the key K and the first padding P 1 are input to the
このように、(1)〜(3)と(7)の条件を満たせば、圧縮関数を用いる計算の追加は3回となってしまうが、鍵は1つでよく、ハッシュ関数の呼び出しも1回でよい。また、この条件の組み合わせの場合は、圧縮関数の擬似乱数性に基づく耐偽造安全性証明が可能であり、鍵回復攻撃に対しても安全である。
なお、上述の条件や条件の組み合わせは例示である。条件は(1)〜(7)に限るものではなく、条件の組み合わせも上述の例に限るものでもない。
As described above, if the conditions (1) to (3) and (7) are satisfied, the calculation using the compression function is added three times, but only one key is required, and the hash function is called one. Times. Further, in the case of this combination of conditions, forgery-proof security proof based on the pseudo-randomness of the compression function is possible, and it is safe against key recovery attacks.
The above conditions and combinations of conditions are examples. The conditions are not limited to (1) to (7), and the combination of conditions is not limited to the above example.
[第2実施形態]
図8に本発明のメッセージ認証子検証装置の機能構成例を示す。また、図9に本発明のメッセージ認証子検証装置の処理フロー例を示す。メッセージ認証子検証装置200は、第1実施形態で示したメッセージ認証子生成装置100と比較部210と記録部290を備え、データM(ビット長m)とメッセージ認証子τ(ビット長n)が入力、検証結果が出力である。
[Second Embodiment]
FIG. 8 shows a functional configuration example of the message authenticator verification device of the present invention. FIG. 9 shows a processing flow example of the message authenticator verification device of the present invention. The message authenticator verification device 200 includes the message
メッセージ認証子検証装置200内のメッセージ認証子生成装置100は、データMとあらかじめ記録しておいた鍵Kからメッセージ認証子τ’を生成する(S100)。比較部210は、メッセージ認識子τとメッセージ認証子τ’とを比較する。そして、τ=τ’ならば、送信者またはデータ作成者の認証、およびデータ内容の整合性が検証されたとする。τ≠τ’ならば、送信者またはデータ作成者の詐称、もしくはデータの改ざんがあると判断する。そして、検証結果を出力する(S210)。なお、記録部290を備えず、その他の構成部でこれらの情報を記録してもよい。
The message authenticator
このような構成なので、メッセージ認証子検証装置200でも、メッセージ認証子生成装置100と同じ効果を得ることができる。
図10に、コンピュータの機能構成例を示す。なお、本発明のメッセージ認証子生成装置およびメッセージ認証子検証装置は、コンピュータ2000の記録部2020に、本発明の各構成部としてコンピュータ2000を動作させるプログラムを読み込ませ、処理部2010、入力部2030、出力部2040などを動作させることで実現できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
With this configuration, the message authenticator verification device 200 can achieve the same effects as the message
FIG. 10 shows a functional configuration example of a computer. Note that the message authenticator generation device and the message authenticator verification device of the present invention cause the
[安全性の証明]
以下では、第1実施形態の条件の組み合わせの例1で示した具体例で、安全性が確保されることを証明する。
[Proof of safety]
In the following, it will be proved that the safety is ensured by the specific example shown in the example 1 of the combination of conditions of the first embodiment.
定義
まず、証明に使用する記号等を以下のように定義する。
“V”は、圧縮手段に入力する初期ベクトル(Initial Vector)である。
“0p”は、p個の“0”が並んだビット列である。
“攻撃者”は、オラクルを呼び出すアルゴリズムAである。
Definition First, the symbols used for proof are defined as follows.
“V” is an initial vector input to the compression means.
“0 p ” is a bit string in which p “0” s are arranged.
“Attacker” is Algorithm A that calls Oracle.
オラクルOはしばしばゲームGで定義される。その場合、
PRFs:“PRF(擬似乱数関数族)”は、安全なMACであり、本明細書中の全てのMACは、RFP型である。関数{fK:X→Y}K∈KEYについて考えると、prf攻撃者は2つのオラクル
cAU(computationally Almost Universal):au攻撃者 Aはオラクルを呼び出さない。メッセージの組(M,M’)∈X×Xを出力するだけである。
cAU (computationally Almost Universal): au attacker A does not call Oracle. It simply outputs the message set (M, M ′) εX × X.
リソース:攻撃者 Aのリソースは、時間リソースt、オラクルへの質問回数q、各質問のビット数μで評価される。
Resource: Attacker A's resource is evaluated by time resource t, number of questions to Oracle q, and bit number μ of each question.
命題1
任意のtに対して、
For any t
証明
Aを、最大値tの時間リソースと最大μビットの出力メッセージのfに対するau攻撃者とする。上記の定義より、
安全性の証明
次の定理1は、条件の組み合わせ1による構成の安全性を示している。
Proof of Safety
定理1
圧縮関数fをf:{0,1}n+p→{0,1}n、fで構成される条件の組み合わせ1による構成SKをSK:{0,1}≦N→{0,1}nとすると、条件の組み合わせ1による構成Sは、
The compression function f f: {0,1} n + p → {0,1} n, the structure S K by the
定理1は、後述の3つの命題により証明できる。
命題2
証明
Aを、最大値tの時間リソースを持ち、最大q(≧2)回のオラクルへの質問とそれぞれ最大μビットのメッセージを出力するSに対するprf攻撃者とする。
Let proof A be a prf attacker against S who has a time resource of the maximum value t, and outputs a maximum of q (≧ 2) questions to Oracle and a maximum μ-bit message respectively.
主張:次式が成り立つ。
証明
主張:全てのMに対してπ(λ(M))≠0pとする。よって、ゲームGでは、すべての質問Mに対して
ここで、一般性を失うことなく攻撃者Aは質問を繰り返さず、たとえAの質問へのどのような返答が行われたとしても、Aの質問の総数は常に最大値q以下であると仮定する。M1,…,Mqを順番にAの質問とする。
Here, without loss of generality, the attacker A does not repeat the question, and it is assumed that the total number of questions of A is always less than or equal to the maximum value q, no matter what response is made to the question of A. To do. Let M 1 ,..., M q be the questions of A in order.
Eを、1≦i<j≦qに対して発生する事象
主張:次式が成り立つ。
証明
E’を、1≦i<j≦qに対する事象
Proof E ′ is an event for 1 ≦ i <j ≦ q
命題3
圧縮関数fをf:{0,1}n+p→{0,1}nとすると、マークル・ダンガード繰返しによって圧縮関数fから構成された鍵付ハッシュ関数FK:{0,1}d*→{0,1}nがcAUならば、任意の1対1パディングを組み合わせて構成した
When the compression function f is f: {0, 1} n + p → {0, 1} n , the keyed hash function F K : {0, 1} d * → {configured by the Merkle Dungard iteration is used. 0,1} If n is cAU, any one-to-one padding is combined
証明
Aを、最大値tの時間リソースを持ち、それぞれ最大μビットのメッセージ(M,M’)を出力する、
命題4
圧縮関数fをf:{0,1}n+p→{0,1}nとすると、
If the compression function f is f: {0, 1} n + p → {0, 1} n ,
証明
命題4は非特許文献4で証明されている。
上述の命題から、以下の式が成り立つ。
From the above proposition, the following equation holds.
なお、組み合わせの例2、条件の組み合わせの例3、条件の組み合わせの例4は、以下に示す定理2、定理3、定理4を同様に証明することで、安全性の証明ができる。具体的な証明は省略する。
The combination example 2, the condition combination example 3 and the condition combination example 4 can prove safety by proving the following
定理2
圧縮関数fをf:{0,1}n+p→{0,1}n、fで構成される条件の組み合わせ2による構成 SKをSK:{0,1}≦N→{0,1}nとすると、
The compression function f f: {0,1} n + p → {0,1} n, the structure S K by combining 2 consists condition f S K: {0,1} ≦ N → {0,1} If n ,
定理3
圧縮関数fをf:{0,1}n+p→{0,1}n、fで構成される条件の組み合わせ3による構成 SKをSK:{0,1}≦N→{0,1}nとすると、
The compression function f f: {0,1} n + p → {0,1} n, the structure S K by combining 3 consists conditions f S K: {0,1} ≦ N → {0,1} If n ,
定理4
圧縮関数fをf:{0,1}n+p→{0,1}n、fで構成される条件の組み合わせ4による構成 SKをSK:{0,1}≦N→{0,1}nとすると、
The compression function f is composed of f: {0, 1} n + p → {0, 1} n ,
本発明のメッセージ認証子生成装置およびメッセージ認証子検証装置は、例えば携帯電話、パソコン、ルータ、サーバなどに組み込み、送受信されるデータや蓄積されたデータに対する認証子を生成することまたは検証することに利用できる。 The message authenticator generation device and the message authenticator verification device of the present invention are incorporated into, for example, a mobile phone, a personal computer, a router, a server, etc., and generate or verify an authenticator for data to be transmitted / received or stored data Available.
100 メッセージ認証子生成装置
110 パディング部
120 付加ビット生成部
130 ハッシュ部
131 ビット列取り出し手段
132 圧縮手段
190 記録部
200 メッセージ認証子検証装置
210 比較部
290 記録部
DESCRIPTION OF
Claims (30)
第1パディングP1、第2パディングP2、第3パディングP3を、少なくとも1つは前記鍵Kまたは前記データMを用いて定めるパディング部と、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列が、当該メッセージ認証子生成装置で使用するハッシュ関数内の圧縮関数fで圧縮されるビット長dの整数倍となるように、付加ビットπを生成する付加ビット生成部と、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列のハッシュ関数による変換結果を、メッセージ認証子τとして出力するハッシュ部と、
を備えるメッセージ認証子生成装置。 A message authenticator generation device that receives a key K and data M and outputs a message authenticator τ,
A first padding P 1 , a second padding P 2 , a third padding P 3 , at least one of which is defined by using the key K or the data M;
A bit string obtained by combining the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π is compressed in a hash function used in the message authenticator generation device. An additional bit generation unit that generates the additional bit π so as to be an integer multiple of the bit length d compressed by the function f;
A conversion result by a hash function of a bit string combined in the order of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bits π is used as a message authenticator τ. The hash part to output,
A message authenticator generation device comprising:
前記圧縮関数fは、ビット長n+dのビット列をビット長nに圧縮する関数、初期ベクトルはあらかじめ定められたビット長がnのビット列とするときに、
前記ハッシュ部は、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番でdビットずつ取り出すビット列取り出し手段と、
前記ビット列取り出し手段で取り出したビット列と、初期ベクトルVまたは前回の圧縮関数fによる圧縮結果とを入力として、圧縮関数fによる圧縮結果を求める圧縮手段と、
を備え、
前記ビット列取り出し手段でのビット列の取り出しと前記圧縮手段での圧縮を繰り返し、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπのすべてのビット列が圧縮に使用されたときの圧縮結果をメッセージ認証子τとする
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generation device according to claim 1,
The compression function f is a function for compressing a bit string having a bit length n + d to a bit length n, and the initial vector is a bit string having a predetermined bit length n.
The hash part is
A bit string extracting means for extracting d bits in the order of key K, first padding P 1 , data M, second padding P 2 , key K, third padding P 3 , and additional bits π;
Compression means for obtaining the compression result by the compression function f by using the bit string extracted by the bit string extraction means and the compression result by the initial vector V or the previous compression function f;
With
Repeating the extraction of the bit string by the bit string extraction means and the compression by the compression means,
A compression result obtained when all the bit strings of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π are used for compression is represented as a message authenticator τ. A message authenticator generating device characterized in that:
前記パディング部は、
データMに第2パディングP2を結合したビット列から、データMを一意に求めることができるという条件を満たすように第2パディングP2を定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 1 or 2,
The padding part is
A bit string that combines second padding P 2 in the data M, the message authentication code generation apparatus characterized by defining a second padding P 2 so as to satisfy the condition that it is possible to obtain data M uniquely.
鍵K、データM、第1パディングP1、第2パディングP2のビット長をそれぞれ、k、m、p1、p2とするときに、
前記パディング部は、
k+p1+m+p2がdの倍数となるという条件も満たすように第2パディングP2を定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generation device according to claim 3, wherein
When the bit lengths of the key K, data M, first padding P 1 , and second padding P 2 are k, m, p 1 , and p 2 , respectively,
The padding part is
A message authenticator generating device characterized in that the second padding P 2 is determined so as to satisfy a condition that k + p 1 + m + p 2 is a multiple of d.
前記パディング部は、
k+p1がdとなるという条件も満たすように第1パディングP1を定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 4, wherein
The padding part is
A message authenticator generation device characterized in that the first padding P 1 is determined so as to satisfy a condition that k + p 1 is d.
前記パディング部は、
いかなる付加ビットπとも異なるという条件も満たすように第1パディングP1を定め、
第3パディングP3をなしとする
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generation device according to claim 5, wherein
The padding part is
The first padding P 1 is determined so as to satisfy the condition that it is different from any additional bits π,
Message authentication code generation apparatus characterized by a without the third padding P 3.
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディング部は、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3をなし
と定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 1 or 2,
The bit length of the key K is k,
The data M bit string bit string left over at the end when separated one by d bits M L (however, the bit length m L of M L from 0 d-1) when the,
The padding part is
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
Message authentication code generation apparatus characterized by determining that no third padding P 3.
前記パディング部は、
第1パディングP1のビット列が第3パディングP3のビット列の一部または全部とならない、かつ、第3パディングP3のビット列が第1パディングP1のビット列の一部または全部とならないという条件も満たすように、第1パディングP1と第3パディングP3とを定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 4, wherein
The padding part is
First padding bit string P 1 is not a part or all of the bit string of the third padding P 3, and also the condition that the bit string of the third padding P 3 is not a part or all of the first bit sequence of the padding P 1 satisfying manner, a message authentication code generation apparatus characterized by determining a first padding P 1 and the third padding P 3.
鍵K、データMのビット長をそれぞれ、k、mとし、
鍵K、第1パディングP1、データMを結合したビット列を、dビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディング部は、
第1パディングP1を“0”、
第2パディングP2を、(k+1+m)がdより小さいときは“1”と(d−k−m−2)個の“0”が並んだビット列、(k+1+m)がd以上のときは“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を“1”
と定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 1 or 2,
The bit lengths of the key K and data M are k and m, respectively.
Key K, the first padding P 1, a bit string obtained by combining the data M, d bit by bit string bit string left over at the end when separated into M L (however, the bit length m L 0 of M L d-1) and When
The padding part is
1st padding P 1 is set to “0”,
The second padding P 2 is a bit string in which “1” and (d−k−m−2) “0” are arranged when (k + 1 + m) is smaller than d, and “1” when (k + 1 + m) is greater than or equal to d. ”And (d−m L −1) bit strings in which“ 0 ”are arranged,
Third padding P 3 "1"
A message authenticator generation device characterized in that:
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、
鍵K、第3パディングP3、前記ビット列ML、付加ビットπを結合したビット列のビット長がd以下となる前記ビット長mLの最大値を最大ビット長mLmaxとし、
あらかじめ定めた0以上mLmax以下の整数を整数Σとするときに、
前記パディング部は、
いかなる付加ビットπおよびいかなる前記ビット列MLに対しても、第1パディングP1は、第3パディングの第1候補P3’と付加ビットπとを結合したビット列とは異なるという条件と、第1パディングP1は、第3パディングの第2候補P3”と前記ビット列MLと付加ビットπとを結合したビット列とは異なるという条件も満たすように、第1パディングP1と第3パディングの第1候補P3’と第3パディングの第2候補P3”とを定め、
前記ビット長mLが前記整数Σより大きい場合には、前記第1パディングP1、前記第2パディングP2を用いると共に、第3パディングP3として前記第1候補P3’を用い、
前記ビット長mLが前記整数Σ以下の場合には、前記第1パディングP1を用いると共に、前記第2パディングP2にかかわらず第2パディングP2をなしとし、第3パディングP3として前記第2候補P3”に前記ビット列MLを結合させたビット列を用いる
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generation device according to claim 5, wherein
Bit string bit string left over at the end when the data M, separated one by d bits M L (however, the bit length m L of M L from 0 d-1) and,
The maximum value of the bit length m L where the bit length of the bit string obtained by combining the key K, the third padding P 3 , the bit string M L , and the additional bit π is equal to or less than d is the maximum bit length m Lmax ,
When an integer of 0 or more and L Lmax or less that is determined in advance is an integer Σ,
The padding part is
For any additional bits π and any said bit string M L, first padding P 1 is a condition that is different from the first candidate P 3 'and the additional bits π bit string that combines the third padding, first padding P 1, as the third second candidate P 3 "and the bit string M L and the additional bits π bit string that combines padding also satisfy the condition that different, the first padding P 1 and the third padding Define one candidate P 3 ′ and a second candidate P 3 ″ for the third padding,
When the bit length m L is larger than the integer Σ, the first padding P 1 and the second padding P 2 are used, and the first candidate P 3 ′ is used as the third padding P 3 .
When the bit length m L is equal to or smaller than the integer Σ, the first padding P 1 is used, the second padding P 2 is not used regardless of the second padding P 2 , and the third padding P 3 is used as the third padding P 3. message authentication code generation device which comprises using a bit string said bound bit string M L to the second candidate P 3 ".
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディング部は、
前記ビット長mLが0より大きい場合には、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を“0”
と定め、
前記ビット長mLが0の場合には、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2をなし、
第3パディングP3を“1”
と定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 1 or 2,
The bit length of the key K is k,
The data M bit string bit string left over at the end when separated one by d bits M L (however, the bit length m L of M L from 0 d-1) when the,
The padding part is
If the bit length m L is greater than 0,
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
Third padding P 3 "0"
And
When the bit length m L is 0,
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second without the padding P 2,
Third padding P 3 "1"
A message authenticator generation device characterized in that:
前記パディング部は、
第1パディングP1と第3パディングP3とが異なるという条件も満たすように、第1パディングP1と第3パディングP3とを定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generation device according to claim 5, wherein
The padding part is
As a first padding P 1 and the third padding P 3 is also satisfied condition that different, the message authentication code generation apparatus characterized by determining a first padding P 1 and the third padding P 3.
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、
前記パディング部は、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を(d−k)個の“1”が並んだビット列
と定める
ことを特徴とするメッセージ認証子生成装置。 The message authenticator generating device according to claim 1 or 2,
The bit length of the key K is k,
Bit string bit string left over at the end when the data M, separated one by d bits M L (however, the bit length m L of M L from 0 d-1) and,
The padding part is
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
The third padding P 3 (d-k) pieces of "1" message authentication code generation unit, wherein a prescribed bit string aligned.
データMと鍵Kからメッセージ認証子τ’を生成する請求項1から13のいずれかに記載のメッセージ認証子生成装置と、
メッセージ認識子τとメッセージ認証子τ’とを比較してデータMの検証結果を出力する比較部と
を備えるメッセージ認証子検証装置。 A message authenticator verification device that receives data M and a message recognizer τ and performs verification of the data M,
The message authenticator generation device according to any one of claims 1 to 13, which generates a message authenticator τ 'from the data M and the key K.
A message authenticator verification device comprising: a comparison unit that compares a message recognizer τ and a message authenticator τ ′ and outputs a verification result of data M.
パディング部で、第1パディングP1、第2パディングP2、第3パディングP3を、少なくとも1つは前記鍵Kまたは前記データMを用いて定めるパディングステップと、
付加ビット生成部で、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπを結合したビット列が、当該メッセージ認証子生成装置で使用するハッシュ関数内の圧縮関数fで圧縮されるビット長dの整数倍となるように、付加ビットπを生成する付加ビット生成ステップと、
ハッシュ部で、鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番で結合されたビット列のハッシュ関数による変換結果を、メッセージ認証子τとして出力するハッシュステップと、
を有するメッセージ認証子生成方法。 A method for generating a message authenticator that receives a key K and data M and outputs a message authenticator τ,
A padding step for determining at least one of the first padding P 1 , the second padding P 2 , and the third padding P 3 by using the key K or the data M in the padding unit;
In the additional bit generation unit, a bit string obtained by combining the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π is used in the message authenticator generation device. An additional bit generation step of generating additional bits π so as to be an integral multiple of the bit length d compressed by the compression function f in the hash function
In the hash part, the conversion result by the hash function of the bit string combined in the order of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π is sent to the message A hash step to be output as the authenticator τ;
A message authenticator generation method comprising:
前記圧縮関数fは、ビット長n+dのビット列をビット長nに圧縮する関数、初期ベクトルはあらかじめ定められたビット長がnのビット列とするときに、
前記ハッシュステップは、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπの順番でdビットずつ取り出すビット列取り出しサブステップと、
前記ビット列取り出し手段で取り出したビット列と、初期ベクトルVまたは前回の圧縮関数fによる圧縮結果とを入力として、圧縮関数fによる圧縮結果を求める圧縮サブステップと、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπのすべてのビット列が圧縮に使用されたことを確認する確認サブステップ
を有し、
前記ビット列取り出しサブステップでのビット列の取り出しと前記圧縮サブステップでの圧縮を繰り返し、
鍵K、第1パディングP1、データM、第2パディングP2、鍵K、第3パディングP3、付加ビットπのすべてのビット列が圧縮に使用されたときの圧縮結果をメッセージ認証子τとする
ことを特徴とするメッセージ認証子生成方法。 A message authenticator generation method according to claim 15, comprising:
The compression function f is a function for compressing a bit string having a bit length n + d to a bit length n, and the initial vector is a bit string having a predetermined bit length n.
The hash step includes
A bit string extracting substep for extracting d bits in the order of key K, first padding P 1 , data M, second padding P 2 , key K, third padding P 3 , and additional bits π;
A compression sub-step for obtaining a compression result by the compression function f using the bit string extracted by the bit string extraction means and the initial vector V or the compression result by the previous compression function f as inputs;
A confirmation sub-step for confirming that all the bit strings of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bits π have been used for compression ,
Repeat the bit string extraction in the bit string extraction sub-step and the compression in the compression sub-step,
A compression result obtained when all the bit strings of the key K, the first padding P 1 , the data M, the second padding P 2 , the key K, the third padding P 3 , and the additional bit π are used for compression is represented as a message authenticator τ. A message authenticator generation method characterized by:
前記パディングステップは、
データMに第2パディングP2を結合したビット列から、データMを一意に求めることができるという条件を満たすように第2パディングP2を定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 15 or 16,
The padding step includes
A bit string that combines second padding P 2 in the data M, the message authentication code generation method characterized by defining a second padding P 2 so as to satisfy the condition that it is possible to obtain data M uniquely.
鍵K、データM、第1パディングP1、第2パディングP2のビット長をそれぞれ、k、m、p1、p2とするときに、
前記パディングステップは、
k+p1+m+p2がdの倍数となるという条件も満たすように第2パディングP2を定める
ことを特徴とするメッセージ認証子生成方法。 A message authenticator generation method according to claim 17, comprising:
When the bit lengths of the key K, data M, first padding P 1 , and second padding P 2 are k, m, p 1 , and p 2 , respectively,
The padding step includes
A method for generating a message authenticator, wherein the second padding P 2 is determined so as to satisfy a condition that k + p 1 + m + p 2 is a multiple of d.
前記パディングステップは、
k+p1がdとなるという条件も満たすように第1パディングP1を定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 18, comprising:
The padding step includes
A method for generating a message authenticator, wherein the first padding P 1 is determined so as to satisfy a condition that k + p 1 is d.
前記パディングステップは、
いかなる付加ビットπとも異なるという条件も満たすように第1パディングP1を定め、
第3パディングP3をなしとする
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 19, comprising:
The padding step includes
The first padding P 1 is determined so as to satisfy the condition that it is different from any additional bits π,
Message authentication code generation method characterized by the without the third padding P 3.
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディングステップは、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3をなし
と定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 15 or 16,
The bit length of the key K is k,
The data M bit string bit string left over at the end when separated one by d bits M L (however, the bit length m L of M L from 0 d-1) when the,
The padding step includes
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
Message authentication code generation method characterized by determining that no third padding P 3.
前記パディングステップは、
第1パディングP1のビット列が第3パディングP3のビット列の一部または全部とならない、かつ、第3パディングP3のビット列が第1パディングP1のビット列の一部または全部とならないという条件も満たすように、第1パディングP1と第3パディングP3とを定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 18, comprising:
The padding step includes
First padding bit string P 1 is not a part or all of the bit string of the third padding P 3, and also the condition that the bit string of the third padding P 3 is not a part or all of the first bit sequence of the padding P 1 satisfying manner, a message authentication code generation method characterized by determining a first padding P 1 and the third padding P 3.
鍵K、データMのビット長をそれぞれ、k、mとし、
鍵K、第1パディングP1、データMを結合したビット列を、dビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディングステップは、
第1パディングP1を“0”、
第2パディングP2を、(k+1+m)がdより小さいときは“1”と(d−k−m−2)個の“0”が並んだビット列、(k+1+m)がd以上のときは“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を“1”
と定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 15 or 16,
The bit lengths of the key K and data M are k and m, respectively.
Key K, the first padding P 1, a bit string obtained by combining the data M, d bit by bit string bit string left over at the end when separated into M L (however, the bit length m L 0 of M L d-1) and When
The padding step includes
1st padding P 1 is set to “0”,
The second padding P 2 is a bit string in which “1” and (d−k−m−2) “0” are arranged when (k + 1 + m) is smaller than d, and “1” when (k + 1 + m) is greater than or equal to d. ”And (d−m L −1) bit strings in which“ 0 ”are arranged,
Third padding P 3 "1"
A method for generating a message authenticator, characterized by:
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、
鍵K、第3パディングP3、前記ビット列ML、付加ビットπを結合したビット列のビット長がd以下となる前記ビット長mLの最大値を最大ビット長mLmaxとし、
あらかじめ定めた0以上mLmax以下の整数を整数Σとするときに、
前記パディングステップは、
いかなる付加ビットπおよびいかなる前記ビット列MLに対しても、第1パディングP1は、第3パディングの第1候補P3’と付加ビットπとを結合したビット列とは異なるという条件と、第1パディングP1は、第3パディングの第2候補P3”と前記ビット列MLと付加ビットπとを結合したビット列とは異なるという条件も満たすように、第1パディングP1と第3パディングの第1候補P3’と第3パディングの第2候補P3”とを定め、
前記ビット長mLが前記整数Σより大きい場合には、前記第1パディングP1、前記第2パディングP2を用いると共に、第3パディングP3として前記第1候補P3’を用い、
前記ビット長mLが前記整数Σ以下の場合には、前記第1パディングP1を用いると共に、前記第2パディングP2にかかわらず第2パディングP2をなしとし、第3パディングP3として前記第2候補P3”に前記ビット列MLを結合させたビット列を用いる
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 19, comprising:
Bit string bit string left over at the end when the data M, separated one by d bits M L (however, the bit length m L of M L from 0 d-1) and,
The maximum value of the bit length m L where the bit length of the bit string obtained by combining the key K, the third padding P 3 , the bit string M L , and the additional bit π is equal to or less than d is the maximum bit length m Lmax ,
When an integer of 0 or more and L Lmax or less that is determined in advance is an integer Σ,
The padding step includes
For any additional bits π and any said bit string M L, first padding P 1 is a condition that is different from the first candidate P 3 'and the additional bits π bit string that combines the third padding, first padding P 1, as the third second candidate P 3 "and the bit string M L and the additional bits π bit string that combines padding also satisfy the condition that different, the first padding P 1 and the third padding Define one candidate P 3 ′ and a second candidate P 3 ″ for the third padding,
When the bit length m L is larger than the integer Σ, the first padding P 1 and the second padding P 2 are used, and the first candidate P 3 ′ is used as the third padding P 3 .
When the bit length m L is equal to or smaller than the integer Σ, the first padding P 1 is used, the second padding P 2 is not used regardless of the second padding P 2 , and the third padding P 3 is used as the third padding P 3. message authentication code generation method, which comprises using a bit string said bound bit string M L to the second candidate P 3 ".
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とするときに、
前記パディングステップは、
前記ビット長mLが0より大きい場合には、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を“0”
と定め、
前記ビット長mLが0の場合には、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2をなし、
第3パディングP3を“1”
と定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 15 or 16,
The bit length of the key K is k,
The data M bit string bit string left over at the end when separated one by d bits M L (however, the bit length m L of M L from 0 d-1) when the,
The padding step includes
If the bit length m L is greater than 0,
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
Third padding P 3 "0"
And
When the bit length m L is 0,
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second without the padding P 2,
Third padding P 3 "1"
A method for generating a message authenticator, characterized by:
前記パディングステップは、
第1パディングP1と第3パディングP3とが異なるという条件も満たすように、第1パディングP1と第3パディングP3とを定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 19, comprising:
The padding step includes
As a first padding P 1 and the third padding P 3 is also satisfied condition that different, the message authentication code generation method characterized by determining a first padding P 1 and the third padding P 3.
鍵Kのビット長をkとし、
データMをdビットずつに区切った時に最後に余るビット列をビット列ML(ただし、MLのビット長mLは0からd−1)とし、
前記パディングステップは、
第1パディングP1を(d−k)個の“0”が並んだビット列、
第2パディングP2を“1”と(d−mL−1)個の“0”が並んだビット列、
第3パディングP3を(d−k)個の“1”が並んだビット列
と定める
ことを特徴とするメッセージ認証子生成方法。 The message authenticator generation method according to claim 15 or 16,
The bit length of the key K is k,
Bit string bit string left over at the end when the data M, separated one by d bits M L (however, the bit length m L of M L from 0 d-1) and,
The padding step includes
The first padding P 1 is a bit string in which (d−k) “0” s are arranged,
The second padding P 2 is a bit string in which “1” and (d−m L −1) “0” s are arranged;
Message authentication code generation method characterized by defining a third padding P 3 and (d-k) pieces of "1" bit string aligned.
データMと鍵Kからメッセージ認証子τ’を生成する請求項15から27のいずれかに記載のメッセージ認証子生成方法の各ステップと、
比較部で、メッセージ認識子τとメッセージ認証子τ’とを比較してデータMの検証結果を出力する比較ステップと
を有するメッセージ認証子検証方法。 A message authenticator verification method in which data M and a message recognizer τ are input and data M is verified,
Each step of the message authenticator generation method according to any one of claims 15 to 27, wherein the message authenticator τ 'is generated from the data M and the key K.
A comparison unit that compares the message recognizer τ and the message authenticator τ ′ and outputs a verification result of the data M in the comparison unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007165141A JP4886614B2 (en) | 2007-06-22 | 2007-06-22 | Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007165141A JP4886614B2 (en) | 2007-06-22 | 2007-06-22 | Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009005163A JP2009005163A (en) | 2009-01-08 |
JP4886614B2 true JP4886614B2 (en) | 2012-02-29 |
Family
ID=40321052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007165141A Expired - Fee Related JP4886614B2 (en) | 2007-06-22 | 2007-06-22 | Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4886614B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218237A (en) * | 2009-03-17 | 2010-09-30 | Renesas Electronics Corp | Program verification device, and method therefor |
WO2017007546A1 (en) * | 2015-07-03 | 2017-01-12 | Intel Corporation | Apparatus and method for data compression in a wearable device |
JP6033504B1 (en) * | 2015-07-15 | 2016-11-30 | 三菱電機株式会社 | Message authenticator generator |
CN111052670B (en) * | 2017-09-01 | 2024-02-09 | 三菱电机株式会社 | Encryption device, decryption device, encryption method, decryption method, and computer-readable storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100720602B1 (en) * | 2003-09-26 | 2007-05-21 | 니뽄 덴신 덴와 가부시키가이샤 | Tag privacy protection method, tag device, backend apparatus, updater, update solicitor, programs therefor and record medium carrying such programs in storage |
US7228182B2 (en) * | 2004-03-15 | 2007-06-05 | Cardiac Pacemakers, Inc. | Cryptographic authentication for telemetry with an implantable medical device |
-
2007
- 2007-06-22 JP JP2007165141A patent/JP4886614B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009005163A (en) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bellare et al. | The knowledge-of-exponent assumptions and 3-round zero-knowledge protocols | |
Lin et al. | Two-round and non-interactive concurrent non-malleable commitments from time-lock puzzles | |
Buchmann et al. | On the security of the Winternitz one-time signature scheme | |
Preneel | The state of cryptographic hash functions | |
Mironov | Hash functions: Theory, attacks, and applications | |
Canetti et al. | On the random-oracle methodology as applied to length-restricted signature schemes | |
JPWO2010131563A1 (en) | Tag generation device, tag verification device, communication system, tag generation method, tag verification method, and recording medium | |
Kuznetsov et al. | Code-based electronic digital signature | |
JP4886614B2 (en) | Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium | |
Armknecht et al. | General impossibility of group homomorphic encryption in the quantum world | |
Black et al. | MAC reforgeability | |
Shen et al. | Improved security bounds for generalized Feistel networks | |
Deshpande et al. | Proofs of ignorance and applications to 2-message witness hiding | |
Maurer et al. | Computational indistinguishability amplification: Tight product theorems for system composition | |
Döttling et al. | Maliciously circuit-private FHE from information-theoretic principles | |
Zhu et al. | Efficient construction of provably secure steganography under ordinary covert channels | |
Hirose et al. | Forward-secure sequential aggregate message authentication revisited | |
Kiayias et al. | Directions in polynomial reconstruction based cryptography | |
Mani et al. | Enhancing security in cryptographic algorithm based on LECCRS | |
Petit et al. | Cayley hashes: A class of efficient graph-based hash functions | |
JP4914329B2 (en) | Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, program, and recording medium | |
Gauravaram et al. | 3C-A provably secure pseudorandom function and message authentication code. A new mode of operation for cryptographic hash function | |
RP | Keyed-CAHASH: a new fast keyed hash function based on cellular automata for authentication | |
Katti et al. | Nonce Generation For The Digital Signature Standard. | |
Nguyen et al. | New Key Extraction Attacks on Threshold ECDSA Implementations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090729 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110810 |
|
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: 20111129 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |