JP6305658B1 - メッセージ認証子生成装置 - Google Patents

メッセージ認証子生成装置 Download PDF

Info

Publication number
JP6305658B1
JP6305658B1 JP2017544969A JP2017544969A JP6305658B1 JP 6305658 B1 JP6305658 B1 JP 6305658B1 JP 2017544969 A JP2017544969 A JP 2017544969A JP 2017544969 A JP2017544969 A JP 2017544969A JP 6305658 B1 JP6305658 B1 JP 6305658B1
Authority
JP
Japan
Prior art keywords
value
message
block
authenticator
block cipher
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.)
Active
Application number
JP2017544969A
Other languages
English (en)
Other versions
JPWO2018154642A1 (ja
Inventor
祐介 内藤
祐介 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6305658B1 publication Critical patent/JP6305658B1/ja
Publication of JPWO2018154642A1 publication Critical patent/JPWO2018154642A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Abstract

メッセージ認証子生成装置(10)は、ブロックサイズnのブロック暗号Eを用いてメッセージ認証子を生成する。ハッシュ関数部(21)は、メッセージMを入力として、出力長がnビットよりも長いハッシュ関数hにより、ハッシュ値wを計算する。後処理部(22)は、ハッシュ関数部(21)によって計算されたハッシュ値wに対してブロック暗号Eを用いた計算を行い、メッセージMについてのブロックサイズn以下のメッセージ認証子Tを計算する。

Description

この発明は、ブロック暗号を用いるメッセージ認証アルゴリズムに関する。
メッセージ認証アルゴリズムを用いると、データの改ざんを検知できる。
メッセージ認証アルゴリズムは、任意長のメッセージと秘密鍵とを入力とし、固定長の改ざん検知用の認証子Tを出力する関数である。
送信者をAlice、受信者をBobとする。メッセージ認証アルゴリズムを用いた通信を行う場合、AliceとBobとは予め秘密鍵Kを共有しておく。Aliceは、メッセージMと鍵Kとから、メッセージ認証アルゴリズムを用いて、メッセージMの認証子Tを生成し、メッセージMと認証子TとをBobに送信する。Bobは、メッセージMと認証子Tとを受信し、メッセージMと鍵Kとからメッセージ認証アルゴリズムを用いて認証子T’を生成する。Bobは、受信した認証子Tと生成した認証子T’とが一致すれば、メッセージMは改ざんされていないと判断し、一致しなければ、メッセージMは改ざんされていると判断する。
非特許文献1に記載されたAES(Advanced Encryption Standard)といったブロック暗号を用いてメッセージ認証アルゴリズムを構成する方法がある。
ブロック暗号Eは、kビットの鍵Kとnビットの平文mとを入力とし、nビットの暗号文cを出力する関数である。これをc=E(K,m)と書くことにする。ブロック暗号の平文及び暗号文のサイズは、ブロックサイズと呼ばれる。ブロック暗号は、鍵Kを固定するとnビットの置換関数になる。
ブロック暗号を用いてメッセージ認証アルゴリズムを設計した場合、認証子のサイズtはブロック暗号のブロックサイズn以下になる。ブロック暗号を用いたメッセージ認証アルゴリズムは、任意長のメッセージをある固定長の長さに圧縮するハッシュ関数と、ハッシュ関数の出力をtビットの認証子に変換する最終処理とから構成される。ハッシュ関数と最終処理とではそれぞれ鍵Khと鍵Kfとが用いられる。
ブロック暗号を用いたメッセージ認証アルゴリズムとしては、非特許文献2に記載されたCMACが代表的である。
メッセージ認証アルゴリズムの安全性は、疑似乱数性を用いて示される。疑似乱数性は、0又は1の1ビットの値を出力する識別者Dに対し、識別者Dがメッセージ認証アルゴリズムにアクセスして出力値を観測した後1を出力する確率と、識別者Dがランダム関数にアクセスして出力値を観測した後1を出力する確率との差をで表された安全性である。この差は疑似乱数性のアドバンテージと呼ばれる。
また、メッセージ認証アルゴリズムの安全性は、疑似乱数性のアドバンテージの上界値が1/2となる時の、認証子の呼び出し回数を用いて示される。メッセージ認証アルゴリズムの安全性を改良する場合、これらの回数が改良される。
CMACの疑似乱数性のアドバンテージは、1回のメッセージ認証アルゴリズムの動作で生じるブロック暗号の呼び出し回数をL、認証子の生成回数をqとすると、O((Lq)/2)以下となることが非特許文献3で示されている。
CMACの場合、q=O(2n/2/L)の場合に、疑似乱数性のアドバンテージの上界値が1/2になる。この上界値が1/2になるqの値をqと書くことにする。
メッセージ認証アルゴリズムの安全性を担保するために、qがqになる前に、メッセージ認証アルゴリズムの秘密鍵が更新される。すなわち、qの値が大きいほど1つの秘密鍵を使える期間が長くなる。秘密鍵の更新はコストがかかるため、更新頻度は少ないほうがよい。すなわち、qの値が大きいメッセージ認証アルゴリズムの設計が重要となる。
非特許文献4には、q=O(22n/3/L)となるメッセージ認証アルゴリズムが記載されている。非特許文献2,4に記載されたメッセージ認証アルゴリズムは、qがブロック暗号の呼び出し回数Lに依存する。そのため、ブロック暗号の呼び出し回数Lの値が大きいほど、qの値が小さくなり、鍵更新頻度が多くなる。
非特許文献5では、q=O(2n/2)となる、qがブロック暗号の呼び出し回数Lに依存しないメッセージ認証アルゴリズムが記載されている。
FIPS197, ADVANCED ENCRYPTION STANDARD (AES) SP 800−38B, Recommendation for Block Cipher Modes of Operation: the CMAC. Mode for Authentication (May 2005) Tetsu Iwata, Kaoru Kurosawa. OMAC: One−Key CBC MAC. FSE 2003. p129−153 Kan Yasuda. A New Variant of PMAC: Beyond the Birthday Bound. CRYPTO 2011. p596−609 Atul Luykx, Bart Preneel, Elmar Tischhauser, and Kan Yasuda. A MAC Mode for Lightweight Block Ciphers. FSE 2016. p43−59
この発明は、qの値が大きな値となるメッセージ認証アルゴリズムを実現可能とすることを目的とする。
この発明に係るメッセージ認証子生成装置は、
ブロックサイズnのブロック暗号Eを用いてメッセージ認証子を生成するメッセージ認証子生成装置であり、
メッセージMをnビット毎に分割したメッセージブロックと、カウンター値とを入力として、ブロック暗号により値を計算し、計算された値を用いて2nビットのハッシュ値wを計算するハッシュ関数部と、
2nビットのハッシュ値wをnビットの値w[1]とnビットの値w[2]とに分割する分割部と、
前記値w[1]を入力として前記ブロック暗号Eにより値z[1]を計算するとともに、前記値w[2]を入力として前記ブロック暗号Eにより値z[2]を計算するブロック暗号計算部と、
前記値z[1]と前記値z[2]との両方を作用させて前記メッセージMについての前記ブロックサイズn以下のメッセージ認証子Tを計算する認証子計算部とを備える。
この発明では、ブロックサイズnよりも出力長が長いハッシュ関数hを用い、2個以上のブロック暗号を用いてメッセージ認証子を生成する。これにより、ハッシュ関数の出力の衝突が起こりにくくなり、認証子の乱数性が高くなるため、qの値が大きな値となるメッセージ認証アルゴリズムを実現可能である。
実施の形態1に係るメッセージ認証子生成装置10の構成図。 実施の形態1に係るメッセージ認証アルゴリズムの構成図。 実施の形態1に係るメッセージ認証子生成装置10の動作を示すフローチャート。 実施の形態1に係る最終処理のフローチャート。 実施の形態1に係るハッシュ関数hの構成図。 実施の形態1に係るハッシュ関数処理のフローチャート。 変形例1に係るメッセージ認証子生成装置10の構成図。 実施の形態2に係るメッセージ認証子生成装置10の構成図。 実施の形態2に係るメッセージ認証アルゴリズムの構成図。 実施の形態2に係る最終処理のフローチャート。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るメッセージ認証子生成装置10の構成を説明する。
メッセージ認証子生成装置10は、処理回路11を備える。処理回路11は、ハッシュ関数部21と、後処理部22とを備える。ハッシュ関数部21は、メッセージブロック生成部31と、ハッシュ値計算部32とを備える。後処理部22は、分割部41と、ブロック暗号計算部42と、認証子計算部43とを備える。処理回路11は、ハッシュ関数部21と、後処理部22と、メッセージブロック生成部31と、ハッシュ値計算部32と、分割部41と、ブロック暗号計算部42と、認証子計算部43との各機能を実現する専用の電子回路である。
処理回路11は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable
Gate Array)が想定される。
各機能を1つの処理回路11で実現してもよいし、各機能を複数の処理回路11に分散させて実現してもよい。
処理回路11によって実現される各機能の処理の結果を示す情報とデータと信号値と変数値は、処理回路11内のレジスタのような記憶領域に記憶される。
***動作の説明***
図2から図6を参照して、実施の形態1に係るメッセージ認証子生成装置10の動作を説明する。
実施の形態1に係るメッセージ認証子生成装置10の動作は、実施の形態1に係るメッセージ認証子生成方法に相当する。また、実施の形態1に係るメッセージ認証子生成装置10の動作は、実施の形態1に係るメッセージ認証子生成プログラムの処理に相当する。
図2及び図3を参照して、実施の形態1に係るメッセージ認証子生成装置10の動作概要を説明する。
(ステップS11:ハッシュ関数処理)
ハッシュ関数部21は、鍵空間Set(Kh)における任意長の値である鍵Khと、メッセージMとの入力を受け付ける。
ハッシュ関数部21は、鍵KhとメッセージMとを入力として、出力長が2nビットのハッシュ関数hにより、ハッシュ値wを計算する。つまり、ハッシュ値wは、2nビットである。実施の形態1では、ハッシュ関数部21は、メッセージMをnビット毎に分割したメッセージブロックと、カウンター値とを入力として、ブロック暗号により値を計算し、計算された値を用いて2nビットのハッシュ値wを計算する。
(ステップS12:最終処理)
後処理部22は、ステップS11でハッシュ関数部21によって計算されたハッシュ値wに対してブロック暗号Eを用いた計算を行い、メッセージMについてのブロックサイズn以下のメッセージ認証子Tを計算する。
図2及び図4を参照して、実施の形態1に係る最終処理を説明する。
(ステップS21:分割処理)
分割部41は、ステップS11でハッシュ関数部21によって計算された2nビットのハッシュ値wをnビットの値w[1]とnビットの値w[2]とに分割する。例えば、分割部41は、ハッシュ値wの先頭からnビットを値w[1]とし、残りnビットを値w[2]とする。
(ステップS22:ブロック暗号計算処理)
ブロック暗号計算部42は、ブロック暗号Eに対するkビットの鍵K[1]及びkビットの鍵K[2]の入力を受け付ける。
ブロック暗号計算部42は、ステップS21で分割部41によって分割されて得られた値w[1]と、鍵K[1]とを入力としてブロック暗号Eにより値z[1]を計算する。また、ブロック暗号計算部42は、ステップS21で分割部41によって分割されて得られた値w[2]と、鍵K[2]とを入力としてブロック暗号Eにより値z[2]を計算する。
(ステップS23:認証子計算処理)
認証子計算部43は、ステップS22でブロック暗号計算部42によって計算された値z[1]と値z[2]との排他的論理和をとって得られた値又は排他的論理和をとって得られた値の一部をメッセージ認証子Tとして計算する。
図5及び図6を参照して、実施の形態1に係るハッシュ関数hの例を説明する。
(ステップS31:メッセージブロック生成処理)
メッセージブロック生成部31は、メッセージMから、b個のメッセージブロックを生成する。bは、2以上の整数である。
具体的には、メッセージブロック生成部31は、メッセージMを入力として、パディング処理により、ビット長が(n−s)b+nビットのデータM’を生成する。そして、メッセージブロック生成部31は、データM’を先頭からn−sビット毎に分割して、n−sビットのメッセージブロックM[1],M[2],・・・,M[b−1]と、nビットのメッセージブロックM[b]とを生成する。
ここで、s<nである。
(ステップS32:入力ブロック生成処理)
ハッシュ値計算部32は、b個のメッセージブロックのうちの少なくとも一部のメッセージブロックに対してメッセージブロック毎に異なるカウンター値を結合して入力ブロックを生成する。
具体的には、ステップS31で生成されたi=1,...,b−1の各整数iについて、メッセージブロックM[i]にsビットのカウンター値c[i]を結合してnビットの入力ブロックP[i]を生成する。カウンター値c[i]は、値iをsビット表現したビット列である。
入力ブロックP[i]におけるカウンター値c[i]の位置は、決められた位置であれば、最初でもよいし、最後でもよいし、途中の位置でもよい。
(ステップS33:ハッシュ値生成処理)
ハッシュ値計算部32は、入力ブロックを用いてハッシュ値wを計算する。
具体的には、ハッシュ値計算部32は、i=1,...,b−1の各整数iについて、入力ブロックP[i]を入力としてブロック暗号Eによりnビットの値C[i]を計算する。次に、ハッシュ値計算部32は、i=1,...,bの各整数iについての値L[1,i]及び値L[2,i]を用いて、数11に示すように値x[1]及び値x[2]を計算する。そして、ハッシュ値計算部32は、値x[1]と値x[2]とを結合したx[1]||x[2]をハッシュ値wとして計算する。
Figure 0006305658
ここで、L[1,1],L[1,2],...,L[1,b]は同じ値でもよいし異なる値であってもよい。L[2,1],L[2,2],...,L[2,b]は異なる値とする。具体例としては、L[1,i]=1であり、L[2,i]=2b−iである。また、i=1,...,bの各整数iについて、L[1,i]・C[i]は、L[1,i]とC[i]とのガロア体GF(2)上の掛け算である。同様に、L[2,i]・C[i]は、L[2,i]とC[i]とのガロア体GF(2)上の掛け算である。
***実施の形態1の効果***
非特許文献5に記載されたメッセージ認証アルゴリズムがq=O(2n/2)となる理由として、用いられるハッシュ関数の出力長がブロック暗号のブロックサイズであるnビットとなっている点がある。ハッシュ関数の出力長がnビットであるため、誕生日攻撃を用いてハッシュ関数の出力の衝突をO(2n/2)のハッシュ関数演算で起こすことができる。そして、この衝突を用いることによりメッセージ認証アルゴリズムを攻撃することができる。
実施の形態1に係るメッセージ認証子生成装置10では、ブロックサイズnよりも出力長が長いハッシュ関数hを用いてメッセージ認証子を生成する。これにより、ハッシュ関数の出力の衝突が起こりにくくなり、qの値が大きな値となるメッセージ認証アルゴリズムを実現可能である。
また、非特許文献2,4に記載されたメッセージ認証アルゴリズムのqがブロック暗号の呼び出し回数Lに依存する理由は、ハッシュ関数内部で用いるブロック暗号の入力の衝突である。
実施の形態1に係るメッセージ認証子生成装置10では、メッセージブロックにsビットのカウンター値を結合して、ブロック暗号Eの入力となる入力ブロックを生成する。これによりブロック暗号Eの入力の衝突が避けられるため、qがブロック暗号の呼び出し回数Lに依存しないメッセージ認証アルゴリズムを実現可能である。
ブロック暗号Eを疑似ランダム置換と仮定し、かつ、ハッシュ関数を(O(1/22n),O(1/22n))−partial almost universalハッシュ関数と仮定する。すると、実施の形態1に係るメッセージ認証子生成装置10によって実現されるメッセージ認証アルゴリズムはq=O(22n/3)となる。
(p,p)−partial almost universalハッシュ関数とは、ハッシュ関数の鍵Khと2つの異なるハッシュ関数の入力M,M’とに対して、H(Kh,M)の先頭nビットとH(Kh,M’)の先頭nビットとが等しくなる確率がp以下となり、H(Kh,M)の最終nビットとH(Kh,M’)の最終nビットとが等しくなる確率p以下となるハッシュ関数である。
図5及び図6を参照して説明したハッシュ関数hは、ブロック暗号を疑似ランダム置換と仮定すると、(O(1/22n),O(1/22n))−partial almost
universalハッシュ関数となる。したがって、実施の形態1に係るメッセージ認証子生成装置10が図5及び図6を参照して説明したハッシュ関数hを用いて実現したメッセージ認証アルゴリズムは、ブロック暗号を疑似ランダム置換と仮定すると、q=O(22n/3)となる。
***他の構成***
<変形例1>
実施の形態1では、メッセージ認証子生成装置10は、各機能を実現する専用の電子回路である処理回路11を備えるとした。各機能は、ソフトウェアによって実現されてもよい。
図7を参照して、変形例1に係るメッセージ認証子生成装置10の構成を説明する。
メッセージ認証子生成装置10は、コンピュータである。
メッセージ認証子生成装置10は、プロセッサ12と、メモリ13と、ストレージ14とのハードウェアを備える。プロセッサ12は、信号線を介して他のハードウェアと接続され、他のハードウェアを制御する。
ストレージ14には、メッセージ認証子生成装置10の各機能構成要素を実現するプログラムが記憶されている。このプログラムは、プロセッサ12によってメモリ13に読み込まれ、プロセッサ12によって実行される。これにより、メッセージ認証子生成装置10の各機能構成要素の機能が実現される。
プロセッサ12は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ12は、具体的には、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ13は、データを一時的に記憶する記憶装置である。メモリ13は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ14は、データを保管する記憶装置である。ストレージ14は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ14は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile
Disk)といった可搬記憶媒体であってもよい。
プロセッサ12によって実現される各機能の処理の結果を示す情報とデータと信号値と変数値は、メモリ13、ストレージ14、又は、プロセッサ12内のレジスタ又はキャッシュメモリのような記憶領域に記憶される。
図7では、プロセッサ12は、1つだけ示されていた。しかし、メッセージ認証子生成装置10は、複数のプロセッサを備えてもよく、複数のプロセッサが、各機能を実現するプログラムを連携して実行してもよい。
<変形例2>
一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。また、各機能をファームウェアで実現してもよい。つまり、暗号化装置10の機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。また、復号装置30の機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
実施の形態2.
実施の形態2は、実施の形態1と最終処理の構成が異なる。実施の形態2では、この異なる点を説明し、同じ点については説明を省略する。
***構成の説明***
図8を参照して、実施の形態2に係るメッセージ認証子生成装置10の構成を説明する。
メッセージ認証子生成装置10は、後処理部22がブロック暗号計算部42に代えて、第1ブロック暗号計算部421と第2ブロック暗号計算部422とを備える点が、図1に示すメッセージ認証子生成装置10と異なる。
***動作の説明***
図9から図10を参照して、実施の形態2に係るメッセージ認証子生成装置10の動作を説明する。
実施の形態2に係るメッセージ認証子生成装置10の動作は、実施の形態2に係るメッセージ認証子生成方法に相当する。また、実施の形態2に係るメッセージ認証子生成装置10の動作は、実施の形態2に係るメッセージ認証子生成プログラムの処理に相当する。
ハッシュ関数処理は、実施の形態1と同じである。つまり、ハッシュ関数部21は、鍵KhとメッセージMとを入力として、出力長が2nビットのハッシュ関数hにより、ハッシュ値wを計算する。但し、ハッシュ関数部21は、実施の形態1のように、メッセージMをnビット毎に分割したメッセージブロックと、カウンター値とを入力として、ブロック暗号により値を計算し、計算された値を用いて2nビットのハッシュ値wを計算しなくてもよい。
図9及び図10を参照して、実施の形態2に係る最終処理を説明する。
ステップS41は、図4のステップS21と同じである。
(ステップS42:第1ブロック暗号計算処理)
第1ブロック暗号計算部421は、ブロック暗号Eに対するkビットの鍵K[0,1]及びkビットの鍵K[0,2]の入力を受け付ける。
第1ブロック暗号計算部421は、ステップS41で分割部41によって分割されて得られた値w[1]と、鍵K[0,1]とを入力としてブロック暗号Eにより値z[1]を計算する。また、第1ブロック暗号計算部421は、ステップS41で分割部41によって分割されて得られた値w[2]と、鍵K[0,2]とを入力としてブロック暗号Eにより値z[2]を計算する。
(ステップS43:第2ブロック暗号計算処理)
第2ブロック暗号計算部422は、i=1,...,rの各整数iについて、ブロック暗号Eに対するkビットの鍵K[i]の入力を受け付ける。rは1以上の整数である。
第2ブロック暗号計算部422は、i=1,...,rの各整数iについて、値Q[1,i]及び値Q[2,i]と、ステップS42で第1ブロック暗号計算部421によって計算された値z[1]及び値z[2]とを用いて、数12に示すように値X[i]を計算する。
Figure 0006305658
ここで、Q[1,1],Q[1,2],...,Q[1,r]は同じ値でもよいし異なる値でもよい。Q[2,1],Q[2,2],...,Q[2,r]は異なる値とする。具体例としては、Q[1,i]=1,Q[2,i]=2i−1である。また、i=1,...,rの各整数iについて、Q[1,i]・z[1]は、Q[1,i]とz[1]とのガロア体上の掛け算である。同様に、Q[2,i]・z[2]は、Q[2,i]とz[2]とのガロア体上の掛け算である。
そして、第2ブロック暗号計算部422は、i=1,...,rの各整数iについて、計算された値X[i]と、鍵K[i]とを入力としてブロック暗号Eにより値Y[i]を計算する。
(ステップS44:認証子計算処理)
認証子計算部43は、ステップS43で第2ブロック暗号計算部によって計算されたi=1,...,rの各整数iについての値Y[i]の排他的論理和をとって得られた値又は排他的論理和をとって得られた値の一部をメッセージ認証子Tとして計算する。
***実施の形態2の効果***
ブロック暗号Eを疑似ランダム置換と仮定し、かつ、ハッシュ関数hをO(1/22n)−almost universalハッシュ関数と仮定する。すると、実施の形態2に係るメッセージ認証子生成装置10によって実現されるメッセージ認証アルゴリズムはq=O(2tn/(t+1))となる。
p−almost universalハッシュ関数とは、ハッシュ関数の鍵Khと2つの異なるハッシュ関数の入力M,M’とに対して、H(Kh,M)=H(Kh,M’)となる確率がp以下となるハッシュ関数である。
実施の形態2に係るメッセージ認証子生成装置10が図5及び図6を参照して説明したハッシュ関数hを用いて実現したメッセージ認証アルゴリズムは、ブロック暗号Eを疑似ランダム置換と仮定すると、q=O(2tn/(t+1))となる。
なお、実施の形態1に係るメッセージ認証子生成装置10の最終処理と、実施の形態2に係るメッセージ認証子生成装置10の最終処理との構成は異なる。
しかし、実施の形態1に係るメッセージ認証子生成装置10の最終処理を以下のように考える。すると、実施の形態1に係るメッセージ認証子生成装置10の最終処理と、実施の形態2に係るメッセージ認証子生成装置10の最終処理とが多くの共通した構成を有することが分かる。
図4のステップS22で、ブロック暗号計算部42は、値w[1]を値z[1]に代入し、値w[2]を値z[2]に代入する(図10のステップS42に対応)。そして、図4のステップS22で、ブロック暗号計算部42は、i=1,...,rの各整数iについて、値Q[1,i]及び値Q[2,i]と、値z[1]及び値z[2]とを用いて、数12に示す値X[i]を計算し、計算された値X[i]を入力としてブロック暗号Eにより値Y[i]を計算する。ここで、r=2である。また、値Q[1,1]は1であり、値Q[2,1]は0であり、値Q[1,2]は0であり、値Q[2,2]は1である(図10のステップS43に対応)。
図4のステップS23で、認証子計算部43は、i=1,...,rの各整数iについての値Y[i]の排他的論理和をとって得られた値又は排他的論理和をとって得られた値の一部をメッセージ認証子Tとして計算する(図10のステップS44に対応)。
10 メッセージ認証子生成装置、11 処理回路、12 プロセッサ、13 メモリ、14 ストレージ、21 ハッシュ関数部、22 後処理部、31 メッセージブロック生成部、32 ハッシュ値計算部、41 分割部、42 ブロック暗号計算部、43 認証子計算部。

Claims (5)

  1. ブロックサイズnのブロック暗号Eを用いてメッセージ認証子を生成するメッセージ認証子生成装置であり、
    メッセージMを入力として、2nビットのハッシュ値wを計算するハッシュ関数部と、
    2nビットのハッシュ値wをnビットの値w[1]とnビットの値w[2]とに分割する分割部と、
    前記値w[1]を入力として前記ブロック暗号Eにより値z[1]を計算するとともに、前記値w[2]を入力として前記ブロック暗号Eにより値z[2]を計算する第1ブロック暗号計算部と、
    rを1以上の整数とし、i=1,...,rの各整数iについて、値Q[1,i]及び値Q[2,i]と、前記値z[1]及び前記値z[2]とを用いて、数1に示す値X[i]を計算し、計算された値X[i]を入力として前記ブロック暗号Eにより値Y[i]を計算する第2ブロック暗号計算部と、
    i=1,...,rの各整数iについての値Y[i]を作用させて前記メッセージMについての前記ブロックサイズn以下のメッセージ認証子Tを計算する認証子計算部と
    を備えるメッセージ認証子生成装置。
    Figure 0006305658
  2. 前記認証子計算部は、
    i=1,...,rの各整数iについての前記値Y[i]の排他的論理和をとって得られた値又は排他的論理和をとって得られた値の一部を前記メッセージ認証子Tとして計算する
    請求項に記載のメッセージ認証子生成装置。
  3. 前記ハッシュ関数部は、
    前記メッセージMから、2以上の整数であるb個のメッセージブロックM[1],...,M[b]を生成するメッセージブロック生成部と、
    前記メッセージブロック生成部によって生成された前記b個のメッセージブロックのうちの少なくとも一部のメッセージブロックに対してメッセージブロック毎に異なるカウンター値を結合して入力ブロックを生成し、前記入力ブロックを用いてハッシュ値wを計算するハッシュ値計算部と
    を備える請求項1又は2に記載のメッセージ認証子生成装置。
  4. 前記ハッシュ値計算部は、
    i=1,...,b−1の各整数iについて、メッセージブロックM[i]に前記カウンター値c[i]を結合してnビットの入力ブロックP[i]を生成し、
    i=1,...,b−1の各整数iについて、入力ブロックP[i]を入力として前記ブロック暗号Eによりnビットの値C[i]を計算し、
    i=1,...,bの各整数iについての値L[1,i]及び値L[2,i]を用いて、数2に示す値x[1]及び値x[2]を計算し、
    前記値x[1]と前記値x[2]とを結合して前記ハッシュ値wを計算する
    請求項に記載のメッセージ認証子生成装置。
    Figure 0006305658
  5. 前記値L[1,i]は1であり、前記値L[2,i]は2b−iである
    請求項に記載のメッセージ認証子生成装置。
JP2017544969A 2017-02-22 2017-02-22 メッセージ認証子生成装置 Active JP6305658B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/006504 WO2018154642A1 (ja) 2017-02-22 2017-02-22 メッセージ認証子生成装置

Publications (2)

Publication Number Publication Date
JP6305658B1 true JP6305658B1 (ja) 2018-04-04
JPWO2018154642A1 JPWO2018154642A1 (ja) 2019-02-28

Family

ID=61828503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017544969A Active JP6305658B1 (ja) 2017-02-22 2017-02-22 メッセージ認証子生成装置

Country Status (3)

Country Link
US (1) US11177936B2 (ja)
JP (1) JP6305658B1 (ja)
WO (1) WO2018154642A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7362017B1 (ja) 2022-11-29 2023-10-17 フジテック株式会社 エレベータのガイドレール芯出し方法及びガイドレール芯出し装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777712B2 (en) * 2019-03-22 2023-10-03 International Business Machines Corporation Information management in a database

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06315027A (ja) * 1993-04-23 1994-11-08 Internatl Business Mach Corp <Ibm> データ通信環境におけるデータ認証のための方法および装置
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
JP2011259389A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
WO2014136386A1 (ja) * 2013-03-04 2014-09-12 日本電気株式会社 タグ生成装置、タグ生成方法およびタグ生成プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052477A1 (ja) 2005-11-04 2007-05-10 Nec Corporation メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
WO2008053650A1 (en) * 2006-10-30 2008-05-08 Nec Corporation Common key block encrypting device, its method, its program, and recording medium
WO2009020060A1 (ja) 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
JP4914381B2 (ja) 2008-02-07 2012-04-11 日本電信電話株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
US8275125B2 (en) * 2008-04-21 2012-09-25 Tata Consultancy Services Ltd Method for designing a secure hash function and a system thereof
WO2010024004A1 (ja) 2008-08-29 2010-03-04 日本電気株式会社 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム
JP2011040932A (ja) 2009-08-10 2011-02-24 Nippon Telegr & Teleph Corp <Ntt> 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体
JP5704159B2 (ja) 2010-02-24 2015-04-22 日本電気株式会社 ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP5367023B2 (ja) 2011-07-29 2013-12-11 日本電信電話株式会社 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体
US10326589B2 (en) 2015-09-28 2019-06-18 Mitsubishi Electric Corporation Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06315027A (ja) * 1993-04-23 1994-11-08 Internatl Business Mach Corp <Ibm> データ通信環境におけるデータ認証のための方法および装置
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
JP2011259389A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
WO2014136386A1 (ja) * 2013-03-04 2014-09-12 日本電気株式会社 タグ生成装置、タグ生成方法およびタグ生成プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BERNSTEIN, D. J.: "How to Stretch Random Functions: The Security ofProtected Counter Sums", JOURNAL OF CRYPTOLOGY, vol. 12, JPN6017047200, 1999, pages 185 - 192, ISSN: 0003698878 *
LUYKX, A. ET AL.: "A MAC Mode for Lightweight Block Ciphers", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2016/190, JPN6017047203, 23 February 2016 (2016-02-23), ISSN: 0003698877 *
YASUDA, K.: "A New Variant of PMAC: Beyond the Birthday Bound", LECTURE NOTES IN COMPUTER SCIENCE, vol. 6841, JPN6017047204, 2011, pages 596 - 609, XP055535771, ISSN: 0003698876, DOI: 10.1007/978-3-642-22792-9_34 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7362017B1 (ja) 2022-11-29 2023-10-17 フジテック株式会社 エレベータのガイドレール芯出し方法及びガイドレール芯出し装置

Also Published As

Publication number Publication date
WO2018154642A1 (ja) 2018-08-30
US11177936B2 (en) 2021-11-16
JPWO2018154642A1 (ja) 2019-02-28
US20210135840A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US11349668B2 (en) Encryption device and decryption device
JP6735926B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
US10326589B2 (en) Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
JPWO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP6305658B1 (ja) メッセージ認証子生成装置
US11876888B2 (en) Encryption device, decryption device, encryption method, decryption method, and computer readable medium
JP6194136B2 (ja) 疑似乱数生成装置及び疑似乱数生成プログラム
CN112640359B (zh) 消息认证装置、消息认证方法及计算机可读取的存储介质
JP2012068436A (ja) ハッシュ値演算装置、ハッシュ値演算方法及びハッシュ値演算プログラム
JPWO2014046024A1 (ja) ハッシュ値計算装置及びハッシュ値計算方法
JP6033504B1 (ja) メッセージ認証子生成装置
JP7422953B2 (ja) ハッシュ値計算装置、ハッシュ値計算方法及びハッシュ値計算プログラム
JP2019015916A (ja) 追加データ付き認証暗号システム、暗号化装置、復号装置、追加データ付き認証暗号方法、およびプログラム
JP2012014077A (ja) ハッシュ値演算装置、ハッシュ値演算方法及びハッシュ値演算プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170824

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170824

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180306

R150 Certificate of patent or registration of utility model

Ref document number: 6305658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250