(57)【要約】【課題】  簡単かつ低コストで安全にログファイルの保管や移動及びデータ閲覧に対処できるとともに、閲覧者によって閲覧可能なログの範囲を制限できるようにするログファイルの暗号・復号化技術を提供することを目的とする。【解決手段】  共通鍵で暗号化したログファイルに公開鍵で暗号化した共通鍵を添付するとともに、前後に連なるログファイルの共通鍵群を抽出するための一部要素を共通鍵で暗号化したものと、前後に連なるログファイルの共通鍵群を、先の要素と合わせて抽出するために必要な要素を公開鍵で暗号化したものを添付する。そして、単独のログファイルを提出する場合には、単独のログファイルから秘密鍵を用いてそのログファイル共通鍵を渡す。あるログファイルから連続したファイルを渡す場合には、そのログファイルの共通鍵と共に、前後に連なるログファイルのために公開鍵で暗号化した要素の一部を渡す。【選択図】  図１
2006237908.tif 000002
【特許請求の範囲】
【請求項１】
連続的に順序付けられる複数のファイルの暗号方法であって、
コンピュータが備えるファイル入力手段が、前記順序に従ってファイルを入力するステップと、
コンピュータが備える暗号化手段が、前記入力したファイルを、そのファイル毎に生成した共通鍵で、暗号化するステップと、
コンピュータが備える鍵要素生成手段が、前後に連なるファイルの共通鍵を算出するための鍵要素を生成し、公開鍵で暗号化するステップと、
コンピュータが備える鍵差分要素生成手段が、前後に連なるファイルの共通鍵を算出するための鍵差分要素を算出し、ファイルを暗号化した際に生成した前記共通鍵で暗号化するステップと、
コンピュータが備える結合手段が、前記暗号化した情報を一つの鍵情報付きファイルに結合するステップと
を備えることを特徴とするファイルの暗号方法。
【請求項２】
請求項１に記載のファイルの暗号方法により暗号化された鍵情報付きファイルを復号化するための鍵情報を抽出する鍵情報抽出方法であって、
コンピュータが備える範囲入力手段が、復号化する１つのファイルを特定する情報とそのファイルの前後の復号化したいファイルの範囲を入力するステップと、
コンピュータが備える鍵要素抽出手段が、前記特定された鍵情報付きファイルから、暗号化されている鍵要素を抽出するステップと、
コンピュータが備える鍵要素復号手段が、前記暗号化されている鍵要素を、秘密鍵で復号化するステップと、
コンピュータが備える範囲外削除手段が、前記復号化された鍵要素のうち、指定された範囲以外の鍵要素の情報を排除するステップと、
コンピュータが備える鍵ファイル生成手段が、前記排除した結果を、一つの鍵情報ファイルに結合して出力するステップと
を備えることを特徴とする鍵情報抽出方法。
【請求項３】
請求項１に記載のファイルの暗号方法により暗号化された鍵情報付きファイルを、請求項２に記載の鍵情報抽出方法により出力された鍵情報ファイルを用いて、復号するファイルの復号方法であって、
コンピュータが備える入力手段が、復号化する鍵情報付き暗号ファイル群と鍵情報ファイルとを入力するステップと、
コンピュータが備えるデータ分離手段が、前記鍵情報ファイルの鍵要素を抽出した鍵情報付き暗号ファイルから、暗号済みファイルデータと暗号済み鍵差分要素データと暗号済み鍵要素データとを分離するステップと、
コンピュータが備える復号手段が、前記分離した暗号済みファイルデータを前記鍵情報ファイルから取り出した共通鍵で復号し画面出力するステップと、
コンピュータが備える操作手段が、前記鍵情報ファイルで指定された範囲の鍵情報付きファイルを、利用者の操作に基づき順に復号し出力するステップと
を備えることを特徴とする鍵情報付きファイルの復号方法。
【請求項４】
連続的に順序付けられる複数のファイルの暗号方法であって、
コンピュータが備えるファイル入力手段が、前記順序に従ってｎ番目（ｎ＝０，１，２，…）のファイルを入力する第１のステップと、
コンピュータが備える判別手段が、前記ファイルが最初のファイル（ｎ＝１）か否かを判定する第２のステップと、
最初のファイルであるとき、コンピュータが備える初期鍵要素情報生成手段が、予め決められているしきい値をｍとし、ｎ＝１番目の鍵要素情報として、βn-m+1,1，…，βn-1,m-1，βn,m，βn+1,m+1，…，βn+m-1,2m-1を生成し（ただし、第１添字が０以下のとき、または第２添字が０以上２ｍ以下の範囲を外れているときは、０とする）、鍵要素情報保管部に保管し、さらに前鍵要素情報保管部に保管する鍵要素であるβn-m,1，…，βn-2,m-1，βn-1,m，βn,m+1，…，βn+m-2,2m-1を全て０とする第３のステップと、
コンピュータが備える暗号化手段が、前記入力したｎ番目のファイルを、前記鍵要素情報保管部に保管されているβn,mを共通鍵として暗号化することにより、暗号済みファイルデータを生成する第４のステップと、
コンピュータが備える鍵要素生成手段が、次のｎ＋１番目の鍵要素情報として、βn-m+2,1，…，βn,m-1，βn+1,m，βn+2,m+1，…，βn+m,2m-1を生成し（ただし、第１添字が０以下のとき、または第２添字が０以上２ｍ以下の範囲を外れているときは、０とする）、次鍵要素情報保管部に保管する第５のステップと、
コンピュータが備える鍵差分要素生成手段が、前鍵要素情報保管部と鍵要素情報保管部と次鍵要素情報保管部に保管されている情報から、αn-m,0＝βn-m,1，αn-m+1,1＝βn-m+1,2−βn-m+1,1，…，αn-2,m-2＝βn-2,m-1−βn-2,m-2，αn-1,m-1＝βn-1,m−βn-1,m-1，-αn+1,m＝βn+1,m−βn+1,m+1，-αn+2,m+1＝βn+2,m+1−βn+2,m+2，…，-αn+m-1,2m-2＝βn+m-1,2m-2−βn+m-1,2m-1，-αn+m,2m-1＝βn+m,2m-1を算出し、鍵差分要素として鍵差分要素情報保管部に保管する第６のステップと、
コンピュータが備える暗号処理手段が、鍵要素情報保管部に保管されている情報を公開鍵を用いて暗号化して暗号済み鍵要素データを生成し、鍵差分要素情報保管部に保管されている情報を前記第４のステップで使用した共通鍵βn,mを用いて暗号化して暗号済み鍵差分要素データを生成する第７のステップと、
コンピュータが備えるコピー処理手段が、鍵要素情報保管部に保管されている情報を前鍵要素情報保管部にコピーし、次鍵要素情報保管部に保管されている情報を鍵要素情報保管部にコピーする第８のステップと、
コンピュータが備える結合手段が、前記暗号済みファイルデータと暗号済み鍵要素データと暗号済み鍵差分要素データとを結合して鍵情報付きファイルを生成する第９のステップと
を備え、ファイルの順序を示すｎの値を歩進しながら前記第１〜第９のステップを実行することにより当該複数のファイルを暗号化することを特徴とするファイルの暗号方法。
【請求項５】
請求項４に記載のファイルの暗号方法により暗号化されたファイルの復号化に使用する鍵情報を抽出する鍵情報抽出方法であって、
コンピュータが備える範囲入力手段が、復号化を許可するｎ番目の暗号済みファイルデータを特定する情報とそのファイルの前後の復号化を許可する範囲を入力する第１のステップと、
コンピュータが備える鍵要素抽出手段が、前記特定された暗号済みファイルデータを含む鍵情報付きファイルから、暗号済み鍵要素データを取り出し、秘密鍵を用いて復号化して得たβn-m+1,1，…，βn-1,m-1，βn,m，βn+1,m+1，…，βn+m-1,2m-1を鍵要素として鍵要素情報保管部に保管する第２のステップと、
コンピュータが備える範囲外情報削除手段が、第１のステップで入力された範囲に基づいて、前記鍵要素情報保管部に保管されている鍵要素のうち、指定された範囲外の鍵要素を排除する第３のステップと、
コンピュータが備える鍵ファイル生成出力手段が、前記排除後の結果を１つの鍵情報ファイルとして出力する第４のステップと
を備えることを特徴とする鍵情報抽出方法。
【請求項６】
請求項４に記載のファイルの暗号方法により暗号化されたファイルを、請求項５に記載の鍵情報抽出方法により出力された鍵情報ファイルを用いて、復号するファイルの復号方法であって、
コンピュータが備える入力手段が、請求項５に記載の鍵情報抽出方法により出力された鍵情報ファイルと、前記復号化を許可されたｎ番目の暗号済みファイルデータを特定する情報と、前記復号化を許可された範囲の鍵情報付き暗号ファイル群とを入力する第１のステップと、
コンピュータが備える鍵情報入力手段が、前記入力した鍵情報ファイルの鍵要素に基づいて、βn-m+1,1，…，βn-1,m-1，βn,m，βn+1,m+1，…，βn+m-1,2m-1を、鍵要素として鍵要素情報保管部に保管する第２のステップと、
コンピュータが備えるデータ分離手段が、前記ｎ番目の暗号済みファイルデータから、暗号済みファイルデータと暗号済み鍵差分要素データとを取り出す第３のステップと、
コンピュータが備える鍵差分要素情報復号手段が、前記鍵要素情報保管部内の共通鍵βn,mを用いて、取り出した暗号済み鍵差分要素データを復号し、得られたαn-m,0，αn-m+1,1，…，αn-2,m-2，αn-1,m-1，-αn+1,m，-αn+2,m+1，…，-αn+m-1,2m-2，-αn+m,2m-1を鍵差分要素情報として鍵差分要素情報保管部に保管する第４のステップと、
コンピュータが備える前・次鍵要素情報処理手段が、前記鍵差分要素情報保管部の情報と鍵要素情報保管部の情報から、βn-m,1＝αn-m,0，βn-m+1,2＝βn-m+1,1＋αn-m+1,1，…，βn-1,m＝βn-1,m-1＋αn-1,m-1，βn+1,m＝βn+1,m+1-αn+1,m，…，βn+m-1,2m-2＝βn+m-1,2m-1-αn+m-1,2m-2，βn+m,2m-1＝-αn+m,2m-1を算出し、前鍵要素または次鍵要素として前鍵要素情報保管部または次鍵要素情報保管部に保管する第５のステップと、
コンピュータが備える復号手段が、前記鍵差分要素情報保管部に保管されている共通鍵βn,mを用いて、前記第３のステップで取り出した暗号済みファイルデータを復号する第６のステップと、
コンピュータが備える画面出力手段が、前記復号したファイルデータを画面表示する第７のステップと、
コンピュータが備える鍵要素情報変更手段が、
（ａ）１つ前のファイルの参照を指示する操作が為されたことを検出したときは、鍵要素情報保管部に保管されている情報を次鍵要素情報保管部にコピーし、前鍵要素情報保管部に保管されている情報を鍵要素情報保管部にコピーし、１つ前のファイルを参照すべきｎ番目のファイルとして前記第３のステップに戻り、
（ｂ）１つ後のファイルの参照を指示する操作が為されたことを検出したときは、鍵要素情報保管部に保管されている情報を前鍵要素情報保管部にコピーし、次鍵要素情報保管部に保管されている情報を鍵要素情報保管部にコピーし、１つ後のファイルを参照すべきｎ番目のファイルとして前記第３のステップに戻る第８のステップと
を備えることを特徴とする鍵情報付きファイルの復号方法。
【請求項７】
連続的に順序付けられる複数のファイルの暗号化を行うファイル暗号化装置であって、
前記順序に従ってファイルを入力するファイル入力手段と、
前記入力したファイルを、そのファイル毎に生成した共通鍵で、暗号化する暗号化手段と、
前後に連なるファイルの共通鍵を算出するための鍵要素を生成し、公開鍵で暗号化する鍵要素生成手段と、
前後に連なるファイルの共通鍵を算出するための鍵差分要素を算出し、ファイルを暗号化した際に生成した前記共通鍵で暗号化する鍵差分要素生成手段と、
前記手段で暗号化したものを一つの鍵情報付きファイルに結合する結合手段と
を備えることを特徴とするファイル暗号化装置。
【請求項８】
請求項７に記載のファイル暗号化装置により暗号化された鍵情報付きファイルを復号化するための鍵情報を抽出する鍵情報抽出装置であって、
復号化する１つのファイルを特定する情報とそのファイルの前後の復号化したいファイルの範囲を入力する範囲入力手段と、
前記特定された鍵情報付きファイルから、暗号化されている鍵要素を抽出する鍵要素抽出手段と、
前記暗号化されている鍵要素を、秘密鍵で復号化する鍵要素復号手段と、
前記復号化された鍵要素のうち、指定された範囲以外の鍵要素の情報を排除する範囲外削除手段と、
前記排除した結果を、一つの鍵情報ファイルに結合して出力する鍵ファイル生成手段と
を備えることを特徴とする鍵情報抽出装置。
【請求項９】
請求項７に記載のファイル暗号化装置により暗号化された鍵情報付きファイルを、請求項８に記載の鍵情報抽出装置により出力された鍵情報ファイルを用いて、復号するファイル復号化装置であって、
復号化する鍵情報付き暗号ファイル群と鍵情報ファイルとを入力する入力手段と、
前記鍵情報ファイルの鍵要素を抽出した鍵情報付き暗号ファイルから、暗号済みファイルデータと暗号済み鍵差分要素データと暗号済み鍵要素データとを分離するデータ分離手段と、
前記分離した暗号済みファイルデータを前記鍵情報ファイルから取り出した共通鍵で復号し画面出力する復号手段と、
前記鍵情報ファイルで指定された範囲の鍵情報付きファイルを、利用者の操作に基づき順に復号し出力する手段と
を備えることを特徴とする鍵情報付きファイル復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログファイルなどの機密を保護するための暗号化及び復号化の技術に関する。
【背景技術】
【０００２】
システムの利用状況の記録を取るログデータは、ある期間や大きさに区切って複数のファイルとして保管される。従来、ログデータは平文で保管されることが多く、DVDやテープ媒体にもそのままコピーされることが多かった。しかし、ログの重要性が高まり、単に保管するだけではなく、監査の対象となったり、証拠として提出する場面も出てきている。また、保管に関しても、別の物理的に安全な場所に保管することも考えられる。このため、ログデータの入った媒体の移動が伴うこととなり、紛失による漏洩の危険性から、ログファイルの暗号化が必要とされている。
【０００３】
またログデータの利用方法が増え、閲覧者に応じて閲覧可能なログファイルを異ならせたい場合もある。例えば、全てのログファイルを閲覧可能なログファイル管理者や、ある期間の連続した複数のログファイル群を監査する監査者、証拠として一部の連続したログファイルを提出された相手などである。また、ログファイルの性質上、連続したログファイルを正順もしくは逆順に閲覧することが多く、ある一定数以上の連続したログファイルが閲覧可能な者は、全てのログファイルが閲覧可能である場合が多いという特徴もある。
【０００４】
以上の点を考慮し、閲覧者によって閲覧可能なログの範囲が決められるようにログファイルを暗号化する必要がある。
【０００５】
ログデータの暗号方法については、既存の暗号方法を利用したいくつかの方法が考えられる。一つ目は、単純に同じ鍵で全てのログファイルを暗号化して保管し、閲覧者に渡す際には、復号化して閲覧者用に再暗号化する方法である。二つ目は、ログデータとログファイルを画像と画像の一部と読みかえれば、下記特許文献１のように別々の鍵を用いて暗号化して保管し、閲覧者によって渡す鍵群を変える方法もある。さらに、三つ目として、鍵の保管と回復の問題を解決するために、下記特許文献２のように、共通鍵でファイルを暗号化するとともに、公開鍵で前記共通鍵を暗号化して前記暗号化したファイルと一緒にする方法もある。
【特許文献１】特開平3-40689号
【特許文献２】特開平7-56507号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方式では様々な問題がある。一つ目のように閲覧者に渡す際に復号化及び暗号化する方法は、コストが高く、渡すファイルの量に比例してコストが増大する。また、二つ目の個々に別々の共通鍵を用い、相手によって渡す鍵を変える方式では、鍵と暗号文の対応関係を安全に保存しておく必要があり、また、渡すファイル量が多くなると渡す鍵も多くなって煩雑である。最後に、三つ目の方法のように公開鍵で暗号化した共通鍵を個々のファイルと一緒に保管する方法は、鍵管理の煩雑さはなくなるものの、秘密鍵を渡してしまうと全てのファイルが閲覧可能になってしまうため、秘密鍵を渡すことはできないし、秘密鍵を渡すことができない以上、暗号化されたファイルと共にそのファイル数分の共通鍵を一緒に渡す必要が出てくる。そうなると、渡す鍵も多くなって煩雑である。
【０００７】
このように、従来の方式では、ログファイルの保管や移動及び全データの閲覧については対処できる。しかし、ログデータの提出や監査においては連続した複数のファイルを渡すことが想定されるが、このような場合には対処が困難または煩雑である。
【０００８】
本発明の目的は、簡単かつ低コストで安全にログファイルの保管や移動及びデータ閲覧に対処できるとともに、閲覧者によって閲覧可能なログの範囲を制限できるようにするログファイルの暗号・復号化技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では、共通鍵で暗号化したファイルに公開鍵で暗号化した共通鍵を添付するとともに、前後に連なるファイルの共通鍵群を抽出するための一部要素を共通鍵で暗号化したものと、前後に連なるファイルの共通鍵群を先の要素とあわせて完全に抽出するための要素を公開鍵で暗号化したものを添付する。そして、単独のファイルを提出する場合には、単独のファイルから秘密鍵を用いてそのファイル共通鍵を渡す。あるファイルから連続したファイルを渡す場合には、そのファイルの共通鍵と共に、前後に連なるファイルの共通鍵群を先の要素とあわせて完全に抽出するための要素の一部を渡すこととする。
【発明の効果】
【００１０】
本発明によれば、復号・再暗号の手間を掛けずに、秘密鍵を渡すことなく、かつ、多数の共通鍵群とファイルの対応関係を用意して渡すことなく、連続したログファイルを復号が可能な情報を渡すことが可能であり、また暗号化によって安全にログファイルを保管することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
【００１２】
図１に、本発明を適用した実施形態のシステムの全体構成を示す。本システムは、ログファイル暗号端末110、復号鍵生成端末120、及びログファイル復号端末130の三つの端末を備える。ログファイル暗号端末110には、ログファイル暗号プログラム111と公開鍵PK112が配置される。このログファイル暗号端末110での主な処理は、与えられる平文のログファイルの暗号化と、公開鍵PK112を用いた鍵情報の暗号化を行うことである。復号鍵生成端末120には、復号鍵生成プログラム121と公開鍵PK112に対応する秘密鍵SK122が配置される。復号鍵生成端末120の主な処理は、暗号化された１つのログファイルとその前後の復号化したい範囲が与えられると、その暗号化されたログファイルの鍵と、復号化したい範囲のファイル復号に必要な鍵情報を出力することである。ログファイル復号端末130にはログファイル復号プログラム131が配置される。この端末の主な処理は、暗号化されたログファイル群、復号鍵生成端末120の出力、及び鍵に対応するファイル識別子が与えられると、まずファイル識別子で指定したログファイルを復号化することと、復号鍵生成端末120で指定した範囲のログファイルを端末利用者の要求に従って復号化することである。
【００１３】
本システムは、例えば以下のように使用される。まず、暗号化の担当者は、順次発生する平文のログファイルをログファイル暗号端末110を用いて暗号化する。暗号化したログファイルの詳しい構成は図２で説明するが、当該ファイルだけでは復号化できないので、暗号化したログファイルは安全に保管できる。所定の参照者にログファイルを参照させる場合、暗号化されたログファイルの管理者は、復号鍵生成端末120を用いて、その参照者に渡す鍵要素情報ファイルを生成して渡す。具体的には、復号鍵生成端末120で、参照者に参照させる１つのログファイルを指定するとともに、そのログファイルの幾つ前から幾つ後のログファイルを参照させるかの範囲を指定すると、鍵要素情報ファイルが生成出力されるので、その鍵要素情報ファイルと参照させる暗号化されているログファイルを参照者に渡す。参照者は、ログファイル復号端末130において、渡された鍵要素情報ファイルの情報を用いてログファイルを復号化し、その内容を参照する。
【００１４】
次に、本実施形態の詳細な構成や動作を説明する前に、ログファイルを実際に暗号復号する際の共通鍵に関する説明を行う。本実施形態のシステムでは、鍵差分要素αと鍵要素βの二種類の要素が存在する。これらの要素は共通鍵を算出するためのデータである。鍵差分要素αは、暗号化するログファイルごとに2m個ずつ存在する。鍵要素βは、暗号化するログファイルごとに2m-1個ずつ存在する。以下では、ログファイルn（n番目のログファイル）を暗号及び復号するための共通鍵を生成することができる鍵差分要素のx番目をαn,xと表現し、鍵要素のx番目をβn,xと表現する。αとβはxが0以上2m以下のとき有意であり、この範囲を超える場合のαとβは0として計算する。同様に、nが自然数のときαとβが有意であり、それを外れるときαとβは0として計算する。図２で説明するが、１つのログファイルに対応して2m-1個存在する鍵要素βの中で、βn,mが、ログファイルnを暗号及び復号するための共通鍵そのものである。
【００１５】
この鍵差分要素αと鍵要素βは、以下の式（1）及び（2）の関係を持つ。
βi,j＋αi,j＝βi,j+1  (0≦j≦2m-1)  式（1）
βi,0＝βi,2m＝0        式（2）
【００１６】
以上の性質から、ログファイルnの共通鍵となる鍵要素βn,mは、鍵差分要素αn,0…αn,m-1の総和や、鍵差分要素-αn,m+1…-αn,2mの総和、もしくは、その一部を鍵要素βで置き換えたもので算出可能となる。
【００１７】
図２に、n番目のログファイルが暗号化された結果として出力される鍵情報付き暗号ログファイル200の構成を示す。鍵情報付き暗号ログファイル200は、n番目のログファイル211を共通鍵βn,mで暗号化した暗号済みログファイルデータ210と、図に示すような鍵差分要素αの集合である鍵差分要素情報221を共通鍵βn,mで暗号化した暗号済み鍵差分要素データ220と、図に示すような鍵要素βの集合である鍵要素情報231を公開鍵PKで暗号化した暗号済み鍵要素データ230の三つを結合したものである。
【００１８】
このn番目の暗号ファイル200に含まれる暗号済みログファイルデータ210は、以下の方法で復号化が可能である。
（1）共通鍵βn,mを知っていれば、その共通鍵βn,mで復号化することができる。
（2）共通鍵βn,mを知らなくても、秘密鍵SKを知っていれば、その秘密鍵SKで暗号済み鍵要素データ230を復号化し、得られた共通鍵βn,mで復号化することができる。
（3）このn番目の暗号ファイル200から共通鍵βn,mを直接求める代わりに、この暗号ファイルより前のm個、または、この暗号ファイルより後のm個の各暗号ファイルに含まれる暗号済み鍵差分要素データを復号し、αn,0…αn,m-1の総和または-αn,m…-αn,2m-1の総和を算出することにより共通鍵βn,mを求めることもできる。βn,m=αn,0+αn,1+…+αn,m-1=-αn,m-αn,m+1-…-αn,2m-1だからである。αn,0はこの暗号ファイルのm個後の暗号ファイルに含まれる鍵差分要素、αn,1はこの暗号ファイルのm-1個後の暗号ファイルに含まれる鍵差分要素、…、αn,m-1はこの暗号ファイルの1個後の暗号ファイルに含まれる鍵差分要素である。同様に、-αn,mはこの暗号ファイルの1個前の暗号ファイルに含まれる鍵差分要素、-αn,m+1はこの暗号ファイルの2個前の暗号ファイルに含まれる鍵差分要素、…、-αn,2m-1はこの暗号ファイルのm個前の暗号ファイルに含まれる鍵差分要素である。
（4）上記（3）の算出において、その一部分について、秘密鍵SKで暗号済み鍵要素データを復号化して得られた共通鍵βを利用することもできる。例えば、βn,m=βn,m-1+αn,m-1である。
【００１９】
以上より、本実施形態のシステムでは、参照者にn番目のログファイルとそのp個前からそのq個後までのみを参照させたいとき（すなわち、n-p番目、n-p+1番目、…、n番目、n+1番目、…、n+q番目を参照させるということである）、それらの暗号ファイルと、βn-p,m-p，βn-p+1,m-p+1，…，βn,m，βn+1,m+1，…，βn+p,m+qを参照者に渡せばよいことになる（秘密鍵SKは参照者に渡さない）。この場合、参照者は、以下のような手順でログファイルの復号を行える。
(1-1)βn,mを保有するので、参照者は、n番目のログファイルを復号できる。
(1-2)さらに、βn-1,m-1を保有するので、参照者は、n番目の暗号ログファイル中のαn-1,m-1を用いてβn-1,m-1+αn-1,m-1=βn-1,mを求めることができ、これによりn-1番目のログファイルを復号できる。
(1-3)さらに、βn-2,m-2を保有するので、参照者は、n番目の暗号ログファイル中のαn-2,m-2を用いてβn-2,m-2+αn-2,m-2=βn-2,m-1を求めることができ、さらにn-1番目の暗号ログファイル中のαn-2,m-1を用いてβn-2,m-1+αn-2,m-1=βn-2,mを求めることができ、これによりn-2番目のログファイルを復号できる。
(1-4)以下同様にして、n番目から１つずつ戻りながらログファイルを復号していける。n-p番目のログファイルを復号した後は、n-p-1番目のログファイルを復号しようとしても、参照者はβn-p-1,m-p-1を保有していないのでn-p-1番目のログファイルを復号できない。
(1-5)ただし、p+q+1がm以上である場合、すなわち連続するm個以上のログファイルの復号を参照者に許す場合は、n-p番目の暗号ファイル中の鍵差分要素αn-p-1,m-1、n-p+1番目の暗号ファイル中の鍵差分要素αn-p-1,m-2、n-p+2番目の暗号ファイル中の鍵差分要素αn-p-1,m-3、…、n-p+m-1番目の暗号ファイル中の鍵差分要素αn-p-1,0をすべて取得することができ、αn-p-1,m-1+αn-p-1,m-2+…+αn-p-1,0=βn-p-1,mを求めることができるので、n-p-1番目のログファイルを復号できる。同様にして、さらにn-p-2番目、n-p-3番目と戻って、１番目までの全てのログファイルを復号できる。
【００２０】
以上の(1-1)〜(1-5)は、n番目のログファイルから１つずつ戻りながら復号する手順を説明した。n番目のログファイルから１つずつ進みながら次のファイルを復号していくのも同様にして次の手順で可能である。
(2-1)βn,mを保有するので、参照者は、n番目のログファイルを復号できる。
(2-2)さらに、βn+1,m+1を保有するので、参照者は、n番目の暗号ログファイル中の-αn+1,mを用いてβn+1,m+1-αn+1,m=βn+1,mを求めることができ、これによりn+1番目のログファイルを復号できる。
(2-3)さらに、βn+2,m+2を保有するので、参照者は、n番目の暗号ログファイル中の-αn+2,m+1を用いてβn+2,m+2-αn+2,m+1=βn+2,m+1を求めることができ、さらにn+1番目の暗号ログファイル中のαn+2,mを用いてβn+2,m+1-αn+2,m=βn+2,mを求めることができ、これによりn+2番目のログファイルを復号できる。
(2-4)以下同様にして、n番目から１つずつ進みながらログファイルを復号していける。n+q番目のログファイルを復号した後は、n+q+1番目のログファイルを復号しようとしても、参照者はβn+q+1,m+q+1を保有していないのでn+q+1番目のログファイルを復号できない。
(2-5)ただし、p+q+1がm以上である場合、すなわち連続するm個以上のログファイルの復号を参照者に許す場合は、n+q番目の暗号ファイル中の鍵差分要素-αn+q+1,m、n+q-1番目の暗号ファイル中の鍵差分要素-αn+q+1,m+1、n+q-2番目の暗号ファイル中の鍵差分要素-αn+q+1,m+2、…、n+q-m+1番目の暗号ファイル中の鍵差分要素-αn+q+1,2m-1をすべて取得することができ、-αn+q+1,m-αn+q+1,m+1-…-αn+q+1,2m-1=βn+q+1,mを求めることができるので、n+q+1番目のログファイルを復号できる。同様にして、さらにn+q+2番目、n+q+3番目と進み、全てのログファイルを復号できる。
【００２１】
以上から分かるように、mは、連続する何個以上のログファイルの復号を許すならば全てのログファイルの復号を許すことにするかを示す閾値である。mの具体的な値は、予め決めておくものとする。
【００２２】
図３に、ログファイル暗号プログラム111の構成を示す。なお、正確に言えば、ログファイル暗号プログラム111をログファイル暗号端末110で実行したときに実現される構成であるが、簡単にプログラムの構成と言うものとする。後述する図９、図１１でも同様である。ログファイル暗号プログラム111は、内部に、ログファイル入力部301、乱数生成部302、前鍵要素情報保管部303、鍵要素情報保管部304、次鍵要素情報保管部305、鍵差分要素情報保管部306、ログファイル暗号処理部307、鍵要素情報暗号処理部308、鍵差分要素情報暗号処理部309、データ結合部310、及び鍵情報付き暗号ログファイル出力部311を持つ。
【００２３】
ログファイル入力部301は、暗号化処理を行いたいログファイルを入力する処理を行う。乱数生成部302は、鍵要素情報に用いる乱数を生成する。
【００２４】
前鍵要素情報保管部303は、n個目のログファイルを暗号化する時点で、n-1個目のログファイルを暗号化する際に利用した共通鍵を含む鍵要素情報231を保管するものである。鍵要素情報保管部304は、n個目のログファイルを暗号化する時点で、n個目のログファイルを暗号化する際に利用する共通鍵を含む鍵要素情報231を保管するものである。次鍵要素情報保管部305は、n個目のログファイルを暗号化する時点で、n+1個目のログファイルを暗号化する際に利用する共通鍵を含む鍵要素情報231を保管するものである。鍵差分要素情報保管部306は、n個目のログファイルを暗号化する時点で、n個目のログファイルのための鍵差分要素情報221を保管するものである。
【００２５】
ログファイル暗号処理部307は、鍵要素情報保管部304に含まれている共通鍵を用いてn個目のログファイルを暗号化し、暗号済みログファイルデータ210を生成するものである。鍵要素情報暗号処理部308は、秘密鍵PK112を用いて鍵要素情報保管部304に保管されている鍵要素情報を暗号化し、暗号済み鍵要素データ230を生成するものである。鍵差分要素情報暗号処理部309は、鍵差分要素情報保管部306に保管されている鍵差分要素情報を暗号化し、暗号済み鍵差分要素データ220を作成するものである。データ結合部310は、ログファイル暗号処理部307、鍵要素情報暗号処理部308、及び鍵差分要素情報暗号処理部309の出力データを1つのファイル（図２）に結合するものである。鍵情報付き暗号ログファイル出力部311は、データ結合部310が生成したファイルを出力するものである。
【００２６】
図４は、ログファイル暗号プログラム111による処理の手順を示すフローチャートである。まず、ログファイル入力部301に、平文のログファイルが入力される（ステップ401）。この際、入力されたログファイルが最初のログファイルかどうかを共に入力することとする。次に、入力されたログファイルが最初のログファイルかどうかを判定する（ステップ402）。最初のログファイルならば（すなわちn=1個目）、乱数生成部302を用いて初期の鍵要素情報を生成し、鍵要素情報保管部304で保管し、さらに前鍵要素情報保管部303が保管する情報を0で埋める（ステップ403）。
【００２７】
図５に、鍵要素情報保管部304が保管する情報の詳細を示す。鍵要素情報保管部304は、n個目のログファイルの暗号化に用いる鍵であるn個目ログファイル暗号用鍵501、n個目以降のログファイル暗号鍵要素群502、及びn個目以前のログファイル暗号鍵要素群503で構成される。上述のステップ403では、1個目のログファイルを暗号化する前であるので、ログファイル暗号用鍵501とログファイル暗号鍵要素群502の部分を、乱数生成部302で生成された乱数で埋め、それ以外は0で埋める。
【００２８】
図６に、前鍵要素情報保管部303が保管する情報の詳細を示す。前鍵要素情報保管部303は、n-1個目のログファイルの暗号化に用いる鍵であるn-1個目ログファイル暗号用鍵601、n-1個目以降のログファイル暗号鍵要素群602、及びn-1個目以前のログファイル暗号鍵要素群603で構成される。上述のステップ403では、1個目のログファイルを暗号化する前であり、対応する情報が無いので、初期設定として全ての値を0で埋める。ステップ403以外での前鍵要素情報保管部303が保管する情報については後で説明する。
【００２９】
図４に戻って、ステップ403で初期の鍵要素を生成した後、もしくは、ステップ402で最初のログファイルでないと判定された際には、必ずn個目のログファイル暗号用鍵βn,m501が存在する。そこで、ログファイル暗号処理部307により、n個目のログファイル暗号用鍵βn,m501で、入力されたn個目のログファイルを暗号化し、暗号済みログファイルデータ210を生成する（ステップ404）。
【００３０】
次に、乱数生成部302を用いて次鍵要素情報を生成し、次鍵要素情報保管部305で保管する（ステップ405）。
【００３１】
図７に、次鍵要素情報保管部305が保管する情報の詳細を示す。次鍵要素情報保管部305は、n+1個目のログファイルの暗号化に用いる鍵であるn+1個目ログファイル暗号用鍵701、n+1個目以降のログファイル暗号鍵要素群702、及びn+1個目以前のログファイル暗号鍵要素群703で構成される。次鍵要素情報保管部305の構成は、図５に示した鍵要素情報保管部304と同様のものだが、n+1個目のログファイル暗号用鍵が含まれるなど、次のログファイルの暗号時に使う鍵要素情報が保管される。
【００３２】
上述のステップ405では、次鍵要素情報保管部305内のβx,yにおいて、xが0以下になる部分は対応するログファイルが無い鍵要素なので0で埋めるものとし、それ以外のβには乱数を設定する。例えば、ステップ404で1個目のログファイルを暗号化した場合には、n+1個目のログファイル暗号用鍵701と、n+1個目以降のログファイル暗号鍵要素702と、n+1個目以前のログファイル暗号鍵要素群703中の鍵要素βn,m-1の部分とを、それぞれ乱数生成部302で生成された乱数で埋め、それ以外は0で埋める。
【００３３】
次に、前鍵要素情報保管部303、鍵要素情報保管部304、及び次鍵要素情報保管部305が保管する情報から、鍵差分要素情報221を生成し、鍵差分要素情報保管部306で保管する（ステップ406）。
【００３４】
図８に、鍵差分要素情報保管部306が保管する情報の詳細を示す。鍵差分要素αn-m,0801は、前鍵要素情報保管部303（図６）で保管される鍵要素βn-m,1そのものである。鍵差分要素-αn+m,2m-1802は、次鍵要素情報保管部305（図７）で保管される鍵要素βn+m,2m-1そのものである。鍵差分要素αn-m+1,1〜αn-1,m-1803は、図８に示すように、前鍵要素情報保管部303と鍵要素情報保管部304が保管する情報から差分を算出して生成する。鍵差分要素-αn+1,m〜-αn+m-1,2m-2804は、図８に示すように、次鍵要素情報保管部305と鍵要素情報保管部304が保管する情報から差分を算出して生成する。
【００３５】
ステップ406で鍵差分要素情報221を生成し、鍵差分要素情報保管部306に保管した後、鍵要素情報保管部304が保管する情報を鍵要素情報231として、公開鍵PK112を用いて暗号化し、暗号済み鍵要素データ230を生成する（ステップ407）。次に、鍵差分要素情報保管部306が保管する鍵差分要素情報221を、鍵要素情報保管部304が保管するn個目のログファイル暗号用鍵501で暗号化し、暗号済み鍵差分要素データ220を生成する（ステップ408）。
【００３６】
次に、鍵要素情報保管部304が保管する情報を前鍵要素情報保管部303にコピーし、次鍵要素情報保管部305が保管する情報を鍵要素情報保管部304にコピーする（ステップ409）。これは、次のログファイルの入力に備えるものである。次に、ステップ404で生成した暗号済みログファイルデータ210、ステップ407で生成した暗号済み鍵要素データ230、及びステップ408で生成した暗号済み鍵差分要素データ220を結合して、暗号ファイル200を生成する（ステップ410）。最後に、ステップ410で生成したファイルを出力する（ステップ411）。
【００３７】
以上で、図２に示した3つのデータが結合されたファイル200が生成される。
【００３８】
図９に、復号鍵生成プログラム121の構成を示す。復号鍵生成プログラム121は、内部に、暗号ログファイル・鍵範囲入力部901、暗号ログファイル分離部902、鍵要素情報復号処理部903、鍵要素情報保管部904、範囲外情報削除処理部905、鍵要素情報結合部906、及び鍵要素情報ファイル出力部907を持つ。
【００３９】
暗号ログファイル・鍵範囲入力部901は、復号鍵を生成したい１つの鍵情報付き暗号ログファイル200と、その前後に連続する復号したい鍵情報付き暗号ログファイルの範囲を入力するものである。暗号ログファイル分離部902は、入力された鍵情報付き暗号ログファイル200から、暗号済み鍵要素データ230を抽出するものである。鍵要素情報復号処理部903は、暗号済み鍵要素データ230を、秘密鍵SK122を用いて復号化し、鍵要素情報231を生成するものである。鍵要素情報保管部904は、鍵要素情報復号処理部903で生成した鍵要素情報231を保管するものである。範囲外情報削除処理部905は、暗号ログファイル・鍵範囲入力部901で入力された範囲に対して、鍵要素情報231の中で指定された範囲外の鍵要素を削除するものである。鍵要素情報結合部906は、範囲外情報削除処理部905で削除した結果得られた鍵要素情報231を鍵要素情報ファイルとして結合するものである。鍵要素情報ファイル出力部907は、鍵要素情報結合部906で生成した鍵要素情報ファイルを出力するものである。
【００４０】
図１０は、復号鍵生成プログラム121による処理の手順を示すフローチャートである。まず、暗号ログファイル・鍵範囲入力部901により、復号鍵を生成したい１つの鍵情報付き暗号ログファイル200と、そのファイルの前後の連続して復号したい鍵情報付き暗号ログファイルの範囲を入力する（ステップ1001）。ここで、範囲は、入力した鍵情報付き暗号ログファイルを0として、古い方向をマイナス、新しい方向をプラスとし、例えば4個前から3個後のログファイルを連続して復号化したい場合は、（−4，3）という形式で入力するものとする。入力（x，y）において、xが0より大きいかyが0より小さい場合はエラーとして再度入力させる。
【００４１】
次に、ステップ1001で入力された範囲がm個以上のログファイルかどうかをチェックし、m個以上であればステップ1003に進み、m個未満ならステップ1004に進む（ステップ1002）。例えば、mが8以下で、範囲が（−4，3）の場合、8個の連続したログファイルの復号を許すということであるから、ステップ1003に進む。ステップ1002でm個以上の範囲が指定されたと判定されたら、全てのログファイルを復号化可能な鍵を出力して良いかを入力者に確認する（ステップ1003）。良くない場合には、ステップ1001で再度範囲を入力させる。そうでない場合は、ステップ1004に進む。図２で説明したように、m個以上の連続するログファイルを復号できる者はその範囲を超えて全てのログファイルを復号できるので、ステップ1003ではそのような権限を参照者に与えて良いかどうかを確認している。
【００４２】
次に、暗号ログファイル分離部902を用いて、入力された鍵情報付き暗号ログファイル200から、暗号済み鍵要素データ230を抽出する（ステップ1004）。次に、鍵要素情報復号処理部903で、秘密鍵SK122を用いて暗号済み鍵要素データ230を復号化し、鍵要素情報231を生成し、その鍵要素情報231を鍵要素情報保管部904で保管する（ステップ1005）。鍵要素情報保管部904の持つ情報の詳細は、図５で示したものと同じである。
【００４３】
次に、範囲外情報削除処理部905で、鍵要素情報保管部904にある情報のうち、指定された範囲外の鍵要素を0にする（ステップ1006）。例えば、n個目のログファイルを0として（−4，3）と範囲指定されている場合は、鍵要素βn-4,n-4〜鍵要素βn+3,n+3以外の部分を0とする。次に、鍵要素情報結合部906で、鍵要素情報保管部904に保管されている情報を単純に結合して、鍵要素情報ファイルを生成する（ステップ1007）。最後に、ステップ1007で生成した鍵要素情報ファイルを、鍵要素情報ファイル出力部907で出力する（ステップ1008）。
【００４４】
図１１に、ログファイル復号プログラム131の概要構成を示す。ログファイル復号プログラム131は、大きく分けて、初期入力画面処理部1101、鍵関連情報保管部1102、ログファイル情報保管部1103、及び参照者操作画面処理部1104の四つで構成される。初期入力画面処理部1101は、鍵情報付き暗号ログファイル群と鍵要素情報ファイルなどを入力するなど、初期入力とその処理を行うものである。鍵関連情報保管部1102は、鍵要素情報や鍵差分情報などを管理するものである。ログファイル情報保管部1103は、与えられた鍵情報付き暗号ログファイル群の管理と、鍵関連情報保管部1102にある情報との対応関係を保持するものである。参照者操作画面処理部1104は、鍵関連情報保管部1102の情報を利用して鍵情報付き暗号ログファイルを復号化し、参照者に参照させると共に、鍵差分情報も復号化して、鍵関連情報保管部1102の情報を更新し、参照者の要求に応じて、前後の鍵情報付き暗号ログファイルも復号化し参照させるものである。
【００４５】
図１２に、鍵関連情報保管部1102の詳細を示す。鍵関連情報保管部1102は、鍵要素情報保管部1201、鍵差分要素情報保管部1202、前鍵要素情報保管部1203、及び次鍵要素情報保管部1204で構成される。これらが保管する情報の詳細は、図５〜図８を用いてログファイル暗号プログラム111の説明で行ったものと同じである。
【００４６】
図１３に、ログファイル情報保管部1103が保管する情報の詳細を示す。ログファイル情報保管部1103には、鍵情報付き暗号ログファイル群のパスの順序付きリスト1301が保管される。また、nowポインタ1302、prevポインタ1303、及びnextポインタ1304が設けられている。nowポインタ1302は、鍵関連情報保管部1102の鍵要素情報保管部1201に保管されている鍵要素情報に対応する鍵情報付き暗号ログファイルへのパスを指すポインタである。prevポインタ1303は、nowポインタ1302の前のファイルへのパスを指すポインタである。nextポインタ1304は、nowポインタ1302の後のファイルへのパスを指すポインタである。
【００４７】
図１４に、初期入力画面処理部1101の詳細を示す。初期入力画面処理部1101は、内部に、鍵要素情報ファイル入力処理部1401、鍵情報付き暗号ログファイル群入力処理部1402、対応ログファイル指定入力処理部1403、ログファイル情報処理部1404、及び鍵要素情報ファイル分離部1405で構成される。鍵要素情報ファイル入力処理部1401は、復号鍵生成プログラム121で生成した鍵要素情報ファイルを入力処理するものである。鍵情報付き暗号ログファイル群入力処理部1402は、渡された鍵情報付き暗号ログファイルを順序に従って入力処理するものである。対応ログファイル指定入力処理部1403は、鍵情報付き暗号ログファイル群入力処理部1402で入力された鍵情報付き暗号ログファイルの中で、入力された鍵要素情報ファイルに対応する鍵情報付き暗号ログファイルを指定するものである。ログファイル情報処理部1404は、上記の入力部で入力された情報から、ログファイル情報保管部1103が管理する情報を設定するものである。鍵要素情報ファイル分離部1405は、鍵要素情報ファイル入力処理部1401で入力された鍵要素情報ファイルから、各鍵要素を分離し、鍵要素情報として鍵関連情報保管部1102に保管するものである。
【００４８】
図１５は、初期入力画面処理部1101の処理手順を示すフローチャートである。まず、図１６に示す初期入力画面1600を出力する（ステップ1501）。初期入力画面1600は、鍵情報付き暗号ログファイル群を入力する領域1601、鍵要素情報ファイルを入力する領域1602、鍵情報付き暗号ログファイル群の中で前記鍵要素情報ファイルに対応する暗号ログファイルを入力する領域1603、及びOKボタン1604の４つで構成される。
【００４９】
参照者は、領域1601〜1603に入力し、OKボタン1604を押す（ステップ1502）。各領域1601〜1603への入力は、それぞれ、鍵情報付き暗号ログファイル群入力処理部1402、鍵要素情報ファイル入力処理部1401、及び対応ログファイル指定入力処理部1403により処理される。なお、図１６は、図１０のステップ1001で復号鍵を生成したい１つの鍵情報付き暗号ログファイルとしてLog20040705.logを指定し、それを0として、古い方へ４個、新しい方へ３個の範囲を指定して得られた鍵要素情報ファイルKey2004705を用いて復号する場合の入力例を示している。
【００５０】
ステップ1502で参照者の入力が完了すると、初期入力画面処理部1101は、ログファイル情報処理部1402により、鍵情報付き暗号ログファイル群を入力する領域1601に入力された情報に基づいて、ログファイル情報保管部1103の鍵情報付き暗号ログファイル群のパスの順序付きリスト1301（図１３）を生成する。また、ログファイル情報処理部1403は、鍵要素情報ファイルに対応する暗号ログファイルを入力する領域1603に入力された情報に基づいて、ログファイル情報保管部1103のnowポインタ1302、prevポインタ1303、及びnextポインタ1304を設定する（ステップ1503）。図１６の入力例では、nowポインタ1302が領域1603に入力された暗号ログファイルLog20040705.logのパスを指し、prevポインタ1303がその１つ前のLog20040704.logのパスを指し、nextポインタ1304が１つ後のLog20040706.logのパスを指すように設定される。
【００５１】
次に、鍵要素情報ファイル分離部1405により、鍵要素情報ファイルを入力する領域1602に入力された情報に基づいて、当該鍵要素情報ファイルの内容を鍵要素ごとに分割し、鍵関連情報保管部1102の鍵要素情報保管部1201に保管する（ステップ1504）。
【００５２】
以上で初期入力画面処理部1101の処理は終了し、参照者操作画面処理部1104の処理が開始される。
【００５３】
図１７に、参照者操作画面処理部1104の詳細を示す。参照者操作画面処理部1104は、鍵情報付きログファイル入力部1701、データ分離部1702、鍵差分要素情報復号処理部1703、前・次鍵要素情報処理部1704、ログファイル復号処理部1705、画面出力処理部1706、ファイル出力処理部1707、及び鍵要素情報変更部1708で構成される。
【００５４】
鍵情報付き暗号ログファイル入力部1701は、復号して表示する鍵情報付き暗号ログファイルの入力処理を行うものである。データ分離部1702は、入力された鍵情報付き暗号ログファイルから、暗号済みログファイルデータ210、暗号済み鍵差分要素データ220、及び暗号済み鍵要素データ230に分離するものである。鍵差分要素情報復号処理部1703は、データ分離部1702で分離した暗号済み鍵差分要素データ220を復号化し、鍵関連情報保管部1102の鍵差分要素情報保管部1202に保管するものである。前・次鍵要素情報処理部1704は、鍵関連情報保管部1102の鍵要素情報保管部1201と鍵差分要素情報保管部1202に保管されている情報から、前及び次の鍵情報付き暗号ログファイルのための鍵要素情報を算出し、前鍵要素情報保管部1203と次鍵要素情報保管部1204に保管するものである。ログファイル復号処理部1705は、データ分離部1702で分離した暗号済みログファイルデータ210を復号化するものである。画面出力処理部1706は、ログファイル復号処理部1705で復号化したログファイルデータの内容自体と、その復号化したログファイル名及びその前と次のログファイル名、並びに、操作ボタンからなる参照者操作用画面を生成出力するものである。ファイル出力処理部1707は、表示されている復号化されたログファイルデータの内容をファイルに出力するものである。鍵要素情報変更部1708は、参照者の参照者操作画面上での操作に応じて、鍵関連情報保管部1102が保管する情報と、ログファイル情報保管部1103が保管する各ポインタの変更を行うものである。
【００５５】
図１８は、参照者操作画面処理部1104の処理の手順を示すフローチャートである。まず、鍵要素情報保管部1201に保管されている情報の中で、共通鍵となるn個目のログファイル暗号用鍵501が0かどうか（すなわち、共通鍵が存在しないかどうか）を判定する。鍵が存在しない場合は終了し、存在する場合はステップ1801に進む（ステップ1800）。
【００５６】
鍵情報付き暗号ログファイル入力部1701で、ログファイル情報保管部1103のnowポインタが指す鍵情報付き暗号ログファイル200を読み込む（ステップ1801）。次に、データ分離部1702で、読み込んだ鍵情報付き暗号ログファイル200を、暗号済みログファイルデータ210、暗号済み鍵差分要素データ220、及び暗号済み鍵要素データ230に分離する（ステップ1802）。次に、鍵差分要素情報復号処理部1703で、分離した暗号済み鍵差分要素データ220を、鍵要素情報保管部1201に保管されているn個目のログファイル暗号用鍵501を共通鍵として復号し、鍵差分要素情報保管部1202に保管する（ステップ1803）。次に、鍵要素情報保管部1201と鍵差分要素情報保管部1202に保管されている情報から、図８で説明した鍵差分要素情報の生成方法の逆の演算を利用して、前鍵要素情報と次鍵要素情報を算出し、前鍵要素情報保管部1203と次鍵要素情報保管部1204に保管する（ステップ1804）。次に、ログファイル復号処理部1705により、ステップ1803で利用した共通鍵を用いて、ステップ1802で分離した暗号済みログファイルデータ210を復号化する（ステップ1805）。次に、ステップ1805で復号したログファイルと、ログファイル情報保管部1103のnowポインタ1302、prevポインタ1303、及びnextポインタ1304がそれぞれ指す鍵情報付き暗号ログファイルの名前から、参照者操作画面を生成し、出力する（ステップ1806）。
【００５７】
図１９に、参照者操作画面の詳細を示す。参照者操作画面1900は、復号されたログファイルの内容を表示するログ出力結果領域1901、該領域1901に出力しているログファイル名を表示する領域1902、出力しているログファイルの1つ前のログファイル名を表示する領域1903、出力しているログファイルの1つ後のログファイル名を表示する領域1904、参照を終了する操作のためのendボタン1905、出力しているログファイルの内容をファイルとして出力する操作のためのfileボタン1906、一つ前のログファイルを表示させる操作のためのprevボタン1907、及び、一つ後のログファイルを表示させるためのnextボタン1908から構成される。
【００５８】
参照者は参照者操作画面のログ出力結果1901を参照した後、endボタン1905、fileボタン1906、prevボタン1907、及びnextボタン1908の何れかを押す入力を行う（ステップ1807）。endボタン1905が押されたかどうかを判定し、endボタン1905が押されていたらプログラムを終了し、そうでなければステップ1809に進む（ステップ1808）。次にfileボタン1906が押されたかどうかを判定し、fileボタン1906が押されていたらステップ1810へ、押されていなければステップ1811へ進む（ステップ1809）。ステップ1809でfileボタンが押されていた場合は、ファイル出力処理部1707で、ログ出力結果1901に出力しているログファイルを平文のファイルとして出力し（ステップ1810）、その後ステップ1807の参照者入力に戻る。ステップ1809でfileボタン1906が押されていなかった場合は、prevボタン1907が押されたかどうかを判定し、押されていた場合はステップ1812に進み、そうでない場合はnextボタン1908が押されているので、ステップ1813に進む（ステップ1811）。
【００５９】
ステップ1812では、鍵要素情報変更部1708が、鍵関連情報保管部1102の鍵要素情報保管部1201の情報を次鍵要素情報保管部1204にコピーし、前鍵要素情報保管部1203の情報を鍵要素情報保管部1201にコピーする。さらに、ログファイル情報保管部1103のnowポインタ1302、prevポインタ1303、及びnextポインタ1304を、各々一つ前のファイルを指すように変更する（ステップ1812）。
【００６０】
ステップ1813では、鍵要素情報変更部1708が、鍵関連情報保管部1102の鍵要素情報保管部1201の情報を前鍵要素情報保管部1203にコピーし、次鍵要素情報保管部1204の情報を鍵要素情報保管部1201にコピーする。さらに、ログファイル情報保管部1103のnowポインタ1302、prevポインタ1303、及びnextポインタ1304を、各々一つ後のファイルを指すように変更する（ステップ1813）。
【００６１】
ステップ1812及びステップ1813の後、ステップ1801に戻って処理を行う。
【００６２】
なお、本実施形態におけるログファイルの暗号化では、図２で説明したように、連続するm個以上のログファイルの復号を参照者に許す場合、その参照者は全ログファイルを参照可能である。しかし、図１８は、連続するm個以上のログファイルの復号を参照者に許す場合にその参照者が全ログファイルを参照できるようにする処理は含んでいない。予め参照者に参照させる限られた数の暗号ログファイルを参照者に渡し、参照者は図１６のような画面でそれらの暗号ログファイル群を入力して参照するようにすることを、図１８の処理は前提としているからである。ただし、参照者が使用するログファイル復号端末130から例えばネットワーク経由で全ての暗号ログファイルにアクセスできるような場合は、連続するm個以上のログファイルの復号を参照者に許すことによってその参照者が全ログファイルを参照できるようにすることは意味がある。その場合、その連続するm個のログファイルの前及び次の暗号ログファイルを復号する共通鍵は、それらの連続するm個以上の暗号ファイルに含まれる鍵差分要素α*,0〜α*,m-1の和及び-α*,m〜-α*,2m-1の和で求めることになるので、そのような処理を加えればよい。具体的には、図１８の処理でprevボタンが押されてステップ1812経由でステップ1800に戻って共通鍵が無かったとき、またはnextボタンが押されてステップ1813経由でステップ1800に戻って共通鍵が無かったときに（参照させる範囲を外れる場合である）、prevボタンであればそれにより参照しようとしているログファイルの後側に連続するm個の暗号ファイルの鍵差分要素αを所得できるかを判別し、またnextボタンであればそれにより参照しようとしているログファイルの前側に連続するm個の暗号ファイルの鍵差分要素αを所得できるかを判別する。それらのm個の暗号ファイルの鍵差分要素αが取得できるなら、上述したようにそれらの鍵差分要素から、prevボタンまたはnextボタンにより参照しようとした暗号ログファイルの共通鍵を求めることができるので、当該共通鍵を求めてステップ1806に進めばよい。m個の暗号ファイルの鍵差分要素αが取得できないときは、処理を終了する。
【００６３】
なお、上記実施形態ではログファイルの暗号化と復号化を例に説明したが、本発明は、連続的に順序付けられる任意の複数ファイルの暗号化・復号化に適用することができるものである。
【図面の簡単な説明】
【００６４】
【図１】システム全体構成図
【図２】n番目のログファイルに対応する鍵情報付き暗号ログファイルの詳細を示す図
【図３】ログファイル暗号プログラムの構成図
【図４】ログファイル暗号プログラムの処理フローチャート
【図５】鍵要素情報保管部が保管する情報の詳細を示す図
【図６】前鍵要素情報保管部が保管する情報の詳細を示す図
【図７】次鍵要素情報保管部が保管する情報の詳細を示す図
【図８】鍵差分要素情報保管部が保管する情報の詳細を示す図
【図９】復号鍵生成プログラムの構成図
【図１０】復号鍵生成プログラムの処理フローチャート
【図１１】ログファイル復号プログラムの概要構成図
【図１２】鍵関連情報保管部の詳細を示す図
【図１３】ログファイル情報保管部が保管する情報の詳細を示す図
【図１４】初期入力画面処理部の詳細を示す図
【図１５】初期入力画面処理部の処理フローチャート
【図１６】初期入力画面を示す画面図
【図１７】参照者操作画面処理部の詳細を示す図
【図１８】参照者操作画面処理部のフローチャート
【図１９】参照者操作画面の画面図
【符号の説明】
【００６５】
110…ログファイル暗号端末、120…復号鍵生成端末、130…ログファイル復号端末、111…ログファイル暗号プログラム、112…公開鍵PK、121…復号鍵生成プログラム、122…秘密鍵SK、131…ログファイル復号プログラム、200…鍵情報付き暗号ログファイル、210…暗号済みログファイルデータ、220…暗号済み鍵差分要素データ、221…鍵差分要素情報、230…暗号済み鍵要素データ、231…鍵要素情報、301…ログファイル入力部、302…乱数生成部、303…前鍵要素情報保管部、304…鍵要素情報保管部、305…次鍵要素情報保管部、306…鍵差分要素情報保管部、307…ログファイル暗号部、308…鍵要素情報暗号部、309…鍵差分要素情報暗号部、310…データ結合部、311…鍵情報付き暗号ログファイル出力部、501…n個目ログファイル暗号用鍵、502…n個目以降のログファイル暗号鍵要素群、503…n個目以前のログファイル暗号鍵要素群、601…n-1個目ログファイル暗号用鍵、602…n-1個目以降のログファイル暗号鍵要素群、603…n-1個目以前のログファイル暗号鍵要素群、701…n+1個目ログファイル暗号用鍵、702…n+1個目以降のログファイル暗号鍵要素群、703…n+1個目以前のログファイル暗号鍵要素群、901…暗号ログファイル・鍵範囲入力部、902…暗号ログファイル分離部、903…鍵要素情報復号処理部、904…鍵要素情報保管部、905…範囲外情報削除処理部、906…鍵要素情報ファイル結合部、907…鍵要素情報ファイル出力部、1101…初期入力画面処理部、1102…鍵関連情報保管部、1103…ログファイル情報保管部、1104…参照画面処理部、1201…鍵要素情報保管部、1202…鍵差分要素情報保管部、1203…前鍵要素情報保管部、1204…次鍵要素情報保管部、1301…パス順序付きリスト、1302…nowポインタ、1303…prevポインタ、1304…nextポインタ、1401…鍵要素情報ファイル入力処理部、1402…鍵情報付き暗号ログファイル群入力処理部、1403…対応ログファイル指定入力処理部、1404…鍵要素情報ファイル分離部、1600…初期入力画面、1701…鍵情報付きログファイル入力部、1702…データ分離部、1703…鍵差分要素情報復号処理部、1704…前後鍵要素情報処理部、1705…ログファイル復号処理部、1706…画面出力処理部、1707…ファイル出力処理部、1708…鍵要素変更部、1900…参照者操作画面。
【図１】
2006237908.tif 000003
【図２】
2006237908.tif 000004
【図３】
2006237908.tif 000005
【図４】
2006237908.tif 000006
【図５】
2006237908.tif 000007
【図６】
2006237908.tif 000008
【図７】
2006237908.tif 000009
【図８】
2006237908.tif 000010
【図９】
2006237908.tif 000011
【図１０】
2006237908.tif 000012
【図１１】
2006237908.tif 000013
【図１２】
2006237908.tif 000014
【図１３】
2006237908.tif 000015
【図１４】
2006237908.tif 000016
【図１５】
2006237908.tif 000017
【図１６】
2006237908.tif 000018
【図１７】
2006237908.tif 000019
【図１８】
2006237908.tif 000020
【図１９】
2006237908.tif 000021