(57)【特許請求の範囲】
【請求項１】
互いに通信可能なグループ管理者装置（１０）、署名者装置（２０ｉ）及び検証者装置（３０）を備え、各装置がグループ署名方式を用いるグループ署名システムであって、
前記グループ管理者装置は、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶するパラメータ記憶手段（１１）と、
前記パラメータ記憶手段内の公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とを生成するグループ鍵生成手段（１４）と、
前記グループ秘密鍵、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段（但し、＾はベキ乗を表す記号）（１５）と、
前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する署名者特定情報算出手段（１５）と、
リボークされたメンバに対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成するリボケーションリスト生成手段（１８）と、
前記リボケーションリストを前記検証者装置に送信する手段（１３）と、を備えており、
前記署名者装置は、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報Ｔｉ及びメッセージを記憶する署名者用記憶手段（２１）と、
前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉを暗号化し、当該署名者特定情報Ｔｉの暗号文データであって、値Ｒ，Ｕ１を含む前記暗号文データ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）を生成する暗号文生成手段（２５）と、
前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Ｔｉを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段（２５）と、
前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段（２３）と、を備えており、
前記検証者装置は、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段（３１）と、
前記グループ管理者装置から前記リボケーションリストを前記署名者装置から前記グループ署名及びメッセージをそれぞれ受信する手段（３３）と、
前記受信したリボケーションリストとグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段（３４）と、
前記検証した結果を前記署名者装置に送信する手段（３３）と、
を備えており、
前記検証手段は、
前記リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
を備えたことを特徴とするグループ署名システム。
【請求項２】
グループ署名方式を用いる署名者装置（２０ｉ）及び検証者装置（３０）に通信可能なグループ管理者装置（１０）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶するパラメータ記憶手段（１１）と、
前記パラメータ記憶手段内の公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とを生成するグループ鍵生成手段（１４）と、
前記グループ秘密鍵、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段（但し、＾はベキ乗を表す記号）（１５）と、
前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する署名者特定情報算出手段（１５）と、
前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Ｔｉを前記署名者装置に送信する手段（１３）と、
リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成するリボケーションリスト生成手段（１８）と、
前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ、前記グループ公開鍵及び前記リボケーションリストを前記検証者装置に送信する手段（１３）と、
を備え、
前記グループ署名は、前記署名者装置により生成された値Ｒ，Ｕ１を含んでおり（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）、
前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ことを特徴とするグループ管理者装置。
【請求項３】
グループ署名方式を用いるグループ管理者装置（１０）及び検証者装置（３０）に通信可能な署名者装置（２０ｉ）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊と第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂとを満たすように生成された値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵と、前記値ａ，ｂ∈Ｚｑ＊、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすように生成（但し、＾はベキ乗を表す記号）されたリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて生成された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝とを前記グループ管理者装置から受信する手段（２３）と、
前記受信した公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Ｔｉとメッセージとを記憶するための署名者用記憶手段（２１）と、
前記メッセージを作成して前記署名者用記憶手段に書き込む手段（２４）と、
前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉを暗号化し、当該署名者特定情報Ｔｉの暗号文データであって、値Ｒ，Ｕ１を含む前記暗号文データ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）を生成する暗号文生成手段（２５）と、
前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Ｔｉを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段（２５）と、
前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段（２３）と、
を備え、
前記グループ署名に含まれる値Ｒ，Ｕ１は、前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ことを特徴とする署名者装置。
【請求項４】
グループ署名方式を用いるグループ管理者装置（１０）及び署名者装置（２０ｉ）に通信可能な検証者装置（３０）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊と第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂとを満たすように生成された値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とリボークされたメンバに対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストとを前記グループ管理者装置から受信する手段（３３）と、
前記受信した公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段（３１）と、
前記値ａ，ｂ∈Ｚｑ＊、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすように生成（但し、＾はベキ乗を表す記号）されたリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて生成された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝とに関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Ｔｉを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Ｔｉの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段（３３）と、
前記受信したリボケーションリストとグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段（３４）と、
前記検証した結果を前記署名者装置に送信する手段（３３）と、を備えており、
前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉが前記署名者装置により暗号化されたデータであって、値Ｒ，Ｕ１を含む前記暗号文データ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）であり、
前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて前記署名者装置により生成されたデータであり、
前記検証手段は、
前記リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
を備えたことを特徴とする検証者装置。
【請求項５】
グループ署名方式を用いる署名者装置（２０ｉ）及び検証者装置（３０）に通信可能なグループ管理者装置（１０）のプログラムであって、
前記グループ管理者装置のコンピュータを、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを前記コンピュータのメモリ（１１）に書き込む手段（１３）、
前記メモリ内の公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とを生成するグループ鍵生成手段（１４）、
前記グループ秘密鍵、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段（但し、＾はベキ乗を表す記号）（１５）、
前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する署名者特定情報算出手段（１５）、
前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Ｔｉを前記署名者装置に送信する手段（１３）、
リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成するリボケーションリスト生成手段（１８）と、
前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ、前記グループ公開鍵及び前記リボケーションリストを前記検証者装置に送信する手段（１３）、
として機能させ、
前記グループ署名は、前記署名者装置により生成された値Ｒ，Ｕ１を含んでおり（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）、
前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ためのプログラム。
【請求項６】
グループ署名方式を用いるグループ管理者装置（１０）及び検証者装置（３０）に通信可能な署名者装置（２０ｉ）のプログラムであって、
前記署名者装置のコンピュータを、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊と第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂとを満たすように生成された値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵と、前記値ａ，ｂ∈Ｚｑ＊、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすように生成（但し、＾はベキ乗を表す記号）されたリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて生成された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝とを前記グループ管理者装置から受信する手段（２３）、
前記受信した公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Ｔｉとメッセージとを前記コンピュータのメモリ（２１）に書き込む手段（２３）、
前記メッセージを作成して前記メモリに書き込む手段（２４）、
前記メモリ内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉを暗号化し、当該署名者特定情報Ｔｉの暗号文データであって、値Ｒ，Ｕ１を含む前記暗号文データ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）を生成する暗号文生成手段（２５）、
前記メモリ内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Ｔｉを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段（２５）、
前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段（２３）、
として機能させ、
前記グループ署名に含まれる値Ｒ，Ｕ１は、前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ためのプログラム。
【請求項７】
グループ署名方式を用いるグループ管理者装置（１０）及び署名者装置（２０ｉ）に通信可能な検証者装置（３０）のプログラムであって、
前記検証者装置のコンピュータを、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊と第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂとを満たすように生成された値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とリボークされたメンバに対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストとを前記グループ管理者装置から受信する手段（３３）、
前記受信した公開パラメータと前記グループ公開鍵とを前記コンピュータのメモリ（３１）に書き込む手段（３３）、
前記値ａ，ｂ∈Ｚｑ＊、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすように生成（但し、＾はベキ乗を表す記号）されたリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて生成された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝とに関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Ｔｉを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Ｔｉの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段（３３）、
前記受信したリボケーションリストとグループ署名及びメッセージと前記メモリ内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段（３４）、
前記検証した結果を前記署名者装置に送信する手段（３３）、として機能させ、
前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉが前記署名者装置により暗号化されたデータであって、値Ｒ，Ｕ１を含む前記暗号文データ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）であり、
前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて前記署名者装置により生成されたデータであり、
前記検証手段は、
前記リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
を含んでいることを特徴とするプログラム。
【請求項８】
グループ署名方式を用いる署名者特定装置（１０２）、リボケーション管理者装置（１０３）、署名者装置（２０ｉ）及び検証者装置（３０）に通信可能なメンバ秘密鍵生成者装置（１０１）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶するパラメータ記憶手段（１１１）と、
値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ）とを記憶するグループ鍵記憶手段（１１１）と、
ユーザ識別情報ＩＤ（ｉ）毎に、前記グループ秘密鍵、前記グループ公開鍵及び関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段（但し、＾はベキ乗を表す記号）（１５）と、
前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する署名者特定情報算出手段（１５）と、
前記ユーザ識別情報ＩＤ（ｉ）に関連付けて前記メンバ秘密鍵（ｋｉ１，ｋｉ２）、当該メンバ秘密鍵のリプレゼンテーションの一部ｋｉ１及び前記署名者特定情報Ｔｉを記憶するメンバ情報記憶手段（１１１）と、
前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Ｔｉを前記署名者装置に送信する手段（１３）と、
前記グループ署名方式における署名者を特定するための前記公開パラメータ、前記グループ公開鍵及び前記署名者特定情報Ｔｉを前記署名者特定装置に送信する手段（１３）と、
前記メンバ情報記憶手段内のユーザ識別情報ＩＤ（ｉ）及びリプレゼンテーションの一部ｋｉ１を前記リボケーション管理者装置に送信する手段（１３）と、
リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを前記リボケーション管理者装置から受信し、当該リボケーションリストを記憶するリボケーションリスト記憶手段（１１１）と、
前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ及び前記グループ公開鍵を前記検証者装置に送信する手段（１３）と、
を備え、
前記グループ署名は、前記署名者装置により生成された値Ｒ，Ｕ１を含んでおり（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）、
前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ことを特徴とするメンバ秘密鍵生成者装置。
【請求項９】
グループ署名方式を用いるメンバ秘密鍵生成者装置（１０１）、リボケーション管理者装置（１０３）及び検証者装置（３０）に通信可能な署名者特定装置（１０２）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶するパラメータ記憶手段（１１２）と、
値ｘ１，ｘ２，ｙ１，ｙ２，ｚ∈Ｚｑ＊を含む署名者特定用秘密鍵と、値Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ、前記生成元Ｇ１及びハッシュ関数Ｈａｓｈを含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ、ａ，ｂ∈Ｚｑ＊、Ｃ＝Ｇ１＾｛ｘ１｝Ｇ２＾｛ｘ２｝、＾はベキ乗を表す記号、Ｄ＝Ｇ１＾｛ｙ１｝Ｇ２＾｛ｙ２｝、Ｈ＝Ｇ１ｚ）とを記憶する鍵記憶手段（１１２）と、
ユーザ識別情報ＩＤ（ｉ）毎に、値ａ，ｂを含むメンバ秘密鍵生成用秘密鍵、前記グループ公開鍵及び関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて生成され且つ関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵及び前記生成元Ｇ１に基づいて算出された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝と、前記リプレゼンテーションの一部ｋｉ１と、前記ユーザ識別情報ＩＤ（ｉ）とを前記メンバ秘密鍵生成者装置から受信する手段（１３）と、
前記受信したユーザ識別情報ＩＤ（ｉ）、前記リプレゼンテーションの一部ｋｉ１及び前記署名者特定情報Ｔｉを互いに関連付けて記憶するメンバ情報記憶手段（１１２）と、
リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを前記リボケーション管理者装置から受信し、当該リボケーションリストを記憶するリボケーションリスト記憶手段（１１２）と、
前記検証者装置からメッセージと、値Ｅ，Ｕ１を含むグループ署名（但し、Ｅ＝ＨｒＴｉ、Ｕ１＝Ｇ１ｒ、ｒは乱数）と、署名者特定要求とを受けると、前記公開パラメータ及び前記グループ公開鍵に基づいて、当該グループ署名の正当性を検証する署名検証手段（１６）と、
前記検証の結果、グループ署名が正当性を示すとき、このグループ署名及び前記署名者特定用秘密鍵に基づいて、署名者特定情報Ｔｉ＝Ｅ／Ｕ１ｚを計算する署名者特定情報手段（１７）と、
前記計算した署名者特定情報Ｔｉに基づいて前記メンバ情報記憶手段を検索し、署名者特定情報Ｔｉに対応するユーザ識別情報ＩＤ（ｉ）を特定する手段（１７）と、
前記特定したユーザ識別情報ＩＤ（ｉ）を出力する出力手段（１９）と、
を備え、
前記グループ署名は、前記署名者装置により生成された値Ｒを含んでおり（但し、Ｒ＝Ｔｉｒ、ｒは乱数）、
前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ことを特徴とする署名者特定装置。
【請求項１０】
グループ署名方式を用いるメンバ秘密鍵生成者装置（１０１）、署名者特定装置（１０２）、署名者装置（２０ｉ）及び検証者装置（３０）に通信可能なリボケーション管理者（１０３）であって、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、値ａ，ｂ∈Ｚｑ＊を含むメンバ秘密鍵生成用秘密鍵と、値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ）とに基づいて、ユーザ識別情報ＩＤ（ｉ）毎に、関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵が前記メンバ秘密鍵生成者装置により生成されたとき、互いに関連する当該リプレゼンテーションの一部ｋｉ１と前記ユーザ識別情報ＩＤ（ｉ）とを前記メンバ秘密鍵生成者装置から受信する手段（１３）と、
前記受信したユーザ識別情報ＩＤ（ｉ）及びリプレゼンテーションの一部ｋｉ１を互いに関連付けて記憶するリボケーション管理者用記憶手段（１１３）と、
リボークされたメンバを示すユーザ識別情報ＩＤ（ｉ）が入力されたとき、この入力されたユーザ識別情報ＩＤ（ｉ）に基づいて、前記リボケーション管理者用記憶手段内の対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成するリボケーションリスト生成手段（１８）と、
前記リボケーションリストを前記検証者装置に送信する手段（１３）と、
を備え、
前記グループ署名は、前記署名者装置により生成された値Ｒ，Ｕ１を含んでおり（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、ｒは乱数）、
前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
ことを特徴とするリボケーション管理者装置。
【請求項１１】
グループ署名方式を用いるグループ管理者装置（１０）、署名者装置（２０ｉ）及び検証者装置（３０）に通信可能な署名者同一性証明装置（２０１ｉ）であって、
ユーザ識別情報ＩＤ（ｉ）毎に、前記グループ管理者装置により生成されたメンバ秘密鍵内のリプレゼンテーションの一部ｋｉ１を記憶する記憶手段（２１１）と、
前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータに基づいて、乱数ｒ１∈Ｚｑ＊を選択する手段（２６）と、
値Ｒ，Ｕ１を含むグループ署名σ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、Ｔｉ＝Ｇ１＾｛ｋｉ１｝、ｒは乱数）を前記署名者装置から受けると、当該グループ署名σ内の値Ｕ１及び前記選択した乱数ｒ１に基づいて、零知識証明のコミットメントＲ’＝Ｕ１＾｛ｒ１｝を計算する手段（但し、＾はベキ乗を表す記号）（２６）と、
前記計算したコミットメントＲ’を前記検証者装置に送信する手段（２３）と、
前記ゼロ知識証明のチャレンジとなる乱数δ∈Ｚｑ＊を前記検証者装置から受信する手段（２３）と、
前記チャレンジとなる乱数δ、前記乱数ｒ１、前記リプレゼンテーションの一部ｋｉ１及び前記素数位数ｑに基づいて、前記ゼロ知識証明のレスポンスとなるパラメータｓ１’＝ｒ１＋δｋｉ１ ｍｏｄ ｑを計算する手段（２６）と、
検証式Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾ｓ１’を検証可能な前記検証者装置に対し、前記計算したパラメータｓ１’を送信する手段（２３）と、
を備え、
前記グループ署名に含まれる値Ｒ，Ｕ１は、
前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部ｋｉ１を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値ｋｉ１を選択して検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立つかどうかを確認し、前記検証式Ｒ＝Ｕ１＾｛ｋｉ１｝が成り立てば無効と判定するリボーク検証処理と、
前記検証者装置において、前記検証式Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾ｓ１’が成り立つかを検証し、前記検証式Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾｛ｓ’１｝が成り立たなければ偽と判定する署名者同一性検証処理と
に用いられることを特徴とする署名者同一性証明装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループ署名システム、装置及びプログラムに係り、例えば、計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムに関する。
【背景技術】
【０００２】
グループ署名方式は、匿名性を持った電子署名として１９９１年にチャウム（Chaum）らによって提案された。通常の電子署名方式では、署名検証のための公開鍵と署名生成のための秘密鍵が１対１で対応するため、署名生成者の匿名性を保てない。
【０００３】
これに対し、グループ署名方式では、署名検証のためのグループ公開鍵と署名生成のためのメンバ秘密鍵が１対ｎで対応するため、署名生成者の匿名性を保っている。すなわち、グループ署名方式は、１個のグループ公開鍵と、ｎ個のメンバ秘密鍵とが対応するため、署名検証の際に、署名生成者を特定できない性質がある。また、グループ署名方式は、特権者であるグループ管理者だけが署名者を特定できるという性質を持っている。
【０００４】
しかしながら、当初のグループ署名方式は、署名長や署名生成計算量がメンバ数に比例するため、多数のメンバをもつグループでの効率が非常に低く、運用に適さないものである。
【０００５】
これに対し、効率がメンバ数に依存しないグループ署名方式が１９９７年にカメニッシュ（Camenisch）らにより提案された。この方式では、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書（membership certificate）として用いる。グループ署名には、グループ管理者の公開鍵で暗号化されたメンバ証明書（またはその一部）と、メンバ証明書が正しく暗号化されていることと、メンバ秘密鍵及びメンバ証明書を保持することとを示す非対話的知識証明が含まれる。署名検証者は、非対話的知識証明の検証により、メンバによる署名であることを検証できる。さらにグループ管理者は、メンバ証明書の復号により、署名者を特定できる。このようなメンバ証明書を用いる概念は、その後のグループ署名方式の基礎となる重要なものである。
【０００６】
しかしながら、このカメニッシュらの方式は、効率がメンバ数に依存しないものの、実用的な観点からは効率が低いものである。
【０００７】
効率的（practical）な最初のグループ署名方式は、２０００年にアテニース（Ateniese）らによって提案された方式（以下、[ＡＣＪＴ００]方式という。）である。アテニースのグループ署名方式は、大幅に効率化されており、実用化が検討可能となっている。アテニースのグループ署名方式は、署名生成の際にＲＳＡ署名生成の２００倍程度の計算量が必要であるため、継続的に改良が検討されている。アテニースの方式は、安全性が強ＲＳＡ問題（strong-RSA problem）に基づいている。
【０００８】
現在、知られている高速なグループ署名方式は以下の３方式である。１つは２００４年にカメニッシュ（Camenisch）らによって提案された方式（例えば、非特許文献１参照。以下、[ＣＧ０４]方式という。full paper は以下のＵＲＬから取得可能（２００８年３月現在）http://www.brics.dk/~jg/）である。[ＣＧ０４]方式の署名生成計算量は、ＲＳＡ署名生成の８倍程度にまで低減されている。[ＣＧ０４]方式の安全性も強ＲＳＡ問題に基づいている。２つ目は２００５年に古川らによって提案された方式（例えば、非特許文献２参照。以下、［ＦＩ０５］方式という。）である。３つ目はデレラブリ（Delerablee）らによって提案された方式（例えば、非特許文献３参照。以下、［ＤＰ０６］方式という。）である。［ＦＩ０５］方式と［ＤＰ０６］方式は双線形写像を利用しており、その安全性は双線形群における仮定に基づいている。
【０００９】
グループ署名は高速化が進む一方、高機能化も進められている。重要な機能の１つにリボケーション機能が考えられている。リボケーションはグループ署名を利用したサービスを展開する上で、メンバのサービスからの退会や不正なメンバの強制排除を実現するための機能として非常に重要なものである。前述の[ＣＧ０４]方式、［ＦＩ０５］方式と［ＤＰ０６］方式はいずれもリボケーション機能を有する。
【００１０】
より高いセキュリティと柔軟なグループ管理を実現するための方法として、グループ管理機能ごとに扱う秘密情報を変えて権限を分割できる方式も検討されている。具体的には、従来はすべてグループ管理者が行っていたメンバ秘密鍵生成、署名者特定、リボケーションのそれぞれの機能を受け持つメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割するような方式が考えられている。
【００１１】
また、グループ管理者または署名者特定者によって署名者特定が適切に行われたことを検証者が確認できるという濡れ衣回避性（Non-Frameability）と呼ばれる性質も考えられている。
【００１２】
さらに、署名者が望む場合にのみ、ある署名がその署名者によって生成されたということを検証者に証明できるという自己追跡性（Self-Traceability）と呼ばれる性質も提案されている。
【非特許文献１】J. Camenisch and J. Groth, “Group Signatures: Better Efficiency and New Theoretical Aspects,” Forth Int. Conf. on Security in Communication Networks− SCN 2004, LNCS 3352, pp.120-133, 2005.
【非特許文献２】J. Furukawa and H. Imai, “An Efficient Group Signature Scheme from Bilinear Maps,” ACISP 2005, LNCS 3574, pp.455-467, 2005.
【非特許文献３】C. Delerablee and D.Pointcheval, “Dynamic Fully Anonymous Short Group Signatures,” VIETCRYPT, LNCS 4341, pp193-210, 2006.
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明者の検討によれば、リボケーション機能を有しながら[ＣＧ０４]方式、［ＦＩ０５］方式と［ＤＰ０６］方式よりも計算量を減らして計算速度を向上させる余地がある。
【００１４】
本発明の目的は、リボケーション機能を実現しつつ計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の第１の局面(aspect)は、互いに通信可能なグループ管理者装置、署名者装置及び検証者装置を備え、各装置がグループ署名方式を用いるグループ署名システムであって、前記グループ管理者装置としては、前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶するパラメータ記憶手段と、前記パラメータ記憶手段内の公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び前記生成元Ｇ１を含むグループ公開鍵とを生成するグループ鍵生成手段と、前記グループ秘密鍵、前記グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段（但し、＾はベキ乗を表す記号）と、前記メンバ秘密鍵及び前記生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する署名者特定情報算出手段と、リボークされたメンバのリプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成するリボケーションリスト生成手段と、前記リボケーションリストを前記検証者装置に送信する手段と、を備えており、前記署名者装置としては、前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報Ｔｉ及びメッセージを記憶する署名者用記憶手段と、前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Ｔｉを暗号化し、当該署名者特定情報Ｔｉの暗号文データを生成する暗号文生成手段と、前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Ｔｉの暗号文データとに基づいて、当該メンバ秘密鍵及び当該署名者特定情報Ｔｉを知っていることを示す零知識証明を生成する零知識証明生成手段と、前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段と、を備えており、前記検証者装置としては、前記グループ署名方式に用いる素数位数ｑ、及び前記ｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段と、前記グループ管理者装置から前記リボケーションリストを前記署名者装置から前記グループ署名及びメッセージをそれぞれ受信する手段と、前記受信したリボケーションリスト、グループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段と、前記検証した結果を前記署名者装置に送信する手段と、必要に応じて署名者特定のためにグループ管理者装置にメッセージとグループ署名を送信する手段と、を備えたグループ署名システムである。
【００１６】
第１の局面によれば、素数位数ｑの乗法巡回群ｇＧを用いて完全な離散対数ベースのグループ署名方式とし、且つリプレゼンテーションｋｉ１，ｋｉ２をメンバ秘密鍵とし、リボークされたメンバのリプレゼンテーションの一部ｋｉ１をリボケーションリストに含むグループ署名方式を実現したことにより、従来の［ＣＧ０４］方式、［ＦＩ０５］方式と［ＤＰ０６］方式に比べ、計算量を減らして計算速度を向上することができる。さらに、本発明のグループ署名では、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割することができ、従来の濡れ衣回避性（Non-Frameability）を少し弱めた弱濡れ衣回避性（Weak Non-Frameability）と自己追跡性（Self-Traceability）も同時に実現できる。
【００１７】
なお、以上の局面は、各装置からなる「システム」として表現したが、これに限らず、各装置の集合又は装置毎の「装置」、「プログラム」、「コンピュータ読み取り可能な記憶媒体」又は「方法」として表現してもよい。
【発明の効果】
【００１８】
以上説明したように本発明によれば、リボケーション機能を実現しつつ計算量を減らして計算速度を向上できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施形態について図面を参照して詳細に説明するが、その前に本発明の一実施形態に係るグループ署名方式（以下、実施形態方式という）の概要を述べる。
【００２０】
実施形態方式は極めて効率が良いことが最大の特長である。高速にベキ乗剰余演算を行う手法である指数同時乗算（Simultaneous Multiple Exponentiation）法を用いた場合、[ＣＧ０４]方式がＲＳＡ署名生成の８倍以上の計算量であるのに対し、実施形態方式ではＲＳＡ署名生成のわずか４倍程度の計算量で署名生成を行える。また、指数同時乗算法では底の値によってテーブルの事前計算を行う必要があるが、実施形態方式ではベキ乗剰余演算の底が常に固定であるため、テーブルの事前計算を毎回行う必要がなく、テーブルを保持することで計算量をさらに若干減らすことができる。なお、双線形写像を利用する［ＦＩ０５］方式と［ＤＰ０６］方式は双線形写像の実装によって計算速度が大きく異なるため単純に比較することはできないが、これらの方式は現在最速の双線形写像実装技術を考慮しても［ＣＧ０４］方式と同程度の速度であるため、実施形態方式の方が十分に高速である。
【００２１】
さらに、実施形態方式は署名生成に利用するメンバ秘密鍵が非常に短く、そのビット長は[ＣＧ０４]方式の１/１０、ＲＳＡ方式の１/９でしかない。
【００２２】
[ＡＣＪＴ００]方式や[ＣＧ０４]方式の安全性が強ＲＳＡ問題に基づき、［ＦＩ０５］方式と［ＤＰ０６］方式は双線形群における仮定に基づくのに対し、実施形態方式は、安全性がＤＤＨ（decisional Diffie-Hellman）問題に基づいている。これに伴い、実施形態方式は、楕円曲線上でも効率よく実装でき、署名長及び鍵長を大幅に短縮でき、高速化が可能となる。実施形態方式はＤＤＨ問題のみに基づく効率的なグループ署名として最初の方式である。さらに、実施形態方式は、単純な演算の組み合わせで実装可能であるため、広範囲のプラットフォーム上での応用が期待できる。
【００２３】
なお、実施形態方式では、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割することができ、従来の濡れ衣回避性（Non-Frameability）を少し弱めた弱濡れ衣回避性（Weak Non-Frameability）と自己追跡性（Self-Traceability）も同時に実現できる。
【００２４】
＜グループ署名＞
以下では、実施形態方式の前提となるグループ署名の機能と安全性について定義する。
【００２５】
［グループ署名の機能］
効率のよい既存方式のほとんどは、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書として利用する。実施形態方式では、グループ管理者の署名を利用しないため、従来方式のメンバ証明書と区別するために署名者特定情報（tracing information）という用語を用いる。グループ署名においては、暗号化された署名者特定情報と、署名者特定情報が正しく暗号化されていることを示す非対話的知識証明と、メンバ秘密鍵及び署名者特定情報を持っていることを示す非対話的知識証明とが含まれることはメンバ証明書を利用した方式と同様である。
【００２６】
グループ署名方式ＧＳは以下の８つの多項式時間アルゴリズムＧＫｇ，ＭＫｇ，ＧＳｉｇ，ＧＶｆ，Ｃｌａｉｍ，Ｏｐｅｎ，Ｊｕｄｇｅ，Ｒｅｖｏｋｅから成る。
【００２７】
［グループ鍵セット生成アルゴリズムＧＫｇ］
グループ鍵セット生成アルゴリズムＧＫｇは、セキュリティパラメータｋを入力とし、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋと署名者特定用秘密鍵ｏｋを生成して出力するための、グループ管理者が実行する確率的多項式時間アルゴリズムである。
【００２８】
［メンバ秘密鍵生成アルゴリズムＭＫｇ］
グループの最大メンバ数をｎとし、メンバのＩＤを１，．．．，ｎとする。メンバ秘密鍵生成アルゴリズムＭＫｇは、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋ、メンバのＩＤ＝ｉ∈｛１，．．．，ｎ｝を入力とし、メンバ秘密鍵ｇｓｋ［ｉ］、それに対応する署名者特定情報Ｔｉとリボケーショントークンｇｒｔ［ｉ］を生成して出力するための、グループ管理者またはメンバ秘密鍵生成者が実行する確率的多項式時間アルゴリズムである。
【００２９】
［署名生成アルゴリズムＧＳｉｇ］
署名生成アルゴリズムＧＳｉｇは、グループ公開鍵ｇｐｋ、メンバ秘密鍵ｇｓｋ［ｉ］、署名者特定情報Ｔｉ、メッセージｍｓｇを入力とし、グループ署名σを生成して出力するための、署名者が実行する確率的多項式時間アルゴリズムである。
【００３０】
［署名検証アルゴリズムＧＶｆ］
署名検証アルゴリズムＧＶｆは、グループ公開鍵ｇｐｋ、メッセージｍｓｇ、グループ署名σとリボケーションリストＲＬを入力とし、署名が正しければ有効（valid）を、正しくなければ無効（invalid）を出力するための、検証者が実行する確定的多項式時間アルゴリズムである。
【００３１】
［署名生成証明アルゴリズムＣｌａｉｍ］
署名生成証明アルゴリズムＣｌａｉｍは、自己追跡性（Self-Traceability）を実現するための、署名者と検証者の間の２者間対話的プロトコルである。グループ公開鍵ｇｐｋ、メッセージｍｓｇ、グループ署名σが両者への共通入力であり、メンバ秘密鍵ｇｓｋ［ｉ］が署名者へ秘密の情報として与えられる。プロトコルの最後に検証者は当該グループ署名σが対話的プロトコルを実行した署名者によって生成されたかを表す真（true）または偽（false）を出力する。
【００３２】
［署名者特定アルゴリズムＯｐｅｎ］
署名者特定アルゴリズムＯｐｅｎは、グループ公開鍵ｇｐｋ、グループ秘密鍵ｇｍｓｋ、メッセージｍｓｇ、グループ署名σを入力とし、署名が正しければその署名を生成したユーザのＩＤ＝ｉと署名者情報正当性証明τを、正しくなければ無効（invalid）を出力するための、グループ管理者または署名者特定者が実行する確率的多項式時間アルゴリズムである。なお、グループ秘密鍵ｇｍｓｋは、メンバ秘密鍵生成用秘密鍵ｉｋ（ａ，ｂ）及び署名者特定用秘密鍵ｏｋ（ｘ１，ｘ２，ｙ１，ｙ２，ｚ）から構成されている。
【００３３】
［署名者特定結果検証アルゴリズムＪｕｄｇｅ］
署名者特定結果検証アルゴリズムＪｕｄｇｅは、グループ公開鍵ｇｐｋ、グループ署名σ、その署名から特定されたユーザのＩＤ＝ｉと署名者情報正当性証明τを入力とし、署名者特定が正しく行われたかどうかを表す真（true）または偽（false）を出力するための、検証者が実行する確定的多項式時間アルゴリズムである。
【００３４】
［メンバリボークアルゴリズムＲｅｖｏｋｅ］
メンバリボークアルゴリズムＲｅｖｏｋｅは、リボケーショントークンの集合ｇｒｔ＿ｓｅｔとリボークされたユーザのＩＤの集合ＲＵを入力とし、リボケーションリストＲＬを生成して出力するための、グループ管理者またはリボケーション管理者が実行する確定的多項式時間アルゴリズムである。
【００３５】
［グループ署名の安全性］
グループ署名の安全性について当初は数多くの要件が定義されていた。その後、ベラー（Bellare）らが、静的グループ（static group）および動的グループ（dynamic group）のグループ署名の安全性の要件をまとめている。なお、静的グループとは、メンバの追加・削除機能を持たず一度グループが生成されるとメンバの変更がないグループをいい、動的グループとはその変更があるグループをいう。ここで、ベラーの要件は非常に厳しいものであり、グループメンバ全員の結託に対する安全性が考慮されている。このため、一般的には、ベラーの要件を弱めて安全性が定義されている。ここでは、ベラーの要件に基づき、グループ管理者やメンバの結託がない場合の安全性を再定義する。
【００３６】
以下の正当性（correctness）、匿名性（anonymity）、追跡可能性（traceability）、弱濡れ衣回避性（Weak Non-Frameability）の４つの性質を持つとき、グループ署名方式ＧＳは安全であるという。
【００３７】
［１．正当性（correctness）］
ＧＶｆ（ｇｐｋ，ｍｓｇ，ＧＳｉｇ（ｇｓｋ［ｉ］，ｍｓｇ））＝ valid かつ  
Ｏｐｅｎ（ｇｍｓｋ，ｍｓｇ，ＧＳｉｇ（ｇｓｋ［ｉ］，ｍｓｇ））＝ｉ  
すなわち、正しく生成された署名は、署名検証アルゴリズムＧＶｆにより検証に成功し、署名者特定アルゴリズムＯｐｅｎにより署名者を特定できる。
【００３８】
［２．匿名性（anonymity）］
以下の攻撃を考える。
【００３９】
（１）セットアップ：鍵生成アルゴリズムＧＫｇ（１＾ｋ）を実行し、さらにメンバ秘密鍵生成アルゴリズムＭＫｇをｉ∈｛１，．．．，ｎ｝に対して実行して、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋと署名者特定用秘密鍵ｏｋ、メンバ秘密鍵の集合ｇｓｋ＿ｓｅｔ、署名者特定情報の集合Ｔ＿ｓｅｔ、リボケーショントークンの集合ｇｒｔ＿ｓｅｔを生成し、敵（adversary）Ａにｇｐｋ、Ｔ＿ｓｅｔ、ｇｓｋ［ｕ］を与える。
【００４０】
（２）質問（queries）：敵ＡはＧＳｉｇ，Ｏｐｅｎ，Ｒｅｖｏｋｅ，Ｃｌａｉｍに対する任意の質問を行える。
【００４１】
（３）チャレンジ（challenge）：敵ＡはメッセージｍｓｇとユーザＩＤ ｉ０，ｉ１を出力する。このときｕ＝ｉ０またはｕ＝ｉ１であってはならない。挑戦者（challenger）は、ユーザＩＤ ｂ←｛０，１｝をランダムに選び、グループ署名σ＊←ＧＳｉｇ（ｇｐｋ，ｇｓｋ［ｉｂ］，ｍｓｇ）を計算して敵Ａに返す。
【００４２】
（４）限定された質問（restricted queries）: 敵Ａは以下の２つの制約を除き、ＧＳｉｇ，Ｏｐｅｎ，Ｒｅｖｏｋｅ，Ｃｌａｉｍに対する任意の質問を行える。（ａ）ｉ０またはｉ１についてＲｅｖｏｋｅに対して質問してはならない（ｂ）σについてＯｐｅｎまたはＣｌａｉｍに対して質問してはならない
（５）出力（output）：敵Ａは、ｂ’を出力する。  
すべての多項式時間アルゴリズムＡに対して確率｜Ｐｒ［ｂ＝ｂ’］−１／２｜が無視できるとき、グループ署名方式は匿名性（anonymity）を持つという。
【００４３】
［３．追跡可能性（traceability）］
以下の攻撃を考える。
【００４４】
（１）セットアップ（setup）：鍵生成アルゴリズムＧＫｇ（１＾ｋ）を実行し、さらにメンバ秘密鍵生成アルゴリズムＭＫｇをｉ∈｛１，．．．，ｎ｝に対して実行して、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋと署名者特定用秘密鍵ｏｋ、メンバ秘密鍵の集合ｇｓｋ＿ｓｅｔ、署名者特定情報の集合Ｔ＿ｓｅｔ、リボケーショントークンの集合ｇｒｔ＿ｓｅｔを生成し、敵（adversary）Ａにｇｐｋ、ｏｋ、ｇｒｔ＿ｓｅｔ、Ｔ＿ｓｅｔ、ｇｓｋ［ｕ］を与える。
【００４５】
（２）質問（queries）：敵ＡはＧＳｉｇ，Ｃｌａｉｍに対する任意の質問を行える。
【００４６】
（３）応答（response）：敵Ａはメッセージｍｓｇ＊とグループ署名σ＊を出力する。署名者特定アルゴリズムＯｐｅｎの結果がＯｐｅｎ（ｇｍｓｋ，ｍｓｇ＊，σ＊）＝ｉ≠ｕであり、ｉ、ｍｓｇ＊が署名質問(signing query)で指定されていないとき、“敵Ａは攻撃に成功した”という。すべての多項式時間アルゴリズムＡの成功確率が無視できるとき、グループ署名方式は追跡可能性（traceability）を持つという。
【００４７】
［４．弱濡れ衣回避性（Weak Non-Frameability）］
ベラーらの濡れ衣回避性の定義ではグループ管理者またはメンバ秘密鍵生成者による不正までが考慮されているが、本発明ではその不正までは考慮せず、以下に示すように弱濡れ衣回避性として定義を弱める。
【００４８】
以下の攻撃を考える。
【００４９】
（１）セットアップ（setup）：鍵生成アルゴリズムＧＫｇ（１＾ｋ）を実行し、さらにメンバ秘密鍵生成アルゴリズムＭＫｇをｉ∈｛１，．．．，ｎ｝に対して実行して、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋと署名者特定用秘密鍵ｏｋ、メンバ秘密鍵の集合ｇｓｋ＿ｓｅｔ、署名者特定情報の集合Ｔ＿ｓｅｔ、リボケーショントークンの集合ｇｒｔ＿ｓｅｔを生成し、敵（adversary）Ａにｇｐｋ、ｏｋ、ｇｒｔ＿ｓｅｔ、Ｔ＿ｓｅｔ、ｇｓｋ［ｕ］を与える。
【００５０】
（２）質問（queries）：敵ＡはＧＳｉｇ，Ｃｌａｉｍに対する任意の質問を行える。
【００５１】
（３）応答（response）：敵Ａはメッセージｍｓｇ＊、グループ署名σ＊ユーザＩＤ＝ｉ＊と署名者情報正当性証明τ＊を出力する。
【００５２】
署名検証アルゴリズムＧＶｆの結果がＧＶｆ（ｇｐｋ，ｍｓｇ＊，σ＊）＝validかつｉ＊≠ｕかつＪｕｄｇｅ（ｇｐｋ，ｉ＊，ｍｓｇ＊，σ＊，τ＊）＝trueであり、ｉ＊、ｍｓｇ＊が署名質問(signing query)で指定されていないとき、“敵Ａは攻撃に成功した”という。すべての多項式時間アルゴリズムＡの成功確率が無視できるとき、グループ署名方式は弱濡れ衣回避性（Weak Non-Frameability）を持つという。
【００５３】
＜準備＞
以下では、実施形態方式を理解するうえで重要なＤＤＨ（decisional Diffie-Hellman）問題、リプレゼンテーション（representation）、クラメル−シャウプ（Cramer-Shoup）暗号について説明する。
【００５４】
［ＤＤＨ問題］
素数位数ｑの乗法巡回群をＧとする。ランダムな４つ組（quadruples）（Ｇ１，Ｇ２，Ｕ１，Ｕ２）∈ｇＧ４の分布をＲとする。Ｇ１，Ｇ２∈ｇＧとｒ∈Ｚｑ＊とをランダムに選び、Ｕ１＝Ｇｒ、Ｕ２＝Ｇｒとした４つ組（Ｇ１，Ｇ２，Ｕ１，Ｕ２）∈ｇＧ４の分布をＤとする。このとき、任意に与えられた４つ組（Ｇ１，Ｇ２，Ｕ１，Ｕ２）が分布Ｒ，Ｄのいずれに属するかを見分ける問題をＤＤＨ問題と呼ぶ。実施形態方式の安全性はＤＤＨ問題の困難性に帰着される。
【００５５】
なお、離散対数問題（discrete logarithm problem）を解くことができればＤＨ問題（Diffie-Hellman problem）を解くことができ、ＤＨ問題を解くことができればＤＤＨ問題を解くことができる。ＤＨ問題は、与えられたＧ，Ｇｘ，Ｇｙから、Ｇｘｙを計算する問題である。離散対数問題は、与えられたＧ，Ｇｘから、ｘを計算する問題である。これらＤＤＨ問題、ＤＨ問題及び離散対数問題は、いずれも解くことが困難であると信じられている。
【００５６】
［リプレゼンテーション（representation）］
乗法巡回群Ｇ上の演算において、Ｈ＝Ｇ１＾｛ｅ１｝Ｇ２＾｛ｅ２｝…Ｇｋ＾｛ｅｋ｝を満たす（ｅ１，ｅ２，…，ｅｋ）を、Ｇ１，Ｇ２，…，Ｇｋを底としたＨのリプレゼンテーションと呼ぶ。なお、“＾”はベキ乗を表す記号である。
【００５７】
リプレゼンテーションは、暗号理論の分野でも古くは緩和離散対数（relaxed discrete log（ＲＤＬ））として用いられ、その後もしばしば用いられている。１９９７年のカメニッシュの方式では、シュノア（Schnorr）署名を応用したリプレゼンテーションの非対話的知識証明が用いられている。実施形態方式ではメンバ秘密鍵をリプレゼンテーションとし、グループ署名にはリプレゼンテーションについての非対話的知識証明を含んでいる。
【００５８】
［クラメル−シャウプ（Cramer-Shoup）暗号］
実施形態方式では、署名者特定情報の暗号化にクラメル−シャウプ暗号を利用する。但し、実施形態方式はクラメル−シャウプ暗号に限定されない。  
以下にクラメル−シャウプ暗号を説明する。
【００５９】
［公開鍵（public key）・秘密鍵（private key）ペア生成］
公開パラメータとして素数位数ｑの乗法巡回群ｇＧとその生成元Ｇ１と汎用一方向性ハッシュ（universal one-way hash）関数を入力とし、以下の処理を行う。
【００６０】
（１）Ｇ１，Ｇ２∈ｇＧをランダムに選択する。  
（２）ｘ１，ｘ２，ｙ１，ｙ２，ｚ∈Ｚｑ＊をランダムに選択する。  
（３）Ｃ＝Ｇ１＾｛ｘ１｝Ｇ２＾｛ｘ２｝、Ｄ＝Ｇ１＾｛ｙ１｝Ｇ２＾｛ｙ２｝、Ｈ＝Ｇ１ｚを計算する。  
（４）ハッシュ関数Ｈａｓｈを汎用一方向性ハッシュ関数の集合から選択する。  
（５）公開鍵ｐｋ＝（Ｇ１，Ｇ２，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、秘密鍵ｓｋ＝（ｘ１，ｘ２，ｙ１，ｙ２，ｚ）を出力する。
【００６１】
［暗号化］
公開鍵ｐｋ＝（Ｇ１，Ｇ２，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、メッセージｍ∈Ｇを入力とし、以下の処理を行う。
【００６２】
（１）ｒ∈Ｚｑ＊をランダムに選択する。  
（２）Ｕ１＝Ｇ１ｒ、Ｕ２＝Ｇ２ｒ、Ｅ＝Ｈｒｍを計算する。  
（３）α＝Ｈａｓｈ（Ｕ１，Ｕ２，Ｅ）を計算する。  
（４）Ｖ＝ＣｒＤｒαを計算する。  
（５）暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ）を出力する。
【００６３】
［復号］
暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ）を入力とし、以下の処理を行う。
【００６４】
（１）α＝Ｈａｓｈ（Ｕ１，Ｕ２，Ｅ）を計算する。  
（２）Ｕ１＾｛ｘ１＋ｙ１α｝Ｕ２＾｛ｘ２＋ｙ２α｝＝Ｖが成り立つか否かを検証し、否の場合には無効な暗号文として拒絶して処理を終了する。  
（３）ｍ＝Ｅ／Ｕ１ｚを計算し、平文として出力する。  
以上がクラメル−シャウプ暗号の処理である。
【００６５】
＜実施形態方式の概要＞
続いて、実施形態方式の概要を説明する。
【００６６】
本実施形態は、離散対数ベースの方式により、グループ署名方式の高速化を図るものである。理由は、ＲＳＡベースの方式ではベキ指数が長いので、位数を知らない群における非対話的知識証明の効率が低いため、全体的な効率も低いからである。なお、[ＡＣＪＴ００]方式や[ＣＧ０４]方式もＲＳＡベースの方式であるため、実施形態方式に比べ、効率が低い。
【００６７】
補足すると、[ＡＣＪＴ００]方式がＲＳＡベースの方式であるのに対し、[ＣＧ０４]方式は一部を離散対数ベースとして大幅に効率を改善したが、ＲＳＡベースの部分も残っている。これに対し、実施形態方式では全て離散対数ベースの方式として高速化を図っている。
【００６８】
実施形態方式は、さらにリプレゼンテーションをメンバ秘密鍵としている。離散対数が秘密鍵の場合、１つの公開鍵に対して１つの秘密鍵しか持てない。これに対し、リプレゼンテーションが秘密鍵の場合、１つの公開鍵に対して複数の秘密鍵を作れるため、多数のメンバをもつグループに適している。キヤヤス（Kiayias）らの方式でもリプレゼンテーションを用いるが、署名者特定情報としてリプレゼンテーション自体を用いるため、効率が低い。
【００６９】
これに対し、実施形態方式では、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、効率が高い。
【００７０】
（第１の実施形態）
図１は本発明の一実施形態に係るグループ署名システムの構成を示す模式図である。このグループ署名システムは、互いに通信可能な１台のグループ管理者装置１０、ｎ台の署名者装置２０１，…，２０ｉ，…，２０ｊ，…，２０ｎ及び１台の検証者装置３０を備えている。各装置１０，２０１，…，２０ｎ，３０は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体Ｍから対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。また、各署名者装置２０１，…，２０ｎは、互いに同一のハードウェア構成のため、以下の説明ではｉ番目の署名者装置２０ｉを代表させて述べる。また、本実施形態のグループ署名方式は、後述する図８乃至図１５に一例を示すように、クラメル−シャウプ暗号を暗号化方式に用い、シュノア（Schnorr）署名を応用した方式を零知識証明方式に用いているが、これらの暗号化方式及び零知識証明方式には限定されない。すなわち、本実施形態のグループ署名方式は、図８乃至図１５に示した方式に限らず、他の暗号化方式及び零知識証明方式を用いても実現可能となっている。
【００７１】
ここで、グループ署名管理者装置１０は、図２に示すように、グループ管理者用記憶部１１、入力部１２、通信部１３、グループ鍵生成部１４、メンバ秘密鍵生成部１５、署名検証部１６、署名者特定部１７、リボケーションリスト生成部１８及び出力部１９を備えている。
【００７２】
グループ管理者用記憶部１１は、各部１２〜１８からアクセス可能な記憶装置であり、図３に示すように、公開パラメータ、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋ、署名者特定用秘密鍵ｏｋ、メンバ情報、ユーザ管理情報、計算テーブル、メッセージ、グループ署名及び署名者情報が記憶される。
【００７３】
公開パラメータは、グループ署名方式に用いる素数位数ｑと、ｑの乗法巡回群ｇＧの生成元Ｇ１とを少なくとも含んでおり、ここでは更にハッシュ関数Ｈａｓｈを含んでいる。
【００７４】
メンバ秘密鍵生成用秘密鍵ｉｋは、公開パラメータに基づいて選択された値ａ，ｂ∈Ｚｑ＊を少なくとも含んでいる。
【００７５】
署名者特定用秘密鍵ｏｋは、暗号化方式の復号用秘密鍵を少なくとも含んでおり、ここでは値ｘ１，ｘ２，ｙ１，ｙ２，ｚ∈Ｚｑ＊を含んでいる。
【００７６】
グループ公開鍵ｇｐｋは、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び生成元Ｇ１を少なくとも含んでおり、ここでは更に値Ｃ，Ｄ，Ｈ及びハッシュ関数Ｈａｓｈを含んでいる。なお、Ｃ＝Ｇ１＾｛ｘ１｝Ｇ２＾｛ｘ２｝、Ｄ＝Ｇ１＾｛ｙ１｝Ｇ２＾｛ｙ２｝、Ｈ＝Ｇ１ｚである。
【００７７】
メンバ情報は、ユーザ識別情報ＩＤ（ｉ）毎に、メンバ秘密鍵ｇｓｋ［ｉ］、リボケーショントークンｇｒｔ［ｉ］及び署名者特定情報Ｔｉが互いに関連付けられてなる情報である（１≦ｉ≦ｎ）。ここで、リボケーショントークンｇｒｔ［ｉ］は、メンバのメンバ秘密鍵ｇｓｋ［ｉ］内のリプレゼンテーションの一部ｋｉ１であり、当該メンバがリボーク（無効化）された場合、リボケーションリストに登録される情報である。リボケーションリスト（図示せず）は、リボークされたメンバに対応するリボケーショントークンｇｒｔ［ｉ］のリストである。
【００７８】
ユーザ管理情報は、ユーザ識別情報ＩＤ（ｉ）毎に、ユーザ情報が関連付けられてなる情報である（１≦ｉ≦ｎ）。ユーザ情報は、例えばユーザの名前及び連絡先情報（電話番号、電子メールアドレスなど）を含んでおり、グループ署名の目的が電子商取引の場合には更に決済情報を含んでいる。
【００７９】
計算テーブルは、各部１４〜１６が指数同時乗算（simultaneous multiple exponentiation）法を用いる場合に参照される情報である。指数同時乗算法は、Ｇ１＾｛ｅ１｝Ｇ２＾｛ｅ２｝…Ｇｋ＾｛ｅｋ｝の形の計算を高速に実行する方法であり、最大２ｋ回の掛け算を予め実行し、最大２ｋの大きさの計算テーブルを作成する必要がある。このため、底Ｇ１，…，Ｇｋの個数ｋに応じて計算テーブルに必要なメモリ量が大きくなる。但し、底が固定であれば、毎回計算テーブルを作る必要がなく、事前計算によってベキ乗１回分程度の計算量で計算できる。すなわち、例えばＧ１＾｛ｅ１｝Ｇ２＾｛ｅ２｝というベキ乗２回分の計算であっても、計算テーブルの参照により、ベキ乗１回分の計算量で実行できる。したがって、グループ管理者及び検証者装置として‘１’，‘Ｇ１’，‘Ｇ２’，‘Ｇ１×Ｇ２’，‘Ｆ’，‘Ｆ×Ｇ１’，‘Ｆ×Ｇ２’，‘Ｆ×Ｇ１×Ｇ２’と‘１’，‘Ｈ’，‘Ｇ１’，‘Ｈ×Ｇ１’を、署名者装置として‘１’，‘Ｈ’，‘Ｇ１’，‘Ｈ×Ｇ１’と‘１’，‘Ｃ’，‘Ｄ’，‘Ｃ×Ｄ’をそれぞれ計算テーブルとして持てば、後述するステップＳＴ４，ＳＴ５，ＳＴ３４，ＳＴ３６，ＳＴ４２，ＳＴ４４，ＳＴ５２，ＳＴ５４，ＳＴ６２，ＳＴ６４でのベキ乗２回または３回分の計算がベキ乗１回分の計算量で実行可能となる。
【００８０】
メッセージｍｓｇは、署名者装置２０ｉにより生成された任意の情報である。
【００８１】
グループ署名σは、後述する暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）と、零知識証明（β，ｓ１，ｓ２，ｓｒ）とからなり、署名者装置２０ｉにより生成された情報である。
【００８２】
入力部１２は、グループ管理者装置１０内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
【００８３】
通信部１３は、グループ管理者装置１０内部と外部との間の通信インターフェイスである。通信部１３は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Ｔｉを暗号化通信などの安全な手法により、署名者装置２０１〜２０ｎに送信する機能をもっている。また、通信部１３は、例えば、グループ署名方式におけるグループ署名を検証するための公開パラメータ、グループ公開鍵及びリボケーションリストを検証者装置３０に送信する機能をもっている。
【００８４】
グループ鍵生成部１４は、セキュリティパラメータに基づいて公開パラメータを生成してグループ管理者用記憶部１１内に記憶し、その公開パラメータに基づいて、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、第１関係式Ｇ２＝Ｇ１ａ及び第２関係式Ｆ＝Ｇ１ｂを満たす値Ｇ２，Ｆ及び生成元Ｇ１を含むグループ公開鍵とを生成するものである。ここでは、グループ鍵生成部１４は、図８に示す処理を実行する機能をもっている。なお、グループ鍵生成部１４は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよく、このことはメンバ秘密鍵生成部１５及び署名検証部１６でも同様である。
【００８５】
メンバ秘密鍵生成部１５は、グループ秘密鍵、グループ公開鍵及び第３関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、第４関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出すると共に、メンバ秘密鍵及び生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出するものである。ここでは、メンバ秘密鍵生成部１５は、図９及び図１０に示す処理を実行する機能をもっている。また、ｇｒｔ［ｉ］＝ｋｉ１であるものとする。
【００８６】
署名検証部１６は、グループ管理者用記憶部１１内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名内の零知識証明の正当性を検証すると共に、グループ管理者用記憶部１１内のグループ署名、グループ秘密鍵及びグループ公開鍵に基づいて、当該グループ署名内の暗号文データの正当性を検証するものである。ここでは、署名検証部１６は、後述する図１６に示す処理を実行する機能をもっている。
【００８７】
署名者特定部１７は、グループ管理者用記憶部１１内のグループ署名及びグループ秘密鍵に基づいて、ユーザＩＤ＝ｉを算出するものである。ここでは、署名者特定部１７は、後述する図１７に示す処理を実行する機能をもっている。
【００８８】
リボケーションリスト生成部１８は、リボークされたメンバのリプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成する機能をもっている。具体的にはリボケーションリスト生成部１８は、グループ管理者用記憶部１１内のメンバ情報の一部として記憶されたリボケーショントークンの集合と、予めグループ管理者用記憶部１１に記憶されたリボークされたメンバを示すユーザＩＤの集合ＲＵ（図示せず）とに基づき、当該集合ＲＵ内のユーザＩＤ（ｉ）に対応するリボケーショントークンｇｒｔ［ｉ］をメンバ情報から抽出してリスト化することにより、リボケーションリストを生成する機能をもっている。
【００８９】
出力部１９は、グループ管理者装置１０内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
【００９０】
署名者装置２０ｉは、図４に示すように、署名者用記憶部２１、入力部２２、通信部２３、メッセージ作成部２４、グループ署名生成部２５、署名者同一性証明部２６及び出力部２７を備えている。
【００９１】
署名者用記憶部２１は、各部２２〜２６からアクセス可能な記憶装置であり、図５に示すように、公開パラメータ、グループ公開鍵ｇｐｋ、計算テーブル、メンバ秘密鍵、署名者特定情報、メッセージ及びグループ署名が記憶される。
【００９２】
入力部２２は、署名者装置２０ｉ内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
【００９３】
通信部２３は、署名者装置２０ｉ内部と外部との間の通信インターフェイスである。通信部２３は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Ｔｉを暗号化通信などの安全な手法により、グループ管理者装置１０から受信する機能をもっている。また、通信部２３は、例えば、署名者の入力部２２の操作により、署名者用記憶部２１内の暗号文データ及び零知識証明からなるグループ署名と、メッセージとを検証者装置３０に送信する機能をもっている。
【００９４】
メッセージ作成部２４は、署名者の入力部２２の操作により、メッセージｍｓｇを作成して署名者用記憶部２１に書き込む機能をもっている。
【００９５】
グループ署名生成部２５は、署名者用記憶部２１内の公開パラメータ及びグループ公開鍵に基づいて署名者特定情報Ｔｉを暗号化し、当該署名者特定情報Ｔｉの暗号文データを生成して署名者用記憶部２１に書き込む機能をもっている。また、グループ署名生成部２５は、署名者用記憶部２１内の公開パラメータ、グループ公開鍵、メンバ秘密鍵及びメッセージと、署名者特定情報Ｔｉの暗号文データとに基づいて、当該メンバ秘密鍵及び当該署名者特定情報Ｔｉを知っていることを示す零知識証明を生成し、零知識証明を暗号文データに関連付けて署名者用記憶部２１に書き込む機能をもっている。なお、暗号文データと零知識証明とはグループ署名を構成する。また、ここでは、グループ署名生成部２５は、図１１及び図１２に示す処理を実行する機能をもっている。また、図１２に示す零知識証明においては、暗号化された署名者特定情報Ｔｉを知っていることと、リプレゼンテーションの一つを知っていることと、署名者特定情報Ｔｉが正しく暗号化されていることの、メッセージｍｓｇに基づく零知識証明となっている。また、グループ署名生成部２５は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよい。
【００９６】
署名者同一性証明部２６は、図１５に示す処理のうち署名者同一性証明処理を実行する機能をもっている。
【００９７】
出力部２７は、署名者装置２０ｉ内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
【００９８】
検証者装置３０は、図６に示すように、検証者用記憶部３１、入力部３２、通信部３３、署名検証部３４、署名者同一性検証部３５、署名者情報正当性証明検証部３６及び出力部３７を備えている。
【００９９】
検証者用記憶部３１は、各部３２〜３５からアクセス可能な記憶装置であり、図７に示すように、公開パラメータ、グループ公開鍵ｇｐｋ、リボケーションリストＲＬ、計算テーブル、メッセージ及びグループ署名が記憶される。
【０１００】
入力部３２は、検証者装置３０内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
【０１０１】
通信部３３は、検証者装置３０内部と外部との間の通信インターフェイスである。通信部３３は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵及びリボケーションリストを暗号化通信などの安全な手法により、グループ管理者装置１０から受信する機能をもっている。また、通信部３３は、例えば、暗号文データ及び零知識証明からなるグループ署名と、メッセージとを署名者装置２０ｉから受信する機能と、受信したグループ署名とメッセージとを検証者用記憶部３１に書き込む機能と、署名検証部３４による検証結果を署名者装置２０ｉに送信する機能と、必要に応じて署名者特定のためにメッセージとグループ署名をグループ管理者装置１０に送信する機能とをもっている。
【０１０２】
署名検証部３４は、検証者用記憶部３１内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名の正当性を検証し、検証結果を通信部３３及び出力部３７に送出するものである。ここでは、署名検証部３４は、図１３及び図１４に示す処理を実行する機能をもっている。また、署名検証部３４は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよい。
【０１０３】
署名者同一性検証部３５は、図１５に示す処理のうち署名者同一性検証処理を実行する機能をもっている。
【０１０４】
出力部３７は、検証者装置３０内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。出力部３５は、例えば署名検証部３４から受けた検証結果を表示する。
【０１０５】
グループ管理者装置１０は機能ごとに、メンバ秘密鍵生成者装置１０１、署名者特定者装置１０２及びリボケーション管理者装置１０３に分割できる。それぞれの装置と記憶部は図２２と図２３、図２４と図２５及び図２６と図２７に示される。いずれもグループ管理者装置と比べて処理部と記憶する情報（特に秘密情報）が少ないことから、グループ管理者装置として全機能を処理する場合と比較して高いセキュリティと柔軟な運用が実現できることが分かる。なお、このグループ管理者装置１０を分割した構成については、第２の実施形態で具体的に述べる。
【０１０６】
署名者装置２０ｉから署名者同一性証明機能のみを分離させて署名者同一性証明機能２０１ｉとすることもできる。その装置と記憶部は図２８と図２９に示される。この場合も署名者装置と比べて処理部と記憶する情報（特に秘密情報）が少なく、高いセキュリティと柔軟な運用が実現できることが分かる。なお、この署名者同一性証明機能を分離した構成については、第３の実施形態で具体的に述べる。
【０１０７】
次に、以上のように構成されたグループ署名システムの動作を図８乃至図２０のフローチャートを用いて説明する。
【０１０８】
（グループ鍵セット生成：図８）
グループ管理者装置１０では、グループ管理者の入力部１２の操作により、セキュリティパラメータｋが入力された後、グループ鍵生成部１４が起動されたとする。
【０１０９】
グループ鍵生成部１４は、ｋビットの素数ｑ、位数 q の乗法巡回群ｇＧ、ｇＧの生成元Ｇ１、汎用一方向性ハッシュ関数Ｈａｓｈを生成または選択し、公開パラメータとして（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）をグループ管理者用記憶部１１に保存する（ＳＴ１）。
【０１１０】
グループ鍵生成部１４は、グループ管理者用記憶部１１内の素数位数ｑを参照し、グループ秘密鍵ｇｍｓｋを構成する７つ組（ａ，ｂ，ｘ１，ｘ２，ｙ１，ｙ２，ｚ）∈Ｚｑ＊７をランダムに選択する（ＳＴ２）。なお、Ｚｑ＊は、１以上ｑ未満の整数の集合｛１，…，ｑ−１｝である。また、ａ，ｂは、複数のリプレゼンテーションを効率よく計算するために必要な値である。
【０１１１】
続いて、グループ鍵生成部１４は、グループ管理者用記憶部１１内の生成元Ｇ１とステップＳＴ２で得られた７つ組とに基づいて、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ、Ｃ＝Ｇ１＾｛ｘ１｝Ｇ２＾｛ｘ２｝、Ｄ＝Ｇ１＾｛ｙ１｝Ｇ２＾｛ｙ２｝、Ｈ＝Ｇ１ｚを計算する（ＳＴ３〜ＳＴ７）。Ｇ１，Ｇ２はＦのリプレゼンテーションの底である。
【０１１２】
また、グループ鍵生成部１４は、グループ管理者用記憶部１１内の公開パラメータから汎用一方向性ハッシュ関数Ｈａｓｈを読み出す。
【０１１３】
しかる後、グループ鍵生成部１４は、メンバ秘密鍵生成用秘密鍵ｉｋ＝（ａ，ｂ）と、署名者特定用秘密鍵ｏｋ＝（ｘ１，ｘ２，ｙ１，ｙ２，ｚ）と、グループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）とをグループ管理者用記憶部１１に保存する（ＳＴ８）。なお、メンバ秘密鍵生成用秘密鍵ｉｋ及び署名者特定用秘密鍵ｏｋはグループ秘密鍵ｇｍｓｋを構成する。
【０１１４】
これにより、グループ鍵生成部１４は、グループ公開鍵ｇｐｋ、メンバ秘密鍵生成用秘密鍵ｉｋ及び署名者特定用秘密鍵ｏｋの生成完了メッセージを出力部１９に送出し、処理を終了する。出力部１９は、この生成完了メッセージを表示出力する。
【０１１５】
（メンバ秘密鍵生成：図９）
グループ管理者装置１０では、予めグループ管理者の入力部１２の操作により、メンバ数ｎに対応するｎ人分のユーザ識別情報ＩＤ（１），…，ＩＤ（ｉ），…，ＩＤ（ｊ），…，ＩＤ（ｎ）がグループ管理者用記憶部１１に保存されたとする。なお、ユーザ識別情報ＩＤ（１），…，ＩＤ（ｎ）は、メンバ数ｎが入力されたメンバ秘密鍵生成部１５により生成され、メンバ秘密鍵生成部１５からグループ管理者用記憶部１１に書き込まれてもよい。
【０１１６】
メンバ秘密鍵生成部１５は、グループ管理者用記憶部１１内の素数位数ｑを参照し、メンバ秘密鍵の一部ｋｉ２∈Ｚｑ＊をランダムに選択する（ＳＴ１１）。
【０１１７】
このとき、メンバ秘密鍵生成部１５は、グループ管理者用記憶部１１を参照し、ｋｉ２＝ｋｊ２なるメンバ秘密鍵ｇｓｋｊ＝（ｋｊ１，ｋｊ２）を持つメンバが存在している場合にはｋｉ２を選択しなおす。すなわち、ｋｉ２はユーザ毎に全て異なっている必要がある。
【０１１８】
続いて、メンバ秘密鍵生成部１５は、グループ管理者用記憶部１１内の素数位数ｑ及びグループ秘密鍵ｇｍｓｋ内のメンバ秘密鍵生成用秘密鍵ｉｋ（ａ，ｂ）に基づいて、メンバ秘密鍵の他の一部ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑを計算する（ＳＴ１２）。
【０１１９】
しかる後、メンバ秘密鍵生成部１５は、得られたｋｉ１，ｋｉ２からなるメンバ秘密鍵（ｋｉ１，ｋｉ２＝ｇｓｋ［ｉ］）をユーザ識別情報ＩＤ（ｉ）に関連付けてグループ管理者用記憶部１１に保存する（ＳＴ１３）。
【０１２０】
ここで、メンバ秘密鍵（ｋｉ１，ｋｉ２）は、（Ｇ１，Ｇ２）を底としたＦのリプレゼンテーションである。すなわち、前述したＦ＝Ｇ１ｂ、Ｇ２＝Ｇ１ａ及びｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑの式に基づいて、Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝と表される。また、グループ秘密鍵ｇｍｓｋに含まれるａ，ｂを用いることにより、複数のメンバ秘密鍵を効率よく計算できる。このリプレゼンテーションｋｉ１，ｋｉ２を計算できるのは、グループ管理者のみである。リプレゼンテーションｋｉ１，ｋｉ２を知っていることは、グループ管理者に認められたグループメンバである旨を意味する。
【０１２１】
メンバ秘密鍵生成部１５は、以上のステップＳＴ１１〜ＳＴ１３の処理をメンバ数ｎと同じ回数ｎだけ繰り返し、ｎ人分のメンバ秘密鍵ｇｓｋ［１］〜ｇｓｋ［ｎ］をユーザ識別情報ＩＤ（１）〜ＩＤ（ｎ）に個別に関連付けてグループ管理者用記憶部１１に保存した後、処理を終了する。
【０１２２】
（署名者特定情報算出処理：図１０）
次に、メンバ秘密鍵生成部１５は、グループ管理者用記憶部１１内の生成元Ｇ１及びメンバ秘密鍵ｇｓｋ［ｉ］（＝ｋｉ１，ｋｉ２）に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を計算する（ＳＴ２１）。すなわち、署名者特定情報Ｔｉは、リプレゼンテーション自体ではなく、リプレゼンテーションの一部をベキ指数とした値である。
【０１２３】
しかる後、メンバ秘密鍵生成部１５は、得られた署名者特定情報Ｔｉをユーザ識別情報ＩＤ（ｉ）に関連付けてグループ管理者用記憶部１１に保存する（ＳＴ２２）。
【０１２４】
メンバ秘密鍵生成部１５は、以上のステップＳＴ２１〜ＳＴ２２の処理をメンバ数ｎと同じ回数ｎだけ繰り返し、ｎ人分のメンバ秘密鍵ｇｓｋ［１］〜ｇｓｋ［ｎ］をユーザ識別情報ＩＤ（１）〜ＩＤ（ｎ）に個別に関連付けてグループ管理者用記憶部１１に保存した後、処理を終了する。
【０１２５】
（署名生成の準備）
ユーザｉは、オンライン又はオフラインにより、ユーザ情報をグループ管理者装置１０に登録する。これにより、ユーザｉは、公開パラメータ、グループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、メンバ秘密鍵ｇｓｋ［ｉ］（＝ｋｉ１，ｋｉ２）及び署名者特定情報Ｔｉを暗号化通信又は記憶媒体の郵送などの安全な手法によりグループ管理者から取得する。
【０１２６】
しかる後、署名者装置２０ｉは、ユーザｉによる入力部２２の操作により、これら公開パラメータ、グループ公開鍵ｇｐｋ、メンバ秘密鍵ｇｓｋ［ｉ］及び署名者特定情報Ｔｉを署名者用記憶部２１に保存する。これにより、署名者装置２０ｉは、署名生成処理が可能となる。
【０１２７】
また、署名者装置２０ｉは、ユーザｉによる入力部２２の操作により、メッセージ作成部２４がメッセージｍｓｇ∈｛０，１｝＊を出力部２６に表示させながら作成し、得られたメッセージｍｓｇを署名者用記憶部２１に保存する。なお、メッセージｍｓｇは、メッセージ作成部２４が作成したものを用いる場合に限らず、グループ管理者や署名検証者から取得したものを用いてもよい。例えば電子商取引の場合にはメッセージ作成部２４が作成したメッセージｍｓｇを用い、２０歳以上などの資格証明の場合にはグループ管理者から取得したメッセージｍｓｇを用い、認証に利用する場合には署名検証者から取得したメッセージｍｓｇを用いるようにしてもよい。
【０１２８】
（暗号化処理：図１１）
署名者装置２０ｉでは、ユーザｉの入力部２２の操作により、グループ署名生成部２５が起動されたとする。
【０１２９】
グループ署名生成部２５は、署名者用記憶部２１内の素数位数ｑを参照し、秘密の乱数ｒ∈Ｚｑ＊をランダムに選択する（ＳＴ３１）。
【０１３０】
続いて、グループ署名生成部２５は、署名者用記憶部２１内のグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）及び署名者特定情報Ｔｉと、ステップＳＴ３１で得られた乱数ｒとに基づいて、Ｕ１＝Ｇ１ｒ，Ｕ２＝Ｇ２ｒ，Ｅ＝ＨｒＴｉを計算する（ＳＴ３２〜ＳＴ３４）。なお、署名者特定情報Ｔｉ（＝Ｇ１＾｛ｋｉ１｝）は、毎回、メンバ秘密鍵ｇｍｓｋ［ｉ］（＝ｋｉ１，ｋｉ２）から計算してもよい。この場合、署名者特定情報Ｔｉは署名者用記憶部２１から省略してもよい。
【０１３１】
また、グループ署名生成部２５は、署名者用記憶部２１内のグループ公開鍵ｇｐｋとステップＳＴ３２〜ＳＴ３４で得られた値Ｕ１，Ｕ２，Ｅとに基づいて、ハッシュ値α＝Ｈａｓｈ（Ｕ１，Ｕ２，Ｅ）を計算する（ＳＴ３５）。
【０１３２】
さらに、グループ署名生成部２５は、このハッシュ値αと、ステップＳＴ３１で得られた乱数ｒと、グループ公開鍵ｇｐｋとに基づいて、値Ｖ＝ＣｒＤｒαを計算する（ＳＴ３６）。
【０１３３】
さらに、グループ署名生成部２５は、Ｒ＝Ｔｉｒを計算する（ＳＴ３７）。
【０１３４】
これにより、グループ署名生成部２５は、署名者特定情報Ｔｉに対して得られた暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）を署名者用記憶部２１に保存する（ＳＴ３８）。
【０１３５】
（零知識証明（zero-knowledge proof）算出処理：図１２）
次に、グループ署名生成部２５は、署名者用記憶部２１内の素数位数ｑを参照し、メンバ秘密鍵（ｋｉ１，ｋｉ２）及びステップＳＴ３１で得られた乱数ｒを隠すための乱数ｒ１,ｒ２，ｒｒ∈Ｚｑ＊をランダムに選択する（ＳＴ４１）。
【０１３６】
続いて、グループ署名生成部２５は、署名者用記憶部２１内のグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）と、ステップＳＴ４１で得られた乱数ｒ１,ｒ２，ｒｒとに基づいて、零知識証明の一部となるパラメータＲ１＝Ｇ１＾｛ｒ１｝Ｇ２＾｛ｒ２｝、Ｒ２＝Ｇ１＾｛ｒｒ｝、Ｒ３＝Ｈ＾｛ｒｒ｝Ｇ１＾｛ｒ１｝、Ｒ４＝Ｕ１＾｛ｒ１｝を計算する（ＳＴ４２〜ＳＴ４５）。
【０１３７】
また、グループ署名生成部２５は、署名者用記憶部２１内のグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）及びメッセージｍｓｇと、ステップＳＴ４２〜ＳＴ４５で得られた零知識証明の一部となるパラメータＲ１，Ｒ２，Ｒ３，Ｒ４とに基づいて、ハッシュ値β＝Ｈａｓｈ（Ｇ１，Ｇ２，Ｈ，Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，Ｒ１，Ｒ２，Ｒ３，Ｒ４，ｍｓｇ）を計算する（ＳＴ４６）。
【０１３８】
さらに、グループ署名生成部２５は、このハッシュ値βと、ステップＳＴ４１で得られた乱数ｒ１,ｒ２，ｒｒと、署名者用記憶部２１内のメンバ秘密鍵ｋｉ１，ｋｉ２及び素数位数ｑとに基づいて、他の零知識証明の一部となるパラメータｓ１＝ｒ１＋βｋｉ１  ｍｏｄ  ｑ、ｓ２＝ｒ２＋βｋｉ２  ｍｏｄ  ｑ、ｓｒ＝ｒｒ＋βｒ  ｍｏｄ  ｑを計算する（ＳＴ４７〜ＳＴ４９）。
【０１３９】
これにより、グループ署名生成部２５は、最終的に得られた零知識証明（β，ｓ１，ｓ２，ｓｒ）を暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）と関連付けて署名者用記憶部２１に保存し（ＳＴ５０）、処理を終了する。以後、これら暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）及び零知識証明（β，ｓ１，ｓ２，ｓｒ）は、グループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）として用いられる。
【０１４０】
このグループ署名σは、署名者特定情報Ｔｉの暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）と、Ｇ１，Ｇ２を底としたＦのリプレゼンテーションｋｉ１，ｋｉ２を知っている正しいユーザであることとそれに対応する署名者特定情報Ｔｉが正しく暗号化されていることを示す零知識証明（β，ｓ１，ｓ２，ｓｒ）とから構成されている。
【０１４１】
以後、署名者装置２０ｉは、署名者の入力部２２の操作により、署名者用記憶部２１内のグループ署名σ及びメッセージｍｓｇを出力部２７に表示させ、通信部２３から検証者装置３０に送信する。これにより、メンバ秘密鍵ｋｉ１，ｋｉ２を示すことなく、グループに属する正しいメンバであり、かつ、グループ管理者は署名者を特定できる旨を証明できる。
【０１４２】
（署名検証処理：図１３）
検証者装置３０は、予め検証者の入力部３２の操作により、公開パラメータ（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）及びグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）をグループ管理者装置１０から取得して検証者用記憶部３１に保存しているとする。これにより、検証者装置３０は、署名検証処理が可能となっている。
【０１４３】
検証者装置３０では、署名者装置２０ｉから送信されたメッセージｍｓｇ、グループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）及び検証要求を通信部３３が受信して検証者用記憶部３１に保存すると共に、この検証要求を通信部３３が署名検証部３４に送出する。
【０１４４】
署名検証部３４は、検証要求を受けると、検証者用記憶部３１内のグループ公開鍵ｇｐｋ及びグループ署名σに基づいて、Ｒ’１＝Ｆ＾｛−β｝Ｇ１＾｛ｓ１｝Ｇ２＾｛ｓ２｝、Ｒ’２＝Ｕ１＾｛−β｝Ｇ１＾｛ｓｒ｝、Ｒ’３＝Ｅ＾｛−β｝Ｈ＾｛ｓｒ｝Ｇ１＾｛ｓ１｝、Ｒ’４＝Ｒ＾｛−β｝Ｕ１＾｛ｓｒ｝を計算する（ＳＴ５１〜ＳＴ５４）。
【０１４５】
続いて、署名検証部３４は、グループ公開鍵ｇｐｋ、メッセージｍｓｇ、グループ署名σ及び上記Ｒ’１，Ｒ’２，Ｒ’３，Ｒ’４に基づいて、ハッシュ値β’＝Ｈａｓｈ（Ｇ１，Ｇ２，Ｈ，Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，Ｒ’１，Ｒ’２，Ｒ’３，Ｒ’４，ｍｓｇ）を計算する（ＳＴ５５）。なお、署名検証部３４は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
【０１４６】
ステップＳＴ５５の結果、検証式β＝β’が成り立てば有効（valid）と判定して判定結果ＯＫを通信部３３及び出力部３７に出力し（ＳＴ５７−ＯＫ）、検証式が成り立たなければ無効（invalid）と判定して判定結果ＮＧを通信部３３及び出力部３７に出力する（ＳＴ５７−ＮＧ）。
【０１４７】
通信部３３は判定結果ＯＫ／ＮＧを署名者装置２０ｉに送信して処理を終了する。出力部３７は、判定結果ＯＫ／ＮＧを表示出力する。
【０１４８】
（リボーク検証処理：図１４）
検証者装置３０は、予め検証者の入力部３２の操作により、公開パラメータ（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）、グループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）及びリボケーションリストＲＬをグループ管理者装置１０から取得して検証者用記憶部３１に保存しているとする。これにより、検証者装置３０は、リボーク検証処理が可能となっている。
【０１４９】
署名検証部３４は、リボケーションリストＲＬに含まれるすべてのｇｒｔ（＝ｋｉ１）についてチェック済みかどうかを確認し（ＳＴ６１）、チェック済みであれば有効（valid）と判定して判定結果ＯＫを通信部３３及び出力部３７に出力する（ＳＴ６４−ＯＫ）。そうでなければ処理を続行する。
【０１５０】
続いて、署名検証部３４は、リボケーションリストＲＬに含まれる未チェックのｇｒｔ（＝ｋｉ１）を選択し（ＳＴ６２）、Ｒ＝Ｕ１＾｛ｋｉ１｝かどうかを確認する（ＳＴ６３）。上記の式の等号が成り立てば無効（invalid）と判定して判定結果ＮＧを通信部３３及び出力部３７に出力する（ＳＴ６４−ＮＧ）。そうでない場合は次のｇｒｔをチェックに戻る（ＳＴ６１）。
【０１５１】
（署名者同一性証明・検証処理：図１５）
署名者装置２０ｉは、予め署名者の入力部２２の操作により、公開パラメータ（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）、グループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、メンバ秘密鍵ｇｓｋ［ｉ］及び署名者特定情報Ｔｉをグループ管理者装置１０から取得して検証者用記憶部２１に保存しているとする。また、署名者同一性検証を行う対象となるグループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）も検証者用記憶部２１に保存しているとする。これにより、署名者装置２０ｉは、署名者同一性証明処理が可能となっている。
【０１５２】
検証者装置３０は、予め検証者の入力部３２の操作により、公開パラメータ（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）及びグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）をグループ管理者装置１０から取得して検証者用記憶部３１に保存しているとする。また、署名者同一性検証を行う対象となるグループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）をオンラインまたはオフラインで取得して検証者用記憶部３１に保存しているとする。これにより、検証者装置３０は、署名者同一性検証処理が可能となっている。
【０１５３】
署名者装置と検証者装置の間のデータの通信は、それぞれ署名者装置の通信部２３と検証者装置の通信部３３を通じて行われる。
【０１５４】
署名者装置２０ｉでは、ユーザｉの入力部２２の操作により、署名者同一性証明部２６が起動されたとする。
【０１５５】
署名者同一性証明部２６は、署名者用記憶部２１内の素数位数ｑを参照し、メンバ秘密鍵（ｋｉ１）を隠すための乱数ｒ１∈Ｚｑ＊をランダムに選択する（ＳＴ７１）。
【０１５６】
続いて、署名者同一性証明部２６は、署名者用記憶部２１内のグループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）と、ステップＳＴ７１で得られた乱数ｒ１に基づいて、零知識証明のコミットメントとなるパラメータＲ’＝Ｕ１＾｛ｒ１｝を計算し（ＳＴ７２）、検証者装置３０へ送信する。
【０１５７】
検証者装置３０は、受信したコミットメントＲ’を署名者同一性検証部３５へ送信して署名者同一性検証処理を起動する。
【０１５８】
署名者同一性検証部３５は、零知識証明のチャレンジとなる乱数δ∈Ｚｑ＊をランダムに選択し（ＳＴ７３）、署名者装置２０ｉへ送信する。
【０１５９】
署名者同一性証明部２６は、検証者装置３０から受信したチャレンジδと、ステップＳＴ７１で得られた乱数ｒ１と、署名者用記憶部２１に保存されているリプレゼンテーションの一部ｋｉ１及び素数位数ｑとに基づいて、零知識証明のレスポンスとなるパラメータｓ’１＝ｒ１＋δｋｉ１  ｍｏｄ  ｑを計算し（ＳＴ７４）、検証者装置３０へ送信する。
【０１６０】
署名者同一性検証部３５は、検証者用記憶部３１内のグループ署名σ、ステップＳＴ３で受信したコミットメントＲ’、ステップＳＴ７３で生成したチャレンジδ及び受信したレスポンスｓ’１に基づいて、Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾｛ｓ’１｝が成り立つかを検証する（ＳＴ７５）。
【０１６１】
ステップＳＴ７５の結果、検証式Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾｛ｓ’１｝が成り立てば真（true）と判定して判定結果ＯＫを通信部３３及び出力部３７に出力して終了し（ＳＴ７６−ＯＫ）、検証式が成り立たなければ偽（false）と判定して判定結果ＮＧを通信部３３及び出力部３７に出力して終了する（ＳＴ７６−ＮＧ）。
【０１６２】
（署名者検証処理及び署名者特定処理：図１６乃至図１７）
例えば不正の発覚や、サービス利用料金の徴収のためといった何らかの事情により、署名者を特定する必要が生じた場合について述べる。
【０１６３】
グループ管理者装置１０は、検証者装置３０から送信されたメッセージｍｓｇ、グループ署名σ及び署名者特定要求を通信部１３が受信してグループ管理者用記憶部１１に保存すると共に、この署名者特定要求を通信部１３が署名検証部１６に送出する。
【０１６４】
署名検証部１６は、署名者特定要求を受けると、図１６に示すように、グループ管理者用記憶部１１内のグループ公開鍵ｇｐｋ、メッセージｍｓｇ及びグループ署名σに基づいて、Ｒ’１＝Ｆ＾｛−β｝Ｇ１＾｛ｓ１｝Ｇ２＾｛ｓ２｝、Ｒ’２＝Ｕ１＾｛−β｝Ｇ１＾｛ｓｒ｝、Ｒ’３＝Ｅ＾｛−β｝Ｈ＾｛ｓｒ｝Ｇ１＾｛ｓ１｝、Ｒ’４＝Ｒ＾｛−β｝Ｕ１＾｛ｓｒ｝を計算する（ＳＴ８１〜ＳＴ８４）。
【０１６５】
続いて、署名検証部１６は、グループ管理者用記憶部１１内のグループ公開鍵ｇｐｋ、メッセージｍｓｇ、グループ署名σ及び上記Ｒ’１，Ｒ’２，Ｒ’３，Ｒ’４に基づいて、ハッシュ値β＝Ｈ（Ｇ１，Ｇ２，Ｈ，Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，Ｒ’１，Ｒ’２，Ｒ’３，Ｒ’４，ｍｓｇ）を計算する（ＳＴ８５）。なお、署名検証部１６は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
【０１６６】
ステップＳＴ８５の結果、検証式β＝β’が成り立たなければ無効（invalid）と判定してＮＧを通信部１３に出力する（ＳＴ８９−ＮＧ）。通信部１３は判定結果ＮＧを検証者装置３０に送信して処理を終了する。
【０１６７】
一方、ステップＳＴ８５の結果、検証式β＝β’が成り立てば有効（valid）と判定し、署名検証部１６は、グループ公開鍵ｇｐｋ及びグループ署名σに基づいて、ハッシュ値α＝Ｈ（Ｕ１，Ｕ２，Ｅ）を計算する（ＳＴ８７）。
【０１６８】
しかる後、署名検証部１６は、グループ管理者用記憶部１１内のグループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）、署名者特定用秘密鍵ｏｋ＝（ｘ１，ｘ２，ｙ１，ｙ２，ｚ）及びハッシュ値αに基づいて、検証式Ｕ１＾｛ｘ１＋ｙ１α｝Ｕ２＾｛ｘ２＋ｙ２α｝＝Ｖが成り立つか否かを検証し（ＳＴ８８）、成り立たなければ無効（invalid）と判定してＮＧを通信部１３に出力する（ＳＴ８９−ＮＧ）。通信部１３は判定結果ＮＧを検証者装置３０に送信して処理を終了する。
【０１６９】
一方、ステップＳＴ８８の結果、検証式が成り立てば有効（valid）と判定し、署名検証部１６は、判定結果ＯＫ及び署名者特定要求を署名者特定部１７に送出して、処理を終了する（ＳＴ８９−ＯＫ）。
【０１７０】
署名者特定部１７は、判定結果ＯＫ及び署名者特定要求を受けると、図１５に示すように、グループ管理者用記憶部１１内のグループ署名σ及び署名者特定用秘密鍵ｏｋに基づいて、署名者特定情報Ｔ＝Ｅ／Ｕ１ｚを計算し（ＳＴ９１）、署名者特定情報Ｔを得る（ＳＴ９２）。
【０１７１】
続いて、署名者特定部１７は、署名者特定情報Ｔに基づいてグループ管理者用記憶部１１を検索し、署名者特定情報Ｔに対応するユーザ識別情報ＩＤ（ ）を特定してグループ管理者用記憶部１１の署名者情報の一部として保存するとともに出力部１９に出力し（ＳＴ９３）、図１８に示す署名者情報正当性証明生成処理を行う。さらに、署名者特定部１７は、ユーザ識別情報ＩＤ（ ）に基づいてグループ管理者用記憶部１１を検索し、ユーザ識別情報ＩＤ（ ）に対応するユーザ情報を出力部１９に出力することもできる。
【０１７２】
出力部１９は、これらユーザ識別情報ＩＤ（ ）及びユーザ情報を表示出力する。
【０１７３】
（署名者情報正当性証明生成処理：図１８）
署名者特定部１７は、入力されたユーザ識別情報ＩＤ＝ｉに対応するリプレゼンテーションの一部ｋｉ１を選択決定する（ＳＴ１０１）。
【０１７４】
次に、署名者特定部１７は、グループ管理者用記憶部１１内の素数位数ｑを参照し、メンバ秘密鍵（ｋｉ１）を隠すための乱数ｒ１∈Ｚｑ＊をランダムに選択する（ＳＴ１０２）。
【０１７５】
続いて、署名者特定部１７は、グループ管理者用記憶部１１内のグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）及びグループ署名σ＝（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ，β，ｓ１，ｓ２，ｓｒ）と、ステップＳＴ１０２で得られた乱数ｒ１に基づいて、零知識証明の一部となるパラメータＳ１＝Ｇ１＾｛ｒ１｝、Ｓ２＝Ｕ１＾｛ｒ１｝を計算する（ＳＴ１０３〜ＳＴ１０４）。
【０１７６】
また、署名者特定部１７は、グループ管理者用記憶部１１内のグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）、署名者特定情報Ｔｉ、ステップＳＴ１０３〜ＳＴ１０４で得られた零知識証明の一部となるパラメータＳ１，Ｓ２と、グループ署名σとに基づいて、ハッシュ値γ＝Ｈａｓｈ（Ｔｉ，Ｓ１，Ｓ２，σ）を計算する（ＳＴ１０５）。
【０１７７】
さらに、署名者特定部１７は、このハッシュ値γと、ステップＳＴ１０２で得られた乱数ｒ１と、ステップＳＴ１０１で得られたリプレゼンテーションの一部ｋｉ１及び素数位数ｑとに基づいて、他の零知識証明の一部となるパラメータｔ１＝ｒ１＋γｋｉ１  ｍｏｄ  ｑを計算する（ＳＴ１０６）。
【０１７８】
これにより、署名者特定部１７は、最終的に得られた零知識証明τ＝（γ，ｔ１）をグループ管理者用記憶部１１の署名者情報の一部として保存するとともに出力部１９に出力し（ＳＴ１０７）、処理を終了する。
【０１７９】
この零知識証明τは、グループ署名σに含まれる暗号文（Ｕ１，Ｕ２，Ｅ，Ｖ，Ｒ）が署名者特定情報Ｔｉの正しい暗号文であることを示す零知識証明となっている。
【０１８０】
以後、グループ管理者装置１０は必要に応じて、グループ管理者の入力部１２の操作により、グループ署名σ、その署名から特定されたユーザのＩＤ＝ｉと署名者情報正当性証明τとをグループ管理者用記憶部１１から読み出して出力部１９に表示させ、通信部１３から検証者装置３０に送信する。これにより、リプレゼンテーションの一部ｋｉ１を示すことなく、署名者特定が正しく行われた旨を証明できる。
【０１８１】
（署名者情報正当性証明検証処理：図１９）
検証者装置３０は、予め検証者の入力部３２の操作により、公開パラメータ（ｑ，ｇＧ，Ｇ１，Ｈａｓｈ）及びグループ公開鍵ｇｐｋ＝（Ｇ１，Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ，Ｈａｓｈ）をグループ管理者装置１０から取得して検証者用記憶部３１に保存しているとする。これにより、検証者装置３０は、署名検証処理が可能となっている。
【０１８２】
検証者装置３０では、グループ管理者装置１０から送信されたグループ署名σ、その署名から特定されたユーザのＩＤ＝ｉとそれに対応する署名者特定情報Ｔｉ、署名者情報正当性証明τ及び検証要求を通信部３３が受信して検証者用記憶部３１に保存すると共に、この検証要求を通信部３３が署名者情報正当性証明検証部３６に送出する。
【０１８３】
署名者情報正当性証明検証部３６は、検証者用記憶部３１内のグループ公開鍵ｇｐｋ、グループ署名σ、署名者情報正当性証明τ及び署名者特定情報Ｔｉに基づいて、Ｓ’１＝Ｔｉ＾｛−γ｝Ｇ１＾｛ｔ１｝、Ｓ’２＝Ｒ＾｛−γ｝Ｕ１＾｛ｔ１｝を計算する（ＳＴ１１１〜ＳＴ１１２）。
【０１８４】
続いて、署名検証部３４は、グループ公開鍵ｇｐｋ、グループ署名σ、署名者特定情報Ｔｉ及び上記Ｓ’１，Ｓ’２に基づいて、ハッシュ値γ’＝Ｈａｓｈ（Ｔｉ，Ｓ’１，Ｓ’２，σ）を計算する（ＳＴ１１３）。なお、署名者情報正当性証明検証部３６は、署名者情報正当性証明τの値の範囲を所定の基準範囲に基づいて確認してもよい。
【０１８５】
ステップＳＴ１１３の結果、検証式γ＝γ’が成り立てば有効（valid）と判定して判定結果ＯＫを通信部３３及び出力部３７に出力し（ＳＴ１１５−ＯＫ）、検証式が成り立たなければ無効（invalid）と判定して判定結果ＮＧを通信部３３及び出力部３７に出力する（ＳＴ１１５−ＮＧ）。
【０１８６】
通信部３３は判定結果ＯＫ／ＮＧをグループ管理者装置１０に送信して処理を終了する。出力部３７は、判定結果ＯＫ／ＮＧを表示出力する。
【０１８７】
（リボケーションリスト生成処理：図２０）
グループ管理者装置１０は、予め検証者の入力部１２の操作により、リボークされたユーザのＩＤの集合ＲＵが入力されてグループ管理者用記憶部１１に書き込まれているものとする。これにより、グループ管理者装置１０は、リボケーションリスト生成処理が可能となっている。
【０１８８】
リボケーションリスト生成部１８は、リボークされたユーザのＩＤの集合ＲＵに含まれる全てのＩＤについてリボケーションリストの生成処理済みか否かを確認し（ＳＴ１２１）、処理済みであれば処理結果のリボケーションリストＲＬをグループ管理者用記憶部１１に保存する（ＳＴ１２４）。そうでなければ処理を続行する。
【０１８９】
続いて、リボケーションリスト生成部１８は、リボークされたユーザのＩＤの集合ＲＵに含まれる未処理のＩＤ＝ｉを選択し（ＳＴ１２２）、選択したユーザＩＤ（ｉ）に対応するリボケーショントークンｇｒｔ［ｉ］をメンバ情報から選択決定し（ＳＴ１２３）、このｇｒｔ［ｉ］をリボケーションリストＲＬに追加して（ＳＴ１２４）、次のユーザＩＤ（ｉ）を確認するようにステップＳＴ１２１に戻る。
【０１９０】
＜実施形態方式の安全性＞
ここでは実施形態方式の安全性を示す。
【０１９１】
［定理１］提案グループ署名方式はランダムオラクルモデルにおいてＤＤＨ問題が困難であるという仮定の下で安全である。  
［補題１］実施形態方式は正当性（correctness）を持つ。  
［補題２］実施形態方式はランダムオラクルモデルにおいてＤＤＨ問題が困難であるという仮定の下で匿名性（anonymity）を持つ。  
［補題３］実施形態方式はランダムオラクルモデルにおいて離散対数問題が困難であるという仮定の下で追跡可能性（traceability）を持つ。  
［補題４］実施形態方式はランダムオラクルモデルにおいて離散対数問題が困難であるという仮定の下で弱濡れ衣回避性（Weak Non-Frameability）を持つ。  
＜実施形態方式の効率＞
（ＲＳＡベースの方式との効率比較）
実施形態方式の効率を評価するために、通常の電子署名であるＲＳＡ署名方式の署名生成の計算量を基準にしたときの従来のグループ署名方式及び実施形態方式の計算量とデータ長を考える。
【０１９２】
従来のグループ署名方式としては非常に高速な［ＣＧ０４］方式と比較する。［ＣＧ０４］方式は、[ＡＣＪＴ００]方式と比較しても２６倍以上も高速である。［ＣＧ０４］方式には３つの方式があるが、そのうちリボケーション機能を持たない基本（Basic）方式とリボケーション機能を持つＶＬＲ（原文ではFull-Revocation）方式との２つと比較する。
【０１９３】
まず、計算量の比較方法の考え方を以下にまとめる。  
比較する方式の計算量の大部分はベキ乗剰余演算にかかる。このため、ベキ乗剰余演算以外の計算量を無視し、ベキ乗剰余演算の計算量に注目する。  
ベキ乗剰余演算の計算量は（法のビット長）２×ベキ指数のビット長に比例するため、法のビット長が同じ場合には全体の計算量がベキ指数のビット長の総和に比例する。
【０１９４】
また、法の素因数分解を知っている場合、中国人剰余定理（Chinese remainder theorem：ＣＲＴ）を利用できるため、計算量は素因数分解を知らない場合に対してＲＳＡモジュラス（modulus（ｎ＝ｐｑ、ｐ，ｑ：素数（prime）、ｐ ≒ｑ））の場合で１／４から１／３程度になる。ここでは計算量が１／４になるものとして計算量を見積もる。
【０１９５】
さらに、ベキ乗演算の高速処理手法である指数同時乗算（simultaneous multiple exponentiation）法を利用することでΠi Ｇｉ＾｛ｅｉ｝の形の計算は、ｍａｘｉ（｛ｅｉ｝）＝ｅｊなるＧｊ＾｛ｅｊ｝の計算と同程度で処理可能である。
【０１９６】
比較する際のセキュリティパラメータは、［ＣＧ０４］方式の推奨パラメータを利用した場合を基準とする。推奨パラメータは、２０４８ビットのＲＳＡモジュラスを利用しているため、ＲＳＡ方式では同じく２０４８ビットのＲＳＡモジュラスを利用する。実施形態方式で利用する乗法巡回群Ｇについては、Ｚｐ＊と楕円曲線との２つを利用する。Ｚｐ＊では、ｐを２０４８ビットの素数、ｐ−１を割り切るｑを２２４ビットの素数としたときの位数ｑのＺｐ＊の部分群を利用する。ｐ，ｑの値はＦＩＰＳ（federal information processing standard）１８６−３のドラフト(draft)でも利用されている値であり、２０４８ビットのＲＳＡモジュラスと同程度のセキュリティパラメータとみなせる。楕円曲線では、これと同等のセキュリティパラメータである２２４ビットの素数から生成される楕円曲線を利用する。
【０１９７】
以上を考慮したうえで、ＲＳＡ署名方式、［ＣＧ０４］方式、本実施形態方式の主な処理の計算量とデータ長を図２１に示す。なお、署名生成計算量及び署名検証計算量は、ベキ指数のビット長の総和を示しており、ＣＲＴを利用可能な場合には１／４で計算している。ＲＳＡ方式の署名検証計算量は、公開鍵ｄの長さに依存し、一般に小さい。ＲＳＡ方式の署名鍵長は、素数ｐ，ｑと秘密鍵ｅを持つ場合の値である。ＲＳＡ方式の検証鍵長は、公開鍵ｄを小さくした場合の値である。
【０１９８】
本実施形態方式の署名生成計算量はＲＳＡ方式の４倍であるので、ＲＳＡ方式の約８倍の［ＣＧ０４］方式に比べ、低く抑えられている。このため、本実施形態方式の署名生成は高速に実行することができる。
【０１９９】
本実施形態方式の署名鍵長（メンバ秘密鍵長）は、ＲＳＡ方式の１／９倍であるので、ＲＳＡ方式の約１．１倍の［ＣＧ０４］方式に比べ、短くなっている。
【０２００】
なお、本実施形態方式のグループ秘密鍵長は、［ＣＧ０４］方式よりも長くなっている。しかしながら、グループ秘密鍵長の増加は、グループ管理者装置１０以外の装置２０１〜２０ｎ，３０の計算量には影響せず、一般的にはグループ管理者装置は高性能・高信頼な計算機であるなど署名者装置や検証者装置と比べて計算量的な制約が少ない場合が多く、実用上問題ない。
【０２０１】
また、本実施形態方式は、楕円曲線暗号方式で実装した場合、署名長がＲＳＡ方式とほぼ同じとなるので、［ＣＧ０４］方式に比べ、署名長を大幅に短縮することができる。
【０２０２】
すなわち、本実施形態方式は、［ＣＧ０４］方式に比べ、署名鍵長及び検証鍵長が短く、署名生成及び署名検証を高速に実行することができる。理由は、本実施形態方式が素数位数ｑを法とした完全離散対数ベースの方式であるのに対し、［ＣＧ０４］方式が合成数ｎ＝ｐｑを法としたＲＳＡベースの方式であることによる。
【０２０３】
例えば、離散対数ベースの方式では、Ｙ＝Ｇｘ  ｍｏｄ  ｑの演算において、法ｑが２０４８ビットの場合、離散対数ｘが２２４ビット程度となる。
【０２０４】
一方、ＲＳＡベースの方式では、Ｃ＝ｍｅ  ｍｏｄ  ｎの演算において、法ｎが２０４８ビットの場合、公開鍵ｅも２０４８ビット程度となる。従って、ＲＳＡベースの［ＣＧ０４］方式では、本実施形態方式のような鍵長の短縮化及び演算の高速化が不可能となっている。
【０２０５】
（双線形群ベースの方式との効率比較）
双線形写像を利用する［ＦＩ０５］方式と［ＤＰ０６］方式は双線形写像の実装によって計算速度が大きく異なるため単純に比較することはできないが、これらの方式は現在最速の双線形写像実装技術を考慮しても［ＣＧ０４］方式と同程度の速度である。したがって、上述の［ＣＧ０４］方式との比較結果から、これらの方式と比べても本実施形態方式が高速であることが分かる。
【０２０６】
上述したように本実施形態によれば、素数位数ｑの乗法巡回群ｇＧを用いて完全な離散対数ベースのグループ署名方式とし、且つリプレゼンテーションｋｉ１，ｋｉ２をメンバ秘密鍵とし、リボークされたメンバのリプレゼンテーションの一部ｋｉ１をリボケーションリストに含むグループ署名方式を実現したことにより、リボケーション機能を実現しつつ、従来の［ＣＧ０４］方式に比べ、計算量を減らして計算速度を向上することができる。
【０２０７】
例えば、本実施形態によれば、完全な離散対数ベースの方式であるため、図２１に示した通り、ＲＳＡベースの［ＣＧ０４］方式では不可能な位に、非常に高速でデータ長が短いグループ署名方式を実現することができる。
【０２０８】
補足すると、グループ管理者装置１０においては、グループ公開鍵に値Ｇ１，Ｇ２，Ｆを含むことにより、効率よくグループ署名を生成することができる。また、グループ秘密鍵に値ａ，ｂを含むことにより、メンバ数ｎ個のメンバ秘密鍵を効率よく生成することができる。
【０２０９】
署名者装置２０ｉにおいては、リプレゼンテーションの一部ｋｉ１に基づく署名特定情報Ｔｉを用いることにより、零知識証明を効率よく生成することができる。すなわち、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、零知識証明の生成及び検証効率を向上できる。
【０２１０】
検証者装置３０においては、リボケーションリストに含まれるリプレゼンテーションの一部ｋｉ１に基づいてリボーク検証処理を効率よく行うことができる。
【０２１１】
検証者装置３０及びグループ管理者装置１０においては、零知識証明を含むグループ署名σにより、零知識証明を効率よく検証でき、もって、グループ署名σを効率よく検証することができる。
【０２１２】
さらに、グループ管理者装置１０においては、グループ署名σが署名者特定情報Ｔｉの暗号文データを含むことにより、暗号文データを復号するだけで署名者特定情報Ｔｉを得られるので、署名者を効率よく特定することができる。
【０２１３】
また、本実施形態によれば、ＤＤＨ問題に基づく最初の実用的グループ署名方式を実現することができる。
【０２１４】
また、本実施形態によれば、署名生成におけるベキ乗演算の底が固定されるので、指数同時乗算法の計算テーブルを事前に計算しておくことにより、効率よくベキ乗演算を実行することができる。
【０２１５】
また、本実施形態によれば、弱濡れ衣回避性（Weak Non-Frameability）と自己追跡性も実現されている。
【０２１６】
（第２の実施形態）
図２２及び図２３は本発明の第２の実施形態に係るメンバ秘密鍵生成者装置及びその記憶部の構成を示す模式図である。図２４及び図２５は署名者特定装置及びその記憶部の構成を示す模式図である。図２６及び図２７はリボケーション管理者装置及びその記憶部の構成を示す模式図である。これら図２２乃至図２７においては、前述した図面と同一機能には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
【０２１７】
始めに、第１の実施形態におけるグループ管理者装置１０は、図２に示したように、汎用的に利用される機能である入力部１２、出力部１９及び通信部１３の他に、グループ鍵生成部１４、メンバ秘密鍵生成部１５、署名検証部１６、署名者特定部１７及びリボケーションリスト生成部１８のように複数の異なる機能を持っている。これに対し、第２の実施形態は、図２に示したグループ管理者装置１０から、図２２、図２４及び図２６に示すように、メンバ秘密鍵生成装置１０１、署名者特定装置１０２及びリボケーション管理者装置１０３を分離した構成となっている。なお、図示しないが、各装置１０１〜１０３を分離した後のグループ管理者装置１０’は、グループ管理者用記憶部１１、入力部１２、通信部１３、グループ鍵生成部１４及び出力部１９を備えた構成となる。
【０２１８】
ここで、メンバ秘密鍵生成者装置１０１は、図２２に示すように、メンバ秘密鍵生成者用記憶部１１１、入力部１２、通信部１３、メンバ秘密鍵生成部１５及び出力部１９を備えている。補足すると、メンバ秘密鍵生成者装置１０１は、メンバ秘密鍵生成に特化した装置であり、グループ鍵生成部１４、署名検証部１６、署名者特定部１７及びリボケーションリスト生成部１８を持たない。
【０２１９】
また、メンバ秘密鍵生成者用記憶部１１１は、図２３に示すように、公開パラメータ、グループ公開鍵、メンバ秘密鍵生成用秘密鍵ｉｋ、メンバ情報（ユーザ識別情報、メンバ秘密鍵、リボケーショントークン、署名者特定情報）、ユーザ管理情報を保存している。補足すると、メンバ秘密鍵生成者用記憶部１１１は、署名者特定用秘密鍵、メッセージ、グループ署名、署名者情報及び計算テーブルを保存しない。
【０２２０】
このようなメンバ秘密鍵生成者装置１０１は、グループ署名方式を用いる署名者特定装置１０２、リボケーション管理者装置１０３、署名者装置２０ｉ及び検証者装置３０に通信可能となっている。
【０２２１】
また、メンバ秘密鍵生成者用記憶部１１１は、例えば、グループ署名方式に用いる素数位数ｑ、及びｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶し、値ａ，ｂ∈Ｚｑ＊を含むグループ秘密鍵と、値Ｇ２，Ｆ及び生成元Ｇ１を含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ）とを記憶し、ユーザ識別情報ＩＤ（ｉ）に関連付けてメンバ秘密鍵（ｋｉ１，ｋｉ２）、当該メンバ秘密鍵のリプレゼンテーションの一部ｋｉ１及び署名者特定情報Ｔｉを記憶する。また、リボークされたメンバに対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストをリボケーション管理者装置１０３からメンバ秘密鍵生成者装置１０１が受信した場合、メンバ秘密鍵生成者用記憶部１１１は、当該リボケーションリストを記憶する。なお、いずれのメンバもリボークされていない場合、リボケーションリストは生成されていないため、いずれの装置１０１〜１０３，３０にも記憶されていない。
【０２２２】
メンバ秘密鍵生成者装置１０１のメンバ秘密鍵生成部１５は、例えば、ユーザ識別情報ＩＤ（ｉ）毎に、グループ秘密鍵、グループ公開鍵及び関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵を算出する機能と、メンバ秘密鍵及び生成元Ｇ１に基づいて、署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝を算出する機能と、算出したメンバ秘密鍵及び署名者特定情報Ｔｉをユーザ識別情報ＩＤ（ｉ）に関連付けてメンバ秘密鍵生成者用記憶部１１１に書き込む機能とをもっている。
【０２２３】
メンバ秘密鍵生成者装置１０１の通信部１３は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Ｔｉを署名者装置２０ｉに送信する機能と、グループ署名方式における署名者を特定するための公開パラメータ、グループ公開鍵及び署名者特定情報Ｔｉを署名者特定装置１０２に送信する機能と、メンバ秘密鍵生成者用記憶部１０１内のユーザ識別情報ＩＤ（ｉ）及びリプレゼンテーションの一部ｋｉ１をリボケーション管理者装置１０３に送信する機能と、グループ署名方式におけるグループ署名を検証するための公開パラメータ及びグループ公開鍵を検証者装置３０に送信する機能とをもっている。
【０２２４】
署名者特定装置１０２は、図２４に示すように、署名者特定装置用記憶部１１２、入力部１２、通信部１３、署名検証部１６、署名者特定部１７及び出力部１９を備えている。補足すると、署名者特定装置１０２は、署名者特定に特化した装置であり、メンバ秘密鍵生成部１５及びリボケーションリスト生成部１８を持たない。
【０２２５】
また、署名者特定装置用記憶部１１２は、図２５に示すように、公開パラメータ、グループ公開鍵、署名者特定用秘密鍵ｏｋ、メンバ情報（ユーザ識別情報、リボケーショントークン、署名者特定情報）、メッセージ、グループ署名σ、計算テーブル、署名者情報を保存している。補足すると、署名者特定装置用記憶部１１２は、メンバ秘密鍵生成用秘密鍵、メンバ情報のメンバ秘密鍵及びユーザ管理情報を保存しない。
【０２２６】
このような署名者特定装置１０２は、グループ署名方式を用いるメンバ秘密鍵生成者装置１０１、リボケーション管理者装置１０３及び検証者装置３０に通信可能となっている。
【０２２７】
署名者特定装置用記憶部１１２は、例えば、グループ署名方式に用いる素数位数ｑ、及びｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータを記憶し、値ｘ１，ｘ２，ｙ１，ｙ２，ｚ∈Ｚｑ＊を含む署名者特定用秘密鍵と、値Ｇ２，Ｆ，Ｃ，Ｄ，Ｈ、生成元Ｇ１及びハッシュ関数Ｈａｓｈを含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ、ａ，ｂ∈Ｚｑ＊、Ｃ＝Ｇ１＾｛ｘ１｝Ｇ２＾｛ｘ２｝、Ｄ＝Ｇ１＾｛ｙ１｝Ｇ２＾｛ｙ２｝、Ｈ＝Ｇ１ｚ）とを記憶し、通信部１３が受信したユーザ識別情報ＩＤ（ｉ）、リプレゼンテーションの一部ｋｉ１及び署名者特定情報Ｔｉを互いに関連付けて記憶する。
【０２２８】
また、リボークされたメンバに対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストをリボケーション管理者装置１０３から署名者特定装置１０２が受信した場合、署名者特定装置用記憶部１１２は、当該リボケーションリストを記憶する。
【０２２９】
署名者特定装置１０２の通信部１３は、例えば、ユーザ識別情報ＩＤ（ｉ）毎に、値ａ，ｂを含むメンバ秘密鍵生成用秘密鍵、グループ公開鍵及び関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて生成され且つ関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵及び生成元Ｇ１に基づいて算出された署名者特定情報Ｔｉ＝Ｇ１＾｛ｋｉ１｝と、リプレゼンテーションの一部ｋｉ１と、ユーザ識別情報ＩＤ（ｉ）とをメンバ秘密鍵生成者装置１０１から受信する機能をもっている。
【０２３０】
署名者特定装置１０２の署名検証部１６は、検証者装置３０からメッセージと、値Ｅ，Ｕ１を含むグループ署名（但し、Ｅ＝ＨｒＴｉ、Ｕ１＝Ｇ１ｒ、ｒは乱数）と、署名者特定要求とを通信部１３により受けると、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名の正当性を検証する機能をもっている。
【０２３１】
署名者特定装置１０２の署名者特定部１７は、署名検証部１６による検証の結果、グループ署名が正当性を示すとき、このグループ署名及び署名者特定用秘密鍵に基づいて、署名者特定情報Ｔｉ＝Ｅ／Ｕ１ｚを計算する機能と、計算した署名者特定情報Ｔｉに基づいて署名者特定装置用記憶部１１２を検索し、署名者特定情報Ｔｉに対応するユーザ識別情報ＩＤ（ｉ）を特定する機能とをもっている。
【０２３２】
署名者特定装置１０２の出力部１９は、署名者特定部１７により特定したユーザ識別情報ＩＤ（ｉ）を出力する機能をもっている。
【０２３３】
リボケーション管理者装置１０３は、図２６に示すように、リボケーション管理者用記憶部１１３、入力部１２、通信部１３、リボケーションリスト生成部１８及び出力部１９を備えている。補足すると、リボケーション管理者装置１０３は、リボケーション管理に特化した装置であり、メンバ秘密鍵生成部１５、署名検証部１６及び署名者特定部１７を持たない。
【０２３４】
また、リボケーション管理者用記憶部１１３は、図２７に示すように、メンバ情報（ユーザ識別情報、リボケーショントークン）を保存している。補足すると、リボケーション管理者用記憶部１１３は、公開パラメータ、グループ公開鍵、メンバ秘密鍵生成用秘密鍵、署名者特定用秘密鍵、メンバ情報のメンバ秘密鍵と署名者特定情報、ユーザ管理情報、メッセージ、グループ署名、署名者情報及び計算テーブルを保存しない。
【０２３５】
このようなリボケーション管理者装置１０３は、グループ署名方式を用いるメンバ秘密鍵生成者装置１０１、署名者特定装置１０２、署名者装置２０ｉ及び検証者装置３０に通信可能となっている。
【０２３６】
リボケーション管理者用記憶部１１３は、通信部１３により受信したユーザ識別情報ＩＤ（ｉ）及びリプレゼンテーションの一部ｋｉ１を互いに関連付けて記憶する。
【０２３７】
リボケーション管理者装置１０３のリボケーションリスト生成部１８は、例えば、リボークされたメンバを示すユーザ識別情報ＩＤ（ｉ）が入力部１２から入力されたとき、この入力されたユーザ識別情報ＩＤ（ｉ）に基づいて、リボケーション管理者用記憶部１１３内の対応するリプレゼンテーションの一部ｋｉ１を含むリボケーションリストを生成する機能をもっている。
【０２３８】
リボケーション管理者装置１０３の通信部１３は、例えば、グループ署名方式に用いる素数位数ｑ、及びｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータと、値ａ，ｂ∈Ｚｑ＊を含むメンバ秘密鍵生成用秘密鍵と、値Ｇ２，Ｆ及び生成元Ｇ１を含むグループ公開鍵（但し、Ｇ２＝Ｇ１ａ、Ｆ＝Ｇ１ｂ）とに基づいて、ユーザ識別情報ＩＤ（ｉ）毎に、関係式ｋｉ１＝ｂ−ａｋｉ２  ｍｏｄ  ｑに基づいて、関係式Ｆ＝Ｇ１＾｛ｋｉ１｝Ｇ２＾｛ｋｉ２｝を満たすリプレゼンテーションｋｉ１，ｋｉ２からなるメンバ秘密鍵がメンバ秘密鍵生成者装置１０２により生成されたとき、互いに関連する当該リプレゼンテーションの一部ｋｉ１とユーザ識別情報ＩＤ（ｉ）とをメンバ秘密鍵生成者装置１０２から受信する機能と、リボケーションリスト生成部１８により生成されたリボケーションリストを検証者装置３０に送信する機能とをもっている。
【０２３９】
以上のような構成によれば、グループ管理者が持つ機能ごとに装置を分割できる。第１の実施形態におけるグループ管理者装置１０は、グループ鍵生成部１４、メンバ秘密鍵生成部１５、署名検証部１６、署名者特定部１７及びリボケーションリスト生成部１８のように複数の異なる機能を持っているが、署名検証と署名者特定を除けば一般にこれらの機能が利用されるタイミング、頻度、負荷はまちまちである。そのため、負荷分散やシステムの運用・管理の観点から機能ごとに装置を分割できることが望ましい場合がある。また、これらの機能に必要最低限の情報を管理させることでより高いセキュリティを実現するという効果も期待できる。例えばリボケーション管理者装置１０３や署名者特定装置１０２を利用してもメンバ秘密鍵を生成できず、不正な署名の偽造もできない。
【０２４０】
また、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割でき、従来の濡れ衣回避性（Non-Frameability）を少し弱めた弱濡れ衣回避性（Weak Non-Frameability）と自己追跡性（Self-Traceability）も同時に実現できることで、より高いセキュリティと柔軟なシステム運用・管理を実現できる。
【０２４１】
（第３の実施形態）
図２８及び図２９は本発明の第３の実施形態に係る署名者同一性証明装置及びその記憶部の構成を示す模式図である。
【０２４２】
始めに、第１の実施形態における署名者装置２０ｉは、図４に示したように、汎用的に利用される機能である入力部２２、出力部２７及び通信部２３の他に、メッセージ作成部２４、グループ署名生成部２５、署名者同一性証明部２６のように複数の異なる機能を持っている。これに対し、第３の実施形態は、図４に示した署名者装置２０ｉから、図２８及び図２９に示すように、署名者同一性証明装置２０１ｉを抽出した構成となっている。
【０２４３】
署名者同一性証明装置２０１ｉは、図２８に示すように、署名者同一性証明用秘密情報記憶部２１１、通信部２３及び署名者同一性証明部２６を備えている。補足すると、署名者同一性証明装置２０１ｉは、署名者同一性証明に特化した装置であり、入力部２２、出力部２７、メッセージ作成部２４及びグループ署名生成部２５を持たない。
【０２４４】
また、署名者同一性証明用秘密情報記憶部２１１は、図２９に示すように、メンバ秘密鍵の一部であるｋｉ１を保存する。補足すると、署名者同一性証明用秘密情報記憶部２１１は、公開パラメータ、グループ公開鍵、計算テーブル、メンバ秘密鍵の他の一部ｋｉ２、署名者特定情報、メッセージ及びグループ署名を保存しない。
【０２４５】
このような署名者同一性証明装置２０１ｉは、グループ署名方式を用いるグループ管理者装置１０、署名者装置２０ｉ及び検証者装置３０に通信可能となっている。
【０２４６】
署名者同一性証明用秘密情報記憶部２１１は、ユーザ識別情報ＩＤ（ｉ）毎に、グループ管理者装置１０により生成されたメンバ秘密鍵内のリプレゼンテーションの一部ｋｉ１を記憶する。
【０２４７】
署名者同一性証明装置２０１ｉの署名者同一性証明部２６は、例えば、グループ署名方式に用いる素数位数ｑ、及びｑの乗法巡回群ｇＧの生成元Ｇ１を含む公開パラメータに基づいて、乱数ｒ１∈Ｚｑ＊を選択する機能と、値Ｒ，Ｕ１を含むグループ署名σ（但し、Ｒ＝Ｔｉｒ、Ｕ１＝Ｇ１ｒ、Ｔｉ＝Ｇ１＾｛ｋｉ１｝、ｒは乱数）を通信部２３が署名者装置２０ｉから受けると、当該グループ署名σ内の値Ｕ１及び選択した乱数ｒ１に基づいて、零知識証明のコミットメントＲ’＝Ｕ１＾｛ｒ１｝を計算する機能と、チャレンジとなる乱数δ、乱数ｒ１、リプレゼンテーションの一部ｋｉ１及び素数位数ｑに基づいて、ゼロ知識証明のレスポンスとなるパラメータｓ１’＝ｒ１＋δｋｉ１ ｍｏｄ ｑを計算する機能とをもっている。
【０２４８】
署名者同一性証明装置２０１ｉの通信部２３は、署名者同一性証明部２６により計算したコミットメントＲ’を検証者装置３０に送信する機能と、ゼロ知識証明のチャレンジとなる乱数δ∈Ｚｑ＊を検証者装置３０から受信する機能と、検証式Ｒ’＝Ｒ＾｛−δ｝Ｕ１＾ｓ１’を検証可能な検証者装置３０に対し、署名者同一性証明部２６により計算したパラメータｓ１’を送信する機能とをもっている。
【０２４９】
以上のような構成によれば、署名者装置２０ｉから署名者同一性証明装置２０１ｉを独立させることができる。署名者同一性証明用秘密情報記憶部２１１にはメンバ秘密鍵の一部であるｋｉ１しか保存せず、メンバ秘密鍵の一部ｋｉ１だけでは署名を生成できないため、仮に署名者同一性証明装置２０１ｉが紛失・盗難にあって不正に解析されたとしてもユーザの被害を最低限に抑えることができる。これにより、自宅で安全に管理しているＰＣ（Personal Computer）を署名者装置２０ｉとして用いて署名生成を行い、持ち運びの容易な携帯電話やＩＣカードを署名者同一性証明装置２０１ｉとして用いて署名者同一性証明処理を行うといったシステム運用も可能となる。
【０２５０】
また、署名生成者機能を署名生成者、署名者同一性証明者に分割でき、従来の濡れ衣回避性（Non-Frameability）を少し弱めた弱濡れ衣回避性（Weak Non-Frameability）と自己追跡性（Self-Traceability）も同時に実現できることで、より高いセキュリティと柔軟なシステム運用・管理を実現できる。
【０２５１】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０２５２】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０２５３】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０２５４】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０２５５】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０２５６】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０２５７】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０２５８】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【０２５９】
【図１】本発明の一実施形態に係るグループ署名システムの構成を示す模式図である。
【図２】同実施形態におけるグループ管理者装置の構成を示す模式図である。
【図３】同実施形態におけるグループ管理者用記憶部の構成を示す模式図である。
【図４】同実施形態における署名者装置の構成を示す模式図である。
【図５】同実施形態における署名者用記憶部の構成を示す模式図である。
【図６】同実施形態における検証者装置の構成を示す模式図である。
【図７】同実施形態における検証者用記憶部の構成を示す模式図である。
【図８】同実施形態における鍵ペアの生成処理を説明するためのフローチャートである。
【図９】同実施形態におけるメンバ秘密鍵の生成処理を説明するためのフローチャートである。
【図１０】同実施形態における署名者特定情報の算出処理を説明するためのフローチャートである。
【図１１】同実施形態における暗号化処理を説明するためのフローチャートである。
【図１２】同実施形態における零知識証明の算出処理を説明するためのフローチャートである。
【図１３】同実施形態における署名検証処理を説明するためのフローチャートである。
【図１４】同実施形態におけるリボーク検証処理を説明するためのフローチャートである。
【図１５】同実施形態における署名者同一性証明・検証処理を説明するためのシーケンス図である。
【図１６】同実施形態における署名検証処理を説明するためのフローチャートである。
【図１７】同実施形態における署名者特定処理を説明するためのフローチャートである。
【図１８】同実施形態における署名者情報正当性証明生成処理を説明するためのフローチャートである。
【図１９】同実施形態における署名者情報正当性証明検証処理を説明するためのフローチャートである。
【図２０】同実施形態におけるリボケーションリスト生成処理を説明するためのフローチャートである。
【図２１】同実施形態の効果を従来と比較して示す図である。
【図２２】同実施形態におけるメンバ秘密鍵生成者の構成を示す模式図である。
【図２３】同実施形態におけるメンバ秘密鍵生成者用記憶部の構成を示す模式図である。
【図２４】同実施形態における署名者特定装置の構成を示す模式図である。
【図２５】同実施形態における署名者特定装置用記憶部の構成を示す模式図である。
【図２６】同実施形態におけるリボケーション管理者装置の構成を示す模式図である。
【図２７】同実施形態におけるリボケーション管理者用記憶部の構成を示す模式図である。
【図２８】同実施形態における署名者同一性証明装置の構成を示す模式図である。
【図２９】同実施形態における署名者同一性証明用秘密情報記憶部の構成を示す模式図である。
【符号の説明】
【０２６０】
１０…グループ管理者装置、１１…グループ管理者用記憶部、１２，２２，３２…入力部、１３，２３，３３…通信部、１４…グループ鍵生成部、１５…メンバ秘密鍵生成部、１６，３４…署名検証部、１７…署名者特定部、１８…リボケーションリスト生成部、１９，２７，３７…出力部、２０１〜２０ｎ…署名者装置、２１…署名者用記憶部、２４…メッセージ作成部、２５…グループ署名生成部、２６，３５…署名者同一性証明部、３０…検証者装置、３１…検証者用記憶部、３６…署名者情報正当性証明検証部。
【図１】
0004764447.tif 000002
【図２】
0004764447.tif 000003
【図３】
0004764447.tif 000004
【図４】
0004764447.tif 000005
【図５】
0004764447.tif 000006
【図６】
0004764447.tif 000007
【図７】
0004764447.tif 000008
【図８】
0004764447.tif 000009
【図９】
0004764447.tif 000010
【図１０】
0004764447.tif 000011
【図１１】
0004764447.tif 000012
【図１２】
0004764447.tif 000013
【図１３】
0004764447.tif 000014
【図１４】
0004764447.tif 000015
【図１５】
0004764447.tif 000016
【図１６】
0004764447.tif 000017
【図１７】
0004764447.tif 000018
【図１８】
0004764447.tif 000019
【図１９】
0004764447.tif 000020
【図２０】
0004764447.tif 000021
【図２１】
0004764447.tif 000022
【図２２】
0004764447.tif 000023
【図２３】
0004764447.tif 000024
【図２４】
0004764447.tif 000025
【図２５】
0004764447.tif 000026
【図２６】
0004764447.tif 000027
【図２７】
0004764447.tif 000028
【図２８】
0004764447.tif 000029
【図２９】
0004764447.tif 000030