(57)【要約】      （修正有）【課題】二項演算を○としたとき、ある文書ｍ１、ｍ２についての検証可能な暗号化署名ｗ１、ｗ２から、文書ｍ１○ｍ２についての検証可能な暗号化署名が計算できる、準同型性を持つ検証可能暗号化署名技術を提供する。【解決手段】暗号化署名システムは、調停装置１００、暗号化署名装置２００、暗号化検証装置３００を有する。暗号化署名装置２００は、ユーザ鍵生成部２１０、署名用乱数生成部２２０、署名生成部２３０、署名暗号化部２４０を備え、生成した署名を暗号化して暗号化署名を生成する。暗号化検証装置３００は署名検証部３５０を備え、暗号化署名を受け取り署名検証を行う。調停装置１００は調停者鍵生成部１１０を備え、暗号化署名を受け取り、署名検証を行い、署名検証が成功であれば復元された署名を生成する。【選択図】図１
2016122906.tif 000002
【特許請求の範囲】
【請求項１】
調停装置、暗号化署名装置、暗号化検証装置を有する暗号化署名システムであって、
Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元、ｕ，ｖ，ｈ１，…，ｈＮはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍ１，…，ｍＮはそれぞれが０以上Ｐ−１以下であって少なくとも１つは０ではない整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、
【数２０】
2016122906.tif 000022
とし、
前記調停装置は、
０以上Ｐ−１以下の整数からランダムに整数βを選び、ｙ＝ｇ１βを求め、βを調停者秘密鍵、ｙを調停者公開鍵とする調停者鍵生成部を備え、
前記暗号化署名装置は、
０以上Ｐ−１以下の整数からランダムに整数αを選び、ｘ＝ｇ１αを求め、αをユーザ秘密鍵、ｘをユーザ公開鍵とするユーザ鍵生成部と、
０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ署名用乱数生成部と、
【数２１】
2016122906.tif 000023
のようにσ１，σ２を求め、σ１，σ２を要素とする署名Σを生成する署名生成部と、
【数２２】
2016122906.tif 000024
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する署名暗号化部と
を備え、
暗号化検証装置は、
ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報、成り立たなければ検証失敗であることを示す情報を出力する署名検証部を備える
ことを特徴とする暗号化署名システム。
【請求項２】
請求項１記載の暗号化署名システムであって、
前記調停装置はさらに、
ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報、成り立たなければ検証失敗であることを示す情報を出力する復元用署名検証部と、
前記復元用署名検証部が検証成功であることを示す情報を出力した場合に、０以上Ｐ−１以下の整数からランダムに整数ｒ’、ｚ１’、ｚ２’を選ぶ復元用乱数生成部と、
【数２３】
2016122906.tif 000025
のようにσ１’，σ２’を求め、σ１’，σ２’を要素とする署名Σ’を求める署名復元部と
を備えることを特徴とする暗号化署名システム。
【請求項３】
Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元、ｕ，ｖ，ｈ１，…，ｈＮはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍ１，…，ｍＮはそれぞれが０以上Ｐ−１以下であって少なくとも１つは０ではない整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、βは０以上Ｐ−１以下の整数からランダムに選ばれた調停者秘密鍵、ｙはｙ＝ｇ１βである調停者公開鍵、
【数２４】
2016122906.tif 000026
とし、
０以上Ｐ−１以下の整数からランダムに整数αを選び、ｘ＝ｇ１αを求め、αをユーザ秘密鍵、ｘをユーザ公開鍵とするユーザ鍵生成部と、
０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ署名用乱数生成部と、
【数２５】
2016122906.tif 000027
のようにσ１，σ２を求め、σ１，σ２を要素とする署名Σを生成する署名生成部と、
【数２６】
2016122906.tif 000028
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する署名暗号化部と
を備える暗号化署名装置。
【請求項４】
請求項１または２記載の暗号化署名システムを構成する調停装置。
【請求項５】
請求項１または２記載の暗号化署名システムを構成する暗号化検証装置。
【請求項６】
Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｋは２以上の整数、ｋは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元、ｕ，ｖはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍｋ，１，…，ｍｋ，Ｎはそれぞれが０以上Ｐ−１以下であってｋが同一のｍｋ，１，…，ｍｋ，Ｎのなかで少なくとも１つは０ではない整数、Ｍｋはｍｋ，１，…，ｍｋ，Ｎを要素とするメッセージ、βは０以上Ｐ−１以下の整数からランダムに選ばれた調停者秘密鍵、ｙはｙ＝ｇ１βである調停者公開鍵、Ｗｋはｗｋ，１，ｗｋ，２，ｗｋ，３を要素とするメッセージＭｋに対する暗号化署名、γ１，…，γＫは０以上Ｐ−１以下の整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、ｍｎは
【数２７】
2016122906.tif 000029
とし、
０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ署名用乱数生成部と、
【数２８】
2016122906.tif 000030
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する暗号化署名演算部と
を備える暗号化署名演算装置。
【請求項７】
調停装置、暗号化署名装置、暗号化検証装置を用いた暗号化署名方法であって、
Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元、ｕ，ｖ，ｈ１，…，ｈＮはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍ１，…，ｍＮはそれぞれが０以上Ｐ−１以下であって少なくとも１つは０ではない整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、
【数２９】
2016122906.tif 000031
とし、
前記調停装置が、
０以上Ｐ−１以下の整数からランダムに整数βを選び、ｙ＝ｇ１βを求め、βを調停者秘密鍵、ｙを調停者公開鍵とする調停者鍵生成ステップと、
前記暗号化署名装置が、０以上Ｐ−１以下の整数からランダムに整数αを選び、ｘ＝ｇ１αを求め、αをユーザ秘密鍵、ｘをユーザ公開鍵とするユーザ鍵生成ステップと、
前記暗号化署名装置が、０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ署名用乱数生成ステップと、
前記暗号化署名装置が、
【数３０】
2016122906.tif 000032
のようにσ１，σ２を求め、σ１，σ２を要素とする署名Σを生成する署名生成ステップと、
前記暗号化署名装置が、
【数３１】
2016122906.tif 000033
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する署名暗号化ステップと
前記暗号化検証装置が、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報、成り立たなければ検証失敗であることを示す情報を出力する署名検証ステップと
を実行する暗号化署名方法。
【請求項８】
請求項３記載の暗号化署名装置、請求項４記載の調停装置、請求項５記載の暗号化検証装置、請求項６記載の暗号化署名演算装置のいずれかとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名方式に関し、特に暗号化されたまま検証可能な検証可能暗号化署名方式および署名上の演算を許す準同型署名に関する。
【背景技術】
【０００２】
署名に準同型性を持たせたものとして、準同型署名と呼ばれる暗号方式が存在する。例えば、Johnsonらによる方式（非特許文献１参照）やAttrapadungらによる方式（非特許文献２参照）が挙げられる。この方式では、二項演算として○を考えると、ある文書ｍ１，ｍ２についての署名σ１，σ２から文書ｍ１○ｍ２についての署名を計算できる。
【０００３】
また、検証可能暗号化署名方式と呼ばれる暗号方式もある。この方式では、通常の署名方式で用いられる署名生成鍵および署名検証鍵に加えて、別の暗号化鍵と復号鍵が存在する。通常の署名を暗号化鍵で暗号化したものを暗号化署名と呼ぶ。さらに、暗号化署名のまま署名の検証が可能な方式を検証可能暗号化署名と呼ぶ。例えば、Bonehらによる方式が知られている（非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Johnson, R., Molnar, D., Song, D., & Wagner, D., “Homomorphic Signature Schemes”, In CT-RSA 2002: Topics in Cryptology, pp. 244-262, 2002.
【非特許文献２】Attrapadung, N., Libert, B., & Peters, T., “Computing on Authenticated Data : New Privacy Definitions and Constructions”, In X. Wang & K. Sako (Eds.), ASIACRYPT 2012: Advances in Cryptology, pp. 367-385, 2012.
【非特許文献３】Boneh, D., Gentry, C., Lynn, B., & Shacham, H., “Aggregate and Verifiably Encrypted Signatures from Bilinear Maps”, In EUROCRYPT 2003: Advances in Cryptology, pp. 416-432, 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、検証可能暗号化署名で準同型性を持つものは存在しない。つまり、ある文書ｍ１，ｍ２についての検証可能な暗号化署名ｗ１，ｗ２から文書ｍ１○ｍ２についての検証可能な暗号化署名を計算できる方式がない。
【０００６】
そこで、本発明は準同型性を持つ検証可能暗号化署名技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の暗号化署名システムは、調停装置、暗号化署名装置、暗号化検証装置を有する。まず、Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元、ｕ，ｖ，ｈ１，…，ｈＮはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍ１，…，ｍＮはそれぞれが０以上Ｐ−１以下であって少なくとも１つは０ではない整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、
【０００８】
【数１】
2016122906.tif 000003
【０００９】
とする。調停装置は、０以上Ｐ−１以下の整数からランダムに整数βを選び、ｙ＝ｇ１βを求め、βを調停者秘密鍵、ｙを調停者公開鍵とする調停者鍵生成部を備える。暗号化署名装置は、ユーザ鍵生成部、署名用乱数生成部、署名生成部、署名暗号化部を備える。ユーザ鍵生成部は、０以上Ｐ−１以下の整数からランダムに整数αを選び、ｘ＝ｇ１αを求め、αをユーザ秘密鍵、ｘをユーザ公開鍵とする。署名用乱数生成部は、０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ。署名生成部は、
【００１０】
【数２】
2016122906.tif 000004
【００１１】
のようにσ１，σ２を求め、σ１，σ２を要素とする署名Σを生成する。署名暗号化部は、
【００１２】
【数３】
2016122906.tif 000005
【００１３】
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する。暗号化検証装置は、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報、成り立たなければ検証失敗であることを示す情報を出力する署名検証部を備える。
【発明の効果】
【００１４】
Ｋは２以上の整数、ｋは１以上Ｋ以下の整数、ｍｋ，１，…，ｍｋ，Ｎはそれぞれが０以上Ｐ−１以下であってｋが同一のｍｋ，１，…，ｍｋ，Ｎのなかで少なくとも１つは０ではない整数、Ｍｋはｍｋ，１，…，ｍｋ，Ｎを要素とするメッセージ、Ｗｋはｗｋ，１，ｗｋ，２，ｗｋ，３を要素とするメッセージＭｋに対する暗号化署名、γ１，…，γＫは０以上Ｐ−１以下の整数とする。そして、メッセージＭをｍ１，…，ｍＮを要素とし、ｍｎを
【００１５】
【数４】
2016122906.tif 000006
【００１６】
とする。このときに、０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選び、
【００１７】
【数５】
2016122906.tif 000007
【００１８】
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを求めれば、暗号化署名Ｗは、メッセージＭに対する暗号化署名である。つまり、本発明の暗号化署名システムによれば、ある文書ｍ１，ｍ２についての検証可能な暗号化署名ｗ１，ｗ２から文書ｍ１○ｍ２についての検証可能な暗号化署名を計算できる。よって、準同型性を持つ検証可能暗号化署名技術を提供できる。
【図面の簡単な説明】
【００１９】
【図１】暗号化署名システムの構成例を示す図。
【図２】暗号化署名システムの処理フローの例を示す図。
【図３】暗号化署名演算装置の処理フローの例を示す図。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００２１】
図１に暗号化署名システムの構成例を示す。図２に暗号化署名システムの処理フローの例を、図３に暗号化署名演算装置の処理フローの例を示す。図示していないが、暗号化署名システムでは、セキュリティパラメータ及び次元パラメータ１Ｎを入力とし、共通パラメータｐｐ＝（Ｇ，ＧＴ，ｅ，Ｐ，ｇ１，ｇ３，ｕ，ｖ，ｈ１，…，ｈＮ）を求めておく。ここで、Ｊは３以上の整数、ｊは１以上Ｊ以下の整数、Ｎは１以上の整数、ｎは１以上Ｋ以下の整数、Ｐは３つ以上の互いに異なる素数ｐ１，…，ｐＪの積、ＧとＧＴは位数Ｐの群、ｅはＧ×ＧからＧＴへの双線形写像（ペアリング）、Ｇｊは群Ｇの位数ｐｊの部分群、ｇｊは群Ｇｊの生成元とする。なお、ｊ１≠ｊ２の場合ｐｊ１とｐｊ２とは異なる素数なので、群Ｇｊ１の元と群Ｇｊ２の元（ただし、ｊ１≠ｊ２）とのペアリングｅを行うと群ＧＴの単位元に写像されるという性質があることに注意されたい。ｕ，ｖ，ｈ１，…，ｈＮはＧ１の元、τは０以上Ｐ−１以下の整数であるファイル識別子、ｍ１，…，ｍＮはそれぞれが０以上Ｐ−１以下であって少なくとも１つは０ではない整数、Ｍはｍ１，…，ｍＮを要素とするメッセージ、
【００２２】
【数６】
2016122906.tif 000008
【００２３】
とする。暗号化署名システムは、調停装置１００、暗号化署名装置２００、暗号化検証装置３００を有し、ネットワーク８００を介して接続されている。また、暗号化署名演算装置４００も備えてもよい。なお、共通パラメータｐｐ、ファイル識別子τ、メッセージＭは、各装置が取得できる情報である。
【００２４】
調停装置１００は、少なくとも調停者鍵生成部１１０と記録部１９０を備える。記録部１９０は、少なくとも共通パラメータｐｐを記録しておく。また、後述する復元用乱数生成部１２０、復元用署名検証部１５０、署名復元部１７０も備えてもよい。調停者鍵生成部１１０は、０以上Ｐ−１以下の整数からランダムに整数βを選び、ｙ＝ｇ１βを求め、βを調停者秘密鍵、ｙを調停者公開鍵とする（Ｓ１１０）。調停者公開鍵ｙは、暗号化署名装置２００、暗号化検証装置３００、暗号化署名演算装置４００が取得可能な情報である。
【００２５】
暗号化署名装置２００は、ユーザ鍵生成部２１０、署名用乱数生成部２２０、署名生成部２３０、署名暗号化部２４０、記録部２９０を備える。記録部２９０は、あらかじめ共通パラメータｐｐ、ファイル識別子τ、メッセージＭ、調停者公開鍵ｙを記録しておく。ユーザ鍵生成部２１０は、０以上Ｐ−１以下の整数からランダムに整数αを選び、ｘ＝ｇ１αを求め、αをユーザ秘密鍵、ｘをユーザ公開鍵とする（Ｓ２１０）。ユーザ公開鍵ｘは、調停装置１００、暗号化検証装置３００、暗号化署名演算装置４００が取得可能な情報である。署名用乱数生成部２２０は、０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ（Ｓ２２０）。署名生成部２３０は、
【００２６】
【数７】
2016122906.tif 000009
【００２７】
のようにσ１，σ２を求め、σ１，σ２を要素とする署名Σを生成する（Ｓ２３０）。署名暗号化部２４０は、
【００２８】
【数８】
2016122906.tif 000010
【００２９】
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する（Ｓ２４０）。暗号化署名Ｗは、メッセージＭに対する暗号化された署名であり、調停装置１００、暗号化検証装置３００、暗号化署名演算装置４００が取得可能な情報である。
【００３０】
暗号化検証装置３００は、署名検証部３５０と記録部３９０を備える。記録部３９０は、あらかじめ共通パラメータｐｐ、ファイル識別子τ、メッセージＭ、ユーザ公開鍵ｘ、調停者公開鍵ｙを記録しておく。署名検証部３５０は、ｗ１，ｗ２，ｗ３を要素とするメッセージＭに対する暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報（例えば“１”）、成り立たなければ検証失敗であることを示す情報（例えば“０”）を出力する（Ｓ３５０）。上記の式を確認すると以下のようになる。
【００３１】
【数９】
2016122906.tif 000011
【００３２】
【数１０】
2016122906.tif 000012
【００３３】
したがって、暗号化署名Ｗが正しければ、左辺＝右辺となる。なお、この証明では、群Ｇ１の元と群Ｇ３の元とのペアリングｅは、群ＧＴの単位元に写像されるという性質を利用している。乱数ｚ１，ｚ２，ｚ３は、この性質で右辺からも左辺からも消去される。また、乱数ｒ，ｔは右辺と左辺で同じ乱数ｒ，ｔを使えば左辺＝右辺となる。つまり、σ１とσ２の計算で用いるｒが同じであり、ｗ１とｗ３の計算で用いるｔが同じであれば、メッセージＭに対する正当な暗号化署名Ｗである。言い換えると、メッセージＭに対する正当な暗号化署名Ｗは、何通りも存在する。
【００３４】
調停装置１００は、上述のとおり復元用乱数生成部１２０、復元用署名検証部１５０、署名復元部１７０も備えてもよい。この場合は、記録部１９０は、ファイル識別子τ、メッセージＭ、ユーザ公開鍵ｘ、調停者秘密鍵β、調停者公開鍵ｙも記録しておく。復元用署名検証部１５０は、署名検証部３５０と同じであり、ｗ１，ｗ２，ｗ３を要素とするメッセージＭに対する暗号化署名Ｗを受け取り、
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
が成り立てば検証成功であることを示す情報（例えば“１”）、成り立たなければ検証失敗であることを示す情報（例えば“０”）を出力する（Ｓ１５０）。そして、復元用署名検証部１５０が検証成功であることを示す情報を出力した場合に、復元用乱数生成部１２０、は、０以上Ｐ−１以下の整数からランダムに整数ｒ’、ｚ１’、ｚ２’を選ぶ（Ｓ１２０）。署名復元部１７０は、
【００３５】
【数１１】
2016122906.tif 000013
【００３６】
のようにσ１’，σ２’を求め、σ１’，σ２’を要素とする復元された署名Σ’を求める。なお、復元には調停者秘密鍵βが必要なため、本実施例では調停装置１００が復元用乱数生成部１２０、復元用署名検証部１５０、署名復元部１７０を備えた例を示した。しかし、この例に限定する必要はなく、調停装置１００の外部に、復元用乱数生成部１２０、復元用署名検証部１５０、署名復元部１７０を備え、調停者秘密鍵βを取得できる署名復元装置を設けてもよい。なお、
【００３７】
【数１２】
2016122906.tif 000014
【００３８】
【数１３】
2016122906.tif 000015
【００３９】
となる。復元された署名Σ’は、暗号化署名Ｗ生成時に使用したσ１とσ２を要素とする署名Σとは異なるが、署名Σ’はメッセージＭに対する正当な署名の１つである。ここで、このことを説明する。署名Σの検証は、
ｅ（σ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，σ２）
で行えばよい。まず、暗号化署名Ｗ生成時に使用したσ１とσ２で上記の式が成り立つことを示す。
【００４０】
【数１４】
2016122906.tif 000016
【００４１】
【数１５】
2016122906.tif 000017
【００４２】
となる。よって、暗号化署名Ｗ生成時に使用したσ１とσ２のときは左辺＝右辺である。次に復元されたσ１’，σ２’を代入すると、
【００４３】
【数１６】
2016122906.tif 000018
【００４４】
【数１７】
2016122906.tif 000019
【００４５】
となり左辺＝右辺である。したがって、復元された署名Σ’はメッセージＭに対する正当な署名の１つである。
【００４６】
次に、暗号化署名演算装置４００について説明する。ここでは、Ｋは２以上の整数、ｋは１以上Ｋ以下の整数、ｍｋ，１，…，ｍｋ，Ｎはそれぞれが０以上Ｐ−１以下であってｋが同一のｍｋ，１，…，ｍｋ，Ｎのなかで少なくとも１つは０ではない整数、Ｍｋはｍｋ，１，…，ｍｋ，Ｎを要素とするメッセージ、Ｗｋはｗｋ，１，ｗｋ，２，ｗｋ，３を要素とするメッセージＭｋに対する暗号化署名、γ１，…，γＫは０以上Ｐ−１以下の整数とする。そして、暗号化署名演算装置４００は、ｍｎを
【００４７】
【数１８】
2016122906.tif 000020
【００４８】
とし、ｍ１，…，ｍＮを要素とするメッセージＭの暗号化署名Ｗを求める。
【００４９】
具体的には、暗号化署名演算装置４００は、署名用乱数生成部４２０、暗号化署名演算部４６０、記録部４９０を備える。記録部４９０は、あらかじめ、共通パラメータｐｐ、ファイル識別子τ、メッセージＭ１，…，ＭＫ、ユーザ公開鍵ｘ、調停者公開鍵ｙを記録しておく。署名用乱数生成部４２０は、０以上Ｐ−１以下の整数からランダムに整数ｒ、ｔ、ｚ１、ｚ２、ｚ３を選ぶ（Ｓ４２０）。暗号化署名演算部４６０は、
【００５０】
【数１９】
2016122906.tif 000021
【００５１】
のようにｗ１，ｗ２，ｗ３を求め、ｗ１，ｗ２，ｗ３を要素とする暗号化署名Ｗを生成する。
【００５２】
暗号化署名Ｗは、上記の暗号化署名を暗号化検証装置３００の署名検証部３５０の式
ｅ（ｗ１，ｇ１）＝ｅ（Ｈｈｏｍ（Ｍ），ｘ）・ｅ（ｕτｖ，ｗ２）・ｅ（ｙ，ｗ３）
を成り立たせるメッセージＭに対する暗号化署名である。つまり、二項演算として○を考えると、本発明の暗号化署名システムによれば、ある文書ｍ１，ｍ２についての検証可能な暗号化署名ｗ１，ｗ２から文書ｍ１○ｍ２についての検証可能な暗号化署名を計算できる。よって、準同型性を持つ検証可能暗号化署名技術を提供できる。
【００５３】
［プログラム、記録媒体］
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５４】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００５５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００５９】
１００  調停装置                      １１０  調停者鍵生成部
１２０  復元用乱数生成部              １５０  復元用署名検証部
１７０  署名復元部                    １９０，２９０，３９０，４９０  記録部
２００  暗号化署名装置                ２１０  ユーザ鍵生成部
２２０，４２０  署名用乱数生成部      ２３０  署名生成部
２４０  署名暗号化部                  ３００  暗号化検証装置
３５０  署名検証部                    ４００  暗号化署名演算装置
４６０  暗号化署名演算部              ８００  ネットワーク
【図１】
2016122906.tif 000034
【図２】
2016122906.tif 000035
【図３】
2016122906.tif 000036