JP5333450B2 - 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム - Google Patents

調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム Download PDF

Info

Publication number
JP5333450B2
JP5333450B2 JP2010526597A JP2010526597A JP5333450B2 JP 5333450 B2 JP5333450 B2 JP 5333450B2 JP 2010526597 A JP2010526597 A JP 2010526597A JP 2010526597 A JP2010526597 A JP 2010526597A JP 5333450 B2 JP5333450 B2 JP 5333450B2
Authority
JP
Japan
Prior art keywords
adjustment value
value
bit
block
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
Application number
JP2010526597A
Other languages
English (en)
Other versions
JPWO2010024004A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010526597A priority Critical patent/JP5333450B2/ja
Publication of JPWO2010024004A1 publication Critical patent/JPWO2010024004A1/ja
Application granted granted Critical
Publication of JP5333450B2 publication Critical patent/JP5333450B2/ja
Expired - Fee Related 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ブロック暗号の運用モードに関し、特にnビットブロック暗号による汎用的で高い安全性を持つ調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラムに関する。
ブロック暗号とは、鍵により一意に定まる置換の集合であり、置換への入力が平文、出力が暗号文にそれぞれ相当する。平文や暗号文の長さをブロックサイズという。ブロックサイズがnビットのブロック暗号を、一般的にnビットブロック暗号という。ブロック暗号化・復号に関連する技術としては、特許文献1に開示される「暗号化方法および装置」がある。
調整値付きブロック暗号とは、通常のブロック暗号が持つ入出力である(平文、暗号文、鍵)以外にtweakと呼ばれる調整値を持つブロック暗号のことであり、tweakableブロック暗号とも呼ばれる。調整値と鍵とが定まれば、平文と暗号文とが一対一に対応することが条件である。すなわち、任意の調整値付きブロック暗号の暗号化関数TWENCと、対応する復号関数TWDECとは、平文M、暗号文C、鍵K、調整値Tについて、常に下記式(1)を満たす。
Figure 0005333450
式(1)を含めた調整値付きブロック暗号の形式的な定義と安全性要件とは、非特許文献1に開示されている。安全性要件について簡単に言えば、調整値付きブロック暗号においては、調整値が異なる二つのブロック暗号の出力が、調整値と入力が攻撃者に既知であっても、その攻撃者には互いに独立でランダムな値に見えることが要求される。この性質が満たされるとき、調整値付きブロック暗号は安全であるという。
また、非特許文献1において、理論的に安全な調整値付きブロック暗号が通常のブロック暗号の運用モード(以下、モードという)として得られる、換言すると、ブロック暗号をブラックボックスとして用いた変換として得られるということが示されている。ただし、ここでいう理論的安全性とは、あるブロック暗号のモードとして得られる調整値付きブロック暗号の安全性が、元となるブロック暗号の安全性に帰着できる、すなわち安全なブロック暗号を用いる限り、得られる調整値付きブロック暗号も安全であると言うことを示す。
さらに、安全性の定義には、攻撃者が選択平文攻撃(chosen-plaintext attack, CPA)のみ可能な場合の安全性と、選択平文攻撃と選択暗号文攻撃(chosen-ciphertext attack, CCA)とを組み合わせて実行可能な場合の安全性との2種類があり、前者をCPA-security、後者をCCA-securityと呼ぶ。
安全な調整値付きブロック暗号は、高度な暗号化機能の実現のための鍵となる技術であることが知られている。例えば、非特許文献2には、CCA-securityを有する調整値付きブロック暗号を用いると大変効率の良い認証機能付き暗号が実現できることや、CCA-securityを有する調整値付きブロック暗号を用いると、効率の良い、並列実行可能なメッセージ認証コードを実現できることが指摘されている。また、CCA-securityを有する調整値付きブロック暗号は、ディスクセクタ暗号化などのストレージ暗号化のための必須の技術であることも知られている。
ここで、非特許文献1で提案されたモードをLRWモードと称することとする。また、nビットブロック暗号Eを用いたLRWモードを図9(a)、(b)に示す。nビットブロック暗号(暗号化関数をEnc、復号関数をDecとする)を用いたLRWモードは、一般に、鍵K、調整値T、平文Mが与えられたとき、下記式(2)によって暗号文Cを得る。
Figure 0005333450
暗号文Cから平文Mへの復号は、下記式(3)となる。
Figure 0005333450
K1はブロック暗号の鍵、K2はブロック暗号の処理の前後に足される鍵付き関数F(オフセット関数と呼ばれる)。ここで、Fは、セキュリティパラメータをe(0≦e≦1)としたとき、任意のc、x、x’(x≠x’)について、下記式(4)を満たす性質を持つ必要がある。ただし、+は排他的論理和(XOR)を表す。
Figure 0005333450
この性質を持つとき、f(K,*)はe-almost XOR universal (e-AXU)であるという。e-AXU関数はユニバーサルハッシュ関数の一種である。これを実現するには、例えば有限体GF(2n)上の乗算mulを用いて、F(K2,T) = mul(K2,T)とすることがよく知られている。このときは、Fは1/2n-AXUである。
e-AXU関数はmul以外にも、非特許文献3などで提案されている方式で実現可能である。これらは特定の実装環境においては一般的なブロック暗号より数倍高速となることが知られている。
nビットブロック暗号を用いた調整値付きブロック暗号の構成方法としては、非特許文献1のLRWモードと、その変種である非特許文献2のXE、XEXモードがある。LRWモードやXEXモードは、上記式(2)、(3)で示される形式を持ち、CCA-securityを有する。
一方、XEモードは、外側のオフセットを省略した下記式(5)という形式をしており、CPA-securityを有している。
Figure 0005333450
LRWモードではK2はK1と独立であるのに対して、XEモード、XEXモードではK2は固定平文(例えばnビットの全ゼロ値)をEnc(K1,*)で暗号化した結果を用いることで、鍵サイズの効率化を図っている。重要なのは、いずれにおいても、その安全性保証は、一つの鍵で処理する暗号化回数qが2n/2よりも十分に小さい(これをq≪2n/2と表す)場合に限られていることである。2n/2はバースデーバウンドと呼ばれ、バースデーバウンド程度の回数の暗号化の結果を用いた攻撃は一般にバースデー攻撃と呼ばれる。このような攻撃は、64ビットブロック暗号を用いた場合には現実的な脅威となり、また128ビットブロック暗号を用いた場合でも将来的なリスクと考えられるため、対策が必要である。
非特許文献4では、暗号化回数qがq≪2nのときに安全な調整値付きブロック暗号の構成方法が記載されているが、これは、元のブロック暗号が2nビットブロックのFeistel型暗号のときを扱っているため、問題が異なる(ブロック暗号のブロックサイズ(2nビット)のバースデーバウンドまでの安全性のみを保証している)。
非特許文献5など、従来よく行われている方法として、調整値ごとに複数のnビットブロック暗号の鍵を用意する方法がある。この方法は鍵の長さがnビットより十分長い(例えば2nや3nビット)場合か、鍵の長さがnビットであっても調整値の長さがごくわずかである場合は、簡便でバースデーバウンドを超えた安全性を提供する。しかし調整値の長さがある程度あって(例えばn/2ビット)、さらに鍵の長さがnビットである場合は、この方法では一般にバースデーバウンドを超えた安全性は保証できない。
特開平9−230787号公報
M. Liskov, R. Rivest, D. Wagner, Tweakable Block Ciphers, Advances in Cryptology - CRYPTO 2002, 22nd Annual International Cryptology Conference, Santa Barbara, California, USA, August 18-22, 2002, Proceedings. Lecture Notes in Computer Science 2442 Springer 2002, pp. 31-46. P. Rogaway: Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC. Advances in Cryptology - ASIACRYPT2004, 10th International Conference on the Theory and Application of Cryptology and Information Security, Jeju Island, Korea, December 5-9, 2004, Proceedings. Lecture Notes in Computer Science 3329 Springer 2004, pp. 16-31 S. Halevi and H. Krawczyk, MMH:Software Message Authentication in the Gbit/second rates, Fast Software Encryption, 4th Internatioanl Workshop, FSE '97, Lecture Notes in Computer Science; Vol. 1267, March. 1997 D. Goldenberg, S. Hohenberger, M. Liskov, E. C. Schwartz, H.Seyalioglu, On Tweaking Luby-Rackoff Blockciphers, Advances in Cryptology -ASIACRYPT 2007, 13th International Conference on the Theory and Applicationof Cryptology and Information Security, Kuching, Malaysia, December 2-6, 2007, Proceedings. Lecture Notes in Computer Science 4833 Springer 2007, pp. 342-356. J. Black, P. Rogaway, CBC MACs for Arbitrary-Length Messages: The Three-Key Constructions, Advances in Cryptology - CRYPTO 2000, 20th Annual International Cryptology Conference, Santa Barbara, California, USA, August 20-24, 2000, Proceedings. Lecture Notes in Computer Science 1880 Springer 2000, pp. 197-215.
このように、ブロック暗号を用いた調整値付きブロック暗号は、バースデー攻撃によって破れる方式しか実現されていなかった。
本発明は係る問題に鑑みてなされたものであり、現実的なブロック暗号を用いて、バースデー攻撃への理論的耐性を持つ調整値付きブロック暗号を形成できる調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明は、第1の態様として、nビットの平文とnビットの調整値とを入力する入力手段と、前記調整値をnビットブロック暗号関数で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成する調整値依存鍵導出手段と、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号で暗号化し、暗号化した結果に前記マスク値を加算することにより暗号文を生成するマスク付きブロック暗号化手段と、前記暗号文を出力する出力手段と、を有する調整値付きブロック暗号化装置を提供するものである。
また、上記目的を達成するため、本発明は、第2の態様として、nビットの暗号文とnビットの調整値とを入力する入力手段と、前記調整値をnビットブロック暗号で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成する調整値依存鍵導出手段と、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号に対応する復号関数で復号し、復号した結果に前記マスク値を加算することにより平文を生成するマスク付きブロック復号手段と前記平文を出力する平文出力手段と、を有する調整値付きブロック復号装置を提供するものである。
上記目的を達成するため、本発明は、第3の態様として、プログラムにしたがって処理を実行するCPUを有するコンピュータによる調整値付きブロック暗号化方法であって、前記CPUがnビットの平文とnビットの調整値とを入力前記CPUが、前記調整値をnビットブロック暗号関数で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成前記CPUが、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号で暗号化し、暗号化した結果に前記マスク値を加算することにより暗号文を生成前記CPUが前記暗号文を出力する、調整値付きブロック暗号化方法を提供するものである。
また、上記目的を達成するため、本発明は、第4の態様として、プログラムにしたがって処理を実行するCPUを有するコンピュータによる調整値付きブロック復号方法であって、前記CPUがnビットの暗号文とnビットの調整値とを入力前記CPUが、前記調整値をnビットブロック暗号で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成前記CPUが、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号に対応する復号関数で復号し、復号した結果に前記マスク値を加算することにより平文を生成し、前記CPUが前記平文を出力する、調整値付きブロック復号方法を提供するものである。
上記目的を達成するため、本発明は、第5の態様として、コンピュータを上記本発明の第の態様調整値付きブロック暗号化装置として機能させるためのプログラムを提供するものである。
また、上記目的を達成するため、本発明は、第6の態様として、コンピュータを上記本発明の第の態様調整値付きブロック復号装置として機能させるためのプログラムを提供するものである。
本発明によれば、現実的なブロック暗号を用いて、バースデー攻撃への理論的耐性を持つ調整値付きブロック暗号を形成できる調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラムを提供できる。
本発明を好適に実施した第1の実施形態に係る調整値付きブロック暗号化装置の構成を示す図である。 調整値依存鍵導出部及びマスク付きブロック暗号化部におけるデータの流れを示す図である。 暗号文側のマスク値の付加を省略した場合の調整値依存鍵導出部及びマスク付きブロック暗号化部におけるデータの流れを示す図である。 第1の実施形態に係る調整値付きブロック暗号化装置の動作の流れを示す図である。 本発明を好適に実施した第2の実施形態に係る調整値付きブロック復号装置の構成を示す図である。 調整値依存鍵導出部及びマスク付きブロック復号部におけるデータの流れを示す図である。 暗号文側のマスク値の付加を省略した場合の調整値依存鍵導出部及びマスク付きブロック復号部におけるデータの流れを示す図である。 第2の実施形態に係る調整値付きブロック復号装置の動作の流れを示す図である。 LRWモードにおける暗号化及び復号の動作を示す図である。
本発明は、バースデーバウンドを超えた安全性を保証する効率的な調整値付きブロック暗号を効率よく実現するものである。
本発明においては、部品として用いる(nビット鍵、nビットブロックの)ブロック暗号Eが理論的に安全で、m<n/2をセキュリティパラメータとした場合、攻撃者が用いる平文・暗号文の数が2(n+m)/2よりも十分に小さい場合に理論的安全性を持ち、すなわち2n/2回の暗号化によるバースデー攻撃に対する理論的耐性を持つためである。耐性の強さはmでコントロールできる。
また、鍵がnよりも長い場合にはさらに高い安全性を持つ。これは、調整値ごとに新たなブロック暗号の鍵を導出して暗号化・復号に用いていることによるが、単純に調整値ごとにランダムな鍵を導出するだけでは、攻撃において調整値のバリエーションが2n/2程度ある場合、nビットの鍵が偶然一致する確率はほぼ1となり、この事実を用いたバースデー攻撃が成立するためである。
これを防ぐため、mpad関数により鍵のバリエーションを高々2m個に抑えつつ、調整値に依存したマスク値加算をブロック暗号の前後に入れることにより、選択暗号文攻撃におけるバースデーバウンドを超えた安全性が保証される。なお、暗号文側のマスク値加算を省略すると、若干処理を簡略化できる代わりに、選択平文攻撃へのバースデーバウンドを超えた安全性のみが保証される。
以下、本発明の好適な実施の形態について説明する。
〔第1の実施形態〕
本発明を好適に実施した第1の実施形態について説明する。
図1に、本実施形態に係る調整値付きブロック暗号化装置の構成を示す。調整値付きブロック暗号化装置10は、入力部100、調整値依存鍵導出部101、マスク付きブロック暗号化部102、及び出力部103を有する。
調整値付きブロック暗号化装置10はCPUとメモリとディスクにより実現可能である。
調整値付きブロック暗号化装置の各機能部は、プログラムをディスクに格納しておき、このプログラムをCPU上で動作させることにより実現できる。
用いるブロック暗号を、nビットブロック、n’ビット鍵
Figure 0005333450
とし、調整値の長さをnビットとする。m(1< m<n/2)をセキュリティパラメータとし、これが安全性を決める。
入力部100は、暗号化の対象となるnビットの平文Mとnビットの調整値Tとを入力する。入力部100は、キーボードなどの文字入力装置として実現される。
図2に、調整値依存鍵導出部101及びマスク付きブロック暗号化部102における情報の流れを示す。なお、図3に示すように、暗号文側のマスク値加算を省略すると、若干処理を簡略化できる代わりに、選択平文攻撃へのバースデーバウンドを超えた安全性のみが保証される。
調整値依存鍵導出部101は、入力された調整値Tと鍵Kとに依存して、調整値依存鍵と呼ばれる新たなブロック暗号の鍵を生成する。
具体的には、n’=nの場合、調整値依存鍵Lは、下記式(6)として実現できる。
Figure 0005333450
ただし、ブロック暗号の鍵K1、K2は、装置の鍵Kから任意の方法で導出されるものとする(例えば、Kを2nビット以上とし最初のnビットをK1、次のnビットをK2とすることで実現できる)。また、mpadはnビットのうち任意のn-mビット(mはセキュリティパラメータ)を任意の値に固定する関数である。例えば、上位n-mビットを全ゼロとすることで実現できる。
鍵K2による暗号化処理は、nビットの入力とn’ビットの出力とを持つ任意の暗号関数、例えば鍵付きの一方向性ハッシュ関数などでも実現可能である。特に、n’=nの場合では鍵K2による暗号化処理は、Stefan Lucks, The Sum of PRPs Is a Secure PRF, EUROCRYPT 2000, International Conference on the Theory and Application of Cryptographic Techniques, Bruges, Belgium, May 14-18, 2000, Proceeding. Lecture Notes in Computer Science 1807 Springer 2000, pp. 470-484に記載のSUMモードを用いることでも実現でき、また、n’>nの場合は、Tetsu Iwata, New Blockcipher Modes of Operation with Beyond the Birthday Bound Security, Fast Software Encryption, 13th International Workshop, FSE 2006, Graz, Austria, March 15-17, 2006, Revised Selected Papers. Lecture Notes in Computer Science 4047 Springer 2006, pp. 310-322に記載のCENCモードを用いることでも実現できる。
マスク付きブロック暗号化部102は、調整値依存鍵導出部101が出力する調整値依存鍵Lと調整値Tとによるマスク値を用いて平文Mを暗号文Cへ暗号化する。
具体的には、攻撃者による選択暗号文攻撃を想定した場合、暗号文Cは、下記式(7)となり、平文選択攻撃のみを想定した場合は、下記式(8)となる。
Figure 0005333450
ここで、K3は、上記式(6)におけるK1、K2と同様に、装置の鍵Kから導出される鍵であり、F(K3,T)は鍵K3を用いる鍵付き関数FへTを入力した結果(nビット)である。Fは、異なる二つの調整値TとT'とについて上記式(4)で定義されるe-AUX関数である必要がある。これは、例えば、nビットの鍵K3と調整値Tとの有限体GF(2n)上の乗算mul(K3,T)をとることで実現できる。このときFは、下記式(9)で定義され、Fは1/2n-AXU関数である。
Figure 0005333450
出力部103は、マスク付きブロック暗号部102が出力する暗号文Cを出力する。出力部103は、コンピュータディスプレイやプリンタなどで実現可能である。
本実施形態に係る調整値付きブロック暗号化装置を具体的に通信やデータストレージにおける暗号化に使用する場合、本実施形態で得られるnビットブロック、nビット調整値のブロック暗号を何らかの暗号モードで使用することが考えられる。例えば、非特許文献1に記載されている、調整値付きブロック暗号のモードであるTweak Block ChainingやTweak Chain Hash, Tweakable Authenticated Encryptionなどで使用することが可能である。
さらにハードディスクなどデータストレージの暗号化においては、IEEEにおけるストレージ暗号方式標準化で議論されているモードが適用可能である。これは、ハードディスクのセクタとセクタ中のバイトポジション(1セクタは通常512バイト)に応じてマスク値を足しつつECBモードのように並列に暗号化を行うものである。この方法では、例えばn=128とし、本実施形態で得られる128ビットブロック、128ビット調整値付きブロック暗号の暗号化関数をTENC(鍵K、調整値T、平文Mでの暗号化はTENC(K,T,M))とすると、まずセクタの内容を128ビット(16バイト)ごとに分割する。分割した結果を(m1,m2,...,m32)、ただしmiは16バイトとする。このとき、mi(i=1,...,32)をTENC(K, (SecNum || i), mi)と暗号化する。ただしSecNumはセクタ番号であり、||はビット系列の連結を表す。すなわち、セクタ番号SecNumの第iブロックを、調整値(SecNum || i)で暗号化するものである。
図4に、本実施形態に係る調整値付きブロック暗号化装置の動作の流れを示す。
まず、入力手段を介してnビットの平文Mとnビットの調整値Tとを入力し(ステップS101)、調整値依存鍵導出部101により、上記式(6)に従って調整値依存鍵Lを求める(ステップS102)。次に、ブロック暗号化部102により上記式(7)に従ってマスク値Sを生成し(ステップS103)、さらにLを鍵、Sをマスク値として上記式(7)に従ってMのマスク付き暗号化を行い暗号文Cを得る(ステップS104)。最後に、得られた暗号文Cを出力部103によって出力する(ステップS105)。
このように、本実施形態によれば、現実的なブロック暗号を用いて、バースデー攻撃への理論的耐性を持つ調整値付きブロック暗号を形成できる。
〔第2の実施形態〕
本発明を好適に実施した第2の実施形態について説明する。
図5に、本実施形態に係る調整値付きブロック復号装置の構成を示す。調整値付きブロック復号装置20は、入力部200、調整値依存鍵導出部201、マスク付きブロック復号部202、及び出力部203を有する。
調整値付きブロック復号装置20は、CPUとメモリとディスクにより実現可能である。
調整値付きブロック復号装置の各機能部は、プログラムをディスクに格納しておき、このプログラムをCPU上で動作させることにより実現できる。
調整値付きブロック復号装置を構成する各機能部について説明する。
図6に、調整値依存鍵導出部201及びマスク付きブロック復号部302における情報の流れを示す。なお、図7に示すように、暗号文側のマスク値加算を省略すると、若干処理を簡略化できる代わりに、選択平文攻撃へのバースデーバウンドを超えた安全性のみが保証される。
上記第1の実施形態と同様に、用いるブロック暗号を、nビットブロック、n’ビット鍵(n’≧n)とし、セキュリティパラメータをm(1<m<n/2)とする。
入力部200は、復号の対象となるnビットの暗号文Cとnビットの調整値Tとを入力する。入力部200は、キーボードなどの文字入力装置によって実現できる。
調整値依存鍵導出部201は、第1の実施形態における調整値依存鍵導出部101と同様である。
マスク付きブロック復号部202は、調整値依存鍵導出部201が出力する調整値依存鍵Lと調整値Tとによるマスク値を用いて暗号文Cを平文Mへ復号する。具体的には、ブロック暗号の復号関数をDec(鍵K、暗号文Cの復号はDec(K,C))、攻撃者による選択暗号文攻撃を想定した場合、平文Mは下記式(10)とし、選択平文攻撃のみを想定した場合は下記式(11)となる。
Figure 0005333450
ここで、K3は装置の鍵Kから導出される鍵であり、鍵付き関数Fは第1の実施形態におけるマスク付きブロック暗号化部102が用いるものと同様である。
出力部203は、マスク付きブロック復号部202が出力する平文Mを出力する。出力部203は、コンピュータディスプレイやプリンタなどで実現可能である。
図8に、本実施形態に係る調整値付きブロック復号装置の動作の流れを示す。
まず、入力部200を用いてnビットの暗号文Cと調整値Tとを入力し(ステップS201)、調整値依存鍵導出部201によって上記式(6)に従って調整値依存鍵Lを求める(ステップS202)。次に、マスク付きブロック復号部202によって上記式(10)に従ってマスク値Sを生成する(ステップS203)。さらに、Lを鍵、Sをマスク値として上記式(10)に従って暗号文Cにマスク付き復号を行い平文Mを得る(ステップS204)。最後に、得られた平文Mを出力部203によって出力する(ステップS205)。
このように、本実施形態によれば、現実的なブロック暗号を用いて形成したバースデー攻撃への理論的耐性を持つ調整値付きブロック暗号を復号できる。
なお、上記各実施形態は本発明の好適な実施の一例であり、本発明はこれらに限定されることはない。
例えば、本発明は、無線又は有線のデータ通信における認証と暗号化といった用途や、ストレージ上のデータの暗号化と改ざん防止といった用途に適用可能である。
このように、本発明は様々な変形が可能である。
この出願は、2008年8月29日に出願された日本出願特願2008−221657を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。
10 調整値付きブロック暗号化装置
20 調整値付きブロック復号装置
100、200 入力部
101、201 調整値依存鍵導出部
102 マスク付きブロック暗号化部
103、203 出力部
202 マスク付きブロック復号部

Claims (8)

  1. nビットの平文とnビットの調整値とを入力する入力手段と、
    前記調整値をnビットブロック暗号関数で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成する調整値依存鍵導出手段と、
    前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号で暗号化し、暗号化した結果に前記マスク値を加算することにより暗号文を生成するマスク付きブロック暗号化手段と、
    前記暗号文を出力する出力手段と、
    を有する調整値付きブロック暗号化装置。
  2. 前記調整値依存鍵導出手段は、装置の鍵を元にnビットのブロック暗号の鍵を生成し、生成した前記ブロック暗号の鍵を前記暗号処理において用いることを特徴とする請求項1に記載の調整値付きブロック暗号化装置。
  3. nビットの暗号文とnビットの調整値とを入力する入力手段と、
    前記調整値をnビットブロック暗号で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成する調整値依存鍵導出手段と、
    前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号に対応する復号関数で復号し、復号した結果に前記マスク値を加算することにより平文を生成するマスク付きブロック復号手段と
    前記平文を出力する平文出力手段と、
    を有する調整値付きブロック復号装置。
  4. 前記調整値依存鍵導出手段は、装置の鍵を元にnビットのブロック暗号の鍵を生成し、生成した前記ブロック暗号の鍵を前記暗号処理において用いることを特徴とする請求項3に記載の調整値付きブロック復号装置。
  5. プログラムにしたがって処理を実行するCPUを有するコンピュータによる調整値付きブロック暗号化方法であって、
    前記CPUがnビットの平文とnビットの調整値とを入力
    前記CPUが、前記調整値をnビットブロック暗号関数で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成
    前記CPUが、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号で暗号化し、暗号化した結果に前記マスク値を加算することにより暗号文を生成
    前記CPUが前記暗号文を出力する、調整値付きブロック暗号化方法。
  6. プログラムにしたがって処理を実行するCPUを有するコンピュータによる調整値付きブロック復号方法であって、
    前記CPUがnビットの暗号文とnビットの調整値とを入力
    前記CPUが、前記調整値をnビットブロック暗号で暗号化し、1より大きくn/2未満の値をmとして、暗号化した結果のうちの任意のn−mビットを任意の値に固定し、固定した結果を、nビットの入力を持つ暗号処理で暗号化することにより、調整値依存鍵生成
    前記CPUが、前記調整値を鍵付き関数へ入力することによりマスク値を生成し、該マスク値を前記平文へ加算し、加算した結果を、前記調整値依存鍵を鍵としたnビットブロック暗号に対応する復号関数で復号し、復号した結果に前記マスク値を加算することにより平文を生成し、
    前記CPUが前記平文を出力する、調整値付きブロック復号方法。
  7. コンピュータを請求項記載の調整値付きブロック暗号化装置として機能させるためのプログラム。
  8. コンピュータを請求項記載の調整値付きブロック復号装置として機能させるためのプログラム。
JP2010526597A 2008-08-29 2009-05-22 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム Expired - Fee Related JP5333450B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010526597A JP5333450B2 (ja) 2008-08-29 2009-05-22 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008221657 2008-08-29
JP2008221657 2008-08-29
PCT/JP2009/059438 WO2010024004A1 (ja) 2008-08-29 2009-05-22 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム
JP2010526597A JP5333450B2 (ja) 2008-08-29 2009-05-22 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2010024004A1 JPWO2010024004A1 (ja) 2012-01-26
JP5333450B2 true JP5333450B2 (ja) 2013-11-06

Family

ID=41721181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526597A Expired - Fee Related JP5333450B2 (ja) 2008-08-29 2009-05-22 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム

Country Status (2)

Country Link
JP (1) JP5333450B2 (ja)
WO (1) WO2010024004A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105367A1 (ja) * 2010-02-24 2011-09-01 日本電気株式会社 ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
US8468365B2 (en) * 2010-09-24 2013-06-18 Intel Corporation Tweakable encryption mode for memory encryption with protection against replay attacks
JP5365750B2 (ja) * 2011-01-31 2013-12-11 日本電気株式会社 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
CN103620617B (zh) * 2011-06-29 2016-08-17 英特尔公司 用于带有完整性检查和防止重放攻击的保护的存储器加密的方法和设备
JP6305642B2 (ja) 2015-09-28 2018-04-04 三菱電機株式会社 メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
WO2018154642A1 (ja) 2017-02-22 2018-08-30 三菱電機株式会社 メッセージ認証子生成装置
JP6797337B2 (ja) 2018-08-30 2020-12-09 三菱電機株式会社 メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023715A1 (en) * 2002-09-03 2004-03-18 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
WO2008018303A1 (fr) * 2006-08-10 2008-02-14 Nec Corporation Dispositif de chiffrage de bloc équipé d'une fonction d'ajustement, procédé et programme

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023715A1 (en) * 2002-09-03 2004-03-18 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
WO2008018303A1 (fr) * 2006-08-10 2008-02-14 Nec Corporation Dispositif de chiffrage de bloc équipé d'une fonction d'ajustement, procédé et programme

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6009030466; Draft Proposal for Tweakable Narrow-block Encryption Draft 1.00:00, 20040806, IEEE *
JPN6009030467; Draft Proposal for Tweakable Wide-block Encryption Draft 1.00:00, 20030322, IEEE *
JPN6009030470; M. Liskov et al.: 'Tweakable Block Ciphers' Lecture Notes in Computer Science Vol. 2442, 2002, pp. 31-46, Springer *

Also Published As

Publication number Publication date
WO2010024004A1 (ja) 2010-03-04
JPWO2010024004A1 (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5704159B2 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP6519473B2 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
JP4712017B2 (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
JP5333450B2 (ja) 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム
KR101516574B1 (ko) 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
CN101202623B (zh) 消息验证码产生方法、验证/加密和验证/解密方法
EP2058781B1 (en) Encryption device, encryption method, and computer program
US8189770B2 (en) Tweakable block encryption apparatus, method, and program
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
CA2627136A1 (en) Message authentication device, message authentication method, message authentication program and storage medium therefor
WO2014136386A1 (ja) タグ生成装置、タグ生成方法およびタグ生成プログラム
US8526602B2 (en) Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
WO2017056150A1 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
WO2010024003A1 (ja) 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
JPWO2008053650A1 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
TW201545524A (zh) 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
US8891761B2 (en) Block encryption device, decryption device, encrypting method, decrypting method and program
Vance VAES3 scheme for FFX: An addendum to The FFX mode of operation for Format Preserving Encryption
CN108616351B (zh) 一种全动态加密解密方法及加密解密装置
JP2011107407A (ja) 準同型暗号システム、準同型暗号方法、プログラム
WO2021171543A1 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法および記録媒体
Sivakumar et al. A new symmetric cryptosystem using randomized parameters of SHA-512 and MD5 hash functions
Tiwari et al. Differential Cryptanalysis on Block Ciphers: New Research Directions
KR20030001888A (ko) 키를 사용하지 않고 블록 정보만을 이용하는 암호알고리즘 설계 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5333450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees