JP5624491B2 - Hash function device, processing method and program for hash function device - Google Patents

Hash function device, processing method and program for hash function device Download PDF

Info

Publication number
JP5624491B2
JP5624491B2 JP2011026801A JP2011026801A JP5624491B2 JP 5624491 B2 JP5624491 B2 JP 5624491B2 JP 2011026801 A JP2011026801 A JP 2011026801A JP 2011026801 A JP2011026801 A JP 2011026801A JP 5624491 B2 JP5624491 B2 JP 5624491B2
Authority
JP
Japan
Prior art keywords
hash function
stage
function unit
hash
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011026801A
Other languages
Japanese (ja)
Other versions
JP2012168220A (en
Inventor
清本 晋作
晋作 清本
有登 仲野
有登 仲野
三宅 優
優 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2011026801A priority Critical patent/JP5624491B2/en
Publication of JP2012168220A publication Critical patent/JP2012168220A/en
Application granted granted Critical
Publication of JP5624491B2 publication Critical patent/JP5624491B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)

Description

本発明は、従来よりも安全性の高いハッシュ関数装置、ハッシュ関数装置の処理方法およびプログラムに関する。   The present invention relates to a hash function device, a processing method of the hash function device, and a program that are safer than before.

近年、コンピュータを利用した様々なサービスが提供されている。そのうち、多くのサービスにおいては、通信の完全性を実現するため、メッセージ認証子が利用されており、このメッセージ認証子には、ハッシュ関数アルゴリズムが利用される(例えば、非特許文献1参照。)。   In recent years, various services using computers have been provided. Among them, in many services, a message authenticator is used to realize communication integrity, and a hash function algorithm is used for this message authenticator (see, for example, Non-Patent Document 1). .

FIPS PUB 180−1, SECURE HASH STANDARD、1995、4、17FIPS PUB 180-1, SECURE HASH STANDARD, 1995, 4, 17

しかしながら、近年ハッシュ関数に対する攻撃が提案され、その安全性が毀損されている。一方、安全性の高い新たなハッシュ関数も設計されているが、従来型のハッシュ関数と比べて数倍の処理時間がかかるという問題がある。   However, in recent years, attacks against hash functions have been proposed and their security has been impaired. On the other hand, a new hash function with high security is also designed, but there is a problem that it takes several times as much processing time as a conventional hash function.

そこで、本発明は、上述の課題に鑑みてなされたものであり、安全性の高いハッシュ関数を実現するハッシュ関数装置、ハッシュ関数装置の処理方法およびプログラムを提供することを目的とする。   Accordingly, the present invention has been made in view of the above-described problems, and an object thereof is to provide a hash function device, a hash function device processing method, and a program that realize a highly secure hash function.

本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。   The present invention proposes the following matters in order to solve the above problems. In addition, in order to make an understanding easy, although the code | symbol corresponding to embodiment of this invention is attached | subjected and demonstrated, it is not limited to this.

(1)本発明は、ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなるハッシュ関数装置であって、初段のストリーム暗号器(例えば、図1のストリーム暗号器10aに相当)が、鍵系列を出力する鍵系列出力手段を備え、初段のハッシュ関数器(例えば、図1のハッシュ関数器20aに相当)の入力メッセージをブロックの段数で分割し、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成するメッセージデータ生成手段と、前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算するハッシュ値演算手段と、前記初段以降のハッシュ関数器(例えば、図1のハッシュ関数器20b、20cに相当)が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器(例えば、図1のハッシュ関数器20cに相当)のハッシュ値を出力ハッシュ値とすることを特徴とするハッシュ関数装置を提案している。   (1) The present invention is a hash function device in which blocks composed of a stream cipher and a hash function device are connected in multiple stages, and is a first-stage stream cipher (for example, equivalent to the stream cipher 10a in FIG. 1). Comprises a key sequence output means for outputting a key sequence, and divides the input message of the first-stage hash function unit (for example, equivalent to the hash function unit 20a in FIG. 1) by the number of stages of blocks, and A hash value for calculating a hash value by inputting the generated message data and the initial key by the message data generation means for generating message data by combining the output key sequences and the first-stage hash function unit The calculation means and the hash function units after the first stage (for example, equivalent to the hash function units 20b and 20c in FIG. 1) are generated by the preceding hash function unit. The hash value and the message data generated by the stream encryptor are input, and the calculated hash value is output to the subsequent hash function unit, which corresponds to the last hash function unit (for example, the hash function unit 20c in FIG. 1). ) Has been proposed as an output hash value.

この発明によれば、初段のストリーム暗号器の鍵系列出力手段は、鍵系列を出力する。メッセージデータ生成手段は、初段のハッシュ関数器の入力メッセージをブロックの段数で分割し、その分割された入力メッセージにその出力された鍵系列を結合してメッセージデータを生成する。初段のハッシュ関数器のハッシュ値演算手段は、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する。そして、初段以降のハッシュ関数器は、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする。したがって、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   According to the present invention, the key sequence output means of the first-stage stream cipher outputs the key sequence. The message data generation means divides the input message of the first-stage hash function unit by the number of blocks, and generates message data by combining the output key sequence with the divided input message. The hash value calculation means of the first-stage hash function unit inputs the generated message data and the initial key and calculates a hash value. Then, the hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage and the message data generated by the stream encryptor, and outputs the calculated hash value to the hash function unit of the subsequent stage. The hash value of the stage hash function unit is used as the output hash value. Therefore, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

(2)本発明は、(1)のハッシュ関数装置について、通常のハッシュ関数として用いる場合に、各ストリーム暗号器の内部状態が固定値となることを特徴とするハッシュ関数装置を提案している。   (2) The present invention proposes a hash function device in which the internal state of each stream cipher becomes a fixed value when the hash function device of (1) is used as a normal hash function. .

この発明によれば、通常のハッシュ関数として用いる場合に、各ストリーム暗号器の内部状態が固定値となる。したがって、同じメッセージについては、同じハッシュ値が出力される。   According to the present invention, when used as a normal hash function, the internal state of each stream cipher becomes a fixed value. Therefore, the same hash value is output for the same message.

(3)本発明は、(1)のハッシュ関数装置について、鍵付きハッシュ関数として用いる場合に、各ストリーム暗号器に鍵を入力することを特徴とするハッシュ関数装置を提案している。   (3) The present invention proposes a hash function device characterized in that when the hash function device of (1) is used as a keyed hash function, a key is input to each stream cipher.

この発明によれば、鍵付きハッシュ関数として用いる場合に、各ストリーム暗号器に鍵を入力する。これにより、初期化処理が行われ、通常のハッシュ関数と同様に、同じメッセージについては、同じハッシュ値が出力される。   According to the present invention, when used as a hash function with a key, a key is input to each stream cipher. As a result, initialization processing is performed, and the same hash value is output for the same message as in a normal hash function.

(4)本発明は、(1)から(3)のハッシュ関数装置について、前記ストリーム暗号器が、鍵系列を出力するたびに、異なる新たな鍵系列を出力することを特徴とするハッシュ関数装置を提案している。   (4) In the hash function device according to (1) to (3), the present invention is characterized in that each time the stream encryptor outputs a key sequence, a different new key sequence is output. Has proposed.

この発明によれば、ストリーム暗号器が、鍵系列を出力するたびに、異なる新たな鍵系列を出力する。したがって、これにより、さらに、安全性を高めることができる。   According to this invention, each time the stream cipher outputs a key sequence, it outputs a different new key sequence. Therefore, this can further increase safety.

(5)本発明は、(1)から(4)のハッシュ関数装置について、入力する鍵系列の長さが所定の長さよりも短い場合に、前記メッセージデータ生成手段が不足したデータ分、固定パターンのパディング処理を行うことを特徴とするハッシュ関数装置を提案している。   (5) In the hash function device according to (1) to (4), when the length of the key sequence to be input is shorter than a predetermined length, the present invention provides a fixed pattern for the amount of data that the message data generation means is insufficient. A hash function device characterized by performing the above padding processing is proposed.

この発明によれば、メッセージデータ生成手段が、入力する鍵系列の長さが所定の長さよりも短い場合に、不足したデータ分、固定パターンのパディング処理を行う。したがって、同じメッセージについては、同じハッシュ値が出力される。   According to this invention, when the length of the input key sequence is shorter than the predetermined length, the message data generation means performs the fixed pattern padding process for the missing data. Therefore, the same hash value is output for the same message.

(6)本発明は、ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、通常のハッシュ関数として用いられるハッシュ関数装置の処理方法であって、初段のストリーム暗号器が、鍵系列を出力する第1のステップ(例えば、図3のステップS101に相当)と、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する第2のステップ(例えば、図3のステップS101に相当)と、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第3のステップ(例えば、図3のステップS101に相当)と、前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する第4のステップ(例えば、図3のステップS101に相当)と、前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第5のステップ(例えば、図3のステップS101に相当)と、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第6のステップ(例えば、図3のステップS101に相当)と、を備えたことを特徴とするハッシュ関数装置の処理方法を提案している。   (6) The present invention is a processing method of a hash function device that is formed by connecting blocks composed of a stream cipher and a hash function unit in multiple stages, and is used as a normal hash function. A first step (for example, corresponding to step S101 in FIG. 3) for outputting the key sequence, and a second step (for example, in step S101 in FIG. 3) that divides the input message of the first-stage hash function device by the number of blocks. A third step (for example, corresponding to step S101 in FIG. 3) of combining the output key sequence with the divided input message to generate message data, and the first-stage hash function unit The fourth step of inputting the generated message data and the initial key and calculating the hash value (for example, the step S101 in FIG. ) And the hash function unit after the first stage input the hash value generated by the preceding hash function unit and the message data generated by the stream encryptor, and outputs the calculated hash value to the subsequent hash function unit A fifth step (for example, corresponding to step S101 in FIG. 3) and a sixth step (for example, corresponding to step S101 in FIG. 3) using the hash value of the hash function unit at the final stage as an output hash value, The processing method of the hash function apparatus characterized by having provided is proposed.

この発明によれば、初段のストリーム暗号器が、鍵系列を出力し、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する。次に、分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し、前記初段のハッシュ関数器が、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する。そして、初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする。したがって、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   According to the present invention, the first-stage stream cipher outputs the key sequence and divides the input message of the first-stage hash function unit by the number of blocks. Next, the output key sequence is combined with the divided input message to generate message data, and the first-stage hash function unit calculates the hash value by inputting the generated message data and the initial key. . Then, the hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage and the message data generated by the stream cipher, and outputs the calculated hash value to the hash function unit of the subsequent stage. The hash value of the stage hash function unit is used as the output hash value. Therefore, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

(7)本発明は、(6)のハッシュ関数装置の処理方法について、入力する鍵系列の長さが所定の長さよりも短い場合に、前記第3のステップにおいて、不足したデータ分、固定パターンのパディング処理を行うことを特徴とするハッシュ関数装置の処理方法を提案している。   (7) In the processing method of the hash function device according to (6), when the length of the key sequence to be input is shorter than a predetermined length, the present invention provides a fixed pattern corresponding to the missing data in the third step. The processing method of the hash function device characterized by performing the padding process is proposed.

この発明によれば、入力する鍵系列の長さが所定の長さよりも短い場合に、第3のステップにおいて、不足したデータ分、固定パターンのパディング処理を行う。したがって、同じメッセージについては、同じハッシュ値が出力される。   According to the present invention, when the length of the key sequence to be input is shorter than the predetermined length, the fixed pattern padding is performed for the insufficient data in the third step. Therefore, the same hash value is output for the same message.

(8)本発明は、ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、鍵付きハッシュ関数として用いられるハッシュ関数装置の処理方法であって、各ストリーム暗号器に鍵を入力し、初期化処理を行う第1のステップ(例えば、図5のステップS201に相当)と、初段のストリーム暗号器が、鍵系列を出力する第2のステップ(例えば、図5のステップS202に相当)と、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する第3のステップ(例えば、図5のステップS203に相当)と、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第4のステップ(例えば、図5のステップS204に相当)と、前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する第5のステップ(例えば、図5のステップS205に相当)と、前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第6のステップ(例えば、図5のステップS206に相当)と、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第7のステップ(例えば、図5のステップS207に相当)と、を備えたことを特徴とするハッシュ関数装置の処理方法を提案している。   (8) The present invention is a processing method of a hash function device that is formed by connecting blocks composed of a stream cipher and a hash function unit in multiple stages, and is used as a keyed hash function. A first step (for example, corresponding to step S201 in FIG. 5) for input and initialization processing, and a second step (for example, in step S202 in FIG. 5) in which the first-stage stream cipher outputs a key sequence. Equivalent), a third step (for example, equivalent to step S203 in FIG. 5) of dividing the input message of the first-stage hash function unit by the number of stages of the block, and the output key sequence in the divided input message A fourth step (for example, equivalent to step S204 in FIG. 5) for generating message data by combining, and the first-stage hash function unit are generated A fifth step (for example, corresponding to step S205 in FIG. 5) in which the message data and the initial key are input to calculate the hash value, and the hash function unit after the first stage generates a hash value generated by the preceding hash function unit. And the message data generated by the stream cipher and a sixth step (for example, corresponding to step S206 in FIG. 5) for outputting the calculated hash value to the hash function unit in the subsequent stage, and the hash function in the final stage And a seventh step (for example, corresponding to step S207 in FIG. 5), in which a hash value of the device is used as an output hash value, has been proposed.

この発明によれば、各ストリーム暗号器に鍵を入力し、初期化処理を行い、初段のストリーム暗号器が、鍵系列を出力し、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する。次に、分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し、初段のハッシュ関数器が、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する。そして、初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする。したがって、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   According to the present invention, a key is input to each stream cipher, initialization processing is performed, the first-stage stream cipher outputs a key sequence, and the input message of the first-stage hash function unit is divided by the number of blocks. . Next, the key sequence output to the divided input message is combined to generate message data, and the hash function unit in the first stage inputs the generated message data and the initial key to calculate a hash value. Then, the hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage and the message data generated by the stream cipher, and outputs the calculated hash value to the hash function unit of the subsequent stage. The hash value of the stage hash function unit is used as the output hash value. Therefore, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

(9)本発明は、(8)のハッシュ関数装置の処理方法について、入力する鍵系列の長さが所定の長さよりも短い場合に、前記第4のステップにおいて、不足したデータ分、固定パターンのパディング処理を行うことを特徴とするハッシュ関数装置の処理方法を提案している。   (9) In the processing method of the hash function device according to (8), when the length of the input key sequence is shorter than a predetermined length, the present invention provides a fixed pattern corresponding to the deficient data in the fourth step. The processing method of the hash function device characterized by performing the padding process is proposed.

この発明によれば、入力する鍵系列の長さが所定の長さよりも短い場合に、第4のステップにおいて、不足したデータ分、固定パターンのパディング処理を行う。したがって、同じメッセージについては、同じハッシュ値が出力される。   According to the present invention, when the length of the input key sequence is shorter than the predetermined length, in the fourth step, the fixed pattern padding is performed for the missing data. Therefore, the same hash value is output for the same message.

(10)本発明は、ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、通常のハッシュ関数として用いられるハッシュ関数装置の処理方法をコンピュータに実行させるためのプログラムであって、初段のストリーム暗号器が、鍵系列を出力する第1のステップ(例えば、図3のステップS101に相当)と、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する第2のステップ(例えば、図3のステップS101に相当)と、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第3のステップ(例えば、図3のステップS101に相当)と、前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する第4のステップ(例えば、図3のステップS101に相当)と、前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第5のステップ(例えば、図3のステップS101に相当)と、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第6のステップ(例えば、図3のステップS101に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (10) The present invention is a program for causing a computer to execute a processing method of a hash function device that is formed by connecting blocks composed of a stream encryption device and a hash function device in multiple stages and used as a normal hash function. The first-stage stream cipher outputs a first step (for example, corresponding to step S101 in FIG. 3), and a second step of dividing the input message of the first-stage hash function unit by the number of block stages ( For example, this corresponds to step S101 in FIG. 3), and a third step (for example, corresponding to step S101 in FIG. 3) for generating message data by combining the output key sequence with the divided input message. The first-stage hash function unit calculates a hash value by inputting the generated message data and an initial key. Step (for example, corresponding to step S101 in FIG. 3), and the hash function unit after the first stage input the hash value generated by the hash function unit of the previous stage and the message data generated by the stream cipher, and operated A fifth step (for example, corresponding to step S101 in FIG. 3) for outputting the hash value to the subsequent hash function device, and a sixth step (for example, for example) using the hash value of the last hash function device as the output hash value 3) (corresponding to step S101 in FIG. 3).

この発明によれば、初段のストリーム暗号器が、鍵系列を出力し、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する。次に、分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し、前記初段のハッシュ関数器が、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する。そして、初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする。したがって、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   According to the present invention, the first-stage stream cipher outputs the key sequence and divides the input message of the first-stage hash function unit by the number of blocks. Next, the output key sequence is combined with the divided input message to generate message data, and the first-stage hash function unit calculates the hash value by inputting the generated message data and the initial key. . Then, the hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage and the message data generated by the stream cipher, and outputs the calculated hash value to the hash function unit of the subsequent stage. The hash value of the stage hash function unit is used as the output hash value. Therefore, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

(11)本発明は、ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、鍵付きハッシュ関数として用いられるハッシュ関数装置の処理方法をコンピュータに実行させるためのプログラムであって、各ストリーム暗号器に鍵を入力し、初期化処理を行う第1のステップ(例えば、図5のステップS201に相当)と、初段のストリーム暗号器が、鍵系列を出力する第2のステップ(例えば、図5のステップS202に相当)と、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する第3のステップ(例えば、図5のステップS203に相当)と、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第4のステップ(例えば、図5のステップS204に相当)と、前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する第5のステップ(例えば、図5のステップS205に相当)と、前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第6のステップ(例えば、図5のステップS206に相当)と、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第7のステップ(例えば、図5のステップS207に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (11) The present invention is a program for causing a computer to execute a processing method of a hash function device used as a keyed hash function by connecting blocks composed of a stream cipher and a hash function unit in multiple stages. , A first step (for example, corresponding to step S201 in FIG. 5) for inputting a key to each stream cipher and performing an initialization process, and a second step in which the first-stage stream cipher outputs a key sequence ( For example, corresponding to step S202 in FIG. 5), a third step (for example, corresponding to step S203 in FIG. 5) for dividing the input message of the first-stage hash function device by the number of stages of the block, and the divided input message A fourth step (for example, corresponding to step S204 in FIG. 5) for generating message data by combining the output key sequence with A fifth step (for example, corresponding to step S205 of FIG. 5) in which the first-stage hash function unit inputs the generated message data and an initial key to calculate a hash value; A sixth step (for example, FIG. 5) in which the hash value generated by the preceding hash function unit and the message data generated by the stream encryptor are input and the calculated hash value is output to the subsequent hash function unit. And a seventh step (for example, corresponding to step S207 in FIG. 5) that uses the hash value of the hash function unit at the final stage as an output hash value is proposed. doing.

この発明によれば、各ストリーム暗号器に鍵を入力し、初期化処理を行い、初段のストリーム暗号器が、鍵系列を出力し、初段のハッシュ関数器の入力メッセージをブロックの段数で分割する。次に、分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し、初段のハッシュ関数器が、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する。そして、初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成するメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする。したがって、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   According to the present invention, a key is input to each stream cipher, initialization processing is performed, the first-stage stream cipher outputs a key sequence, and the input message of the first-stage hash function unit is divided by the number of blocks. . Next, the key sequence output to the divided input message is combined to generate message data, and the hash function unit in the first stage inputs the generated message data and the initial key to calculate a hash value. Then, the hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage and the message data generated by the stream cipher, and outputs the calculated hash value to the hash function unit of the subsequent stage. The hash value of the stage hash function unit is used as the output hash value. Therefore, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

本発明によれば、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できるという効果がある。   According to the present invention, by combining a conventional hash function and a stream cipher, it is possible to realize high-speed processing and to realize a highly secure hash function device.

本発明の第1の実施形態に係るハッシュ関数装置の構成を示す図である。It is a figure which shows the structure of the hash function apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るハッシュ関数装置における入力メッセージデータの生成について説明する図である。It is a figure explaining the production | generation of the input message data in the hash function apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るハッシュ関数装置の処理フローを示す図である。It is a figure which shows the processing flow of the hash function apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るハッシュ関数装置の構成を示す図である。It is a figure which shows the structure of the hash function apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るハッシュ関数装置の処理フローを示す図である。It is a figure which shows the processing flow of the hash function apparatus which concerns on the 2nd Embodiment of this invention.

以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Note that the constituent elements in the present embodiment can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.
<First Embodiment>

本発明の第1の実施形態について、図1から図3を用いて説明する。   A first embodiment of the present invention will be described with reference to FIGS.

本実施形態に係るハッシュ関数装置は、図1に示すように、ストリーム暗号器10a等とハッシュ関数器20a等から構成される機能ブロックが多段に結合されて構成されている。なお、本実施形態については、上記機能ブロックが3段結合されてなるハッシュ関数装置を示したが結合されるブロック数は、これに限定されるものではない。   As shown in FIG. 1, the hash function device according to this embodiment is configured by combining functional blocks including a stream encryption device 10a and the like and a hash function device 20a and the like in multiple stages. In this embodiment, a hash function device is shown in which the functional blocks are combined in three stages. However, the number of blocks to be combined is not limited to this.

まず、初段の機能ブロックでは、通常のメッセージを段数により分割したメッセージにストリーム暗号器10aが生成する鍵系列が連結されて入力メッセージを構成する。ここで、図2に示すように、分割したメッセージと鍵系列とを連結したデータ長が所定のデータ長よりも短い場合には、固定のパターン(図2の「X・・X」)を用いて、パディング処理を行う。上記の処理は、次段以降の機能ブロックでも同様である。   First, in the first-stage functional block, a key sequence generated by the stream cipher 10a is concatenated with a message obtained by dividing a normal message according to the number of stages to constitute an input message. Here, as shown in FIG. 2, when the data length obtained by concatenating the divided message and the key sequence is shorter than the predetermined data length, a fixed pattern (“X ·· X” in FIG. 2) is used. To perform padding processing. The above processing is the same for the functional blocks in the subsequent stages.

なお、ストリーム暗号器10aは、鍵系列を出力するたびに更新され、異なる鍵系列を出力する。また、本実施形態のように、通常のハッシュ関数として用いる場合には、ストリーム暗号器10aの内部状態は、固定値となる。上記の内容に関しては、次段以降のストリーム暗号器10b、10cにおいても同様である。   The stream cipher 10a is updated each time a key sequence is output, and outputs a different key sequence. Further, when used as a normal hash function as in the present embodiment, the internal state of the stream cipher 10a is a fixed value. The same applies to the stream ciphers 10b and 10c in the subsequent stages.

ハッシュ関数器20aは、上述の入力メッセージと初期値IVとを入力してハッシュ値を出力する。出力されたハッシュ値は、次段のハッシュ関数器20bに入力される。   The hash function unit 20a inputs the above-mentioned input message and the initial value IV and outputs a hash value. The output hash value is input to the next hash function unit 20b.

次段の機能ブロックでは、通常のメッセージを段数により分割したメッセージにストリーム暗号器10bが生成する鍵系列が連結されて入力メッセージを構成する。ハッシュ関数器20bは、上述の入力メッセージとハッシュ関数器20aから入力するハッシュ値とを入力してハッシュ値を出力する。出力されたハッシュ値は、次段のハッシュ関数器20cに入力される。   In the next functional block, an input message is formed by concatenating a key sequence generated by the stream encryptor 10b to a message obtained by dividing a normal message according to the number of stages. The hash function unit 20b inputs the above-mentioned input message and the hash value input from the hash function unit 20a, and outputs a hash value. The output hash value is input to the next hash function unit 20c.

最終段の機能ブロックでは、通常のメッセージを段数により分割したメッセージにストリーム暗号器10cが生成する鍵系列が連結されて入力メッセージを構成する。ハッシュ関数器20cは、上述の入力メッセージとハッシュ関数器20bから入力するハッシュ値とを入力してハッシュ値を出力する。そして、このハッシュ値が、ハッシュ関数装置の出力値となる。   In the last-stage functional block, a key sequence generated by the stream cipher 10c is connected to a message obtained by dividing a normal message according to the number of stages to constitute an input message. The hash function unit 20c inputs the above-described input message and the hash value input from the hash function unit 20b, and outputs a hash value. This hash value becomes the output value of the hash function device.

<ハッシュ関数装置の処理>
図3を用いて、本実施形態に係るハッシュ関数装置の処理について説明する。
<Hash function device processing>
The process of the hash function device according to this embodiment will be described with reference to FIG.

まず、初段のストリーム暗号器10aが、鍵系列を出力し(ステップS101)、初段のハッシュ関数器20aの入力メッセージをブロックの段数で分割する(ステップS102)。   First, the first-stage stream cipher 10a outputs a key sequence (step S101), and divides the input message of the first-stage hash function unit 20a by the number of blocks (step S102).

分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し(ステップS103)、初段のハッシュ関数器20aが、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する(ステップS104)。   The key sequence output to the divided input message is combined to generate message data (step S103), and the first-stage hash function unit 20a calculates the hash value by inputting the generated message data and the initial key. (Step S104).

そして、初段以降のハッシュ関数器20b、20cが、前段のハッシュ関数器20aが生成したハッシュ値とストリーム暗号器が生成した鍵系列と分割したメッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し(ステップS105)、最終段のハッシュ関数器20cのハッシュ値を出力ハッシュ値とする(ステップS106)。
Then, the hash function units 20b and 20c after the first stage input the hash value generated by the preceding hash function unit 20a, the message data obtained by combining the key sequence generated by the stream cipher and the divided message, and the calculation The hash value thus obtained is output to the subsequent hash function unit (step S105), and the hash value of the last hash function unit 20c is set as the output hash value (step S106).

以上、説明したように、本実施形態によれば、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。
<第2の実施形態>
As described above, according to the present embodiment, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.
<Second Embodiment>

本発明の第2の実施形態について、図4および図5を用いて説明する。   A second embodiment of the present invention will be described with reference to FIGS.

本実施形態のハッシュ関数装置の基本構成は、第1の実施形態と同様であるが、本実施形態においては、ハッシュ関数装置を鍵付きハッシュ関数として用いる場合を示している。したがって、第1の実施形態と同一の部分については、詳細な説明を省略する。   The basic configuration of the hash function device of the present embodiment is the same as that of the first embodiment, but in this embodiment, the case where the hash function device is used as a keyed hash function is shown. Therefore, detailed description of the same parts as those of the first embodiment is omitted.

本実施形態に係るストリーム暗号器11a〜11cは、外部から鍵を入力し、鍵系列の生成を行う前に、初期化処理を実行する。その他の動作については、第1の実施形態と同様である。   The stream ciphers 11a to 11c according to the present embodiment perform initialization processing before inputting a key from outside and generating a key sequence. Other operations are the same as those in the first embodiment.

<ハッシュ関数装置の処理>
図5を用いて、本実施形態に係るハッシュ関数装置の処理について説明する。
<Hash function device processing>
The process of the hash function device according to this embodiment will be described with reference to FIG.

まず、各ストリーム暗号器11a、11b、11cに鍵を入力し、初期化処理を行う(ステップS201)。次に、初段のストリーム暗号器11aが、鍵系列を出力し(ステップS202)、初段のハッシュ関数器20bの入力メッセージをブロックの段数で分割する(ステップS203)。   First, a key is input to each of the stream ciphers 11a, 11b, and 11c, and an initialization process is performed (step S201). Next, the first-stage stream cipher 11a outputs a key sequence (step S202), and divides the input message of the first-stage hash function unit 20b by the number of blocks (step S203).

分割された入力メッセージに出力された鍵系列を結合してメッセージデータを生成し(ステップS204)、初段のハッシュ関数器20aが、生成されたメッセージデータと初期鍵とを入力してハッシュ値を演算する(ステップS205)。   The key sequence output to the divided input message is combined to generate message data (step S204), and the first-stage hash function unit 20a calculates the hash value by inputting the generated message data and the initial key. (Step S205).

そして、初段以降のハッシュ関数器20b、20cが、前段のハッシュ関数器20aが生成したハッシュ値とストリーム暗号器が生成した鍵系列と分割したメッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し(ステップS206)、最終段のハッシュ関数器20cのハッシュ値を出力ハッシュ値とする(ステップS207)。 Then, the hash function units 20b and 20c after the first stage input the hash value generated by the preceding hash function unit 20a, the message data obtained by combining the key sequence generated by the stream cipher and the divided message, and the calculation The hash value thus obtained is output to the hash function unit at the subsequent stage (step S206), and the hash value of the hash function unit 20c at the final stage is set as the output hash value (step S207).

以上、説明したように、本実施形態によれば、従来型のハッシュ関数とストリーム暗号を組み合わせることにより、高速な処理を実現するとともに、安全性の高いハッシュ関数装置を実現できる。また、メッセージと鍵系列とを結合してハッシュ関数器に入力することにより、第三者がアルゴリズムを推定できないため、安全性が高まる。   As described above, according to the present embodiment, by combining a conventional hash function and a stream cipher, it is possible to realize a high-speed hash function device while realizing high-speed processing. Further, by combining the message and the key sequence and inputting them into the hash function unit, the third party cannot estimate the algorithm, and thus the safety is improved.

なお、ハッシュ関数装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをハッシュ関数装置に読み込ませ、実行することによって本発明のハッシュ関数装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   The hash function device of the present invention can be realized by recording the processing of the hash function device on a computer-readable recording medium, causing the hash function device to read and execute the program recorded on the recording medium. . The computer system here includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.

10a;ストリーム暗号器
10b;ストリーム暗号器
10c;ストリーム暗号器
11a;ストリーム暗号器
11b;ストリーム暗号器
11c;ストリーム暗号器
20a;ハッシュ関数器
20b;ハッシュ関数器
20c;ハッシュ関数器
10a; stream cipher 10b; stream cipher 10c; stream cipher 11a; stream cipher 11b; stream cipher 11c; stream cipher 20a; hash function unit 20b; hash function unit 20c;

Claims (11)

ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなるハッシュ関数装置であって、
初段のストリーム暗号器が、鍵系列を出力する鍵系列出力手段と、
入力メッセージをブロックの段数で分割し、該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成するメッセージデータ生成手段と、
前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵(IV)とを入力してハッシュ値を演算するハッシュ値演算手段と、
を備え、
前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成した鍵系列と前記分割した入力メッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力し、最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とすることを特徴とするハッシュ関数装置。
A hash function device formed by connecting blocks composed of a stream cipher and a hash function device in multiple stages,
A first-stage stream cipher, key sequence output means for outputting a key sequence ;
Message data generating means for dividing an input message by the number of stages of blocks, and combining the output key sequence with the divided input message to generate message data;
The first-stage hash function unit, the hash value calculating means for calculating the hash value by inputting the generated message data and the initial key (IV) ;
With
The hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage, the message data obtained by combining the key sequence generated by the stream cipher and the divided input message, and the calculated hash value Is output to the hash function unit at the subsequent stage, and the hash value of the hash function unit at the final stage is used as the output hash value.
通常のハッシュ関数として用いる場合に、各ストリーム暗号器の内部状態が固定値となることを特徴とする請求項1に記載のハッシュ関数装置。   2. The hash function device according to claim 1, wherein when used as a normal hash function, the internal state of each stream cipher becomes a fixed value. 鍵付きハッシュ関数として用いる場合に、各ストリーム暗号器に鍵を入力することを特徴とする請求項1に記載のハッシュ関数装置。   2. The hash function device according to claim 1, wherein a key is input to each stream cipher when used as a hash function with a key. 前記ストリーム暗号器が、鍵系列を出力するたびに、異なる新たな鍵系列を出力することを特徴とする請求項1から請求項3に記載のハッシュ関数装置。   4. The hash function device according to claim 1, wherein each time the stream cipher outputs a key sequence, a different new key sequence is output. 5. 入力する鍵系列の長さが所定の長さよりも短い場合に、前記メッセージデータ生成手段が不足したデータ分、固定パターンのパディング処理を行うことを特徴とする請求項1から請求項4に記載のハッシュ関数装置。   5. The fixed pattern padding process is performed for the data that the message data generation unit lacks when the length of the input key sequence is shorter than a predetermined length. Hash function device. ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、通常のハッシュ関数として用いられるハッシュ関数装置の処理方法であって、
初段のストリーム暗号器が、鍵系列を出力する第1のステップと、
入力メッセージをブロックの段数で分割する第2のステップと、
該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第3のステップと、
前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵(IV)とを入力してハッシュ値を演算する第4のステップと、
前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成した鍵系列と前記分割した入力メッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第5のステップと、
最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第6のステップと、
を備えたことを特徴とするハッシュ関数装置の処理方法。
A processing method of a hash function device, which is formed by connecting blocks composed of a stream cipher and a hash function device in multiple stages, and used as a normal hash function,
A first step in which a first-stage stream cipher outputs a key sequence;
A second step of dividing the input message by the number of stages of blocks;
A third step of generating message data by combining the output key sequence with the divided input message;
A fourth step in which the first-stage hash function unit inputs the generated message data and an initial key (IV) to calculate a hash value;
The hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage, the message data obtained by combining the key sequence generated by the stream cipher and the divided input message, and the calculated hash value Is output to the hash function unit in the subsequent stage, and
A sixth step in which the hash value of the hash function unit at the final stage is set as the output hash value;
A processing method for a hash function device, comprising:
入力する鍵系列の長さが所定の長さよりも短い場合に、前記第3のステップにおいて、不足したデータ分、固定パターンのパディング処理を行うことを特徴とする請求項6に記載のハッシュ関数装置の処理方法。   7. The hash function device according to claim 6, wherein when the length of the input key sequence is shorter than a predetermined length, padding processing of a fixed pattern is performed for the missing data in the third step. Processing method. ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、鍵付きハッシュ関数として用いられるハッシュ関数装置の処理方法であって、
各ストリーム暗号器に鍵を入力し、初期化処理を行う第1のステップと、
初段のストリーム暗号器が、鍵系列を出力する第2のステップと、
入力メッセージをブロックの段数で分割する第3のステップと、
該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第4のステップと、
前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵(IV)とを入力してハッシュ値を演算する第5のステップと、
前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成した鍵系列と前記分割した入力メッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第6のステップと、
最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第7のステップと、
を備えたことを特徴とするハッシュ関数装置の処理方法。
A processing method of a hash function device, which is formed by connecting blocks composed of a stream cipher and a hash function device in multiple stages and used as a keyed hash function,
A first step of inputting a key into each stream cipher and performing an initialization process;
A first step in which a first-stage stream cipher outputs a key sequence;
A third step of dividing the input message by the number of stages of blocks;
A fourth step of generating message data by combining the output key sequence with the divided input message;
A first step in which the first-stage hash function unit inputs the generated message data and the initial key (IV) to calculate a hash value;
The hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage, the message data obtained by combining the key sequence generated by the stream cipher and the divided input message, and the calculated hash value A sixth step of outputting to a hash function unit in the subsequent stage;
A seventh step in which the hash value of the hash function unit at the final stage is set as the output hash value;
A processing method for a hash function device, comprising:
入力する鍵系列の長さが所定の長さよりも短い場合に、前記第4のステップにおいて、不足したデータ分、固定パターンのパディング処理を行うことを特徴とする請求項8に記載のハッシュ関数装置の処理方法。   9. The hash function device according to claim 8, wherein when the length of the input key sequence is shorter than a predetermined length, padding processing of a fixed pattern is performed for the missing data in the fourth step. Processing method. ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、通常のハッシュ関数として用いられるハッシュ関数装置の処理方法をコンピュータに実行させるためのプログラムであって、
初段のストリーム暗号器が、鍵系列を出力する第1のステップと、
入力メッセージをブロックの段数で分割する第2のステップと、
該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第3のステップと、
前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵(IV)とを入力してハッシュ値を演算する第4のステップと、
前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成した鍵系列と前記分割した入力メッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第5のステップと、
最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第6のステップと、
をコンピュータに実行させるためのプログラム。
A program for connecting a block consisting of a stream cipher and a hash function unit in multiple stages and causing a computer to execute a processing method of a hash function device used as a normal hash function,
A first step in which a first-stage stream cipher outputs a key sequence;
A second step of dividing the input message by the number of stages of blocks;
A third step of generating message data by combining the output key sequence with the divided input message;
A fourth step in which the first-stage hash function unit inputs the generated message data and an initial key (IV) to calculate a hash value;
The hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage, the message data obtained by combining the key sequence generated by the stream cipher and the divided input message, and the calculated hash value Is output to the hash function unit in the subsequent stage, and
A sixth step in which the hash value of the hash function unit at the final stage is set as the output hash value;
A program that causes a computer to execute.
ストリーム暗号器とハッシュ関数器とからなるブロックを多段に接続してなり、鍵付きハッシュ関数として用いられるハッシュ関数装置の処理方法をコンピュータに実行させるためのプログラムであって、
各ストリーム暗号器に鍵を入力し、初期化処理を行う第1のステップと、
初段のストリーム暗号器が、鍵系列を出力する第2のステップと、
入力メッセージをブロックの段数で分割する第3のステップと、
該分割された入力メッセージに該出力された鍵系列を結合してメッセージデータを生成する第4のステップと、
前記初段のハッシュ関数器が、前記生成されたメッセージデータと初期鍵(IV)とを入力してハッシュ値を演算する第5のステップと、
前記初段以降のハッシュ関数器が、前段のハッシュ関数器が生成したハッシュ値とストリーム暗号器が生成した鍵系列と前記分割した入力メッセージとを結合したメッセージデータとを入力して、演算したハッシュ値を後段のハッシュ関数器に出力する第6のステップと、
最終段のハッシュ関数器のハッシュ値を出力ハッシュ値とする第7のステップと、
をコンピュータに実行させるためのプログラム。
A program for connecting a block consisting of a stream cipher and a hash function unit in multiple stages and causing a computer to execute a processing method of a hash function device used as a keyed hash function,
A first step of inputting a key into each stream cipher and performing an initialization process;
A first step in which a first-stage stream cipher outputs a key sequence;
A third step of dividing the input message by the number of stages of blocks;
A fourth step of generating message data by combining the output key sequence with the divided input message;
A first step in which the first-stage hash function unit inputs the generated message data and the initial key (IV) to calculate a hash value;
The hash function unit after the first stage inputs the hash value generated by the hash function unit of the previous stage, the message data obtained by combining the key sequence generated by the stream cipher and the divided input message, and the calculated hash value A sixth step of outputting to a hash function unit in the subsequent stage;
A seventh step in which the hash value of the hash function unit at the final stage is set as the output hash value;
A program that causes a computer to execute.
JP2011026801A 2011-02-10 2011-02-10 Hash function device, processing method and program for hash function device Expired - Fee Related JP5624491B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011026801A JP5624491B2 (en) 2011-02-10 2011-02-10 Hash function device, processing method and program for hash function device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011026801A JP5624491B2 (en) 2011-02-10 2011-02-10 Hash function device, processing method and program for hash function device

Publications (2)

Publication Number Publication Date
JP2012168220A JP2012168220A (en) 2012-09-06
JP5624491B2 true JP5624491B2 (en) 2014-11-12

Family

ID=46972471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011026801A Expired - Fee Related JP5624491B2 (en) 2011-02-10 2011-02-10 Hash function device, processing method and program for hash function device

Country Status (1)

Country Link
JP (1) JP5624491B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2739826B2 (en) * 1994-09-28 1998-04-15 日本電気株式会社 Data hashing device
JP2010256749A (en) * 2009-04-28 2010-11-11 Kddi Corp Device and method for generating hash value, and program

Also Published As

Publication number Publication date
JP2012168220A (en) 2012-09-06

Similar Documents

Publication Publication Date Title
JP5000365B2 (en) Hash value generation device, program, and hash value generation method
CN112054896B (en) White box encryption method, white box encryption device, terminal and storage medium
JP4909668B2 (en) Hybrid encryption apparatus and hybrid encryption method
KR101506499B1 (en) Method for encrypting with SEED applying mask
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP5624491B2 (en) Hash function device, processing method and program for hash function device
JP4938430B2 (en) Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5102536B2 (en) Stream cipher encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP5415020B2 (en) Stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP2010256749A (en) Device and method for generating hash value, and program
JP2013098722A (en) Ciphering device of stream cipher, deciphering device of stream cipher, ciphering method of stream cipher, deciphering method of stream cipher, and program
JP2011119985A (en) Encryption and decryption method
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP4819576B2 (en) Self-synchronous stream cipher encryption apparatus, decryption apparatus, self-synchronous stream cipher system, MAC generation apparatus, encryption method, decryption method, MAC generation method, and program
JP6181573B2 (en) Data sharing system, data sharing method and program
JP5882797B2 (en) Stream encryption processing system, tamper resistant device, and stream encryption processing method
JP5559011B2 (en) Stream cipher encryption apparatus, stream cipher encryption method and program
JP4842694B2 (en) Hash function processing apparatus, hash function generation method and program in the same
JP2015082077A (en) Encryption device, control method, and program
JP5706751B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5495825B2 (en) Stream cipher secret calculation encryption apparatus, stream cipher secret calculation decryption apparatus, encryption method, decryption method, and program
JP2010056848A (en) Encryption apparatus, encryption method, program, and program storage medium
Kruthika A Study on the Data Securing Algorithms: The State of Art

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140926

R150 Certificate of patent or registration of utility model

Ref document number: 5624491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees