プロセッサにより、アプリケーションに関連付けられており、調整を用いて暗号化されているデータのブロックを暗号化する段階と、前記暗号化されているデータのブロックを格納するべく、前記プロセッサとは別個のメモリに論理的分割領域を割り当てる段階とを備え、前記調整は、前記メモリのキャッシュライン識別子と、暗号化すべく識別された、前記データのブロックのキャッシュラインの位置とを含む、方法。前記調整で割り当てられた前記論理的分割領域に関連付けられたタイムスタンプ値を格納する段階を更に備え、前記タイムスタンプ値は、前記プロセッサによって、前記暗号化されているデータが前記割り当てられた論理的分割領域にロードされると、および、前記暗号化されているデータが前記割り当てられた論理的分割領域からエビクトされると、増分される、請求項1に記載の方法。前記タイムスタンプ値は、前記プロセッサのカウンタに格納され、前記カウンタは前記論理的分割領域に割り当てられる、請求項2に記載の方法。前記カウンタは、前記プロセッサとは独立して増分される、請求項3に記載の方法。前記割り当てられた論理的分割領域に関連付けられているラベルを前記調整に格納する段階を更に備える、請求項2に記載の方法。前記アプリケーションは、セキュアなアプリケーションである、請求項1から5のいずれか一項に記載の方法。前記調整はXTS-AES調整である、請求項1から6のいずれか一項に記載の方法。前記調整はLRW調整である、請求項1から6のいずれか一項に記載の方法。プロセッサで、アプリケーションに関連付けられており、前記プロセッサとは別個のメモリのキャッシュライン識別子と、暗号化すべく識別された、データのブロックのキャッシュラインの位置とを含む調整を用いて暗号化されている前記データのブロックを暗号化する論理と、前記暗号化されているデータのブロックを格納するべく、前記メモリに論理的分割領域を割り当てる論理とを備える装置。調整で割り当てられた前記論理的分割領域に関連付けられたタイムスタンプ値を格納する論理を更に備え、前記タイムスタンプ値は、前記プロセッサによって、前記暗号化されているデータが前記割り当てられた論理的分割領域にロードされると、および、前記暗号化されているデータが前記割り当てられた論理的分割領域からエビクトされると、増分される、請求項9に記載の装置。前記タイムスタンプ値は、前記プロセッサのカウンタに格納され、前記カウンタは前記論理的分割領域に割り当てられる、請求項10に記載の装置。前記カウンタは、前記プロセッサとは独立して増分される、請求項11に記載の装置。前記割り当てられた論理的分割領域に関連付けられているラベルを前記調整に格納する論理を更に備える、請求項10に記載の装置。前記アプリケーションは、セキュアなアプリケーションである、請求項9から13のいずれか一項に記載の装置。前記調整はXTS-AES調整である、請求項9から14のいずれか一項に記載の装置。前記調整はLRW調整である、請求項9から14のいずれか一項に記載の装置。プロセッサにより、アプリケーションに関連付けられており、調整を用いて暗号化されているデータのブロックを暗号化する手順と、前記暗号化されているデータのブロックを格納するべく、前記プロセッサとは別個のメモリに論理的分割領域を割り当てる手順とを実行させるプログラムであって、前記調整は、前記メモリのキャッシュライン識別子と、暗号化すべく識別された、前記データのブロックのキャッシュラインの位置とを含む、プログラム。前記調整で割り当てられた前記論理的分割領域に関連付けられたタイムスタンプ値を格納する手順を更に備え、前記タイムスタンプ値は、前記プロセッサによって、前記暗号化されているデータが前記割り当てられた論理的分割領域にロードされると、および、前記暗号化されているデータが前記割り当てられた論理的分割領域からエビクトされると、増分される、請求項17に記載のプログラム。前記タイムスタンプ値は、前記プロセッサのカウンタに格納され、前記カウンタは前記論理的分割領域に割り当てられる、請求項18に記載のプログラム。アプリケーションを格納する大容量格納装置と、プロセッサとを備え、前記プロセッサは、前記アプリケーションに関連付けられており、前記プロセッサとは別個のメモリのキャッシュライン識別子と、暗号化すべく識別された、データのブロックのキャッシュラインの位置とを含む調整を用いて暗号化されている前記データのブロックを暗号化して、前記暗号化されているデータのブロックを格納するべく、前記メモリに論理的分割領域を割り当てる論理を有する、システム。調整で割り当てられた前記論理的分割領域に関連付けられたタイムスタンプ値を格納する論理を更に備え、前記タイムスタンプ値は、前記プロセッサによって、前記暗号化されているデータが前記割り当てられた論理的分割領域にロードされると、および、前記暗号化されているデータが前記割り当てられた論理的分割領域からエビクトされると、増分される、請求項20に記載のシステム。前記タイムスタンプ値は、前記プロセッサのカウンタに格納され、前記カウンタは前記論理的分割領域に割り当てられる、請求項21に記載のシステム。以下の詳細な記載は、請求されている主題を示す実施形態を参照したものであるが、当業者には数多くの変形例および変更例が可能である。従って請求されている主題は広義の解釈が意図されており、添付されている請求項のみにより定義される。図1は、盗まれたメモリ領域102を含むシステムメモリ100一実施形態を示す。盗まれたメモリ領域102は、オペレーティングシステムOSからは見えないメモリ領域メモリの一部である。システムメモリ100は、外部のメモリであり、これはつまり、システムの中央処理装置CPUから切り離されていることを意味している。盗まれたメモリ領域102は、複数の物理的ページ106を含んでいる。3つのソフトウェアアプリケーション104-1、104-2、104-3は、盗まれたメモリ領域102の1以上の物理ページ106にわたるメモリ領域内に含まれている。各ソフトウェアアプリケーション104-1、104-2、104-3は、システムメモリ100の盗まれたメモリ領域102の複数の物理的ページ106にわたり設けられている。セキュアなソフトウェアアプリケーションが利用しているメモリ領域を保護する1つの方法としては、システムメモリ100のメモリ領域に格納されているデータを暗号化する、というものがある。メモリ領域に格納されているデータの暗号化および復号化は、CPUによって、CPU内で生成され、且つ、格納されている鍵を利用して行われる。しかし、データの暗号化自身は、データの機密性を提供することのみが目的である。メモリ領域に格納されているデータを暗号化することで、攻撃者が外部メモリを受動的に読めなくしたり、CPUとシステムメモリ100との間をやりとりされる間にデータをのぞき見たりできなくしたりすることができる、という意味でデータの機密性を保護する助けとなる。しかし、外部メモリ100のメモリ領域に格納されているデータの暗号化は、整合性チェックを提供するわけではない。外部メモリ100の盗まれたメモリ領域102のメモリ領域にデータを暗号化された形で格納しても、外部メモリ100の盗まれたメモリ領域102に格納されているメモリ画像の部分の修正またはリプレーを活発に試みる攻撃者からの保護はできない。悪意のある攻撃者敵対者は、外部メモリ100のあるメモリ位置からコピーして、外部メモリの別のメモリ位置に書き込む。例えば、攻撃者は、ページxのアドレスaのコンテンツを、ページyのアドレスbにコピーすることができる。暗号化されたメモリ領域に読み書きアクセス可能な敵対者は、暗号化されたメモリ領域が修正された時点例えば時点2t2を見極めて、時点1t1に書き込まれた、暗号化領域のコンテンツをコピーするおとでメモリ領域をリセットすることで、リプレーアタックを行うことができる。リプレーアタックを行う攻撃者は、異なる時点の同じメモリ領域に存在しうる2つの異なるアプリケーションコンテキストのうち1つの制御を有している。例えば、攻撃者は、アプリケーションのうち1つを利用して他のアプリケーションを攻撃することができる。リプレーアタックを減らすための方法の1つに、外部メモリ100の暗号化されたデータとともに認証タグをセキュアに格納する、という方法がある。しかし、この方法はメモリの増設を必要とするので高くつく。本発明の一実施形態では、攻撃の効果を、メモリ画像への無作為な予期できず、制御不可能なの変更を引き起こす能力に留めることで、リプレーアタックを軽減させる。調整および暗号文窃盗XTS機能を有するXEX暗号モード-AESAdvancedEncryptionStandard調整値付きブロック暗号化IEEE規格1619-2007は、一定の長さの複数のブロックに格納される暗号保護されたデータのアーキテクチャの要素を定義しているアメリカ国立標準技術研究所NISTの連邦情報処理規格FIPS140-2に準拠した動作モードである。一実施形態では、標準的なXTS-AES動作モードを向上させたブロック暗号の新たな動作モード、および、ブロック暗号化のためのXTS-AES動作モードを利用しつつメモリ暗号化を実装する方法および方法が提供される。XTS-AES動作モードは、データストリームの最後のデータユニットのみが他のデータユニットより小さいことがあるが、原則1つのデータストリームを複数の連続した同じサイズのデータユニットに分割した場合の暗号化に利用される。各データユニット128は、1つの鍵の範囲内に128以上のビットのデータを有している。鍵の範囲は、特定の鍵で暗号化されたデータを、サイズが同じデータユニットに分割したデータである。鍵の範囲は、3つの負ではない整数により特定されるつまり、第1のデータユニットに対応する調整値、データユニットのサイズ、およびデータの長さ。調整値は、XTS-AESで暗号化または復号化されているデータストリーム内のデータの論理位置を表すために利用される128ビットの値である。各データユニットには、負ではない整数の調整値が割り当てられる。調整値は、任意の負ではない整数から、連続割り当てされる。XTS-AES動作モードは、調整可能な幅の狭いブロック暗号化であり、ディスク暗号化の標準的なモードである静止データの暗号化。データブロックの暗号化をインデックス位置の関数として修正する調整値調整が利用される電子コードブックECBモードの暗号化として捉えることができる。ECBモードでは、各平文ブロックをブロック暗号化とは独立して暗号化する。ディスク暗号化では、XTS-AES動作モードで、調整により、暗号化されるディスクドライブ格納媒体上のセクターに暗号化を結びつける。一実施形態では、メモリ暗号化ユニットがXTS-AES動作モードを利用して、処理されたデータブロックの物理的メモリアドレスに暗号化を結びつける。AES-XTSを利用することで、暗号化されたメモリの画像を物理的に操作できる攻撃者、および、暗号化されたブロックの位置をスワップしようとする攻撃、および、暗号化されたブロックを他の暗号化されたブロックで書き換えようとする攻撃にかなりの程度対抗することができるようになる。AES-XTS調整は、物理的メモリアドレスの関数なので、攻撃を、攻撃者が予測不可能且つ制御不可能な無作為な変更を引き起こす程度の、かなり弱い攻撃同様にすることができる。言い換えると、攻撃者は、メモリを闇雲に変更したことによる利点くらいしか、スワップ/書き換えから利益を得ることができなくなる。しかし、XTS-AES調整が物理的アドレスの関数であることは、攻撃者が、あるブロックを同じアドレスに前に書き込まれた暗号化されたブロックで書き換えるリプレーアタックに対する保護はできないことも意味している。この種類の攻撃が潜在的に持っている被害を例示するために、暗号化された画像を時点1t1にメモリのページxに書き込むソフトウェアアプリケーションを考える。攻撃者は、この暗号化された画像を、メモリに対するハードウェアアクセスによってセーブする。そして攻撃者は、ソフトウェアによる方法によりソフトウェアアプリケーションをエビクトして、同じメモリ領域に、悪意のあるソフトウェアアプリケーションをロードする。次いで攻撃者は、ページxに暗号化された画像のコピーを物理的にリプレーし、この時点から、悪意あるソフトウェアアプリケーションが画像を完全に乗っ取る。例えば悪意のあるソフトウェアアプリケーションは、機密事項を復号して、選択した任意のメモリ位置に平文としてダンプすることができる。この攻撃は、鍵の可能性を使い果たすために必要となる回数攻撃プロセスを繰り返すだけで事足りることから、メモリ暗号ユニットについてCPUが限られた数の鍵を利用する場合であっても実行可能である。これら攻撃は、CPUから例えばEPID:EnhancedPrivacyIdentifierから、または繊細なコードから機密事項を取得することができる。ディスク暗号の標準的なXTSモードでは、ユニットuのインデックスがjであるデータブロックPのAES-XTSは、先ず調整値を生成して、次いでこの調整値を利用して平文から暗号文を生成することで行われる。例えば、調整値Xは、ブロック識別子ユニットu、ユニットuのユニットの位置jの16バイトの鍵値K1を利用することで生成され、多項式Poly:は以下のように示される。上式においてはキャリーなし乗算を表している。調整値Xが生成されると、以下に示すように、暗号文Cを、この調整値Xと別の16バイトの鍵値K2とを利用して平文Pから生成することができる。AES-XTSは、ユニットuの値について64ビット8バイトをリザーブする。AES暗号が16バイトのブロックに行われるとき、数1に示すように暗号化された、ブロック16バイトの64個の残りのビット8バイト=uが0として定義される。AES-XTSは、ユニットを64バイトのキャッシュラインとして定義して、インデックスj=0、1、2、3を、キャッシュラインの16バイトのデータブロックの位置を示すものとすることで、メモリ暗号化に利用することができる。この場合には、uの値が、キャッシュラインの物理的アドレスとなる。物理的アドレスは通常は48ビットを利用してエンコードされる。本発明の一実施形態では、調整でもっと情報を利用するために、標準的なAES-XTSモードの拡張に基づく新たな動作モードが提供される拡張された調整。拡張された調整には、キャッシュラインのアドレスおよびブロック位置等の標準的な情報に加えて、タイムスタンプの値が含まれる。別の実施形態では、拡張された調整に、例えば少なくとも1つのさらなるラベルが含まれる。一実施形態では、さらなるラベルは、システムで稼動しているソフトウェアアプリケーションのバージョン数である。バージョン数を調整に加えることで、ソフトウェアアプリケーションの古いバージョンからキャッシュラインをコピーして、ソフトウェアアプリケーションの新たなバージョンの同じアドレスでリプレーを行い、古いバージョンを動かしつつ、新たなバージョンの特権を得ることができなくなる。一実施形態では、さらなる情報を格納する、拡張された調整のビットは、拡張された調整の上位最上位64ビットにある。上述したように、標準的なAES-XTSモードでは、最上位ビットが0に設定される。別の実施形態では、さらなる情報が、ゼロであることを保証された他のビットにある。従い、全てのさらなる情報ビットを0に低下させると暗号が標準的なXTSモードになることから、拡張されたAES-XTSは、標準的なAES-XTSを一般化したものである。拡張された調整は以下の数3で示すように生成される。ここでPは、ユニットuにおけるインデックスがjであり、Tで示す時点に暗号化され、ラベルLをもつデータブロックであり、シンボル|は連結を示している。別の実施形態では、ラベルを利用せずに、キャッシュラインのアドレスと時間とを利用して、拡張された調整を生成する。拡張された調整は、調整が連続した整数、時点0、1、...、232-1における領域のカウントアドレスを記述するように生成される。CLjTIMEの時点の調整j=0、1、2...、m-1、およびTIME=0、1、2、...、232-1は、以下のように表される。TWEAK調整=00...0127:5533n14TIME310n130上式において、Unit=キャッシュラインCL、各Clは26=64バイト4x128ビット220ブロックに相当する、各CLは40ビットのベースアドレスを有し、ACL50000000であるACL390、分割領域は2nMBを有し、m分割領域におけるCLの数=2n14であり、jは1つのデータストリームのm個のCLのうちの1つであり、このデータストリームは、異なる時点におけるm個のCLでありつまり時点tにおけるCLj、時点t=0で、CL0CL1...CLm1であり、時点t=1で、CL0CL1...CLm1であり、時点t=232-1で、CL0CL1...CLm1であり、CLjについてのベースアドレスは、ACLjで表されるj=0、1、2、...、m-1。データストリームのCLのユニットについて実行する際上述した順序で、TWEAKは、正の整数00...0127:5533n1400...0310n130から始まり、00...0127:5533n1400...0310n130で終わる全ての正の整数について連続して実行される。例えば、n=1でm=15である2MBの分割領域を例に考える。TIME32ビット時点のCLjの調整は、00...0127:553315TIME310140ように定義することができる。図2Aは、拡張された調整200の一実施形態である。図2Aに示す拡張された調整200は128ビットの値を有している。拡張された調整200の最下位の48ビットビット47:0206は、アドレスuについてリザーブされており、残りの80k個の最上位ビットビット127:48204がタイムスタンプTについてリザーブされている。図2Bは、拡張された調整200の別の実施形態である。図2Bに示す拡張された調整202の実施形態では、拡張された調整202の最下位64ビットビット63:0がアドレスu212についてリザーブされており、次の32ビットビット95:64がタイムスタンプT214についてリザーブされており、最上位32ビットビット127:96がラベルL208についてリザーブされている。図2Bに示す拡張されたAES-XTSの実施形態で暗号化されたブロックを復号するためには、暗号文C、アドレスu、および、インデックスjと、更に、タイムスタンプTとラベルLとが必要となる。一実施形態では、タイムスタンプTおよびラベルLは秘密ではないが、信頼のおける方法で格納されている。拡張されたAES-XTS調整の利点は、以下の時間隔離特性である。つまり、時点t1でアドレスA1について暗号化された暗号文CがアドレスA1でリプレーされ、時点t2で復号された場合、タイムスタンプの値が異なることから調整値が異なるので、予測不可能なストリングに復号される。この時間隔離特性を利用すると、攻撃者は、同じアドレスに対するリプレーを行っても、メモリの画像を無作為に予測不能で制御不能変化させた場合に得られる利点くらいしか得られないことから、Type2のリプレーアタックからの保護が可能となる。同様に、拡張されたAES-XTX調整モードでも、ラベルLで区別されるコンテキスト間の隔離を行うことができる。XTS-AESについての実施形態を記載してきたが、拡張された調整モードはXTS-AESに限定されるものではなく、他の調整可能な暗号スキームを利用する他の実施形態にも応用可能である。例えばLRWM.Liskov、R.Rivest、およびDWagner調整可能なブロック暗号を利用する実施形態では、類似した方法でLRWモードが向上するようにLRWを向上させることができる。図3は、メモリ暗号化を実行するメモリ暗号化エンジン303を含むシステム300のブロック図である。システム300は、プロセッサ301、メモリコントローラハブMCH302、および、入出力I/OコントローラハブICH304を含む。MCH302は、プロセッサ301と外部メモリ100との間の通信を制御するメモリコンローラ306を含む。プロセッサ301とMCH302とは、システムバス316経由で通信する。プロセッサ301は、シングルコアIntel登録商標Pentium登録商標IV登録商標プロセッサ、シングルコアIntelCeleronプロセッサ、Intel登録商標XScaleプロセッサ、または、Intel登録商標Pentium登録商標D等のマルチコアプロセッサ、Intel登録商標Xeon登録商標プロセッサ、またはIntel登録商標Core登録商標Duoプロセッサ、その他の種類のプロセッサ等の、複数のプロセッサのいずれかであってよい。プロセッサ301内のメモリ暗号化エンジン303は、メモリ100内および格納デバイス312内の少なくともいずれかに格納可能なデータに暗号化および復号化を実行することができる。メモリ暗号化エンジン303は、メモリ308のコンテンツを読み出す受動的な攻撃者に対抗できる機密性を提供することができる。メモリ暗号化エンジン303は更に、16バイトで動作する暗号により、16バイトの粒度でメモリのメモリ領域に読み書きができる能動的な攻撃者に対抗して保護を提供することもでき、メモリ308のキャッシュラインは64バイトである。例えば64バイトのキャッシュラインの16バイトのセグメントの1ビットが修正された場合、16バイトのセグメントが、攻撃者にとって無作為であり、予測不能なものである。メモリ100は、DRAM、SRAM、SDRAM、DDR2RAM、RDRAM、その他の任意の種類のメモリであってよい。ICH304は、高速チップツーチップインターコネクト314DMI等を利用してMCH302に連結されてよい。DMIは、2つの一方向性レーンにより2ギガビット/秒の並列転送レートをサポートする。ICH304は、ICH304に連結される少なくとも1つの格納デバイス312との通信を制御するための格納I/Oコントローラ310を含んでよい。格納デバイスの例には、ディスクドライブ、DVDドライブ、CDドライブ、RAID、テープドライブその他の格納デバイスが含まれてよい。ICH304は、SASまたはSATA等のシリアル格納プロトコルを利用して、格納プロトコルインターコネクト318を介して格納デバイス312と通信してよい。メモリ100のアドレス範囲の保護についての一実施形態を説明する。図4は、図3に示す拡張メモリ100の、暗号化するデータを格納するためのメモリ領域402の一部のブロック図である。メモリ領域402は、論理的にN個の分割領域に分割されている。図3に戻ると、プロセッサ301にはN個のカウンタ350があり、図4に示すメモリ領域402の部分には1つの論理的分割領域について1つのカウンタが存在している。図5は、アプリケーションによる図4に示す外部メモリ100のメモリ領域402の一部の分割部分を利用するための方法を示す。図5は、図4との関連で示されている。ブロック500で、メモリ領域402の部分を、N個の分割領域404-1、...、404-Nに分割する。カウンタ406-1、...、406-Nを、分割領域404-1、...、404-Nにそれぞれ割り当てる。全てのカウンタ406-1、...、406-Nは最初に0にリセットする。処理はブロック502へと続く。ブロック502で、ソフトウェアアプリケーションがメモリ100に格納されると書き込まれると、ソフトウェアアプリケーション410、412、414は、1以上の論理的分割領域404-1、...、404-Nに1以上のキャッシュラインをポピュレートする。一実施形態では、各キャッシュラインが64バイトであり、オペレーティングシステムがメモリページの粒度で動作している4096バイトであってよい。アプリケーションがメモリ100にロードされると、処理はブロック504に移る。メモリ100にロードされたアプリケーションがエビクトされ、別のアプリケーション悪意がある可能性があるが、同じアドレス空間にロードされると、処理はブロック504に続く。さもなくば、処理はブロック502を続ける。ブロック504で、分割領域404-1、...、404-Nが最初にポピュレートいくつかのキャッシュラインでされるたびに、その分割領域に対応するカウンタ406-1、...、406-Nがプロセッサにより増分される。加えて、プロセッサは、対応する分割領域404-1、...、404-Nのカウンタ値を、エビクトおよびロード処理のうちの少なくともいずれかの一環として自動的に増分する。処理はブロック502を続ける。図4に戻り、異なる時点で、各アプリケーション410、412、414を、アプリケーションがポピュレートする論理的分割領域ごとに異なりうる異なるカウンタ値を有する論理的分割領域404-1、...、404-Nに配置する。プロセッサ301のメモリ暗号化エンジン303は、XTS-AESにより向上された調整動作モードを実装しており、ここでTはカウンタ値を示し、uは物理的アドレスを示しており、jはブロックのインデックスを示している。このように、調整値Xは、メモリの論理的分割領域のアドレスに結合されるだけではなく、アプリケーション410、412、414をメモリ100にロードした時点にCPUが格納したカウンタ値にも結合されている。カウンタおよび、その初期化および増分方法はほかにもある。一実施形態では、カウンタが、クロック入力を利用して固定されたり、ランダムにされたり、増分されたりするゼロではない値に初期化されている、線形フィードバックシフトレジスタLFSRであってよい。別の実施形態では、カウンタが、無作為または決定論的に初期化される増分ロジックを含むレジスタであってよい。また別の実施形態では、カウンタは、無作為なビット生成器からサンプルされる値であってよい。カウンタの長さ出力ビット数は、同じカウンタ値でコピーされた画像をリプレーしようと試みることが現実的ではないように決定されればよい。図4に示す例では、メモリ100の異なる分割領域404-1、...、404-Nに格納されている3つのアプリケーション410、412、414があり、1つの分割領域404-1、...、404-Nには、アプリケーション410、412、414が2つは格納されないようになっている。各論理分割領域404-1、...、404-Nにはそれぞれ別のカウンタが割り当てられる。アプリケーション412は、2つの分割領域404-2、404-3のページを利用して、これら分割領域それぞれが対応するカウンタ406-2、406-3を有している。論理的分割領域に格納されているアプリケーションの復号は、そのアプリケーションに割り当てられているプロセッサ内のカウンタが増分されていない場合には正確に動作する。カウンタの値は、アプリケーションが最初にそれぞれの分割領域でエビクトされるまでは増分されない。アプリケーションがエビクトされて、別のアプリケーション悪意である場合があるが同じアドレス空間にロードされると、対応する分割領域1または複数のカウンタ値が、エビクトおよびロード処理のうち少なくともいずれかの一環としてCPUによって自動的に増分される。タイプ2の攻撃の場合には、攻撃者は、攻撃コードが関連するメモリ領域をポピュレートしている間に、前のアプリケーションに属しているメモリの画像をコピーして、同じアドレスでリプレーする。この攻撃は、メモリが標準的なXTS-AES暗号で暗号化されている場合には、攻撃者がメモリの画像に格納されている機密事項を読み出すことができるために、成功する。しかし、XTS-AESの向上した調整モードでは、攻撃者は、カウンタ値が整合しないので結果を取得することができない。XTS-AESの向上した調整モードでは復号に別のカウンタ値を利用するので、無作為の修正よりもカウンタ値を利用するほうがよい。利点は、この方法が調整とともに暗号化のみを利用する点であり、メモリが一度のメモリアクセスへの変換を読み書きすることである。更には、実装によって、カウンタのハードウェアのコスト上昇と、より多くの分割領域によりより良い粒度を提供する、というメモリ利用効率との間のトレードオフ関係を考慮しながら、分割領域の数を決定することもできる。図6は、メモリに、信頼されているアプリケーションを格納する方法の一実施形態を示す。信頼のおけるアプリケーションを先ず初期化した後で、物理的ページのさらなる割り当てを要求する、という形で、メモリ割り当てを要求する。ブロック600で、メモリに格納したアプリケーションを受け取る。受け取ったアプリケーションはアプリケーション識別子と関連付けられて、アプリケーションの1ページ目を含んでいる。論理的分割領域がアプリケーション用に割り当てられている。処理はブロック602に続く。ブロック602で、割り当てられている論理的分割領域に関連付けられている論理的分割領域の識別子に格納されているアプリケーションの識別子が、アプリケーションの識別子に設定される。割り当てられている論理的分割領域に関連付けられているページ番号は、割り当てられている論理的分割領域に関連付けられているページ番号に格納される。割り当てられている論理的分割領域に関連付けられている分割領域カウンタを増分する。処理はブロック604に続く。ブロック604で、アプリケーションの1ページ目のデータを、割り当てられている論理的分割領域の1ページ目に格納する。図7は、信頼されているアプリケーションに対してメモリのページを更に割り当てる方法の一実施形態を示す。ブロック700で、アプリケーションのためにメモリにデータを格納する要求を受けると、このアプリケーション用にページを割り当てた最後の論理的分割領域を決定する。処理はブロック702に続く。ブロック702で、現在のページ番号が、割り当てられている論理的分割領域の最後のページである場合には、処理はブロック704に続く。そうではない場合には、処理はブロック706に続く。ブロック704で、現在のページが、現在アプリケーションに割り当てられている論理的分割領域の最後のページである場合には、別の論理的分割領域をアプリケーションに割り当てて、アプリケーションのページを、新たに割り当てられた論理的分割領域の1ページ目にコピーする。ブロック706では、現在のページが、現在アプリケーションに割り当てられている論理的分割領域の最後のページではないので、現在の論理的分割領域のアプリケーションに割り当てられているページ数を次のページに増分して、アプリケーションのページを、現在割り当てられている論理的分割領域の次のページにコピーする。本発明の実施形態に関する方法は、コンピュータ利用可能な媒体を含むコンピュータプログラムプロダクトに具現化されてよいことは、当業者であれば理解するところである。例えば、これらコンピュータプログラムプロダクトは、コンピュータ可読プログラムコードが格納されたCDROMディスクまたは従来のROMデバイス、または、コンピュータディスク等の読み出し専用メモリデバイスからなっていてよい。本発明の実施形態を、具体例を参照しながら図示し、記載してきたが、当業者であれば形態および詳細においては、添付請求項が包括する本発明の実施形態の範囲内で様々な変更が可能であることを理解する。