"ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成するマスク付きブロック暗号化部と、を備えていることを特徴とするブロック暗号化装置。前記鍵付きハッシュ関数Hは、任意の異なる2つの調整値TとT’に対応するマスク値、中間値のペアをそれぞれS,VとS’,V’とし、SS’をSとS’のビット単位の排他的論理和とし、eを2-nmに十分近い値とした場合に、確率Pr[SS’=c,V=V’]≦eが任意のT,T’,cについて成立する関数であることを特徴とする、請求項1に記載のブロック暗号化装置。前記調整値依存鍵導出部は、前記中間値Vの後ろに、n-mビットの0をパディングすることを特徴とする、請求項1又は2に記載のブロック暗号化装置。前記調整値T及び前記平文Mを入力とする入力部をさらに備えていることを特徴とする、請求項1乃至3のいずれか1項に記載のブロック暗号化装置。前記暗号文Cを出力する出力部をさらに備えていることを特徴とする、請求項1乃至4のいずれか1項に記載のブロック暗号化装置。ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成するマスク付きブロック復号部と、を備えていることを特徴とするブロック復号装置。前記鍵付きハッシュ関数Hは、任意の異なる2つの調整値TとT’に対応するマスク値、中間値のペアをそれぞれS,VとS’,V’とし、SS’をSとS’のビット単位の排他的論理和とし、eを2-nmに十分近い値とした場合に、確率Pr[SS’=c,V=V’]≦eが任意のT,T’,cについて成立する関数であることを特徴とする、請求項6に記載のブロック復号装置。前記調整値依存鍵導出部は、前記中間値Vの後ろに、n-mビットの0をパディングすることを特徴とする、請求項6又は7に記載のブロック復号装置。コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する工程と、を含むことを特徴とするブロック暗号化方法。コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する工程と、を含むことを特徴とするブロック復号方法。ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する処理と、をコンピュータに実行させることを特徴とするプログラム。ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する処理と、をコンピュータに実行させることを特徴とするプログラム。上記非特許文献1-4の全開示内容はその引用をもって本書に繰込み記載する。以下に本発明による分析を与える。nビットブロック暗号を用いた調整値付きブロック暗号の構成方法は、非特許文献1のLRWモードと、その変種である非特許文献2のXEXモードがある。LRW、XEXモードは、式2と式3で示される形式を持ち、CCA-securityを有する。LRWとXEXは、構造的にはほぼ同じである。しかし、LRWモードではK2はK1と独立であるのに対し、XEXモードではK2は固定平文例えばnビットの全ゼロ値をEncK1,で暗号化した結果を用いることにより、鍵サイズの効率化を図っている。重要な点は、いずれにおいても、その安全性保証は、一つの鍵で処理する暗号化回数qが2n/2よりも十分に小さいこれをq≪2n/2と表す場合に限られていることである。2n/2はバースデーバウンドと呼ばれる。バースデーバウンド程度の回数の暗号化の結果を用いた攻撃は、バースデー攻撃と呼ばれる。このような攻撃は、64ビットブロック暗号を用いた場合には現実的な脅威となり、128ビットブロック暗号を用いた場合においても将来的には脅威となり得ることから、対策が必要とされる。かかる対策の一例として、調整値ごとに複数のnビットブロック暗号の鍵を用意する方法がある。特に、非特許文献4で示されているTDRTweak-DependentRekeyingは、このアイディアを用いて、調整値の長さがn/2ビットよりも十分短い場合に、ブロックサイズのバースデーバウンドを超えた安全性CCA-securityを提供する。図8は、TDRの暗号化と復号を示す図である。TDRはバースデーバウンドを超えた高い安全性を提供するものの、調整値の長さが制約されている。汎用性を確保するためには、調整値への入力として、任意の長さを許容することが望ましい。一方、非特許文献1に記載された方式によると、調整値の長さは実質的に任意であるものの、ブロックサイズのバースデーバウンドを超えた安全性が保証されないという問題がある。上述のように、従来のブロック暗号を用いた調整値付きブロック暗号は、LRW、XEXのように調整値が任意長であるもののバースデー攻撃によって破られる方式、又は、TDRのようにバースデー攻撃に理論的耐性を有するものの調整値の長さが固定の短い値に限られる方式のいずれかである。そこで、バースデー攻撃への理論的耐性を有し、調整値が任意長の調整値付きブロック暗号を実現することが課題となる。本発明の目的は、かかる課題を解決するブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラムを提供することにある。本発明の第1の視点に係るブロック暗号化装置は、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成するマスク付きブロック暗号化部と、を有する。本発明の第2の視点に係るブロック復号装置は、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成するマスク付きブロック復号部と、を有する。本発明の第3の視点に係るブロック暗号化方法は、コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する工程と、を含む。本発明の第4の視点に係るブロック復号方法は、コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する工程と、を含む。本発明の第5の視点に係るプログラムは、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する処理と、をコンピュータに実行させる。本発明の第6の視点に係るプログラムは、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値S及びmビットmはn/2未満の正整数の中間値Vを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する処理と、をコンピュータに実行させる。本発明に係るブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラムによると、バースデー攻撃への理論的耐性を有し、調整値が任意長の調整値付きブロック暗号を実現することができる。実施形態1第1の実施形態に係るブロック暗号化装置について、図面を参照して説明する。図1は、本実施形態の調整値付きのブロック暗号化装置10の構成を示すブロック図である。一方、図2は、ブロック暗号化装置10の構成を概略的に示す図である。図1を参照すると、ブロック暗号化装置10は、入力部100、鍵付きハッシュ部101、調整値依存鍵導出部102、マスク付きブロック暗号化部103及び出力部104を有する。ブロック暗号化装置10は、例えば、CPUとメモリとディスクにより実現することができる。ブロック暗号化装置10の各部は、プログラムをディスクに格納しておき、このプログラムをCPU上で動作させることによって実現することができる。次に、ブロック暗号化装置10を構成する各部について説明する。用いるブロック暗号を、nビットブロック、nビット鍵とし、調整値の長さを任意の正整数bについてbビットとする。m1<m<n/2をセキュリティパラメータとすると、この値が安全性を決める。入力部100は、暗号化の対象となるnビットの平文Mとbビットの調整値Tを入力する。入力部100は、例えば、キーボードなどの文字入力装置によって実現することができる。図1及び図2を参照すると、鍵付きハッシュ部101は、入力された調整値Tを入力として、鍵K2を用いた鍵付きハッシュ関数Hにより、nビットのマスク値Sと、mビットの中間値Vを生成する。鍵付きハッシュ関数Hについては、任意の異なる2つの調整値TとT’に対応するマスク値、中間値のペアをそれぞれS,VとS’,V’としたとき、確率Pr[SS’=c,V=V’]≦e...5がどのようなT,T’,cについても成立するものとする。ただし、SS’はSとS’のビット単位の排他的論理和を表す。ここで、eは2-nmに十分近いことが必要とされる。式5の条件は、Hがe-AXU関数と呼ばれる性質を満たせば十分である。このための具体的な構成方法としては、例えば、bがnm以下の場合、鍵K2をnmビットとし、Tに適当なパディングを施しnmビットとした後、パディングされたTと、K2との有限体GF2nm上の乗算mulを求め、そこからSとVを取り出せばよい。このとき、eは2-nmとなる。e-AXU関数は、有限体GF2nm上の乗算mul以外に、非特許文献3で提案されている方式で実現することもできる。これらは、特定の実装環境において、一般的なブロック暗号より数倍高速となることが知られている。調整値依存鍵導出部102は、中間値Vと鍵K1を用いて、調整値依存鍵と呼ばれる新たなブロック暗号の鍵Lを生成する。具体的に、調整値依存鍵Lは、ブロック暗号の暗号化関数をEncx,yただしxは鍵、yは平文で表すとすると、L=EncK1,padV...6となる図2参照。padは、mビット入力を適当にパディングしてnビットとするパディング関数である。パディング関数padは、例えば、入力されたmビットの後ろにn-mビットの0をパディングするようにしてもよい。図1及び図2を参照すると、マスク付きブロック暗号化部103は、調整値依存鍵導出部102が出力する調整値依存鍵Lと鍵付きハッシュ部101が出力するマスク値Sを用いて平文Mを暗号文Cへ暗号化する。具体的には、暗号文CはC=EncL,MSS...7となる。出力部104は、マスク付きブロック暗号化部103の出力する暗号文Cを出力する。出力部104は、コンピュータディスプレイ、プリンタ等によって実現することができる。本発明を具体的に通信やデータストレージにおける暗号化に使用する場合、本発明で得られるnビットブロック、bビット調整値のブロック暗号を何らかの暗号モードで使用することが考えられる。例えば、非特許文献1に記載されている、調整値付きブロック暗号のモードであるTweakBlockChainingやTweakChainHash、TweakableAuthenticatedEncryptionなどで使用することが可能である。さらに、ハードディスクなどデータストレージの暗号化においては、IEEEにおけるストレージ暗号方式標準化で議論されているモードが適用可能である。これは、ハードディスクのセクタとセクタ中のバイトポジション1セクタは通常512バイトに応じてマスク値を足しつつECBElectronicCodeBookモードのように並列に暗号化を行うものである。この方法では、例えばn=128とし、本発明で得られる128ビットブロック、128ビット調整値付きブロック暗号の暗号化関数をTENC鍵K、調整値T、平文Mでの暗号化はTENCK,T,Mとすると、まずセクタの内容を128ビット16バイトごとに分割する。分割した結果をm1,m2,...,m32、ただし、miは16バイトとする。このとき、mii=1,...,32をTENCK,SecNum||i,miと暗号化する。ただし、SecNumはセクタ番号であり、||はビット系列の連結を表す。すなわち、セクタ番号SecNumの第iブロックを、調整値SecNum||iで暗号化するものである。次に、本実施形態のブロック暗号化装置の全体の動作について、図面を参照して説明する。図3は、本実施形態のブロック暗号化装置の全体の動作を示すフローチャートである。図3を参照すると、入力部100は、nビットの平文Mとbビットの調整値Tを入力とするステップE1。次に、鍵付きハッシュ部101は、mビットただし1<m<n/2の中間値Vとnビットのマスク値Sを生成するステップE2。次に、調整値依存鍵導出部102は、中間値Vをnビットにパディングして暗号化することで、nビットの調整値依存鍵Lを求めるステップE3。次に、マスク付きブロック暗号化部103は、Lを鍵、Sをマスク値として、式7に従ってMのマスク付き暗号化を行い、暗号文Cを得るステップE4。最後に、出力部104は、得られた暗号文Cを出力するステップE5。本実施形態に係るブロック暗号化装置10は、nビットブロック、nビット鍵のブロック暗号について、調整値tweakに依存してブロック暗号の鍵Lとnビットのマスク値Sを導出し、これを用いて平文の暗号化を行う。平文はLを鍵としたブロック暗号により暗号化されるが、鍵Lによる暗号化の前後でSによる排他的論理和を入れる。具体的には、調整値Tをnmビット出力のユニバーサルハッシュ関数へ入力し、nビットのSとmビットの中間値Vを得た後、Vをnビットにパディングしてブロック暗号で暗号化することで、鍵Lを得る。上記の方法は、部品としてnビット鍵、nビットブロックの安全なブロック暗号を用い、かつ、セキュリティパラメータmがn/2未満の場合、攻撃者が2n/2回の選択暗号文攻撃を行っても、攻撃が成功する確率を高々2-m/2に抑えることができる。したがって、本実施形態に係る暗号化装置10は、ブロックサイズnに対するバースデー攻撃に対する理論的耐性CCA-securityを有する。実施形態2次に、第2の実施形態に係るブロック復号装置について、図面を参照して説明する。図4は、本実施形態の調整値付きのブロック復号装置20の構成を示すブロック図である。一方、図5は、ブロック復号装置20の構成を概略的に示す図である。図4を参照すると、調整値付きのブロック復号装置20は、入力部200、鍵付きハッシュ部201、調整値依存鍵導出部202、マスク付きブロック復号部203及び出力部204を有する。ブロック復号装置20は、CPUとメモリとディスクによって実現することができる。ブロック復号装置20の各部は、プログラムをディスクに格納しておき、このプログラムをCPU上で動作させることにより実現することができる。次に、ブロック復号装置20を構成する各部について説明する。用いるブロック暗号を、nビットブロック、nビット鍵とし、調整値の長さを任意の正整数bについて、bビットとする。m1<m<n/2をセキュリティパラメータとすると、この値が安全性を決定する。入力部200は、復号の対象となるnビットの暗号文Cとbビットの調整値Tを入力する。入力部200は、例えば、キーボードなどの文字入力装置によって実現することができる。図4及び図5を参照すると、鍵付きハッシュ部201及び調整値依存鍵導出部202は、それぞれ、第1の発明の実施の形態のブロック暗号化装置10における鍵付きハッシュ部101及び調整値依存鍵導出部102図1、図2と同様の動作を行う。図4及び図5を参照すると、マスク付きブロック復号部203は、調整値依存鍵導出部202が出力する調整値依存鍵Lと鍵付きハッシュ部201が出力するマスク値Sを用いて、暗号文Cを平文Mへ復号する。具体的には、復号関数をDecx,yただしxは鍵、yは暗号文で表すとすると、平文MはM=DecL,CSS...8となる。出力部204は、マスク付きブロック復号部203の出力する平文Mを出力する。出力部204は、コンピュータディスプレイ、プリンタ等によって実現することができる。次に、本実施形態のブロック復号装置20の全体の動作について、図面を参照して説明する。図6は、本実施形態のブロック復号装置20の全体の動作を示すフローチャートである。図6を参照すると、入力部200は、nビットの暗号文Cとbビットの調整値Tを入力とするステップD1。次に、鍵付きハッシュ部201は、mビットただし1<m<n/2の中間値Vとnビットのマスク値Sを生成するステップD2。次に、調整値依存鍵導出部202は、中間値Vをnビットにパディングして暗号化することで、nビットの調整値依存鍵Lを求めるステップD3。次に、マスク付きブロック復号部203は、Lを鍵、Sをマスク値として、式8に従ってCのマスク付き復号を行い、平文Mを得るステップD4。最後に、出力部204は、得られた平文Mを出力するステップD5。上記第1の実施形態に係るブロック暗号化装置10及び第2の実施形態に係るブロック復号装置20は、コンピュータとその上で実行されるプログラムによって実現することもできる。本発明によると、バースデーバウンドを超えた安全性を保証する、調整値が任意長の調整値付きブロック暗号を効率よく実現することができる。その理由は、提案方式でnビットブロックのブロック暗号Eを部品として用いる場合、Eが理論的に安全で、m<n/2をセキュリティパラメータとした場合、攻撃者が用いる平文暗号文対の数が2nm/2より十分小さい場合に理論的安全性を持つ、すなわち、2n/2回の暗号化によるバースデー攻撃に対する理論的耐性を持つからである。ここで、mは耐性の強さをコントロールするパラメータであり、例えば、非特許文献4に記載されるようにm=n/3に設定することができる。この安全性の保証は、非特許文献4に記載のTDRをモジュールとして利用することによる。TDRにおいては、mビット調整値をパディングした結果を直接暗号化することで調整値依存の鍵Lを導出していたのに対して、本発明では調整値をnmビット出力の鍵付きハッシュ関数へ入力し、この出力のnビットを非特許文献1のLRWのマスク値として扱い、残りのmビットをTDRにおける調整値として扱うことにより、バースデーバウンドを越えた理論的安全性がTDRと同様に保証され、LRWと同様に調整値が任意長であるという特徴も備えている。本発明の全開示請求の範囲を含むの枠内において、さらにその基本的技術思想に基づいて、実施形態の変更調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。本発明に係るブロック暗号化装置及びブロック復号装置は、無線又は有線のデータ通信における認証と暗号化、ストレージ上のデータの暗号化と改ざん防止等の用途に適用することができる。なお、上記実施形態の一部又は全部は、以下の付記として記載することができるものであるが、これらに限定されるものではない。付記1ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成するマスク付きブロック暗号化部と、を備えていることを特徴とするブロック暗号化装置。付記2前記鍵付きハッシュ関数Hは、任意の異なる2つの調整値TとT’に対応するマスク値、中間値のペアをそれぞれS,VとS’,V’とし、SS’をSとS’のビット単位の排他的論理和とし、eを2-nmに十分近い値とした場合に、確率Pr[SS’=c,V=V’]≦eが任意のT,T’,cについて成立する関数であることを特徴とする、付記1に記載のブロック暗号化装置。付記3前記調整値依存鍵導出部は、前記中間値Vの後ろに、n-mビットの0をパディングすることを特徴とする、付記1又は2に記載のブロック暗号化装置。付記4前記調整値T及び前記平文Mを入力とする入力部をさらに備えていることを特徴とする、付記1乃至3のいずれか一に記載のブロック暗号化装置。付記5前記暗号文Cを出力する出力部をさらに備えていることを特徴とする、付記1乃至4のいずれか一に記載のブロック暗号化装置。付記6ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する鍵付きハッシュ部と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する調整値依存鍵導出部と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成するマスク付きブロック復号部と、を備えていることを特徴とするブロック復号装置。付記7前記鍵付きハッシュ関数Hは、任意の異なる2つの調整値TとT’に対応するマスク値、中間値のペアをそれぞれS,VとS’,V’とし、SS’をSとS’のビット単位の排他的論理和とし、eを2-nmに十分近い値とした場合に、確率Pr[SS’=c,V=V’]≦eが任意のT,T’,cについて成立する関数であることを特徴とする、付記6に記載のブロック復号装置。付記8前記調整値依存鍵導出部は、前記中間値Vの後ろに、n-mビットの0をパディングすることを特徴とする、付記6又は7に記載のブロック復号装置。付記9前記調整値T及び前記暗号文Cを入力とする入力部をさらに備えていることを特徴とする、付記6乃至8のいずれか一に記載のブロック復号装置。付記10前記平文Mを出力する出力部をさらに備えていることを特徴とする、付記6乃至9のいずれか一に記載のブロック復号装置。付記11コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する工程と、を含むことを特徴とするブロック暗号化方法。付記12コンピュータが、入力部を介して、前記調整値T及び前記平文Mを入力とする工程をさらに含むことを特徴とする、付記11に記載のブロック暗号化方法。付記13コンピュータが、出力部に対して、前記暗号文Cを出力する工程をさらに含むことを特徴とする、付記11又は12に記載のブロック暗号化方法。付記14コンピュータが、ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する工程と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する工程と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する工程と、を含むことを特徴とするブロック復号方法。付記15コンピュータが、入力部を介して、前記調整値T及び前記暗号文Cを入力とする工程をさらに含むことを特徴とする、付記14に記載のブロック復号方法。付記16コンピュータが、出力部に対して、前記平文Mを出力する工程をさらに含むことを特徴とする、付記14又は15に記載のブロック復号方法。付記17ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの平文Mに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で暗号化し、得られた結果に前記マスク値Sを加算して暗号文Cを生成する処理と、をコンピュータに実行させることを特徴とするプログラム。付記18入力部を介して、前記調整値T及び前記平文Mを入力とする処理をさらにコンピュータに実行させることを特徴とする、付記17に記載のプログラム。付記19出力部に対して、前記暗号文Cを出力する処理をさらにコンピュータに実行させることを特徴とする、付記17又は18に記載のプログラム。付記20ブロック暗号をnビットブロック、nビット鍵とし、調整値の長さをbビットとしたときに、bビットの調整値Tを入力とし、鍵K2を用いた鍵付きハッシュ関数により、nビットのマスク値Sとmビットmはn/2未満の正整数の中間値Vとを生成する処理と、前記中間値Vをnビットにパディングした後、鍵K1を用いて前記中間値Vをnビットブロック暗号で暗号化してnビットの調整値依存鍵Lを生成する処理と、前記マスク値Sをnビットの暗号文Cに加算した後、前記調整値依存鍵Lを鍵とするnビットブロック暗号で復号し、得られた結果に前記マスク値Sを加算して平分Mを生成する処理と、をコンピュータに実行させることを特徴とするプログラム。付記21入力部を介して、前記調整値T及び前記暗号文Cを入力とする処理をさらにコンピュータに実行させることを特徴とする、付記20に記載のプログラム。付記22出力部に対して、前記平文Mを出力する処理をさらにコンピュータに実行させることを特徴とする、付記20又は21に記載のプログラム。付記23付記17乃至22のいずれか一に記載のプログラムが記録されていることを特徴とするコンピュータ読み取り可能な記録媒体。"