"誤り検出符号が付加されたデータを保持するデータ保持手段と、それぞれ異なる誤り検出符号の演算アルゴリズムに対応した複数の演算部と、データ長の範囲と前記演算部を対応付けた参照テーブルを有し、演算対象となるデータが指定されると、前記参照テーブルを参照し、演算対象となるデータのデータ長に対応した前記演算部を選択して誤り検出符号を演算する誤り検出符号演算手段と、前記データ保持手段に保持されているデータの完全性を検証する指示を受けると、指示されたデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、指示されたデータに付加されている誤り検出符号と前記誤り検出符号演算手段が演算した誤り検出符号を照合するデータ整合性検証手段を備えたことを特徴とする情報処理装置。前記データ保持手段に保持されているデータに付加された誤り検出符号の更新が指示されると、指示されたデータを更新した後、更新後のデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、更新後のデータに付加されている誤り検出符号を前記誤り検出符号演算手段が演算した誤り検出符号に更新する誤り検出符号更新手段を備えたことを特徴とする、請求項1に記載した情報処理装置。それぞれ異なる誤り検出符号の演算アルゴリズムに対応した複数の演算部と、データ長の範囲と前記演算部を対応付けた参照テーブルを有し、演算対象となるデータが指定されると、前記参照テーブルを参照し、演算対象となるデータのデータ長に対応した前記演算部を選択して誤り検出符号を演算する誤り検出符号演算手段と、前記データ保持手段に保持されているデータの完全性を検証する指示を受けると、指示されたデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、指示されたデータに付加されている誤り検出符号と前記誤り検出符号演算手段が演算した誤り検出符号を照合するデータ整合性検証手段としてコンピュータを機能させるためのコンピュータプログラム。情報処理装置のメモリに記憶されているデータの完全性の検証に係る時間を短縮することを考えた場合、情報処理装置のメモリに記憶されているデータが固定長ならば、例えば、図5のようなグラフを参照して、誤り検出符号の演算に用いる演算アルゴリズムを一意に決定することができるが、データが可変長の場合は、図5に図示したように、誤り検出符号の演算時間の短い演算アルゴリムはデータ長に応じて変更になるため、データ長に応じて誤り検出符号の演算に用いる演算アルゴリズムを決定できることが望ましい。そこで、本発明は、完全性検証の対象となるデータのデータ長に応じ、演算アルゴリズムを自動的に選択して誤り検出符号を演算しデータの完全性を検証できる情報処理装置及びコンピュータプログラムを提供することを目的とする。上述した課題を解決する第1の発明は、誤り検出符号が付加されたデータを保持するデータ保持手段と、演算対象となるデータのデータ長に応じて演算アルゴリズムを変更できるように、それぞれ異なる誤り検出符号の演算アルゴリズムに対応した複数の演算部と、データ長の範囲と前記演算部を対応付けた参照テーブルを有し、演算対象となるデータが指定されると、前記参照テーブルを参照し、演算対象となるデータのデータ長に対応した前記演算部を選択して誤り検出符号を演算する誤り検出符号演算手段と、前記データ保持手段に保持されているデータの完全性を検証する指示を受けると、指示されたデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、指示されたデータに付加されている誤り検出符号と前記誤り検出符号演算手段が演算した誤り検出符号を照合するデータ整合性検証手段を備えたことを特徴とする情報処理装置である。更に、第2の発明は、前記データ保持手段に保持されているデータに付加された誤り検出符号の更新が指示されると、指示されたデータを更新した後、更新後のデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、更新後のデータに付加されている誤り検出符号を前記誤り検出符号演算手段が演算した誤り検出符号に更新する誤り検出符号更新手段を備えたことを特徴とする、第1の発明に記載した情報処理装置である。更に、第3の発明は、それぞれ異なる誤り検出符号の演算アルゴリズムに対応した複数の演算部と、データ長の範囲と前記演算部を対応付けた参照テーブルを有し、演算対象となるデータが指定されると、前記参照テーブルを参照し、演算対象となるデータのデータ長に対応した前記演算部を選択して誤り検出符号を演算する誤り検出符号演算手段と、前記データ保持手段に保持されているデータの完全性を検証する指示を受けると、指示されたデータの誤り検出符号を前記誤り検出符号演算手段に演算させ、指示されたデータに付加されている誤り検出符号と前記誤り検出符号演算手段が演算した誤り検出符号を照合するデータ整合性検証手段としてコンピュータを機能させるためのコンピュータプログラムである。このように、本発明によれば、完全性検証の対象となるデータのデータ長に応じ、演算アルゴリズムを自動的に選択して誤り検出符号を演算しデータの完全性を検証できる情報処理装置及びコンピュータプログラムを提供できる。ここから、本発明にかかる情報処理装置の好適な実施形態について、図面を参照しながら詳細に説明する。なお、本発明は,これから説明する実施形態に限定されることなく、種々の変形や変更が可能である。図1は、本実施形態の情報処理装置1が有する機能を説明する図である。本実施形態の情報処理装置1は、コンピュータを用いて実現される装置で、好ましくは、本実施形態の情報処理装置1は、プラットフォーム型オペレーティングシステムが実装されたICカードであるが、汎用的なパーソナルコンピュータやスマートフォンであっても構わない。図1に図示したように、本実施形態の情報処理装置1は、誤り検出符号が付加されたデータ130を保持するデータ保持手段13と、演算対象となるデータ130の誤り検出符号を演算する誤り検出符号演算手段12を備え、誤り検出符号演算手段12は、それぞれ異なる誤り検出符号の演算アルゴリズムに対応した複数の演算部120と、データ長の範囲と演算部120を対応付けた参照テーブル121を有し、演算対象となるデータ130が指定されると、参照テーブル121を参照し、演算対象となるデータ130のデータ長に対応した演算部120を選択して誤り検出符号を演算する。更に、本実施形態の情報処理装置1は、データ保持手段13に保持されているデータ130の完全性を検証できるように、データ保持手段13に保持されているデータ130の完全性を検証する指示を受けると、指示されたデータ130の誤り検出符号を誤り検出符号演算手段12に演算させ、指示されたデータ130に付加されている誤り検出符号と誤り検出符号演算手段12が演算した誤り検出符号を照合するデータ完全検証手段10を備える。更に、本実施形態の情報処理装置1は、データ保持手段13に保持されているデータ130を更新した際に誤り検出符号も更新できるように、データ130に付加された誤り検出符号の更新が指示されると、更新されたデータ130の誤り検出符号を誤り検出符号演算手段12に演算させ、更新されたデータ130に付加されている誤り検出符号を誤り検出符号演算手段12が演算した誤り検出符号に更新する誤り検出符号更新手段11を備えている。なお、本実施形態において、情報処理装置1に備えられた参照テーブル121はテーブル形式のデータで、データ保持手段13は、情報処理装置1に実装されたメモリ、または、情報処理装置1に接続されたハードディスクなどで実現され、情報処理装置1の各手段は、情報処理装置1に実装されたコンピュータプログラムで実現される。図2は、情報処理装置1の動作を説明する図である。情報処理装置1が誤り検出符号を演算する際、まず、データ保持手段13に保持されているデータ130の中から、誤り検出符号演算手段12に対して誤り検出符号の演算対象となるデータ130が、情報処理装置1の他の手段から指定されるS1。本実施形態では、データ保持手段13に保持されているデータ130には、それぞれのデータ130を識別するための識別子が付加され、この識別子により演算対象となるデータ130が指定される。なお、データ130の完全性を検証する際は、情報処理装置1のデータ完全性検証手段10が、完全性検証の対象となるデータ130を指定することになり、また、データ保持手段13に保持されているデータ130が更新された際は、情報処理装置1の誤り検出符号更新手段11が更新されたデータ130を指定することになる。情報処理装置1の誤り検出符号演算手段12は、演算対象となるデータ130が指定されると、データ130の識別子を利用して演算対象となるデータ130のデータ長をデータ保持手段13から取得した後S2、参照テーブル121を参照して、演算対象となるデータ130の誤り検出符号の演算に用いる演算部120として、演算対象となるデータ130のデータ長に対応する演算部120を選択するS3。本実施形態において、誤り検出符号演算手段12の参照テーブル121には、誤り検出符号演算手段12が有する演算部120毎にレコードが設けられ、該レコードには、それぞれの演算部120を識別する識別子に対応付けて演算部120を利用する際のデータ長の範囲が記述されている。例えば、1バイトから31バイトまでのデータ長の範囲に対応付けられた演算部120の識別子が01、32バイトから63バイトまでのデータ長の範囲に対応付けられた演算部120の識別子が02、64バイト以上のデータ長の範囲に対応付けられた演算部120の識別子が03の場合、演算対象となるデータ130のデータ長が16バイトならば、識別子が01である演算部120が選択され、演算対象となるデータ130のデータ長が56バイトならば、識別子が02である演算部120が選択され、また、演算対象となるデータ130のデータ長が256バイトならば、識別子が03である演算部120が選択されることになる。情報処理装置1の誤り検出符号演算手段12は、演算対象となるデータ130のデータ長に対応する演算部120を選択すると、演算対象となるデータ130をデータ保持手段13から取得して、演算対象となるデータ130の誤り検出符号を選択した演算部120に演算するS4。なお、選択した演算部120が演算した誤り検出符号はメモリの所定の場所に記憶されることで、演算対象となるデータ130を指定した手段に、選択した演算部120が演算した誤り検出符号が引き渡される。演算対象となるデータ130を指定した手段は、誤り検出符号演算手段12から引き渡された誤り検出符号を用いた処理が実行されS5、この手順は終了する。演算対象となるデータ130を指定した手段がデータ完全性検証手段10の場合、データ完全性検証手段10は、完全性検証の対象となるデータ130に付加されている誤り検出符号をデータ保持手段13から取得し、取得した誤り検出符号と誤り検出符号演算手段12から引き渡された誤り検出符号を照合することで、演算対象として指定したデータ130の完全性を検証する。また、演算対象となるデータ130を指定した手段が誤り検出符号更新手段11の場合、誤り検出符号更新手段11は、更新されたデータ130に付加されている誤り検出符号を、誤り検出符号演算手段12から引き渡された誤り検出符号に更新する。ここから、情報処理装置1をICカードとしたときの実施例について説明する。図3は、実施例のICカード2に実装されたICチップのハードウェア構成を説明する図である。図3に図示したように、ICカード2に実装されたICチップには、ICチップを制御するCPU21CentralProcessingUnitを有し、このCPU21には、外部装置とデータ通信するためのI/Oインターフェース20と、揮発性メモリとしてRAMRandomAccessMemory22と、電気的に書き換え可能な不揮発性メモリとしてEEPROMElectricallyErasableProgrammableReadOnlyMemory23と、プログラム等を記憶させる不揮発性メモリであるROMReadOnlyMemory24が接続された構成となっている。なお、図4で図示したICチップのハードウェア構成は一例にしか過ぎず、暗号演算に特化したコプロセッサや、時間を計測するタイマなどの他のハードウェアが実装されていることが一般的である。実施例のICカード2において、EEPROM23は情報処理装置1のデータ保持手段13として利用され、情報処理装置1の誤り検出符号演算手段12、データ完全性検証手段10及び誤り検出符号更新手段11としてCPU20を動作させるモジュールはROM24に格納されている。データ完全性検証手段10として機能するモジュールは、例えば、EEPROM23に記憶されたデータを読み出すREADコマンドなど、EEPROM23に記憶されたデータを利用するコマンドによって呼び出されるモジュールで、また誤り検出符号更新手段11として機能するモジュールは、EEPROM23に記憶されたデータを更新するUPDATEコマンドなど、EEPROM23に記憶されたデータを書き換えるコマンドによって呼び出されるモジュールである。また、実施例のICカード2は、演算部120として機能する演算モジュールとして、チェックサムを演算する演算モジュールと、CRCCyclicRedundancyCheckを演算する演算モジュールを有し、いずれかの演算モジュールを利用するかは、実施例のICカード2が有する参照テーブル121によって決定される。図4は、実施例における参照テーブル121aを説明する図である。図4に図示したように、実施例では、データ長の範囲が1バイト以上31バイト以下の場合、誤り検出符号の演算にチェックサムを利用し、データ長の範囲が32バイト以上の場合、誤り検出符号の演算にCRCCyclicRedundancyCheckを利用するようになっている。図4に従えば、READコマンドによりEEPROM23に記憶されているデータを読み出す際、読み出すデータの完全性がデータ完全性検証手段10として機能するモジュールによって検証され、読み出し対象となるデータのデータ長が32バイト以上であれば、誤り検出符号の演算にCRCが用いられてデータの完全性が検証され、それ以外であれば、誤り検出符号の演算にチェックサムが用いられてデータの完全性が検証される。また、UPDATEコマンドによりEEPROM23に記憶されているデータが更新されると、更新されたデータに付加された誤り検出符号も誤り検出符号更新手段11として機能するモジュールによって更新され、更新後のデータのデータ長が32バイト以上であれば、CRCが用いられて誤り検出符号が演算され、それ以外であれば、チェックサムが用いられて誤り検出符号が演算される。"