(57)【特許請求の範囲】
【請求項１】
暗号化装置と復号装置で構成された暗号化システムであって、
Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｈはハッシュ関数とし、
前記暗号化装置は、
平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃｎ−１）と公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理をｎ＝２〜Ｎまで繰り返し、メッセージｃＮを求める暗号処理部と、
前記メッセージｃＮを暗号文Ｃとして出力する暗号文出力部と
を備え、
前記復号装置は、
Ｎ個の秘密鍵ｓｋ１，…，ｓｋＮと前記秘密鍵に対応するＮ個の公開鍵ｐｋ１，…，ｐｋＮを記録する復号記録部と、
暗号文Ｃを受け取る復号入力部と、
暗号文ＣをメッセージｃＮ’とし、
（１）秘密鍵ｓｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める個別復号処理と、
（２）乱数Ｈ（ｃｎ−１’）と公開鍵ｐｋｎとを用いて前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める個別暗号化処理と、
（３）ｃｎ’＝ｃｎ”であることを確認する個別検証処理と
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、秘密鍵ｓｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理部と、
前記平文ｍ’を出力する復号出力部と
を備える
ことを特徴とする暗号化システム。
【請求項２】
暗号化装置と復号装置とタイムリリースサーバで構成された暗号化システムであって、
Ｈはハッシュ関数とし、
前記タイムリリースサーバは、
秘密鍵ｓｋＴＳと前記秘密鍵に対応する公開鍵ｐｋＴＳを生成し、前記公開鍵ｐｋＴＳを公開するタイムリリース鍵生成部と、
前記秘密鍵ｓｋＴＳと前記公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、前記時報ｓｔを出力する時報生成部と
を備え、
前記暗号化装置は、
平文ｍと指定時刻ｔと、前記タイムリリースサーバの公開鍵ｐｋＴＳと、前記復号装置の公開鍵ｐｋＵを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
乱数ｒと公開鍵ｐｋＴＳと指定時刻ｔを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃ１）と公開鍵ｐｋＵとを用いてメッセージｃ１を暗号化して暗号文Ｃを求める暗号処理部と、
前記暗号文Ｃを出力する暗号文出力部と
を備え、
前記復号装置は、
秘密鍵ｓｋＵと前記秘密鍵に対応する公開鍵ｐｋＵを記録する復号記録部と、
暗号文Ｃと、前記タイムリリースサーバの公開鍵ｐｋＴＳを受け取る復号入力部と、
秘密鍵ｓｋＵを用いて暗号文Ｃを復号してメッセージｃ１’を求め、
乱数Ｈ（ｃ１’）と公開鍵ｐｋＵとを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求め、
Ｃ＝ｃ２”であることを確認し、
公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理部と、
前記平文ｍ’を出力する復号出力部と
を備える
ことを特徴とする暗号化システム。
【請求項３】
暗号化装置と復号装置とタイムリリースサーバで構成された暗号化システムであって、
Ｈはハッシュ関数とし、
前記タイムリリースサーバは、
秘密鍵ｓｋＴＳと前記秘密鍵に対応する公開鍵ｐｋＴＳを生成し、前記公開鍵ｐｋＴＳを公開するタイムリリース鍵生成部と、
前記秘密鍵ｓｋＴＳと前記公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、前記時報ｓｔを出力する時報生成部と
を備え、
前記暗号化装置は、
平文ｍと指定時刻ｔと、前記タイムリリースサーバの公開鍵ｐｋＴＳと、前記復号装置の公開鍵ｐｋＵを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
乱数ｒと公開鍵ｐｋＵとを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃ１）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１を暗号化して暗号文Ｃを求める暗号処理部と、
前記暗号文Ｃを出力する暗号文出力部と
を備え、
前記復号装置は、
秘密鍵ｓｋＵと前記秘密鍵に対応する公開鍵ｐｋＵを記録する復号記録部と、
暗号文Ｃと、前記タイムリリースサーバの公開鍵ｐｋＴＳを受け取る復号入力部と、
公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いて暗号文Ｃを復号してメッセージｃ１’を求め、
乱数Ｈ（ｃ１’）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求め、
Ｃ＝ｃ２”であることを確認し、
秘密鍵ｓｋＵを用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理部と、
前記平文ｍ’を出力する復号出力部と
を備える
ことを特徴とする暗号化システム。
【請求項４】
Ｎは２以上の整数、ｎは２以上Ｎ以下の整数とし、
平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
少なくとも乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求め、少なくとも所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理をｎ＝２〜Ｎまで繰り返してメッセージｃＮを求める暗号処理部と、
前記メッセージｃＮを暗号文Ｃとして出力する暗号文出力部と
を備える暗号化装置。
【請求項５】
請求項４記載の暗号化装置であって、
Ｈはハッシュ関数とし、
前記乱数ｒｎはＨ（ｃｎ−１）である
ことを特徴とする暗号化装置。
【請求項６】
平文ｍと指定時刻ｔと、タイムリリースサーバの公開鍵ｐｋＴＳと、復号装置の公開鍵ｐｋＵを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
乱数ｒと公開鍵ｐｋＴＳと指定時刻ｔを用いて平文ｍを暗号化してメッセージｃ１を求め、所定のルールでメッセージｃ１を利用して求めた乱数ｒ２と公開鍵ｐｋＵとを用いてメッセージｃ１を暗号化して暗号文Ｃを求める暗号処理部と、
前記暗号文Ｃを出力する暗号文出力部と
を備える暗号化装置。
【請求項７】
平文ｍと指定時刻ｔと、タイムリリースサーバの公開鍵ｐｋＴＳと、復号装置の公開鍵ｐｋＵを受け取る暗号化入力部と、
乱数ｒを生成する乱数生成部と、
乱数ｒと公開鍵ｐｋＵとを用いて平文ｍを暗号化してメッセージｃ１を求め、所定のルールでメッセージｃ１を利用して求めた乱数ｒ２と公開鍵ｐｋＴＳと指定時刻ｔを用いて、メッセージｃ１を暗号化して暗号文Ｃを求める暗号処理部と、
前記暗号文Ｃを出力する暗号文出力部と
を備える暗号化装置。
【請求項８】
請求項６または７記載の暗号化装置であって、
Ｈはハッシュ関数とし、
前記乱数ｒ２はＨ（ｃ１）である
ことを特徴とする暗号化装置。
【請求項９】
Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｋは１以上Ｎ以下の整数、ｋは１以上Ｋ以下の整数とし、
あらかじめ定められたＮ回の暗号化によって生成された暗号文を復号する復号装置であって、
Ｋ個の秘密鍵ｓｋ１’，…，ｓｋＫ’と前記秘密鍵に対応するＫ個の公開鍵ｐｋ１’，…，ｐｋＫ’を記録する復号記録部と、
暗号文Ｃと、Ｎ−Ｋ個の公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を受け取る復号入力部と、
前記秘密鍵ｓｋ１’，…，ｓｋＫ’と前記公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とを前記あらかじめ定められたＮ回の暗号化の順番と対応するように並べて復号鍵ｄｋ１，…，ｄｋＮとし、暗号文ＣをメッセージｃＮ’とし、
（１）少なくとも復号鍵ｄｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める個別復号処理と、
（２）少なくとも所定のルールでメッセージｃｎ−１’を利用して求めた乱数ｒｎ’とｎ回目の暗号化に対応する公開鍵を用いて、前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める個別暗号化処理と、
（３）ｃｎ’＝ｃｎ”であることを確認する個別検証処理と
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、復号鍵ｄｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理部と、
前記平文ｍ’を出力する復号出力部と
を備える復号装置。
【請求項１０】
請求項９記載の復号装置であって、
Ｋ＝Ｎ、Ｈはハッシュ関数、ｄｋｎ＝ｓｋｎ’であって、
前記乱数ｒｎ’はＨ（ｃｎ−１’）である
ことを特徴とする復号装置。
【請求項１１】
請求項９記載の復号装置であって、
Ｎ＝２、Ｋ＝１、Ｈはハッシュ関数、ｄｋ１＝ｓｋ１’、ｄｋ２＝ｐｋ１”であって、
前記乱数ｒ２’はＨ（ｃ１’）である
ことを特徴とする復号装置。
【請求項１２】
請求項９記載の復号装置であって、
Ｎ＝２、Ｋ＝１、Ｈはハッシュ関数、ｄｋ１＝ｐｋ１”、ｄｋ２＝ｓｋ１’であって、
前記乱数ｒ２’はＨ（ｃ１’）である
ことを特徴とする復号装置。
【請求項１３】
暗号化装置と復号装置を用いた暗号化方法であって、
Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｈはハッシュ関数とし、
前記復号装置が、
Ｎ個の秘密鍵ｓｋ１，…，ｓｋＮと前記秘密鍵に対応するＮ個の公開鍵ｐｋ１，…，ｐｋＮを記録する復号記録ステップと、
前記暗号化装置が、
平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取る暗号化入力ステップと、
乱数ｒを生成する乱数生成ステップと、
乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃｎ−１）と公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理をｎ＝２〜Ｎまで繰り返し、メッセージｃＮを求める暗号処理ステップと、
前記メッセージｃＮを暗号文Ｃとして出力する暗号文出力ステップと、
前記復号装置が、
暗号文Ｃを受け取る復号入力ステップと、
暗号文ＣをメッセージｃＮ’とし、
（１）秘密鍵ｓｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める個別復号処理と、
（２）乱数Ｈ（ｃｎ−１’）と公開鍵ｐｋｎとを用いて前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める個別暗号化処理と、
（３）ｃｎ’＝ｃｎ”であることを確認する個別検証処理と
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、秘密鍵ｓｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理ステップと、
前記平文ｍ’を出力する復号出力ステップと
を有する暗号化方法。
【請求項１４】
暗号化装置と復号装置とタイムリリースサーバを用いた暗号化方法であって、
Ｈはハッシュ関数とし、
前記タイムリリースサーバが、
秘密鍵ｓｋＴＳと前記秘密鍵に対応する公開鍵ｐｋＴＳを生成し、前記公開鍵ｐｋＴＳを公開するタイムリリース鍵生成ステップと、
前記秘密鍵ｓｋＴＳと前記公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、前記時報ｓｔを出力する時報生成ステップと、
前記復号装置が、
秘密鍵ｓｋＵと前記秘密鍵に対応する公開鍵ｐｋＵを記録する復号記録ステップと、
前記暗号化装置が、
平文ｍと指定時刻ｔと、前記タイムリリースサーバの公開鍵ｐｋＴＳと、前記復号装置の公開鍵ｐｋＵを受け取る暗号化入力ステップと、
乱数ｒを生成する乱数生成ステップと、
乱数ｒと公開鍵ｐｋＴＳと指定時刻ｔを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃ１）と公開鍵ｐｋＵとを用いてメッセージｃ１を暗号化して暗号文Ｃを求める暗号処理ステップと、
前記暗号文Ｃを出力する暗号文出力ステップと、
前記復号装置が、
暗号文Ｃと、前記タイムリリースサーバの公開鍵ｐｋＴＳを受け取る復号入力ステップと、
秘密鍵ｓｋＵを用いて暗号文Ｃを復号してメッセージｃ１’を求め、
乱数Ｈ（ｃ１’）と公開鍵ｐｋＵとを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求め、
Ｃ＝ｃ２”であることを確認し、
公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理ステップと、
前記平文ｍ’を出力する復号出力ステップと
を有する暗号化方法。
【請求項１５】
暗号化装置と復号装置とタイムリリースサーバを用いた暗号化方法であって、
Ｈはハッシュ関数とし、
前記タイムリリースサーバが、
秘密鍵ｓｋＴＳと前記秘密鍵に対応する公開鍵ｐｋＴＳを生成し、前記公開鍵ｐｋＴＳを公開するタイムリリース鍵生成ステップと、
前記秘密鍵ｓｋＴＳと前記公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、前記時報ｓｔを出力する時報生成ステップと、
前記復号装置が、
秘密鍵ｓｋＵと前記秘密鍵に対応する公開鍵ｐｋＵを記録する復号記録ステップと、
前記暗号化装置が、
平文ｍと指定時刻ｔと、前記タイムリリースサーバの公開鍵ｐｋＴＳと、前記復号装置の公開鍵ｐｋＵを受け取る暗号化入力ステップと、
乱数ｒを生成する乱数生成ステップと、
乱数ｒと公開鍵ｐｋＵとを用いて平文ｍを暗号化してメッセージｃ１を求め、乱数Ｈ（ｃ１）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１を暗号化して暗号文Ｃを求める暗号処理ステップと、
前記暗号文Ｃを出力する暗号文出力ステップと、
前記復号装置が、
暗号文Ｃと、前記タイムリリースサーバの公開鍵ｐｋＴＳを受け取る復号入力ステップと、
公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いて暗号文Ｃを復号してメッセージｃ１’を求め、
乱数Ｈ（ｃ１’）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求め、
Ｃ＝ｃ２”であることを確認し、
秘密鍵ｓｋＵを用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理ステップと、
前記平文ｍ’を出力する復号出力ステップと
を有する暗号化方法。
【請求項１６】
請求項４記載の暗号化装置と、
請求項９記載の復号装置と
を備える暗号化システム。
【請求項１７】
請求項１６記載の暗号化システムであって、
Ｈはハッシュ関数とし、
前記乱数ｒｎはＨ（ｃｎ−１）であり、
前記乱数ｒｎ’はＨ（ｃｎ−１’）である
ことを特徴とする暗号化システム。
【請求項１８】
請求項１６記載の暗号化システムであって、
ｄａ１，…，ｄａＮ−１は前記暗号化装置と前記復号装置とで共有する情報とし、
前記乱数ｒｎはメッセージｃｎ−１と情報ｄａｎ−１とを利用して求めた乱数であり、
前記乱数ｒｎ’はメッセージｃｎ−１’と情報ｄａｎ−１とを利用して求めた乱数である
ことを特徴とする暗号化システム。
【請求項１９】
請求項４記載の暗号化装置であって、
ｄａ１，…，ｄａＮ−１は前記暗号化装置が復号装置と共有する情報であり、
前記乱数ｒｎはメッセージｃｎ−１と情報ｄａｎ−１とを利用して求めた乱数である
ことを特徴とする暗号化装置。
【請求項２０】
請求項１９記載の暗号化装置であって、
Ｈはハッシュ関数、ｄａｎ＝ｐｋｎであって、
前記乱数ｒｎはＨ（ｐｋｎ−１‖ｃｎ−１）である
ことを特徴とする暗号化装置。
【請求項２１】
請求項９記載の復号装置であって、
ｄａ１，…，ｄａＮ−１は前記復号装置が暗号化装置と共有する情報であり、
前記乱数ｒｎ’はメッセージｃｎ−１’と情報ｄａｎ−１とを利用して求めた乱数である
ことを特徴とする復号装置。
【請求項２２】
請求項２１記載の復号装置であって、
Ｈはハッシュ関数、ｄａｎ＝ｐｋｎであって、
前記乱数ｒｎ’はＨ（ｐｋｎ−１‖ｃｎ−１’）である
ことを特徴とする復号装置。
【請求項２３】
暗号化装置と復号装置を用いた暗号化方法であって、
Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｋは１以上Ｎ以下の整数、ｋは１以上Ｋ以下の整数、Ｈはハッシュ関数とし、
前記復号装置が、
Ｋ個の秘密鍵ｓｋ１，…，ｓｋＫと前記秘密鍵に対応するＫ個の公開鍵ｐｋ１，…，ｐｋＫ’を記録する復号記録ステップと、
前記暗号化装置が、
平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取る暗号化入力ステップと、
乱数ｒを生成する乱数生成ステップと、
少なくとも乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求め、少なくとも所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理をｎ＝２〜Ｎまで繰り返してメッセージｃＮを求める暗号処理ステップと、
前記メッセージｃＮを暗号文Ｃとして出力する暗号文出力ステップと、
前記復号装置が、
暗号文Ｃと、Ｎ−Ｋ個の公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を受け取る復号入力ステップと、
前記秘密鍵ｓｋ１，…，ｓｋＫと前記公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とを前記あらかじめ定められたＮ回の暗号化の順番と対応するように並べて復号鍵ｄｋ１，…，ｄｋＮとし、暗号文ＣをメッセージｃＮ’とし、
（１）少なくとも復号鍵ｄｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める個別復号処理と、
（２）少なくとも所定のルールでメッセージｃｎ−１’を利用して求めた乱数ｒｎ’とｎ回目の暗号化に対応する公開鍵を用いて、前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める個別暗号化処理と、
（３）ｃｎ’＝ｃｎ”であることを確認する個別検証処理と
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、復号鍵ｄｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める復号処理ステップと、
前記平文ｍ’を出力する復号出力ステップと
を有する暗号化方法。
【請求項２４】
請求項２３記載の暗号化方法であって、
Ｈはハッシュ関数とし、
前記乱数ｒｎはＨ（ｃｎ−１）であり、
前記乱数ｒｎ’はＨ（ｃｎ−１’）である
ことを特徴とする暗号化方法。
【請求項２５】
請求項２３記載の暗号化方法であって、
ｄａ１，…，ｄａＮ−１は前記暗号化装置と前記復号装置とで共有する情報とし、
前記乱数ｒｎはメッセージｃｎ−１と情報ｄａｎ−１とを利用して求めた乱数であり、
前記乱数ｒｎ’はメッセージｃｎ−１’と情報ｄａｎ−１とを利用して求めた乱数である
ことを特徴とする暗号化方法。
【請求項２６】
請求項１から３もしくは１６から１８に記載の暗号化システム、請求項４から８もしくは１９、２０に記載の暗号装置、または請求項９から１２もしくは２１、２２に記載の復号装置のいずれかとしてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報セキュリティ技術の応用技術に関するものであり、複数の条件で多重に暗号化を行う暗号化システム、暗号化装置、復号装置、暗号化方法、プログラムに関するものである。
【背景技術】
【０００２】
暗号化を行うときに、複数の条件で暗号化したいときがある。例えば、非特許文献１のＴＲ−ＰＫＥ（Timed-Release Public-Key Encryption）は、復号可能な時刻を暗号化の際に指定できる公開鍵暗号である。復号時刻と公開鍵を用いて暗号化を行う送信者（暗号化装置）、現在時刻に対応した時報の生成を行うタイムリリースサーバ、秘密鍵とタイムリリースサーバからの時報を用いて復号を行う受信者（復号装置）の三者で構成される。図１は、このような従来の複数の条件で暗号化する暗号化方式を説明するための図である。従来の暗号化方式では、平文ｍを条件の数Ｎだけ分割し、それぞれを指定された条件の暗号化手段９３２−１，…，９３２−Ｎで暗号化する。そして、得られたメッセージｃ１，…，ｃＮを連結して暗号文Ｃを出力する。また、一部だけを再利用するような攻撃が起きないようにするために、全体の完全性を保証するワンタイム署名を付加する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】J. H. Cheon, N. Hopper, Y. Kim, and I. Osipkov,“Provably secure timed-release public key encryption,”ACM Trans. Inf. Syst. Secur., 11(2), pp.1-44, ACM, 2008,［平成２１年１２月２３日検索］、インターネット<URL: http://jglobal.jst.go.jp/detail.php?JGLOBAL_ID=200902205779400428>.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の方式の場合、暗号文が条件の数（暗号化手段の数）だけ必要となる。したがって、暗号文の長さが長くなる。また、全体の完全性を保証するワンタイム署名を付けなければならない。したがって、演算量が多くなる。
【０００５】
本発明は、複数の条件で多重に暗号化を行う場合に、従来よりも暗号文の長さを短くし、全体の完全性を保証するワンタイム署名が不要となる暗号化方式を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の暗号化方式では、Ｎ個（ただし、Ｎは２以上の整数）の暗号化手段を縦列に接続する。また、各暗号化手段で使用される乱数を、復号時にも確認ができる所定のルールで変換されたものとする。そして、復号時には、所定のルールで変換された乱数で暗号化されていることを確認する。
【０００７】
本発明の暗号化システムは、少なくとも暗号化装置、復号装置を備えている。また、タイムリリースサーバも備えてもよい。暗号化装置、復号装置、タイムリリースサーバは、ネットワークなどで接続されている。ここで、Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｋは１以上Ｎ以下の整数、ｋは１以上Ｋ以下の整数とする。本発明の暗号化装置は、少なくとも暗号化入力部、乱数生成部、暗号処理部、暗号文出力部を備える。本発明の復号装置は、少なくとも復号鍵生成部、復号入力部、復号処理部、復号出力部を備える。まず、復号装置の復号鍵生成部が、Ｋ個の秘密鍵ｓｋ１’，…，ｓｋＫ’と秘密鍵に対応するＫ個の公開鍵ｐｋ１’，…，ｐｋＫ’を生成し、前記公開鍵ｐｋ１’，…，ｐｋＫ’を公開する。
【０００８】
暗号化装置では、次のように処理を行う。暗号化入力部が、平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取る。ここで、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮとは、Ｋ個の公開鍵ｐｋ１’，…，ｐｋＫ’とＮ−Ｋ個の復号装置以外からの公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”であって、添え字の番号は、暗号化の順番を示している。つまり、タイムリリースサーバなどの復号装置以外からの公開鍵も用いる場合には、公開鍵ｐｋ１，…，ｐｋＮは、公開鍵ｐｋ１’，…，ｐｋＫ’と公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を暗号化の順番にしたがって並べなおしたものである。
【０００９】
乱数生成部は、乱数ｒを生成する。暗号処理部は、少なくとも乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求め、少なくとも所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理をｎ＝２〜Ｎまで繰り返してメッセージｃＮを求める。なお、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎとは、例えば、ｒｎ＝Ｈ（ｃｎ−１）とすればよいが、このルールに限る必要はなく、少なくともメッセージｃｎ−１を利用して乱数ｒｎを求めていればよい。また、例えば、公開鍵ｐｋｎがタイムリリースサーバの公開鍵の場合には指定時刻ｔも用いて暗号化する。暗号文出力部はメッセージｃＮを暗号文Ｃとして出力する。
【００１０】
復号装置では、次のように処理を行う。復号入力部が、暗号文Ｃと、Ｎ−Ｋ個の公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を受け取る。復号処理部は、まず、秘密鍵ｓｋ１’，…，ｓｋＫ’と公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とをあらかじめ定められたＮ回の暗号化の順番と対応するように並べて復号鍵ｄｋ１，…，ｄｋＮとし、暗号文ＣをメッセージｃＮ’とする。そして、
（１）少なくとも復号鍵ｄｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める個別復号処理と、
（２）少なくとも所定のルールでメッセージｃｎ−１’を利用して求めた乱数ｒｎ’とｎ回目の暗号化に対応する公開鍵を用いてメッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める個別暗号化処理と、
（３）ｃｎ’＝ｃｎ”であることを確認する個別検証処理と
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、復号鍵ｄｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める。なお、復号鍵ｄｋｎがタイムリリースサーバの公開鍵の場合には個別復号処理では、タイムリリースサーバから受け取った時報も用いて復号する。個別暗号化処理の「所定のルールでメッセージｃｎ−１’を利用して求めた」とは、例えば、ｒｎ＝Ｈ（ｃｎ−１’）とすればよいが、このルールに限る必要はなく、少なくともメッセージｃｎ−１’を利用して乱数ｒｎを求めていればよい。また、個別検証処理で、ｃｎ’≠ｃｎ”であると確認された場合にはエラーを出力し、処理を中止する。復号出力部は、平文ｍ’を出力する。
【発明の効果】
【００１１】
本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、Ｎ番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎをｎ番目の暗号化に使用するので、復号時にも乱数ｒｎを確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、Ｎ番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。
【図面の簡単な説明】
【００１２】
【図１】従来の複数の条件で暗号化する暗号化方式を説明するための図。
【図２】本発明の暗号化方式の考え方を説明するための図。
【図３】実施例１の暗号化システムの機能構成例を示す図。
【図４】実施例１の暗号化システムの処理フローを示す図。
【図５】実施例２と実施例２変形例１の暗号化システムの機能構成例を示す図。
【図６】実施例２と実施例２変形例１の暗号化システムの処理フローを示す図。
【図７】実施例２変形例２の暗号化システムの機能構成例を示す図。
【図８】実施例２変形例２の暗号化システムの処理フローを示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１４】
本発明の暗号化方式では、Ｎ個（ただし、Ｎは２以上の整数）の暗号化手段を縦列に接続する。また、各暗号化手段７３２−１，…，Ｎで使用される乱数ｒ１，…，ｒＮを、復号時にも確認ができる所定のルールで変換されたものとする。そして、復号時には、所定のルールで変換された乱数で暗号化されていることを確認する。図２は、本発明の暗号化方式の考え方を説明するための図である。平文ｍが入力されると、暗号化手段７３２−１が乱数ｒ１を用いて平文ｍを暗号化し、メッセージｃ１を出力する。また、暗号化手段７３２−ｎ（ただし、ｎは２以上Ｎ以下の整数）が乱数ｒｎを用いてメッセージｃｎ−１を暗号化し、メッセージｃｎを出力する。ただし、乱数ｒｎはメッセージｃｎ−１を利用して所定のルールで変換されたものである。例えば、メッセージｃｎ−１のハッシュ値（Ｈ（ｃｎ−１））を乱数ｒｎとすればよい。この処理を繰り返すことで、最終的には、暗号化手段７３２−Ｎが乱数ｒＮを用いてメッセージｃＮ−１を暗号化し、メッセージｃＮを出力する。そして、メッセージｃＮがこの暗号化方式の暗号文Ｃとなる。
【実施例１】
【００１５】
実施例１では、一般的な公開暗号方式を多重化した例を示す。図３に実施例１の暗号化システムの機能構成例を、図４に実施例１の暗号化システムの処理フローを示す。暗号化システムは、暗号化装置１００、復号装置２００を備えている。暗号化装置１００と復号装置２００は、ネットワーク９００で接続されている。Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｈはハッシュ関数とする。
【００１６】
暗号化装置１００は、暗号化入力部１１０、乱数生成部１２０、暗号処理部１３０、暗号文出力部１４０、暗号化記録部１９０を備える。復号装置２００は、復号鍵生成部２１０、復号入力部２２０、復号処理部２３０、復号出力部２４０、復号記録部２９０を備える。
【００１７】
まず、復号装置２００の復号鍵生成部２１０は、Ｎ個の秘密鍵ｓｋ１，…，ｓｋＮと秘密鍵に対応するＮ個の公開鍵ｐｋ１，…，ｐｋＮを生成し、公開鍵ｐｋ１，…，ｐｋＮを公開する（Ｓ２１０）。また、Ｎ個の秘密鍵ｓｋ１，…，ｓｋＮと秘密鍵に対応するＮ個の公開鍵ｐｋ１，…，ｐｋＮの生成と、公開鍵ｐｋ１，…，ｐｋＮの公開は、外部の装置（例えば鍵生成装置）が行ってもよい。この場合は復号装置２００には復号鍵生成部２１０は不要である。なお、復号鍵生成部２１０の有無にかかわらず、秘密鍵ｓｋ１，…，ｓｋＮと公開鍵ｐｋ１，…，ｐｋＮは、復号記録部２９０に記録される。
【００１８】
暗号化装置１００の暗号化入力部１１０は、平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取り（Ｓ１１０）、暗号化記録部１９０に記録する。乱数生成部１２０は、乱数ｒを生成し（Ｓ１２０）、暗号化記録部１９０に記録する。暗号処理部１３０は、個別暗号化手段１３２−１，…，１３２−Ｎを具備する。暗号処理部１３０では、個別暗号化手段１３２−１が、乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ１３２−１）。個別暗号化手段１３２−ｎが、乱数Ｈ（ｃｎ−１）と公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める処理（Ｓ１３２−ｎ）をｎ＝２〜Ｎまで繰り返し、メッセージｃＮを求める（Ｓ１３０）。暗号文出力部１４０は、メッセージｃＮを暗号文Ｃとして出力する（Ｓ１４０）。
【００１９】
復号装置２００の復号入力部２２０は、暗号文Ｃを受け取り、復号記録部２９０に記録する（Ｓ２２０）。復号処理部２３０は、個別復号手段２３１−１，…，２３１−Ｎ、個別暗号化手段２３２−１，…，２３２−Ｎ−１、個別検証手段２３５を具備する。復号処理部２３０は、暗号文ＣをメッセージｃＮ’とし、個別復号手段２３１−ｎが、秘密鍵ｓｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める（Ｓ２３１−ｎ）。個別暗号化手段２３２−ｎは、乱数Ｈ（ｃｎ−１’）と公開鍵ｐｋｎとを用いて前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める（Ｓ２３２−ｎ）。個別検証手段２３５は、ｃｎ’＝ｃｎ”であることを確認する（Ｓ２３５−ｎ）。ｃｎ’＝ｃｎ”であれば次の処理に進み、ｃｎ’≠ｃｎ”であればエラーを出力し、処理を中止する。復号処理部２３０は、個別復号手段２３１−ｎ、個別暗号化手段２３２−ｎ、個別検証手段２３５の処理をｎ＝Ｎからｎ＝２まで繰り返してメッセージｃ１’を求める。そして、個別復号手段２３１−１が、秘密鍵ｓｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ２３０）。復号出力部２４０は、平文ｍ’を出力する（Ｓ２４０）。
【００２０】
本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、Ｎ番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージｃｎ−１を利用して求めた乱数Ｈ（ｃｎ−１）をｎ番目の暗号化に使用するので、復号時にも乱数Ｈ（ｃｎ−１’）を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、Ｎ番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。
【実施例２】
【００２１】
実施例２では、一般的な公開暗号方式とタイムリリース暗号方式とを１段ずつ組み合わせた例を示す。この組合せでは、秘密鍵を知っている人が指定時刻に暗号文を復号できる。図５に実施例２の暗号化システムの機能構成例を、図６に実施例２の暗号化システムの処理フローを示す。本実施例の暗号化システムは、暗号化装置３００’、復号装置４００’、タイムリリースサーバ８００を備えている。暗号化装置３００’と復号装置４００’とタイムリリースサーバ８００は、ネットワーク９００で接続されている。Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｈはハッシュ関数とする。
【００２２】
暗号化装置３００’は、暗号化入力部３１０’、乱数生成部１２０、暗号処理部３３０’、暗号文出力部１４０、暗号化記録部３９０’を備える。復号装置４００’は、復号鍵生成部４１０’、復号入力部４２０’、復号処理部４３０’、復号出力部２４０、復号記録部４９０’を備える。タイムリリースサーバ８００は、タイムリリース鍵生成部８１０と時報生成部８２０を備える。
【００２３】
タイムリリースサーバ８００のタイムリリース鍵生成部８１０は、秘密鍵ｓｋＴＳと秘密鍵に対応する公開鍵ｐｋＴＳを生成し、公開鍵ｐｋＴＳを公開する（Ｓ８１０）。復号装置４００’の復号鍵生成部４１０’は、秘密鍵ｓｋＵと秘密鍵に対応する公開鍵ｐｋＵを生成し、公開鍵ｐｋＵを公開する（Ｓ４１０’）。また、秘密鍵ｓｋＵと秘密鍵に対応する公開鍵ｐｋＵの生成と、公開鍵ｐｋＵの公開は、外部の装置（例えば鍵生成装置）が行ってもよい。この場合は復号装置４００’には復号鍵生成部４１０’は不要である。なお、復号鍵生成部４１０’の有無にかかわらず、復号記録部４９０’は、秘密鍵ｓｋＵと公開鍵ｐｋＵを記録する。
【００２４】
暗号化装置３００’の暗号化入力部３１０’は、平文ｍと指定時刻ｔと、タイムリリースサーバ８００の公開鍵ｐｋＴＳと、復号装置の公開鍵ｐｋＵを受け取り（Ｓ３１０’）、暗号化記録部３９０’に記録する。乱数生成部１２０は、乱数ｒを生成し（Ｓ１２０）、暗号化記録部３９０’に記録する。暗号処理部３３０’は、個別暗号化手段３３２’−１、３３２’−２を具備する。個別暗号化手段３３２’−１は、乱数ｒと公開鍵ｐｋＴＳと指定時刻ｔを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２’−１）。個別暗号化手段３３２’−２は、乱数Ｈ（ｃ１）と公開鍵ｐｋＵとを用いてメッセージｃ１を暗号化してメッセージｃ２を求める（Ｓ３３２’−２）。そして、メッセージｃ２を暗号文Ｃとする（Ｓ３３０’）。暗号文出力部１４０は、暗号文Ｃを出力する（Ｓ１４０）。
【００２５】
復号装置４００’の復号入力部４２０’は、暗号文Ｃと、タイムリリースサーバの公開鍵ｐｋＴＳを受け取り（Ｓ４２０’）、復号記録部４９０’に記録する。タイムリリースサーバ８００の時報生成部８２０は、秘密鍵ｓｋＴＳと公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、定期的に時報ｓｔを出力する（Ｓ８２０）。復号処理部４３０’は、個別復号手段４３１’−１、４３１’−２、個別暗号化手段４３２’−２、個別検証手段４３５’を具備する。個別復号手段４３１’−２は、秘密鍵ｓｋＵを用いて暗号文Ｃを復号してメッセージｃ１’を求める（Ｓ４３１’−２）。個別暗号化手段４３２’−２は、乱数Ｈ（ｃ１’）と公開鍵ｐｋＵとを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求める（Ｓ４３２’−２）。個別検証手段４３５’は、Ｃ＝ｃ２”であることを確認する（Ｓ４３５’−２）。Ｃ＝ｃ２”であれば次の処理に進み、Ｃ≠ｃ２”であればエラーを出力し、処理を中止する。個別復号手段４３１’−１は、公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ４３１’−１）。復号出力部２４０は、平文ｍ’を出力する（Ｓ２４０）。
【００２６】
本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、２番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージｃ１を利用して求めた乱数Ｈ（ｃ１）を２番目の暗号化に使用するので、復号時にも乱数Ｈ（ｃ１’）を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、暗号化を飛ばして処理することができない。したがって、従来の安全性を保つことができる。
【００２７】
［変形例１］
実施例２の暗号処理部３３０’では、タイムリリース暗号方式で暗号化した結果を公開鍵暗号方式で暗号化した。本変形例では、この順番を逆にした例を示す。図は実施例２と同じ図を用いる。すなわち、図５に実施例２変形例１の暗号化システムの機能構成例を、図６に実施例２変形例１の暗号化システムの処理フローを示す。本変形例の暗号化システムは、暗号化装置３００”、復号装置４００”、タイムリリースサーバ８００を備えている。暗号化装置３００”と復号装置４００”とタイムリリースサーバ８００は、ネットワーク９００で接続されている。Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｈはハッシュ関数とする。
【００２８】
暗号化装置３００”は、暗号化入力部３１０’、乱数生成部１２０、暗号処理部３３０”、暗号文出力部１４０、暗号化記録部３９０’を備える。復号装置４００”は、復号鍵生成部４１０’、復号入力部４２０’、復号処理部４３０”、復号出力部２４０、復号記録部４９０’を備える。タイムリリースサーバ８００は、タイムリリース鍵生成部８１０と時報生成部８２０を備える。
【００２９】
タイムリリースサーバ８００のタイムリリース鍵生成部８１０は、秘密鍵ｓｋＴＳと秘密鍵に対応する公開鍵ｐｋＴＳを生成し、公開鍵ｐｋＴＳを公開する（Ｓ８１０）。復号装置４００”の復号鍵生成部４１０’は、秘密鍵ｓｋＵと秘密鍵に対応する公開鍵ｐｋＵを生成し、公開鍵ｐｋＵを公開する（Ｓ４１０’）。また、秘密鍵ｓｋＵと秘密鍵に対応する公開鍵ｐｋＵの生成と、公開鍵ｐｋＵの公開は、外部の装置（例えば鍵生成装置）が行ってもよい。この場合は復号装置４００”には復号鍵生成部４１０’は不要である。なお、復号鍵生成部４１０’の有無にかかわらず、復号記録部４９０’は、秘密鍵ｓｋＵと公開鍵ｐｋＵを記録する。
【００３０】
暗号化装置３００”の暗号化入力部３１０’は、平文ｍと指定時刻ｔと、タイムリリースサーバ８００の公開鍵ｐｋＴＳと、復号装置の公開鍵ｐｋＵを受け取り（Ｓ３１０’）、暗号化記録部３９０’に記録する。乱数生成部１２０は、乱数ｒを生成し（Ｓ１２０）、暗号化記録部３９０’に記録する。暗号処理部３３０”は、個別暗号化手段３３２”−１、３３２”−２を具備する。個別暗号化手段３３２”−１は、乱数ｒと公開鍵ｐｋＵとを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２”−１）。個別暗号化手段３３２”−２は、乱数Ｈ（ｃ１）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１を暗号化してメッセージｃ２を求める（Ｓ３３２”−２）。そして、メッセージｃ２を暗号文Ｃとする（Ｓ３３０”）。暗号文出力部１４０は、暗号文Ｃを出力する（Ｓ１４０）。
【００３１】
復号装置４００”の復号入力部４２０’は、暗号文Ｃと、タイムリリースサーバの公開鍵ｐｋＴＳを受け取り（Ｓ４２０”）、復号記録部４９０’に記録する。タイムリリースサーバ８００の時報生成部８２０は、秘密鍵ｓｋＴＳと公開鍵ｐｋＴＳと現在の時刻から時報ｓｔを求め、定期的に時報ｓｔを出力する（Ｓ８２０）。復号処理部４３０”は、個別復号手段４３１”−１、４３１”−２、個別暗号化手段４３２”−２、個別検証手段４３５”を具備する。個別復号手段４３１”’−２は、公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いて暗号文Ｃを復号してメッセージｃ１’を求める（Ｓ４３１”−２）。個別暗号化手段４３２”−２は、乱数Ｈ（ｃ１’）と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求める（Ｓ４３２”−２）。個別検証手段４３５”は、Ｃ＝ｃ２”であることを確認する（Ｓ４３５”−２）。Ｃ＝ｃ２”であれば次の処理に進み、Ｃ≠ｃ２”であればエラーを出力し、処理を中止する。個別復号手段４３１”−１は、秘密鍵ｓｋＵを用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ４３１”−１）。復号出力部２４０は、平文ｍ’を出力する（Ｓ２４０）。
【００３２】
本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、２番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージｃ１を利用して求めた乱数Ｈ（ｃ１）を２番目の暗号化に使用するので、復号時にも乱数Ｈ（ｃ１’）を確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、暗号化を飛ばして処理することができない。したがって、従来の安全性を保つことができる。
【００３３】
［変形例２］
本変形例では、実施例１、実施例２、実施例２変形例１から上位概念の暗号化システムを導出する。本発明の暗号化システムに共通するポイントは、
（Ａ）Ｎ個（ただし、Ｎは２以上の整数）の暗号化手段を縦列に接続すること
（Ｂ）各暗号化手段で使用される乱数を、復号時にも確認ができる所定のルールで変換されたものとすること
（Ｃ）復号時には、所定のルールで変換された乱数で暗号化されていることを確認すること
である。これらのポイントを考慮した暗号化システムについて以下に説明する。
【００３４】
図７に実施例２変形例２の暗号化システムの機能構成例を、図８に実施例２変形例２の暗号化システムの処理フローを示す。本発明の暗号化システムは、少なくとも暗号化装置３００、復号装置４００を備えている。また、タイムリリースサーバ８００も備えてもよい。暗号化装置３００、復号装置４００、タイムリリースサーバ８００は、ネットワーク９００などで接続されている。ここで、Ｎは２以上の整数、ｎは２以上Ｎ以下の整数、Ｋは１以上Ｎ以下の整数、ｋは１以上Ｋ以下の整数とする。暗号化装置３００は、暗号化入力部３１０、乱数生成部１２０、暗号処理部３３０、暗号文出力部１４０、暗号化記録部３９０を備える。復号装置４００は、復号鍵生成部４１０、復号入力部４２０、復号処理部４３０、復号出力部２４０、復号記録部４９０を備える。
【００３５】
復号装置４００の復号鍵生成部４１０は、Ｋ個の秘密鍵ｓｋ１’，…，ｓｋＫ’と秘密鍵に対応するＫ個の公開鍵ｐｋ１’，…，ｐｋＫ’を生成し、公開鍵ｐｋ１’，…，ｐｋＫ’を公開する（Ｓ４１０）。なお、Ｋ個の秘密鍵ｓｋ１’，…，ｓｋＫ’と秘密鍵に対応するＫ個の公開鍵ｐｋ１’，…，ｐｋＫ’の生成と、公開鍵ｐｋ１’，…，ｐｋＫ’の公開は、外部の装置（例えば鍵生成装置）が行ってもよい。この場合は復号装置２００には復号鍵生成部２１０は不要である。なお、復号鍵生成部４１０の有無にかかわらず、秘密鍵ｓｋ１’，…，ｓｋＫ’と公開鍵ｐｋ１’，…，ｐｋＫ’は、復号記録部４９０に記録される。ここで、タイムリリースサーバ８００を用いない場合には、Ｋ＝Ｎにする。タイムリリースサーバ８００を用いる場合にはＫ＝Ｎ−１とし、タイムリリースサーバ８００のタイムリリース鍵生成部８１０が、秘密鍵ｓｋＴＳと秘密鍵に対応する公開鍵ｐｋＴＳを生成し、公開鍵ｐｋＴＳを公開する（Ｓ８１０）。なお、タイムリリースサーバ８００を用いる場合には、実用上はＫ＝Ｎ−１と考えられる。しかし、上位概念としては、より一般化してＫ＜Ｎ−１としてもよい。例えば、タイムリリースサーバ８００がＮ−Ｋ個の公開鍵ｐｋＴＳ（１），…，ｐｋＴＳ（Ｎ−Ｋ）を公開することや、タイムリリース暗号以外の暗号方式と組合せることも考えられる。そこで、復号装置以外の装置（例えば、タイムリリースサーバなど）が公開した公開鍵を、公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とする。
【００３６】
暗号化装置３００では、次のように処理を行う。暗号化入力部３１０が、平文ｍと、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮを受け取り（Ｓ３１０）、暗号化記録部３９０に記録する。ここで、Ｎ個の公開鍵ｐｋ１，…，ｐｋＮとは、Ｎ個の公開鍵ｐｋ１’，…，ｐｋＮ’または、Ｋ個の公開鍵ｐｋ１’，…，ｐｋＫ’とＮ−Ｋ個の公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”であって、添え字の番号は、暗号化の順番を示している。つまり、タイムリリースサーバなどの復号装置以外からの公開鍵も用いる場合には、公開鍵ｐｋ１，…，ｐｋＮは、公開鍵ｐｋ１’，…，ｐｋＫ’と公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を暗号化の順番にしたがって並べなおしたものである。なお、１つのタイムリリースサーバの公開鍵を用いる場合（Ｋ＝Ｎ−１の場合）には、公開鍵ｐｋ１，…，ｐｋＮは、暗号化の順番にしたがって公開鍵ｐｋ１”（＝ｐｋＴＳ）を公開鍵ｐｋ１’，…，ｐｋＮ−１’の中に挿入したものである。
【００３７】
乱数生成部１２０は、乱数ｒを生成する（Ｓ１２０）。暗号処理部３３０は、Ｎ個の個別暗号化手段３３２−１，…，３３２−Ｎを具備する。個別暗号化手段３３２−１は、乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２−１）。個別暗号化手段３３２−ｎは、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める（Ｓ３３２−ｎ）。暗号処理部３３０は、ステップＳ３３２−ｎをｎ＝２〜Ｎまで繰り返してメッセージｃＮを求める（Ｓ３３０）。なお、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎとは、例えば、ｒｎ＝Ｈ（ｃｎ−１）とすればよいが、このルールに限る必要はなく、少なくともメッセージｃｎ−１を利用して乱数ｒｎを求めていればよい。また、公開鍵ｐｋｎがタイムリリースサーバ８００の公開鍵の場合には指定時刻ｔも用いて暗号化する。暗号文出力部１４０はメッセージｃＮを暗号文Ｃとして出力する（Ｓ１４０）。
【００３８】
復号装置４００では、次のように処理を行う。復号入力部４２０が、暗号文Ｃと、Ｎ−Ｋ個の公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”を受け取り（Ｓ４２０）、復号記録部４９０に記録する。復号処理部４３０は、Ｎ個の個別復号手段４３１−１，…，４３１−Ｎ、Ｎ−１個の個別暗号化手段４３２−２，…，４３２−Ｎ、個別検証手段４３５を具備する。まず、秘密鍵ｓｋ１’，…，ｓｋＫ’と公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とをあらかじめ定められたＮ回の暗号化の順番と対応するように並べて復号鍵ｄｋ１，…，ｄｋＮとし、暗号文ＣをメッセージｃＮ’とする。そして、
（１）個別復号手段４３１−ｎが、少なくとも復号鍵ｄｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める（Ｓ４３１−ｎ）
（２）個別暗号化手段４３２−ｎが、少なくとも所定のルールでメッセージｃｎ−１’を利用して求めた乱数ｒｎ’とｎ回目の暗号化に対応する公開鍵を用いてメッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める（Ｓ４３２−ｎ）
（３）個別検証手段４３５が、ｃｎ’＝ｃｎ”であることを確認する（Ｓ４３５−ｎ）
をｎ＝Ｎ〜２まで繰り返してメッセージｃ１’を求め、復号鍵ｄｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ４３１−１）。なお、ステップＳ４３０は、Ｓ４３１−ｎ（ｎ＝Ｎ，…，１）、Ｓ４３２−ｎ（ｎ＝Ｎ，…，２）、Ｓ４３５−ｎ（ｎ＝Ｎ，…，２）で構成される。復号鍵ｄｋｎがタイムリリースサーバ８００の公開鍵の場合には個別復号手段４３１−ｎの処理では、タイムリリースサーバ８００から受け取った時報ｓｔも用いて復号する。個別暗号化手段４３２−ｎの処理の「所定のルールでメッセージｃｎ−１’を利用して求めた」とは、例えば、ｒｎ’＝Ｈ（ｃｎ−１’）とすればよいが、このルールに限る必要はなく、少なくともメッセージｃｎ−１’を利用して乱数ｒｎ’を求めていればよい。また、個別検証処理で、ｃｎ’≠ｃｎ”であると確認された場合にはエラーを出力し、処理を中止する。復号出力部２４０は、平文ｍ’を出力する（Ｓ２４０）。
【００３９】
本発明の暗号化方式によれば、暗号文は各暗号化手段からの出力の連結ではなく、Ｎ番目の暗号化手段の出力である。したがって、暗号文の長さを短くできる。また、平文全体やメッセージ全体を暗号化する処理を繰り返すため、部分的な復号ができないため全体の完全性を保証するワンタイム署名は不要である。さらに、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎをｎ番目の暗号化に使用するので、復号時にも乱数ｒｎを確認できる。また、復号時には、所定のルールで変換された乱数で暗号化されていることを確認するので、Ｎ番目までの暗号化のどこかを飛ばして処理することができない。したがって、従来の安全性を保つことができる。
【実施例３】
【００４０】
実施例１、実施例２、実施例２変形例１、実施例２変形例２では、乱数ｒｎを求める所定のルールの具体例としては、Ｈ（ｃｎ−１）のみを例示していた。しかし、上述のとおり、この例に限定する必要はない。本実施例では、他の例について説明する。
【００４１】
まず、実施例１を変更した場合について説明する。実施例３の暗号化システムの機能構成例は図３と同じ、処理フローは図４と同じである。異なる点は、暗号処理部１３０と復号処理部２３０である。
【００４２】
暗号処理部１３０は、個別暗号化手段１３２−１，…，１３２−Ｎを具備する。暗号処理部１３０では、個別暗号化手段１３２−１が、乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ１３２−１）。個別暗号化手段１３２−ｎは、乱数ｒｎを、メッセージｃｎ−１と暗号化装置１００と復号装置２００とで共有する情報ｄａｎ−１を用いて所定のルールに従って求める。例えば、ｒｎ＝Ｈ（ｄａｎ−１‖ｃｎ−１）のように求めてもよいし、ｒｎ＝Ｈ（ｄａｎ−１‖ｃｎ−１‖ｉｎｄｅｘ）のように求めてもよい。‖はビット列を連結することを示す記号である。ｉｎｄｅｘは暗号化装置１００と復号装置２００とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、ｄａｎ−１＝ｐｋｎ−１としてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段１３２−ｎは、乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める。個別暗号化手段１３２−ｎは、暗号化してメッセージｃｎを求める処理（Ｓ１３２−ｎ）をｎ＝２〜Ｎまで繰り返し、メッセージｃＮを求める（Ｓ１３０）。
【００４３】
復号処理部２３０は、個別復号手段２３１−１，…，２３１−Ｎ、個別暗号化手段２３２−１，…，２３２−Ｎ−１、個別検証手段２３５を具備する。復号処理部２３０は、暗号文ＣをメッセージｃＮ’とし、個別復号手段２３１−ｎが、秘密鍵ｓｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める（Ｓ２３１−ｎ）。個別暗号化手段２３２−ｎは、乱数ｒｎ’を、メッセージｃｎ−１’と暗号化装置１００と復号装置２００とで共有する情報ｄａｎ−１を用いて所定のルールに従って求める。所定のルールは、暗号処理部１３０で乱数ｒｎを求めたルールと同じである。そして、個別暗号化手段２３２−ｎは、乱数ｒｎ’と公開鍵ｐｋｎとを用いて前記メッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める（Ｓ２３２−ｎ）。個別検証手段２３５は、ｃｎ’＝ｃｎ”であることを確認する（Ｓ２３５−ｎ）。ｃｎ’＝ｃｎ”であれば次の処理に進み、ｃｎ’≠ｃｎ”であればエラーを出力し、処理を中止する。復号処理部２３０は、個別復号手段２３１−ｎ、個別暗号化手段２３２−ｎ、個別検証手段２３５の処理をｎ＝Ｎからｎ＝２まで繰り返してメッセージｃ１’を求める。そして、個別復号手段２３１−１が、秘密鍵ｓｋ１を用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ２３０）。
【００４４】
その他の構成部とその構成部が行う処理は、実施例１と同じである。このような構成でも、実施例１と同様の効果が得られる。
【００４５】
［変形例１］
本変形例では、実施例２を変更した場合について説明する。実施例３変形例１の暗号化システムの機能構成例は図５と同じ、処理フローは図６と同じである。異なる点は、暗号処理部３３０’と復号処理部４３０’である。
【００４６】
暗号処理部３３０’は、個別暗号化手段３３２’−１、３３２’−２を具備する。個別暗号化手段３３２’−１は、乱数ｒと公開鍵ｐｋＴＳと指定時刻ｔを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２’−１）。個別暗号化手段３３２’−２は、乱数ｒ２を、メッセージｃ１と暗号化装置３００’と復号装置４００’とで共有する情報ｄａ１を用いて所定のルールに従って求める。例えば、ｒ２＝Ｈ（ｄａ１‖ｃ１）のように求めてもよいし、ｒ２＝Ｈ（ｄａ１‖ｃ１‖ｉｎｄｅｘ）のように求めてもよい。‖はビット列を連結することを示す記号である。ｉｎｄｅｘは暗号化装置３００’と復号装置４００’とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、ｄａ１＝ｐｋＴＳとしてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段３３２’−２は、乱数ｒ２と公開鍵ｐｋＵとを用いてメッセージｃ１を暗号化してメッセージｃ２を求める（Ｓ３３２’−２）。そして、メッセージｃ２を暗号文Ｃとする（Ｓ３３０’）。
【００４７】
復号処理部４３０’は、個別復号手段４３１’−１、４３１’−２、個別暗号化手段４３２’−２、個別検証手段４３５’を具備する。個別復号手段４３１’−２は、秘密鍵ｓｋＵを用いて暗号文Ｃを復号してメッセージｃ１’を求める（Ｓ４３１’−２）。個別暗号化手段４３２’−２は、乱数ｒ２’を、メッセージｃ１’と暗号化装置３００’と復号装置４００’とで共有する情報ｄａ１を用いて所定のルールに従って求める。所定のルールは、暗号処理部３３０’で乱数ｒ２を求めたルールと同じである。そして、個別暗号化手段４３２’−２は、乱数ｒ２’と公開鍵ｐｋＵとを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求める（Ｓ４３２’−２）。個別検証手段４３５’は、Ｃ＝ｃ２”であることを確認する（Ｓ４３５’−２）。Ｃ＝ｃ２”であれば次の処理に進み、Ｃ≠ｃ２”であればエラーを出力し、処理を中止する。個別復号手段４３１’−１は、公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ４３１’−１）。
【００４８】
その他の構成部とその構成部が行う処理は、実施例２と同じである。このような構成でも、実施例２と同様の効果が得られる。
【００４９】
［変形例２］
本変形例では、実施例２変形例１を変更した場合について説明する。実施例３変形例２の暗号化システムの機能構成例は図５と同じ、処理フローは図６と同じである。異なる点は、暗号処理部３３０”と復号処理部４３０”である。
【００５０】
暗号処理部３３０”は、個別暗号化手段３３２”−１、３３２”−２を具備する。個別暗号化手段３３２”−１は、乱数ｒと公開鍵ｐｋＵとを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２”−１）。個別暗号化手段３３２”−２は、乱数ｒ２を、メッセージｃ１と暗号化装置３００’と復号装置４００’とで共有する情報ｄａ１を用いて所定のルールに従って求める。例えば、ｒ２＝Ｈ（ｄａ１‖ｃ１）のように求めてもよいし、ｒ２＝Ｈ（ｄａ１‖ｃ１‖ｉｎｄｅｘ）のように求めてもよい。‖はビット列を連結することを示す記号である。ｉｎｄｅｘは暗号化装置３００’と復号装置４００’とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、ｄａ１＝ｐｋＵとしてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。そして、個別暗号化手段３３２”−２は、乱数ｒ２と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１を暗号化してメッセージｃ２を求める（Ｓ３３２”−２）。そして、メッセージｃ２を暗号文Ｃとする（Ｓ３３０”）。
【００５１】
復号処理部４３０”は、個別復号手段４３１”−１、４３１”−２、個別暗号化手段４３２”−２、個別検証手段４３５”を具備する。個別復号手段４３１”’−２は、公開鍵ｐｋＴＳと前記指定時刻ｔに対応した時報ｓｔを用いて暗号文Ｃを復号してメッセージｃ１’を求める（Ｓ４３１”−２）。個別暗号化手段４３２”−２は、乱数ｒ２’を、メッセージｃ１’と暗号化装置３００’と復号装置４００’とで共有する情報ｄａ１を用いて所定のルールに従って求める。所定のルールは、暗号処理部３３０’で乱数ｒ２を求めたルールと同じである。そして、個別暗号化手段４３２”−２は、乱数ｒ２’と公開鍵ｐｋＴＳと指定時刻ｔを用いてメッセージｃ１’を暗号化してメッセージｃ２”を求める（Ｓ４３２”−２）。個別検証手段４３５”は、Ｃ＝ｃ２”であることを確認する（Ｓ４３５”−２）。Ｃ＝ｃ２”であれば次の処理に進み、Ｃ≠ｃ２”であればエラーを出力し、処理を中止する。個別復号手段４３１”−１は、秘密鍵ｓｋＵを用いてメッセージｃ１’を復号して平文ｍ’を求める（Ｓ４３１”−１）。
【００５２】
その他の構成部とその構成部が行う処理は、実施例２変形例１と同じである。このような構成でも、実施例２変形例１と同様の効果が得られる。
【００５３】
［変形例３］
本変形例では、実施例２変形例２を変更した場合について説明する。実施例３変形例３の暗号化システムの機能構成例は図７と同じ、処理フローは図８と同じである。異なる点は、暗号処理部３３０と復号処理部４３０である。
【００５４】
暗号処理部３３０は、Ｎ個の個別暗号化手段３３２−１，…，３３２−Ｎを具備する。個別暗号化手段３３２−１は、乱数ｒと公開鍵ｐｋ１とを用いて平文ｍを暗号化してメッセージｃ１を求める（Ｓ３３２−１）。個別暗号化手段３３２−ｎは、所定のルールでメッセージｃｎ−１と暗号化装置３００と復号装置４００とで共有する情報ｄａｎ−１を利用して乱数ｒｎを求める。そして、個別暗号化手段３３２−ｎは、乱数ｒｎと公開鍵ｐｋｎとを用いてメッセージｃｎ−１を暗号化してメッセージｃｎを求める（Ｓ３３２−ｎ）。暗号処理部３３０は、ステップＳ３３２−ｎをｎ＝２〜Ｎまで繰り返してメッセージｃＮを求める（Ｓ３３０）。なお、所定のルールでメッセージｃｎ−１を利用して求めた乱数ｒｎとは、例えば、ｒｎ＝Ｈ（ｄａｎ−１‖ｃｎ−１）のように求めてもよいし、ｒｎ＝Ｈ（ｄａｎ−１‖ｃｎ−１‖ｉｎｄｅｘ）のように求めてもよい。‖はビット列を連結することを示す記号である。ｉｎｄｅｘは暗号化装置１００と復号装置２００とであらかじめ定めた値であり、定数でもよいし、毎回変更する値でもよい。また、ｄａｎ−１＝ｐｋｎ−１としてもよいし、なんらかの方法で共有した情報を用いてもよい。さらに、ビット列の連結の順番を変更してもよい。このように、所定のルールとは上述のルールに限る必要はなく、少なくともメッセージｃｎ−１と暗号化装置３００と復号装置４００とで共有する情報ｄａｎ−１を利用して乱数ｒｎを求めていればよい。また、公開鍵ｐｋｎがタイムリリースサーバ８００の公開鍵の場合には指定時刻ｔも用いて暗号化する。
【００５５】
復号処理部４３０は、Ｎ個の個別復号手段４３１−１，…，４３１−Ｎ、Ｎ−１個の個別暗号化手段４３２−２，…，４３２−Ｎ、個別検証手段４３５を具備する。まず、秘密鍵ｓｋ１’，…，ｓｋＫ’と公開鍵ｐｋ１”，…，ｐｋＮ−Ｋ”とをあらかじめ定められたＮ回の暗号化の順番と対応するように並べて復号鍵ｄｋ１，…，ｄｋＮとし、暗号文ＣをメッセージｃＮ’とする。そして、
（１）個別復号手段４３１−ｎが、少なくとも復号鍵ｄｋｎを用いてメッセージｃｎ’を復号してメッセージｃｎ−１’を求める（Ｓ４３１−ｎ）
（２）個別暗号化手段４３２−ｎが、少なくとも所定のルールでメッセージｃｎ−１’と暗号化装置３００と復号装置４００とで共有する情報ｄａｎ−１を利用して乱数ｒｎ’を求める。そして、乱数ｒｎ’とｎ回目の暗号化に対応する公開鍵を用いてメッセージｃｎ−１’を暗号化してメッセージｃｎ”を求める（Ｓ４３２−ｎ）
（３）個別検証手段４３５が、ｃｎ’＝ｃｎ”であることを確認する（Ｓ４３５−ｎ）
その他の構成部とその構成部が行う処理は、実施例２変形例２と同じである。このような構成でも、実施例２変形例２と同様の効果が得られる。
【００５６】
プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００５７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００６０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００６１】
本発明は複数の条件で多重に暗号化を行う多重暗号方式に利用することができる。
【符号の説明】
【００６２】
１００、３００、３００’、３００”  暗号化装置
１１０、３１０、３１０’  暗号化入力部
１２０  乱数生成部
１３０、３３０、３３０’、３３０”  暗号処理部
１３２、３３２、３３２’、３３２” 個別暗号化手段
１４０  暗号文出力部
１９０、３９０、３９０’  暗号化記録部
２００、４００、４００’、４００”  復号装置
２１０、４１０、４１０’  復号鍵生成部
２２０、４２０、４２０’  復号入力部
２３０、４３０、４３０’、４３０”  復号処理部
２３１、４３１、４３１’、４３１”  個別復号手段
２３２、４３２、４３２’、４３２”  個別暗号化手段
２３５、４３５、４３５’、４３５”  個別検証手段
２４０  復号出力部
２９０、４９０、４９０’  復号記録部
７３２、９３２  暗号化手段
８００  タイムリリースサーバ
８１０  タイムリリース鍵生成部
８２０  時報生成部
９００  ネットワーク
【図１】
0005458026.tif 000002
【図２】
0005458026.tif 000003
【図３】
0005458026.tif 000004
【図４】
0005458026.tif 000005
【図５】
0005458026.tif 000006
【図６】
0005458026.tif 000007
【図７】
0005458026.tif 000008
【図８】
0005458026.tif 000009