"暗号化装置と復号装置で構成された暗号化システムであって、Nは2以上の整数、nは2以上N以下の整数、Hはハッシュ関数とし、前記暗号化装置は、平文mと、N個の公開鍵pk1,...,pkNを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求め、乱数Hcn-1と公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理をn=2~Nまで繰り返し、メッセージcNを求める暗号処理部と、前記メッセージcNを暗号文Cとして出力する暗号文出力部とを備え、前記復号装置は、N個の秘密鍵sk1,...,skNと前記秘密鍵に対応するN個の公開鍵pk1,...,pkNを記録する復号記録部と、暗号文Cを受け取る復号入力部と、暗号文CをメッセージcN’とし、1秘密鍵sknを用いてメッセージcn’を復号してメッセージcn-1’を求める個別復号処理と、2乱数Hcn-1’と公開鍵pknとを用いて前記メッセージcn-1’を暗号化してメッセージcnを求める個別暗号化処理と、3cn’=cnであることを確認する個別検証処理とをn=N~2まで繰り返してメッセージc1’を求め、秘密鍵sk1を用いてメッセージc1’を復号して平文m’を求める復号処理部と、前記平文m’を出力する復号出力部とを備えることを特徴とする暗号化システム。暗号化装置と復号装置とタイムリリースサーバで構成された暗号化システムであって、Hはハッシュ関数とし、前記タイムリリースサーバは、秘密鍵skTSと前記秘密鍵に対応する公開鍵pkTSを生成し、前記公開鍵pkTSを公開するタイムリリース鍵生成部と、前記秘密鍵skTSと前記公開鍵pkTSと現在の時刻から時報stを求め、前記時報stを出力する時報生成部とを備え、前記暗号化装置は、平文mと指定時刻tと、前記タイムリリースサーバの公開鍵pkTSと、前記復号装置の公開鍵pkUを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、乱数rと公開鍵pkTSと指定時刻tを用いて平文mを暗号化してメッセージc1を求め、乱数Hc1と公開鍵pkUとを用いてメッセージc1を暗号化して暗号文Cを求める暗号処理部と、前記暗号文Cを出力する暗号文出力部とを備え、前記復号装置は、秘密鍵skUと前記秘密鍵に対応する公開鍵pkUを記録する復号記録部と、暗号文Cと、前記タイムリリースサーバの公開鍵pkTSを受け取る復号入力部と、秘密鍵skUを用いて暗号文Cを復号してメッセージc1’を求め、乱数Hc1’と公開鍵pkUとを用いてメッセージc1’を暗号化してメッセージc2を求め、C=c2であることを確認し、公開鍵pkTSと前記指定時刻tに対応した時報stを用いてメッセージc1’を復号して平文m’を求める復号処理部と、前記平文m’を出力する復号出力部とを備えることを特徴とする暗号化システム。暗号化装置と復号装置とタイムリリースサーバで構成された暗号化システムであって、Hはハッシュ関数とし、前記タイムリリースサーバは、秘密鍵skTSと前記秘密鍵に対応する公開鍵pkTSを生成し、前記公開鍵pkTSを公開するタイムリリース鍵生成部と、前記秘密鍵skTSと前記公開鍵pkTSと現在の時刻から時報stを求め、前記時報stを出力する時報生成部とを備え、前記暗号化装置は、平文mと指定時刻tと、前記タイムリリースサーバの公開鍵pkTSと、前記復号装置の公開鍵pkUを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、乱数rと公開鍵pkUとを用いて平文mを暗号化してメッセージc1を求め、乱数Hc1と公開鍵pkTSと指定時刻tを用いてメッセージc1を暗号化して暗号文Cを求める暗号処理部と、前記暗号文Cを出力する暗号文出力部とを備え、前記復号装置は、秘密鍵skUと前記秘密鍵に対応する公開鍵pkUを記録する復号記録部と、暗号文Cと、前記タイムリリースサーバの公開鍵pkTSを受け取る復号入力部と、公開鍵pkTSと前記指定時刻tに対応した時報stを用いて暗号文Cを復号してメッセージc1’を求め、乱数Hc1’と公開鍵pkTSと指定時刻tを用いてメッセージc1’を暗号化してメッセージc2を求め、C=c2であることを確認し、秘密鍵skUを用いてメッセージc1’を復号して平文m’を求める復号処理部と、前記平文m’を出力する復号出力部とを備えることを特徴とする暗号化システム。Nは2以上の整数、nは2以上N以下の整数とし、平文mと、N個の公開鍵pk1,...,pkNを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、少なくとも乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求め、少なくとも所定のルールでメッセージcn-1を利用して求めた乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理をn=2~Nまで繰り返してメッセージcNを求める暗号処理部と、前記メッセージcNを暗号文Cとして出力する暗号文出力部とを備える暗号化装置。請求項4記載の暗号化装置であって、Hはハッシュ関数とし、前記乱数rnはHcn-1であることを特徴とする暗号化装置。平文mと指定時刻tと、タイムリリースサーバの公開鍵pkTSと、復号装置の公開鍵pkUを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、乱数rと公開鍵pkTSと指定時刻tを用いて平文mを暗号化してメッセージc1を求め、所定のルールでメッセージc1を利用して求めた乱数r2と公開鍵pkUとを用いてメッセージc1を暗号化して暗号文Cを求める暗号処理部と、前記暗号文Cを出力する暗号文出力部とを備える暗号化装置。平文mと指定時刻tと、タイムリリースサーバの公開鍵pkTSと、復号装置の公開鍵pkUを受け取る暗号化入力部と、乱数rを生成する乱数生成部と、乱数rと公開鍵pkUとを用いて平文mを暗号化してメッセージc1を求め、所定のルールでメッセージc1を利用して求めた乱数r2と公開鍵pkTSと指定時刻tを用いて、メッセージc1を暗号化して暗号文Cを求める暗号処理部と、前記暗号文Cを出力する暗号文出力部とを備える暗号化装置。請求項6または7記載の暗号化装置であって、Hはハッシュ関数とし、前記乱数r2はHc1であることを特徴とする暗号化装置。Nは2以上の整数、nは2以上N以下の整数、Kは1以上N以下の整数、kは1以上K以下の整数とし、あらかじめ定められたN回の暗号化によって生成された暗号文を復号する復号装置であって、K個の秘密鍵sk1’,...,skK’と前記秘密鍵に対応するK個の公開鍵pk1’,...,pkK’を記録する復号記録部と、暗号文Cと、N-K個の公開鍵pk1,...,pkN-Kを受け取る復号入力部と、前記秘密鍵sk1’,...,skK’と前記公開鍵pk1,...,pkN-Kとを前記あらかじめ定められたN回の暗号化の順番と対応するように並べて復号鍵dk1,...,dkNとし、暗号文CをメッセージcN’とし、1少なくとも復号鍵dknを用いてメッセージcn’を復号してメッセージcn-1’を求める個別復号処理と、2少なくとも所定のルールでメッセージcn-1’を利用して求めた乱数rn’とn回目の暗号化に対応する公開鍵を用いて、前記メッセージcn-1’を暗号化してメッセージcnを求める個別暗号化処理と、3cn’=cnであることを確認する個別検証処理とをn=N~2まで繰り返してメッセージc1’を求め、復号鍵dk1を用いてメッセージc1’を復号して平文m’を求める復号処理部と、前記平文m’を出力する復号出力部とを備える復号装置。請求項9記載の復号装置であって、K=N、Hはハッシュ関数、dkn=skn’であって、前記乱数rn’はHcn-1’であることを特徴とする復号装置。請求項9記載の復号装置であって、N=2、K=1、Hはハッシュ関数、dk1=sk1’、dk2=sk1であって、前記乱数r2’はHc1’であることを特徴とする復号装置。請求項9記載の復号装置であって、N=2、K=1、Hはハッシュ関数、dk1=sk1、dk2=sk1’であって、前記乱数r2’はHc1’であることを特徴とする復号装置。暗号化装置と復号装置を用いた暗号化方法であって、Nは2以上の整数、nは2以上N以下の整数、Hはハッシュ関数とし、前記復号装置が、N個の秘密鍵sk1,...,skNと前記秘密鍵に対応するN個の公開鍵pk1,...,pkNを記録する復号記録ステップと、前記暗号化装置が、平文mと、N個の公開鍵pk1,...,pkNを受け取る暗号化入力ステップと、乱数rを生成する乱数生成ステップと、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求め、乱数Hcn-1と公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理をn=2~Nまで繰り返し、メッセージcNを求める暗号処理ステップと、前記メッセージcNを暗号文Cとして出力する暗号文出力ステップと、前記復号装置が、暗号文Cを受け取る復号入力ステップと、暗号文CをメッセージcN’とし、1秘密鍵sknを用いてメッセージcn’を復号してメッセージcn-1’を求める個別復号処理と、2乱数Hcn-1’と公開鍵pknとを用いて前記メッセージcn-1’を暗号化してメッセージcnを求める個別暗号化処理と、3cn’=cnであることを確認する個別検証処理とをn=N~2まで繰り返してメッセージc1’を求め、秘密鍵sk1を用いてメッセージc1’を復号して平文m’を求める復号処理ステップと、前記平文m’を出力する復号出力ステップとを有する暗号化方法。暗号化装置と復号装置とタイムリリースサーバを用いた暗号化方法であって、Hはハッシュ関数とし、前記タイムリリースサーバが、秘密鍵skTSと前記秘密鍵に対応する公開鍵pkTSを生成し、前記公開鍵pkTSを公開するタイムリリース鍵生成ステップと、前記秘密鍵skTSと前記公開鍵pkTSと現在の時刻から時報stを求め、前記時報stを出力する時報生成ステップと、前記復号装置が、秘密鍵skUと前記秘密鍵に対応する公開鍵pkUを記録する復号記録ステップと、前記暗号化装置が、平文mと指定時刻tと、前記タイムリリースサーバの公開鍵pkTSと、前記復号装置の公開鍵pkUを受け取る暗号化入力ステップと、乱数rを生成する乱数生成ステップと、乱数rと公開鍵pkTSと指定時刻tを用いて平文mを暗号化してメッセージc1を求め、乱数Hc1と公開鍵pkUとを用いてメッセージc1を暗号化して暗号文Cを求める暗号処理ステップと、前記暗号文Cを出力する暗号文出力ステップと、前記復号装置が、暗号文Cと、前記タイムリリースサーバの公開鍵pkTSを受け取る復号入力ステップと、秘密鍵skUを用いて暗号文Cを復号してメッセージc1’を求め、乱数Hc1’と公開鍵pkUとを用いてメッセージc1’を暗号化してメッセージc2を求め、C=c2であることを確認し、公開鍵pkTSと前記指定時刻tに対応した時報stを用いてメッセージc1’を復号して平文m’を求める復号処理ステップと、前記平文m’を出力する復号出力ステップとを有する暗号化方法。暗号化装置と復号装置とタイムリリースサーバを用いた暗号化方法であって、Hはハッシュ関数とし、前記タイムリリースサーバが、秘密鍵skTSと前記秘密鍵に対応する公開鍵pkTSを生成し、前記公開鍵pkTSを公開するタイムリリース鍵生成ステップと、前記秘密鍵skTSと前記公開鍵pkTSと現在の時刻から時報stを求め、前記時報stを出力する時報生成ステップと、前記復号装置が、秘密鍵skUと前記秘密鍵に対応する公開鍵pkUを記録する復号記録ステップと、前記暗号化装置が、平文mと指定時刻tと、前記タイムリリースサーバの公開鍵pkTSと、前記復号装置の公開鍵pkUを受け取る暗号化入力ステップと、乱数rを生成する乱数生成ステップと、乱数rと公開鍵pkUとを用いて平文mを暗号化してメッセージc1を求め、乱数Hc1と公開鍵pkTSと指定時刻tを用いてメッセージc1を暗号化して暗号文Cを求める暗号処理ステップと、前記暗号文Cを出力する暗号文出力ステップと、前記復号装置が、暗号文Cと、前記タイムリリースサーバの公開鍵pkTSを受け取る復号入力ステップと、公開鍵pkTSと前記指定時刻tに対応した時報stを用いて暗号文Cを復号してメッセージc1’を求め、乱数Hc1’と公開鍵pkTSと指定時刻tを用いてメッセージc1’を暗号化してメッセージc2を求め、C=c2であることを確認し、秘密鍵skUを用いてメッセージc1’を復号して平文m’を求める復号処理ステップと、前記平文m’を出力する復号出力ステップとを有する暗号化方法。請求項4記載の暗号化装置と、請求項9記載の復号装置とを備える暗号化システム。請求項16記載の暗号化システムであって、Hはハッシュ関数とし、前記乱数rnはHcn-1であり、前記乱数rn’はHcn-1’であることを特徴とする暗号化システム。請求項16記載の暗号化システムであって、da1,...,daN-1は前記暗号化装置と前記復号装置とで共有する情報とし、前記乱数rnはメッセージcn-1と情報dan-1とを利用して求めた乱数であり、前記乱数rn’はメッセージcn-1’と情報dan-1とを利用して求めた乱数であることを特徴とする暗号化システム。請求項4記載の暗号化装置であって、da1,...,daN-1は前記暗号化装置が復号装置と共有する情報であり、前記乱数rnはメッセージcn-1と情報dan-1とを利用して求めた乱数であることを特徴とする暗号化装置。請求項19記載の暗号化装置であって、Hはハッシュ関数、dan=pknであって、前記乱数rnはHpkn-1∥cn-1であることを特徴とする暗号化装置。請求項9記載の復号装置であって、da1,...,daN-1は前記復号装置が暗号化装置と共有する情報であり、前記乱数rn’はメッセージcn-1’と情報dan-1とを利用して求めた乱数であることを特徴とする復号装置。請求項21記載の復号装置であって、Hはハッシュ関数、dan=pknであって、前記乱数rn’はHpkn-1∥cn-1’であることを特徴とする復号装置。暗号化装置と復号装置を用いた暗号化方法であって、Nは2以上の整数、nは2以上N以下の整数、Kは1以上N以下の整数、kは1以上K以下の整数、Hはハッシュ関数とし、前記復号装置が、K個の秘密鍵sk1,...,skKと前記秘密鍵に対応するK個の公開鍵pk1,...,pkK’を記録する復号記録ステップと、前記暗号化装置が、平文mと、N個の公開鍵pk1,...,pkNを受け取る暗号化入力ステップと、乱数rを生成する乱数生成ステップと、少なくとも乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求め、少なくとも所定のルールでメッセージcn-1を利用して求めた乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理をn=2~Nまで繰り返してメッセージcNを求める暗号処理ステップと、前記メッセージcNを暗号文Cとして出力する暗号文出力ステップと、前記復号装置が、暗号文Cと、N-K個の公開鍵pk1,...,pkN-Kを受け取る復号入力ステップと、前記秘密鍵sk1,...,skKと前記公開鍵pk1,...,pkN-Kとを前記あらかじめ定められたN回の暗号化の順番と対応するように並べて復号鍵dk1,...,dkNとし、暗号文CをメッセージcN’とし、1少なくとも復号鍵dknを用いてメッセージcn’を復号してメッセージcn-1’を求める個別復号処理と、2少なくとも所定のルールでメッセージcn-1’を利用して求めた乱数rn’とn回目の暗号化に対応する公開鍵を用いて、前記メッセージcn-1’を暗号化してメッセージcnを求める個別暗号化処理と、3cn’=cnであることを確認する個別検証処理とをn=N~2まで繰り返してメッセージc1’を求め、復号鍵dk1を用いてメッセージc1’を復号して平文m’を求める復号処理ステップと、前記平文m’を出力する復号出力ステップとを有する暗号化方法。請求項23記載の暗号化方法であって、Hはハッシュ関数とし、前記乱数rnはHcn-1であり、前記乱数rn’はHcn-1’であることを特徴とする暗号化方法。請求項23記載の暗号化方法であって、da1,...,daN-1は前記暗号化装置と前記復号装置とで共有する情報とし、前記乱数rnはメッセージcn-1と情報dan-1とを利用して求めた乱数であり、前記乱数rn’はメッセージcn-1’と情報dan-1とを利用して求めた乱数であることを特徴とする暗号化方法。請求項1から3もしくは16から18に記載の暗号化システム、請求項4から8もしくは19、20に記載の暗号装置、または請求項9から12もしくは21、22に記載の復号装置のいずれかとしてコンピュータを動作させるためのプログラム。従来の方式の場合、暗号文が条件の数暗号化手段の数だけ必要となる。したがって、暗号文の長さが長くなる。また、全体の完全性を保証するワンタイム署名を付けなければならない。したがって、演算量が多くなる。本発明は、複数の条件で多重に暗号化を行う場合に、従来よりも暗号文の長さを短くし、全体の完全性を保証するワンタイム署名が不要となる暗号化方式を提供することを目的とする。本発明の暗号化方式では、N個ただし、Nは2以上の整数の暗号化手段を縦列に接続する。また、各暗号化手段で使用される乱数を、復号時にも確認ができる所定のルールで変換されたものとする。そして、復号時には、所定のルールで変換された乱数で暗号化されていることを確認する。本発明の暗号化システムは、少なくとも暗号化装置、復号装置を備えている。また、タイムリリースサーバも備えてもよい。暗号化装置、復号装置、タイムリリースサーバは、ネットワークなどで接続されている。ここで、Nは2以上の整数、nは2以上N以下の整数、Kは1以上N以下の整数、kは1以上K以下の整数とする。本発明の暗号化装置は、少なくとも暗号化入力部、乱数生成部、暗号処理部、暗号文出力部を備える。本発明の復号装置は、少なくとも復号鍵生成部、復号入力部、復号処理部、復号出力部を備える。まず、復号装置の復号鍵生成部が、K個の秘密鍵sk1’,...,skK’と秘密鍵に対応するK個の公開鍵pk1’,...,pkK’を生成し、前記公開鍵pk1’,...,pkK’を公開する。暗号化装置では、次のように処理を行う。暗号化入力部が、平文mと、N個の公開鍵pk1,...,pkNを受け取る。ここで、N個の公開鍵pk1,...,pkNとは、K個の公開鍵pk1’,...,pkK’とN-K個の復号装置以外からの公開鍵pk1,...,pkN-Kであって、添え字の番号は、暗号化の順番を示している。つまり、タイムリリースサーバなどの復号装置以外からの公開鍵も用いる場合には、公開鍵pk1,...,pkNは、公開鍵pk1’,...,pkK’と公開鍵pk1,...,pkN-Kを暗号化の順番にしたがって並べなおしたものである。乱数生成部は、乱数rを生成する。暗号処理部は、少なくとも乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求め、少なくとも所定のルールでメッセージcn-1を利用して求めた乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理をn=2~Nまで繰り返してメッセージcNを求める。なお、所定のルールでメッセージcn-1を利用して求めた乱数rnとは、例えば、rn=Hcn-1とすればよいが、このルールに限る必要はなく、少なくともメッセージcn-1を利用して乱数rnを求めていればよい。また、例えば、公開鍵pknがタイムリリースサーバの公開鍵の場合には指定時刻tも用いて暗号化する。暗号文出力部はメッセージcNを暗号文Cとして出力する。復号装置では、次のように処理を行う。復号入力部が、暗号文Cと、N-K個の公開鍵pk1,...,pkN-Kを受け取る。復号処理部は、まず、秘密鍵sk1’,...,skK’と公開鍵pk1,...,pkN-Kとをあらかじめ定められたN回の暗号化の順番と対応するように並べて復号鍵dk1,...,dkNとし、暗号文CをメッセージcN’とする。そして、1少なくとも復号鍵dknを用いてメッセージcn’を復号してメッセージcn-1’を求める個別復号処理と、2少なくとも所定のルールでメッセージcn-1’を利用して求めた乱数rn’とn回目の暗号化に対応する公開鍵を用いてメッセージcn-1’を暗号化してメッセージcnを求める個別暗号化処理と、3cn’=cnであることを確認する個別検証処理とをn=N~2まで繰り返してメッセージc1’を求め、復号鍵dk1を用いてメッセージc1’を復号して平文m’を求める。なお、復号鍵dknがタイムリリースサーバの公開鍵の場合には個別復号処理では、タイムリリースサーバから受け取った時報も用いて復号する。個別暗号化処理の所定のルールでメッセージcn-1’を利用して求めたとは、例えば、rn=Hcn-1’とすればよいが、このルールに限る必要はなく、少なくともメッセージcn-1’を利用して乱数rnを求めていればよい。また、個別検証処理で、cn’≠cnであると確認された場合にはエラーを出力し、処理を中止する。復号出力部は、平文m’を出力する。本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、N番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージcn-1を利用して求めた乱数rnをn番目の暗号化に使用するので、復号時にも乱数rnを確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、N番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。本発明の暗号化方式では、N個ただし、Nは2以上の整数の暗号化手段を縦列に接続する。また、各暗号化手段732-1,...,Nで使用される乱数r1,...,rNを、復号時にも確認ができる所定のルールで変換されたものとする。そして、復号時には、所定のルールで変換された乱数で暗号化されていることを確認する。図2は、本発明の暗号化方式の考え方を説明するための図である。平文mが入力されると、暗号化手段732-1が乱数r1を用いて平文mを暗号化し、メッセージc1を出力する。また、暗号化手段732-nただし、nは2以上N以下の整数が乱数rnを用いてメッセージcn-1を暗号化し、メッセージcnを出力する。ただし、乱数rnはメッセージcn-1を利用して所定のルールで変換されたものである。例えば、メッセージcn-1のハッシュ値Hcn-1を乱数rnとすればよい。この処理を繰り返すことで、最終的には、暗号化手段732-Nが乱数rNを用いてメッセージcN-1を暗号化し、メッセージcNを出力する。そして、メッセージcNがこの暗号化方式の暗号文Cとなる。実施例1では、一般的な公開暗号方式を多重化した例を示す。図3に実施例1の暗号化システムの機能構成例を、図4に実施例1の暗号化システムの処理フローを示す。暗号化システムは、暗号化装置100、復号装置200を備えている。暗号化装置100と復号装置200は、ネットワーク900で接続されている。Nは2以上の整数、nは2以上N以下の整数、Hはハッシュ関数とする。暗号化装置100は、暗号化入力部110、乱数生成部120、暗号処理部130、暗号文出力部140、暗号化記録部190を備える。復号装置200は、復号鍵生成部210、復号入力部220、復号処理部230、復号出力部240、復号記録部290を備える。まず、復号装置200の復号鍵生成部210は、N個の秘密鍵sk1,...,skNと秘密鍵に対応するN個の公開鍵pk1,...,pkNを生成し、公開鍵pk1,...,pkNを公開するS210。また、N個の秘密鍵sk1,...,skNと秘密鍵に対応するN個の公開鍵pk1,...,pkNの生成と、公開鍵pk1,...,pkNの公開は、外部の装置例えば鍵生成装置が行ってもよい。この場合は復号装置200には復号鍵生成部210は不要である。なお、復号鍵生成部210の有無にかかわらず、秘密鍵sk1,...,skNと公開鍵pk1,...,pkNは、復号記録部290に記録される。暗号化装置100の暗号化入力部110は、平文mと、N個の公開鍵pk1,...,pkNを受け取りS110、暗号化記録部190に記録する。乱数生成部120は、乱数rを生成しS120、暗号化記録部190に記録する。暗号処理部130は、個別暗号化手段132-1,...,132-Nを具備する。暗号処理部130では、個別暗号化手段132-1が、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求めるS132-1。個別暗号化手段132-nが、乱数Hcn-1と公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める処理S132-nをn=2~Nまで繰り返し、メッセージcNを求めるS130。暗号文出力部140は、メッセージcNを暗号文Cとして出力するS140。復号装置200の復号入力部220は、暗号文Cを受け取り、復号記録部290に記録するS220。復号処理部230は、個別復号手段231-1,...,231-N、個別暗号化手段232-1,...,232-N-1、個別検証手段235を具備する。復号処理部230は、暗号文CをメッセージcN’とし、個別復号手段231-nが、秘密鍵sknを用いてメッセージcn’を復号してメッセージcn-1’を求めるS231-n。個別暗号化手段232-nは、乱数Hcn-1’と公開鍵pknとを用いて前記メッセージcn-1’を暗号化してメッセージcnを求めるS232-n。個別検証手段235は、cn’=cnであることを確認するS235-n。cn’=cnであれば次の処理に進み、cn’≠cnであればエラーを出力し、処理を中止する。復号処理部230は、個別復号手段231-n、個別暗号化手段232-n、個別検証手段235の処理をn=Nからn=2まで繰り返してメッセージc1’を求める。そして、個別復号手段231-1が、秘密鍵sk1を用いてメッセージc1’を復号して平文m’を求めるS230。復号出力部240は、平文m’を出力するS240。本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、N番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージcn-1を利用して求めた乱数Hcn-1をn番目の暗号化に使用するので、復号時にも乱数Hcn-1’を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、N番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。実施例2では、一般的な公開暗号方式とタイムリリース暗号方式とを1段ずつ組み合わせた例を示す。この組合せでは、秘密鍵を知っている人が指定時刻に暗号文を復号できる。図5に実施例2の暗号化システムの機能構成例を、図6に実施例2の暗号化システムの処理フローを示す。本実施例の暗号化システムは、暗号化装置300’、復号装置400’、タイムリリースサーバ800を備えている。暗号化装置300’と復号装置400’とタイムリリースサーバ800は、ネットワーク900で接続されている。Nは2以上の整数、nは2以上N以下の整数、Hはハッシュ関数とする。暗号化装置300’は、暗号化入力部310’、乱数生成部120、暗号処理部330’、暗号文出力部140、暗号化記録部390’を備える。復号装置400’は、復号鍵生成部410’、復号入力部420’、復号処理部430’、復号出力部240、復号記録部490’を備える。タイムリリースサーバ800は、タイムリリース鍵生成部810と時報生成部820を備える。タイムリリースサーバ800のタイムリリース鍵生成部810は、秘密鍵skTSと秘密鍵に対応する公開鍵pkTSを生成し、公開鍵pkTSを公開するS810。復号装置400’の復号鍵生成部410’は、秘密鍵skUと秘密鍵に対応する公開鍵pkUを生成し、公開鍵pkUを公開するS410’。また、秘密鍵skUと秘密鍵に対応する公開鍵pkUの生成と、公開鍵pkUの公開は、外部の装置例えば鍵生成装置が行ってもよい。この場合は復号装置400’には復号鍵生成部410’は不要である。なお、復号鍵生成部410’の有無にかかわらず、復号記録部490’は、秘密鍵skUと公開鍵pkUを記録する。暗号化装置300’の暗号化入力部310’は、平文mと指定時刻tと、タイムリリースサーバ800の公開鍵pkTSと、復号装置の公開鍵pkUを受け取りS310’、暗号化記録部390’に記録する。乱数生成部120は、乱数rを生成しS120、暗号化記録部390’に記録する。暗号処理部330’は、個別暗号化手段332’-1、332’-2を具備する。個別暗号化手段332’-1は、乱数rと公開鍵pkTSと指定時刻tを用いて平文mを暗号化してメッセージc1を求めるS332’-1。個別暗号化手段332’-2は、乱数Hc1と公開鍵pkUとを用いてメッセージc1を暗号化してメッセージc2を求めるS332’-2。そして、メッセージc2を暗号文CとするS330’。暗号文出力部140は、暗号文Cを出力するS140。復号装置400’の復号入力部420’は、暗号文Cと、タイムリリースサーバの公開鍵pkTSを受け取りS420’、復号記録部490’に記録する。タイムリリースサーバ800の時報生成部820は、秘密鍵skTSと公開鍵pkTSと現在の時刻から時報stを求め、定期的に時報stを出力するS820。復号処理部430’は、個別復号手段431’-1、431’-2、個別暗号化手段432’-2、個別検証手段435’を具備する。個別復号手段431’-2は、秘密鍵skUを用いて暗号文Cを復号してメッセージc1’を求めるS431’-2。個別暗号化手段432’-2は、乱数Hc1’と公開鍵pkUとを用いてメッセージc1’を暗号化してメッセージc2を求めるS432’-2。個別検証手段435’は、C=c2であることを確認するS435’-2。C=c2であれば次の処理に進み、C≠c2であればエラーを出力し、処理を中止する。個別復号手段431’-1は、公開鍵pkTSと前記指定時刻tに対応した時報stを用いてメッセージc1’を復号して平文m’を求めるS431’-1。復号出力部240は、平文m’を出力するS240。本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、2番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージc1を利用して求めた乱数Hc1を2番目の暗号化に使用するので、復号時にも乱数Hc1’を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、暗号化を飛ばして処理することができない。したがって、従来の安全性を保つことができる。[変形例1]実施例2の暗号処理部330’では、タイムリリース暗号方式で暗号化した結果を公開鍵暗号方式で暗号化した。本変形例では、この順番を逆にした例を示す。図は実施例2と同じ図を用いる。すなわち、図5に実施例2変形例1の暗号化システムの機能構成例を、図6に実施例2変形例1の暗号化システムの処理フローを示す。本変形例の暗号化システムは、暗号化装置300、復号装置400、タイムリリースサーバ800を備えている。暗号化装置300と復号装置400とタイムリリースサーバ800は、ネットワーク900で接続されている。Nは2以上の整数、nは2以上N以下の整数、Hはハッシュ関数とする。暗号化装置300は、暗号化入力部310’、乱数生成部120、暗号処理部330、暗号文出力部140、暗号化記録部390’を備える。復号装置400は、復号鍵生成部410’、復号入力部420’、復号処理部430、復号出力部240、復号記録部490’を備える。タイムリリースサーバ800は、タイムリリース鍵生成部810と時報生成部820を備える。タイムリリースサーバ800のタイムリリース鍵生成部810は、秘密鍵skTSと秘密鍵に対応する公開鍵pkTSを生成し、公開鍵pkTSを公開するS810。復号装置400の復号鍵生成部410’は、秘密鍵skUと秘密鍵に対応する公開鍵pkUを生成し、公開鍵pkUを公開するS410’。また、秘密鍵skUと秘密鍵に対応する公開鍵pkUの生成と、公開鍵pkUの公開は、外部の装置例えば鍵生成装置が行ってもよい。この場合は復号装置400には復号鍵生成部410’は不要である。なお、復号鍵生成部410’の有無にかかわらず、復号記録部490’は、秘密鍵skUと公開鍵pkUを記録する。暗号化装置300の暗号化入力部310’は、平文mと指定時刻tと、タイムリリースサーバ800の公開鍵pkTSと、復号装置の公開鍵pkUを受け取りS310’、暗号化記録部390’に記録する。乱数生成部120は、乱数rを生成しS120、暗号化記録部390’に記録する。暗号処理部330は、個別暗号化手段332-1、332-2を具備する。個別暗号化手段332-1は、乱数rと公開鍵pkUとを用いて平文mを暗号化してメッセージc1を求めるS332-1。個別暗号化手段332-2は、乱数Hc1と公開鍵pkTSと指定時刻tを用いてメッセージc1を暗号化してメッセージc2を求めるS332-2。そして、メッセージc2を暗号文CとするS330。暗号文出力部140は、暗号文Cを出力するS140。復号装置400の復号入力部420’は、暗号文Cと、タイムリリースサーバの公開鍵pkTSを受け取りS420、復号記録部490’に記録する。タイムリリースサーバ800の時報生成部820は、秘密鍵skTSと公開鍵pkTSと現在の時刻から時報stを求め、定期的に時報stを出力するS820。復号処理部430は、個別復号手段431-1、431-2、個別暗号化手段432-2、個別検証手段435を具備する。個別復号手段431’-2は、公開鍵pkTSと前記指定時刻tに対応した時報stを用いて暗号文Cを復号してメッセージc1’を求めるS431-2。個別暗号化手段432-2は、乱数Hc1’と公開鍵pkTSと指定時刻tを用いてメッセージc1’を暗号化してメッセージc2を求めるS432-2。個別検証手段435は、C=c2であることを確認するS435-2。C=c2であれば次の処理に進み、C≠c2であればエラーを出力し、処理を中止する。個別復号手段431-1は、秘密鍵skUを用いてメッセージc1’を復号して平文m’を求めるS431-1。復号出力部240は、平文m’を出力するS240。本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、2番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージc1を利用して求めた乱数Hc1を2番目の暗号化に使用するので、復号時にも乱数Hc1’を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、暗号化を飛ばして処理することができない。したがって、従来の安全性を保つことができる。[変形例2]本変形例では、実施例1、実施例2、実施例2変形例1から上位概念の暗号化システムを導出する。本発明の暗号化システムに共通するポイントは、AN個ただし、Nは2以上の整数の暗号化手段を縦列に接続することB各暗号化手段で使用される乱数を、復号時にも確認ができる所定のルールで変換されたものとすることC復号時には、所定のルールで変換された乱数で暗号化されていることを確認することである。これらのポイントを考慮した暗号化システムについて以下に説明する。図7に実施例2変形例2の暗号化システムの機能構成例を、図8に実施例2変形例2の暗号化システムの処理フローを示す。本発明の暗号化システムは、少なくとも暗号化装置300、復号装置400を備えている。また、タイムリリースサーバ800も備えてもよい。暗号化装置300、復号装置400、タイムリリースサーバ800は、ネットワーク900などで接続されている。ここで、Nは2以上の整数、nは2以上N以下の整数、Kは1以上N以下の整数、kは1以上K以下の整数とする。暗号化装置300は、暗号化入力部310、乱数生成部120、暗号処理部330、暗号文出力部140、暗号化記録部390を備える。復号装置400は、復号鍵生成部410、復号入力部420、復号処理部430、復号出力部240、復号記録部490を備える。復号装置400の復号鍵生成部410は、K個の秘密鍵sk1’,...,skK’と秘密鍵に対応するK個の公開鍵pk1’,...,pkK’を生成し、公開鍵pk1’,...,pkK’を公開するS410。なお、K個の秘密鍵sk1’,...,skK’と秘密鍵に対応するK個の公開鍵pk1’,...,pkK’の生成と、公開鍵pk1’,...,pkK’の公開は、外部の装置例えば鍵生成装置が行ってもよい。この場合は復号装置200には復号鍵生成部210は不要である。なお、復号鍵生成部410の有無にかかわらず、秘密鍵sk1’,...,skK’と公開鍵pk1’,...,pkK’は、復号記録部490に記録される。ここで、タイムリリースサーバ800を用いない場合には、K=Nにする。タイムリリースサーバ800を用いる場合にはK=N-1とし、タイムリリースサーバ800のタイムリリース鍵生成部810が、秘密鍵skTSと秘密鍵に対応する公開鍵pkTSを生成し、公開鍵pkTSを公開するS810。なお、タイムリリースサーバ800を用いる場合には、実用上はK=N-1と考えられる。しかし、上位概念としては、より一般化してK<N-1としてもよい。例えば、タイムリリースサーバ800がN-K個の公開鍵pkTS1,...,pkTSN-Kを公開することや、タイムリリース暗号以外の暗号方式と組合せることも考えられる。そこで、復号装置以外の装置例えば、タイムリリースサーバなどが公開した公開鍵を、公開鍵pk1,...,pkN-Kとする。暗号化装置300では、次のように処理を行う。暗号化入力部310が、平文mと、N個の公開鍵pk1,...,pkNを受け取りS310、暗号化記録部390に記録する。ここで、N個の公開鍵pk1,...,pkNとは、N個の公開鍵pk1’,...,pkN’または、K個の公開鍵pk1’,...,pkK’とN-K個の公開鍵pk1,...,pkN-Kであって、添え字の番号は、暗号化の順番を示している。つまり、タイムリリースサーバなどの復号装置以外からの公開鍵も用いる場合には、公開鍵pk1,...,pkNは、公開鍵pk1’,...,pkK’と公開鍵pk1,...,pkN-Kを暗号化の順番にしたがって並べなおしたものである。なお、1つのタイムリリースサーバの公開鍵を用いる場合K=N-1の場合には、公開鍵pk1,...,pkNは、暗号化の順番にしたがって公開鍵pk1=pkTSを公開鍵pk1’,...,pkN-1’の中に挿入したものである。乱数生成部120は、乱数rを生成するS120。暗号処理部330は、N個の個別暗号化手段332-1,...,332-Nを具備する。個別暗号化手段332-1は、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求めるS332-1。個別暗号化手段332-nは、所定のルールでメッセージcn-1を利用して求めた乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求めるS332-n。暗号処理部330は、ステップS332-nをn=2~Nまで繰り返してメッセージcNを求めるS330。なお、所定のルールでメッセージcn-1を利用して求めた乱数rnとは、例えば、rn=Hcn-1とすればよいが、このルールに限る必要はなく、少なくともメッセージcn-1を利用して乱数rnを求めていればよい。また、公開鍵pknがタイムリリースサーバ800の公開鍵の場合には指定時刻tも用いて暗号化する。暗号文出力部140はメッセージcNを暗号文Cとして出力するS140。復号装置400では、次のように処理を行う。復号入力部420が、暗号文Cと、N-K個の公開鍵pk1,...,pkN-Kを受け取りS420、復号記録部490に記録する。復号処理部430は、N個の個別復号手段431-1,...,431-N、N-1個の個別暗号化手段432-2,...,432-N、個別検証手段435を具備する。まず、秘密鍵sk1’,...,skK’と公開鍵pk1,...,pkN-Kとをあらかじめ定められたN回の暗号化の順番と対応するように並べて復号鍵dk1,...,dkNとし、暗号文CをメッセージcN’とする。そして、1個別復号手段431-nが、少なくとも復号鍵dknを用いてメッセージcn’を復号してメッセージcn-1’を求めるS431-n2個別暗号化手段432-nが、少なくとも所定のルールでメッセージcn-1’を利用して求めた乱数rn’とn回目の暗号化に対応する公開鍵を用いてメッセージcn-1’を暗号化してメッセージcnを求めるS432-n3個別検証手段435が、cn’=cnであることを確認するS435-nをn=N~2まで繰り返してメッセージc1’を求め、復号鍵dk1を用いてメッセージc1’を復号して平文m’を求めるS431-1。なお、ステップS430は、S431-nn=N,...,1、S432-nn=N,...,2、S435-nn=N,...,2で構成される。復号鍵dknがタイムリリースサーバ800の公開鍵の場合には個別復号手段431-nの処理では、タイムリリースサーバ800から受け取った時報stも用いて復号する。個別暗号化手段432-nの処理の所定のルールでメッセージcn-1’を利用して求めたとは、例えば、rn’=Hcn-1’とすればよいが、このルールに限る必要はなく、少なくともメッセージcn-1’を利用して乱数rn’を求めていればよい。また、個別検証処理で、cn’≠cnであると確認された場合にはエラーを出力し、処理を中止する。復号出力部240は、平文m’を出力するS240。本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、N番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージcn-1を利用して求めた乱数rnをn番目の暗号化に使用するので、復号時にも乱数rnを確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、N番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。実施例1、実施例2、実施例2変形例1、実施例2変形例2では、乱数rnを求める所定のルールの具体例としては、Hcn-1のみを例示していた。しかし、上述のとおり、この例に限定する必要はない。本実施例では、他の例について説明する。まず、実施例1を変更した場合について説明する。実施例3の暗号化システムの機能構成例は図3と同じ、処理フローは図4と同じである。異なる点は、暗号処理部130と復号処理部230である。暗号処理部130は、個別暗号化手段132-1,...,132-Nを具備する。暗号処理部130では、個別暗号化手段132-1が、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求めるS132-1。個別暗号化手段132-nは、乱数rnを、メッセージcn-1と暗号化装置100と復号装置200とで共有する情報dan-1を用いて所定のルールに従って求める。例えば、rn=Hdan-1∥cn-1のように求めてもよいし、rn=Hdan-1∥cn-1∥indexのように求めてもよい。∥はビット列を連結することを示す記号である。indexは暗号化装置100と復号装置200とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、dan-1=pkn-1としてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段132-nは、乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求める。個別暗号化手段132-nは、暗号化してメッセージcnを求める処理S132-nをn=2~Nまで繰り返し、メッセージcNを求めるS130。復号処理部230は、個別復号手段231-1,...,231-N、個別暗号化手段232-1,...,232-N-1、個別検証手段235を具備する。復号処理部230は、暗号文CをメッセージcN’とし、個別復号手段231-nが、秘密鍵sknを用いてメッセージcn’を復号してメッセージcn-1’を求めるS231-n。個別暗号化手段232-nは、乱数rn’を、メッセージcn-1’と暗号化装置100と復号装置200とで共有する情報dan-1を用いて所定のルールに従って求める。所定のルールは、暗号処理部130で乱数rnを求めたルールと同じである。そして、個別暗号化手段232-nは、乱数rn’と公開鍵pknとを用いて前記メッセージcn-1’を暗号化してメッセージcnを求めるS232-n。個別検証手段235は、cn’=cnであることを確認するS235-n。cn’=cnであれば次の処理に進み、cn’≠cnであればエラーを出力し、処理を中止する。復号処理部230は、個別復号手段231-n、個別暗号化手段232-n、個別検証手段235の処理をn=Nからn=2まで繰り返してメッセージc1’を求める。そして、個別復号手段231-1が、秘密鍵sk1を用いてメッセージc1’を復号して平文m’を求めるS230。その他の構成部とその構成部が行う処理は、実施例1と同じである。このような構成でも、実施例1と同様の効果が得られる。[変形例1]本変形例では、実施例2を変更した場合について説明する。実施例3変形例1の暗号化システムの機能構成例は図5と同じ、処理フローは図6と同じである。異なる点は、暗号処理部330’と復号処理部430’である。暗号処理部330’は、個別暗号化手段332’-1、332’-2を具備する。個別暗号化手段332’-1は、乱数rと公開鍵pkTSと指定時刻tを用いて平文mを暗号化してメッセージc1を求めるS332’-1。個別暗号化手段332’-2は、乱数r2を、メッセージc1と暗号化装置300’と復号装置400’とで共有する情報da1を用いて所定のルールに従って求める。例えば、r2=Hda1∥c1のように求めてもよいし、r2=Hda1∥c1∥indexのように求めてもよい。∥はビット列を連結することを示す記号である。indexは暗号化装置300’と復号装置400’とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、da1=pkTSとしてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段332’-2は、乱数r2と公開鍵pkUとを用いてメッセージc1を暗号化してメッセージc2を求めるS332’-2。そして、メッセージc2を暗号文CとするS330’。復号処理部430’は、個別復号手段431’-1、431’-2、個別暗号化手段432’-2、個別検証手段435’を具備する。個別復号手段431’-2は、秘密鍵skUを用いて暗号文Cを復号してメッセージc1’を求めるS431’-2。個別暗号化手段432’-2は、乱数r2’を、メッセージc1’と暗号化装置300’と復号装置400’とで共有する情報da1を用いて所定のルールに従って求める。所定のルールは、暗号処理部330’で乱数r2を求めたルールと同じである。そして、個別暗号化手段432’-2は、乱数r2’と公開鍵pkUとを用いてメッセージc1’を暗号化してメッセージc2を求めるS432’-2。個別検証手段435’は、C=c2であることを確認するS435’-2。C=c2であれば次の処理に進み、C≠c2であればエラーを出力し、処理を中止する。個別復号手段431’-1は、公開鍵pkTSと前記指定時刻tに対応した時報stを用いてメッセージc1’を復号して平文m’を求めるS431’-1。その他の構成部とその構成部が行う処理は、実施例2と同じである。このような構成でも、実施例2と同様の効果が得られる。[変形例2]本変形例では、実施例2変形例1を変更した場合について説明する。実施例3変形例2の暗号化システムの機能構成例は図5と同じ、処理フローは図6と同じである。異なる点は、暗号処理部330と復号処理部430である。暗号処理部330は、個別暗号化手段332-1、332-2を具備する。個別暗号化手段332-1は、乱数rと公開鍵pkUとを用いて平文mを暗号化してメッセージc1を求めるS332-1。個別暗号化手段332-2は、乱数r2を、メッセージc1と暗号化装置300’と復号装置400’とで共有する情報da1を用いて所定のルールに従って求める。例えば、r2=Hda1∥c1のように求めてもよいし、r2=Hda1∥c1∥indexのように求めてもよい。∥はビット列を連結することを示す記号である。indexは暗号化装置300’と復号装置400’とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、da1=pkUとしてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段332-2は、乱数r2と公開鍵pkTSと指定時刻tを用いてメッセージc1を暗号化してメッセージc2を求めるS332-2。そして、メッセージc2を暗号文CとするS330。復号処理部430は、個別復号手段431-1、431-2、個別暗号化手段432-2、個別検証手段435を具備する。個別復号手段431’-2は、公開鍵pkTSと前記指定時刻tに対応した時報stを用いて暗号文Cを復号してメッセージc1’を求めるS431-2。個別暗号化手段432-2は、乱数r2’を、メッセージc1’と暗号化装置300’と復号装置400’とで共有する情報da1を用いて所定のルールに従って求める。所定のルールは、暗号処理部330’で乱数r2を求めたルールと同じである。そして、個別暗号化手段432-2は、乱数r2’と公開鍵pkTSと指定時刻tを用いてメッセージc1’を暗号化してメッセージc2を求めるS432-2。個別検証手段435は、C=c2であることを確認するS435-2。C=c2であれば次の処理に進み、C≠c2であればエラーを出力し、処理を中止する。個別復号手段431-1は、秘密鍵skUを用いてメッセージc1’を復号して平文m’を求めるS431-1。その他の構成部とその構成部が行う処理は、実施例2変形例1と同じである。このような構成でも、実施例2変形例1と同様の効果が得られる。[変形例3]本変形例では、実施例2変形例2を変更した場合について説明する。実施例3変形例3の暗号化システムの機能構成例は図7と同じ、処理フローは図8と同じである。異なる点は、暗号処理部330と復号処理部430である。暗号処理部330は、N個の個別暗号化手段332-1,...,332-Nを具備する。個別暗号化手段332-1は、乱数rと公開鍵pk1とを用いて平文mを暗号化してメッセージc1を求めるS332-1。個別暗号化手段332-nは、所定のルールでメッセージcn-1と暗号化装置300と復号装置400とで共有する情報dan-1を利用して乱数rnを求める。そして、個別暗号化手段332-nは、乱数rnと公開鍵pknとを用いてメッセージcn-1を暗号化してメッセージcnを求めるS332-n。暗号処理部330は、ステップS332-nをn=2~Nまで繰り返してメッセージcNを求めるS330。なお、所定のルールでメッセージcn-1を利用して求めた乱数rnとは、例えば、rn=Hdan-1∥cn-1のように求めてもよいし、rn=Hdan-1∥cn-1∥indexのように求めてもよい。∥はビット列を連結することを示す記号である。indexは暗号化装置100と復号装置200とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、dan-1=pkn-1としてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。このように、所定のルールとは上述のルールに限る必要はなく、少なくともメッセージcn-1と暗号化装置300と復号装置400とで共有する情報dan-1を利用して乱数rnを求めていればよい。また、公開鍵pknがタイムリリースサーバ800の公開鍵の場合には指定時刻tも用いて暗号化する。復号処理部430は、N個の個別復号手段431-1,...,431-N、N-1個の個別暗号化手段432-2,...,432-N、個別検証手段435を具備する。まず、秘密鍵sk1’,...,skK’と公開鍵pk1,...,pkN-Kとをあらかじめ定められたN回の暗号化の順番と対応するように並べて復号鍵dk1,...,dkNとし、暗号文CをメッセージcN’とする。そして、1個別復号手段431-nが、少なくとも復号鍵dknを用いてメッセージcn’を復号してメッセージcn-1’を求めるS431-n2個別暗号化手段432-nが、少なくとも所定のルールでメッセージcn-1’と暗号化装置300と復号装置400とで共有する情報dan-1を利用して乱数rn’を求める。そして、乱数rn’とn回目の暗号化に対応する公開鍵を用いてメッセージcn-1’を暗号化してメッセージcnを求めるS432-n3個別検証手段435が、cn’=cnであることを確認するS435-nその他の構成部とその構成部が行う処理は、実施例2変形例2と同じである。このような構成でも、実施例2変形例2と同様の効果が得られる。プログラム、記録媒体上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASPApplicationServiceProvider型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものコンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。"