(57)【特許請求の範囲】
【請求項１】
グループ管理装置とユーザー装置と検証装置とを備えるシステムにおけるグループ署名方法であって、
前記グループ管理装置が、
セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップするステップと、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡すステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報と、を含む値を入力するステップと、
前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認するステップと、
エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化するエルガマル暗号化ステップと、
ライセンス情報コミット用乱数を作成し、さらに前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成するゼロ知識証明書計算コミット用乱数生成ステップと、
ゼロ知識証明のコミットメントを作成するゼロ知識証明書計算コミットステップと、
コミットメント諸々のハッシュ関数であるチャレンジを生成するゼロ知識証明書計算チャレンジステップと、
ライセンス情報レスポンスを作成し、次に前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力するゼロ知識証明書計算レスポンスステップと、
前記コミットメントと前記チャレンジと前記レスポンスを署名として出力するステップと、
前記検証装置が、
前記セキュリティパラメーターと前記領域変数を入力するステップと、
署名（疑似署名）を入力するステップと、
前記入力された疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証するライセンス等式検証ステップと、
前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認するエルガマル暗号第一成分等式検証ステップと、
前記入力された疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証するライセンス情報範囲指定条件検証ステップと、
前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定するステップと、
を有することを特徴とするグループ署名方法。
【請求項２】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能二重署名禁止署名系の回数制限署名方法であって、
前記グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、
前記グループ管理装置が前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置が入力値のハッシュ値から弱特定用タグを作り、前記入力値と前記弱特定用タグとを出力するステップと、
前記ユーザー装置が、
セキュリティパラメーターと領域変数とライセンス情報を入力するステップと、
前記サイト管理装置から弱特定タグを入力するステップと、
メッセージを入力するステップと、
前記弱特定タグと前記ライセンス情報とから弱特定性質を満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力するステップと、
前記検証装置が、
署名（弱特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、
前記入力された弱特定可能二重署名禁止疑似署名に対し、前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が弱特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の弱特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、
前記入力された複数個の弱特定可能二重署名禁止署名の中から、同一ユーザー装置によって作られたものを探し出し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、
前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項３】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能二重署名禁止署名系の回数制限署名方法であって、
前記グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、
前記グループ管理装置が前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記グループ管理装置が前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置が入力値のハッシュ値から弱特定用タグと強特定用タグを作り、前記入力値と前記弱特定用タグと前記強特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から弱特定タグと強特定タグとを入力するステップと、
メッセージを入力するステップと、
前記弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（強特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、
前記入力された強特定可能二重署名禁止疑似署名に対し、前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された強特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の強特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、
前記入力された複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを探し出し、そのような強特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、
前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、
前記二重署名弱特定ルーチン出力ステップが出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである前記鍵リストを入力し、前記入力された組から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する二重署名強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項４】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置が、
制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、
前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作るステップと、
前記入力値と前記制限回数個の前記弱特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、
前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、
前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、
前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項５】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置が、
制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、
前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作るステップと、
前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数、制限回数個の弱特定タグと強特定タグとの組、サイト識別子、強特定サイトにおけるタグ使用履歴を入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、
前記タグ選択ステップで選ばれた弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する前記弱特定用タグ署名ステップと、
前記タグ選択ステップで選ばれた強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、
前記入力された強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の強特定可能回数制限署名が入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップが出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項６】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用弱特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、
前記サイト管理装置が、
前記グループ管理装置からサイト管理用の情報を取得するステップと、
制限回数を含むものを入力するステップと、
前記制限回数を前記グループ管理装置に送信するステップと、
前記グループ管理装置が、
前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、
前記サイト管理装置が、
前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、
前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、
前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（大人数用弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、
前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、
前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の大人数用弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の大人数用弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項７】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用強特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、
前記サイト管理装置が、
前記グループ管理装置からサイト管理用の情報を取得するステップと、
制限回数を含むものを入力するステップと、
前記制限回数を前記グループ管理装置に送信するステップと、
前記グループ管理装置が、
前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、
前記サイト管理装置が、
前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、
前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、
前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記大人数用タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記大人数用タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いた大人数用タグと前記強特定タグ署名生成に用いた大人数用タグとが同一であることとを証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（大人数用強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、
前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の大人数用強特定可能回数制限署名を入力する回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の大人数用強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップが出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項８】
前記弱特定用タグ署名が、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余である、
ことを特徴とする請求項２記載の回数制限署名方法。
【請求項９】
前記セットアップステップは、
セキュリティパラメーターから、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、
前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、
さらに自由領域変数と呼ばれるものと、左辺底領域変数と呼ばれるものと、タグ用左辺底領域変数と呼ばれるものとを計算し、
さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、前記タグモジュラスと、タグ用左辺底領域変数とを公開情報として出力し、
前記ジョインステップは、
前記ユーザー装置とアクセスを行い前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記タグ用左辺底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取る、
ことを特徴とする請求項２，請求項３，請求項４または請求項５記載の回数制限署名方法。
【請求項１０】
前記二重署名弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする請求項２記載の回数制限署名方法。
【請求項１１】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項３記載の回数制限署名方法。
【請求項１２】
前記二重署名弱特定ルーチン主ステップは、前記入力した複数個の強特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、
前記二重署名強特定ステップは、
前記入力された強特定可能二重署名禁止署名の組に対し、そのうち任意の二つの強特定可能二重署名禁止署名を取りだし、第一の強特定可能二重署名禁止署名の強特定用タグ署名を第二の強特定可能二重署名禁止署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、
ことを特徴とする請求項３記載の回数制限署名方法。
【請求項１３】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるタグモジュラスと呼ばれるものを法とする巾乗剰余である、
ことを特徴とする請求項４記載の回数制限署名方法。
【請求項１４】
前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定する、
ことを特徴とする請求項４記載の回数制限署名方法。
【請求項１５】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項５記載の回数制限署名方法。
【請求項１６】
前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、
前記回数制限強特定ステップは、前記入力された強特定可能回数制限署名の組に対し、そのうち任意の二つの強特定可能回数制限署名を取りだし、第一の強特定可能回数制限署名の強特定用タグ署名を第二の強特定可能回数制限署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、
ことを特徴とする請求項５記載の回数制限署名方法。
【請求項１７】
前記入力した弱特定タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報との三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記弱特定タグの前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記基本モジュラスを法とする巾乗剰余である、ことを特徴とする請求項６記載の回数制限署名方法。
【請求項１８】
前記入力された弱特定タグ達のおのおのは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較する事によって、同一ユーザー装置によって作られたものであるか否かを判定する、
ことを特徴とする請求項６記載の回数制限署名方法。
【請求項１９】
前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、
前記領域変数および前記ライセンス情報は、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、
ことを特徴とする請求項６または請求項７記載の回数制限署名方法。
【請求項２０】
前記入力された大人数用タグ達の各々は、
タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２１】
前記セットアップステップは、
セキュリティパラメーターと、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、
前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、
さらに自由領域変数と呼ばれるものと、左辺第一底領域変数と呼ばれるものと、左辺第二底領域変数と呼ばれるものを計算し、
さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺第一底領域変数と、前記左辺第二底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、とを公開情報として出力し、
前記ジョインステップは、前記ユーザー装置にアクセスを行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記左辺第二底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取り、
前記サイト管理権授与ステップは、タグ用自由領域変数と呼ばれるものと、タグ用左辺第領域変数と呼ばれるものと、を前記サイト管理装置に渡し、
前記大人数用タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、
前記領域変数および前記大人数用タグは、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、
ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２２】
前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の大人数用強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定し、
前記回数制限強特定ステップは、前記入力した大人数用強特定可能回数制限署名の組に対し、そのうち任意の二つの大人数用強特定可能回数制限署名を取りだし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名を第二の大人数用強特定可能回数制限署名の強特定用タグ署名で、基本モジュラスを法として剰余したものを底とし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたもの指数とし、基本モジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力し、
前記入力された弱特定用タグ署名および強特定タグ署名は、タグと呼ばれるものから作られていて、
前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスの三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値であり、
前記検証ルーチン主ステップは、さらに前記入力された大人数用強特定可能回数制限署名の、弱特定用タグ署名部を作成するのに使用したライセンスと、強特定用タグ署名部を作成するのに使用したライセンスが同一であることを確認する、ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２３】
グループ管理装置とユーザー装置と検証装置とを備えるシステムにおけるグループ署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップする機能、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡す機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを含む値を入力する機能、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認する機能、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化する機能、ライセンス情報コミット用乱数を作成して前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成する機能、ゼロ知識証明のコミットメントを作成する機能、コミットメント諸々のハッシュ関数であるチャレンジを生成する機能、ライセンス情報レスポンスを作成して前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力する機能、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力する機能、
前記検証装置が、前記セキュリティパラメーターと前記領域変数を入力する機能、署名（疑似署名）を入力する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証する機能、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証する機能、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定する機能、
を実現させるためのグループ署名プログラム。
【請求項２４】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能二重署名禁止署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、
前記サイト管理装置が、入力値のハッシュ値から弱特定用タグを作成する機能、前記入力値と前記弱特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記ライセンス情報を保有することと前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有することと前記保有するライセンス情報と前記生成に用いた情報が同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する機能、前記弱特定可能二重署名禁止疑似署名に対し前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び前記弱特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の前記弱特定可能二重署名禁止署名を入力する機能、前記入力された複数個の弱特定可能二重署名禁止署名の中から同一ユーザー装置によって作られたものを検索し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２５】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能二重署名禁止署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、
前記サイト管理装置が、入力値のハッシュ値から弱特定用タグと強特定用タグを作成する機能、前記入力値と前記弱特定用タグと前記強特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグと前記強特定タグとを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有することと、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有することと、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを証明するためのデータ（正当性証明書を）生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する機能、前記入力した強特定可能二重署名禁止疑似署名に対し前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び強特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能二重署名禁止署名を入力する機能、前記入力した複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを検索し、そのような強特定可能二重署名禁止署名の組があればそれを出力する機能、前記出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された組から前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２６】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、前記サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２７】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、
前記サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数，制限回数個の弱特定タグと強特定タグとの組，強特定サイトにおけるタグ使用履歴およびサイト識別子を入力する機能、メッセージを入力する機能、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれた強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（強特定可能回数制限疑似署名）を入力する機能、前記入力した強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能回数制限署名を入力する機能、前記入力された複数個の強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２８】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用弱特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、
前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報をが保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の大人数用弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２９】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用強特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、前記取得した公開鍵達のリストを出力する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力する機能、メッセージを入力する機能、前記入力した制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれたタグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれたタグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いたタグと前記強特定タグ署名生成に用いたタグとが同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する機能、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用強特定可能回数制限署名を入力する機能、前記入力された複数個の大人数用強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各サイトにおける回数制限内では匿名性が保たれ、複数人用の、匿名性を保つ署名方法に関し、特に回数制限を越えた場合、回数制限を越えた署名が特定でき或いは回数制限を越えた署名者が特定できる各サイトにおける回数制限内では匿名性が保たれ、複数人用の、匿名性を保つ署名方法に関する。
【０００２】
【従来の技術】
匿名性を守ることは通信において重要な課題であるが、匿名性を保証すると、不正者を誘発することになりかねない。
【０００３】
署名系において匿名性と不正者特定を両立した系として、グループ署名がある。この系はチャウム(Chaum)とヘイスト(Heijst)により、非特許文献１で提案された。
【０００４】
グループ署名とは、次を満たす署名系のことである。
▲１▼グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、公開鍵、領域変数を作る。
▲２▼グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
▲３▼メンバー装置のみが署名を計算できる。
▲４▼検証装置は、署名と同一フォーマットの情報（以下疑似署名と呼ぶ）が、メンバー装置によって作られた正当な署名であるか否かを確認することができる。
▲５▼グループ管理装置（の持つ、前記秘密鍵が入力された装置）以外の装置は、どのメンバー装置が署名を作成したかを特定することはできない。
▲６▼但し、グループ管理装置（の持つ、前記秘密鍵が入力された装置）は、前記秘密鍵を利用することで、署名を作成したメンバー装置を特定することができる。
【０００５】
普段は匿名性を保っているが、不正が発覚したとき、グループ管理装置が署名した装置を特定することで不正者を発見できる。この事により、不正抑制をしているのである。
【０００６】
チャウム(Chaum)とヘイスト(Heijst)により、初めてグループ署名が提案されて以来、様々な改良を加えられたグループ署名が提案されてきた。代表的なものに、カメニッシュ(Camenisch)、スタッドラー(Stadler)らによる非特許文献２や、アテニース(Ateniese)、カメニッシュ(Camenisch)、ジョイ(Joye), ツディック(Tsudik)等による非特許文献３がある。
【０００７】
ほとんどのグループ署名は、アイデンティティ エスクロー（Identity Escrow）と呼ばれる系から、フィアット(Fiat) シャーミル(Shamir)変換と呼ばれるものを施すことによって得ることができる。上述した系は全てこの方法により得ることができる。
【０００８】
アイデンティティ エスクローは、キリアン(Kilian), ペトランク(Petrank)による非特許文献４により提案された。アイデンティティ エスクローとは、匿名性と不正抑制を両立した認証系で、グループ署名系と同様の性質を持つ。
▲１▼グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、領域変数を作る。
▲２▼グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
▲３▼メンバー装置のみが認証を計算できる。
▲４▼検証装置は、認証と同一フォーマットの情報（以下疑似認証と呼ぶ）が、メンバー装置によって作られた正当な認証であるか否かを確認することができる。
▲５▼グループ管理装置（の持つ、前記秘密鍵が入力された装置）以外の装置は、どのメンバー装置が認証を作成したかを特定することはできない。
▲６▼但し、グループ管理装置（の持つ、前記秘密鍵が入力された装置）は、前記秘密鍵を利用することで、認証を作成したメンバー装置を特定することができる。
【０００９】
ここで、アテニース(Ateniese)、カメニッシュ(Camenisch)、ジョイ(Joye), ツディック(Tsudik)等による系の概略を説明する。
【００１０】
図３１は、従来のグループ署名系の装置間の関係を示すブロック図である。グループ署名系は、グループ管理装置４１と、ユーザー装置（メンバー装置）４２と、検証装置４３とを備えている。
【００１１】
グループ管理装置４１は、まずグループ署名セットアップルーチンを行い、グループ署名に必要な基本的パラメーター（領域変数と呼ばれる）をセットアップする。次にグループ署名ジョインルーチンをユーザー装置４２と共に行う。グループ管理装置４１は、領域変数と、ライセンスをユーザー装置４２に渡し(BGS-BL L1)、グループ管理装置４１は、ライセンスに対応する公開鍵、及びユーザー装置４２のIDを受け取る(BGS-BL L2)。ライセンスを受け取ったユーザー装置４２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置４２をメンバー装置と呼ぶ。メンバー装置は、ライセンスを用い署名を行うことができる。グループ署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は署名を作ることができない。
【００１２】
検証装置４３は、領域変数を用い(BGS-BL L4)、署名の正当性を検証する装置である。検証装置４３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名(BGS-BL L3)であるか否か(BGS-BL L8)を決定し、出力する(BGS-BL L5)装置である。
【００１３】
犯罪等何らかの理由で署名者を特定したい場合には、署名をグループ管理装置４１に送る(BGS-BL L6)。グループ管理装置４１は、グループ署名セットアップルーチン時に作成した秘密情報を用いて署名者を決定する(BGS-BL L7)。
【００１４】
アテニース等のグループ署名系は、 グループ署名セットアップルーチン、グループ署名ジョインルーチン、グループ署名ルーチン、グループ署名検証ルーチン、グループ署名署名者決定ルーチンからなる。
【００１５】
セットアップルーチンについて説明する。このルーチンにおいて、グループ管理装置４１は秘密鍵および領域変数を作成する。セットアップルーチンにおいて、グループ管理装置４１は、二つの素数p, qを秘密裡に選び、その積nを公開する。(p, q)を秘密鍵として秘密裡に保管し、nを領域変数として公開する。秘密鍵(p, q)は、ジョインルーチンにおいて、ライセンス発行に使用する。また、QR(n)の元gを任意に取り、gの位数以下の正整数χを秘密裡にとる。そして h = gχ mod n を計算し、χを秘密鍵として保管し、(g,h)を領域変数として公開する。χは署名装置特定のために使用する。更にQR(n)の元a, a０, g'をランダムに取り、公開する。
【００１６】
次に、ジョインルーチンを説明する。ジョインルーチンは、ユーザー装置４２と通信し、ユーザー装置４２にライセンスを手渡す。ライセンスは三つ組(x, A, e)で、aｘ a０ = Aｅ mod n を満たし、x, eがある定められた範囲にはいるものでり、eが素数であるものである。
【００１７】
ライセンスを得たユーザー装置４２をメンバー装置と呼ぶ。尚、グループ管理装置４１はメンバー装置毎に異なるライセンスを与えねばならない。
【００１８】
メンバー装置はライセンス(x, A, e)のうちxを秘密鍵として秘密裡に保管し、A,eを（かならずしも秘密裡ではなく）保管する。
【００１９】
ジョインルーチンにより、ユーザー装置４２はライセンス(x, A, e)を得、グループ管理装置４１は(aｘ, A, e)を得る。ジョインルーチンは、暗号プロトコルを駆使したグループ管理装置４１にはxがばれないようなプロトコルである。
【００２０】
グループ管理装置４１は、ジョインプロトコルで得た(aｘ, A, e)を、メンバー装置の識別子とセットにして保管する。このリストを鍵リストと呼ぶ。
【００２１】
署名装置特定ルーチンについては後述する。
【００２２】
グループ管理装置４１からライセンス(x,A,e)を得たメンバー装置は、ライセンスを利用して認証を受けること、署名を作成することが可能になる。
【００２３】
署名方法の概略を説明する。署名手順は暗号作成ステップ、ゼロ知識証明ステップの二つのステップからなる。
【００２４】
暗号作成ステップでは、メンバー装置はまず、定められた範囲から乱数uを取り、T１ = A hｕ mod n, T２ = gｕ mod n, T３ = gｅg'ｗ mod nを作成する。
【００２５】
ゼロ知識証明ステップは、コミットステップ、チャレンジステップ、レスポンスステップと呼ばれているものを作成する。
【００２６】
コミットステップにおいては、定められた範囲から乱数eｂａｒ, xｂａｒ, ηｂａｒ, wｂａｒを選び、d１ = T１^eｂａｒ / (a^xｂａｒ h^ηｂａｒ) mod n、d２ = T２^eｂａｒ / g^ηｂａｒ mod n、d３ = g^wｂａｒ mod n、d４ = g^eｂａｒ g'^wｂａｒ mod nを計算する。
【００２７】
次にチャレンジステップにおいては、c =Hash(g||h||g'||a０||a||T１||T２||T３||d１||d２||d３||d４||m)を計算する。ここでHashはハッシュ関数。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【００２８】
最後にレスポンスステップにおいては、s１ = eｂａｒ - c(e - 2^γ)、s２ = xｂａｒ - c(x - 2^λ)、s３ = ηｂａｒ - ceu、s４ = wｂａｒ - cwを作成し、(T１, T２, T３, d１, d２, d３, d４, c)を署名として公開する。但し、ここでγ、λはセキュリティパラメーターから定まる定数。
【００２９】
検証は、まず、d１ = a０^c T１^(s１ - c2^γ) / (a^(s２ - c 2^λ)h^s３) mod n, d２ = T２^(s１ - c 2^γ) / g^s３ mod n,d３ = T２^c g^s４ mod n,d４ = T３^c g ^(s１ - c 2^γ) h^s４ mod nを確認し、次にc =Hash(g||h||g'||a０||a||T１||T２||T３||d１||d２||d３||d４||m)を確認し、最後にs１、s２、s３、s４がある定められた範囲にはいることを示す。
【００３０】
また、グループ管理装置４１は、署名装置特定ルーチンを実行することで署名装置を特定することができる。
【００３１】
署名装置特定ルーチンではA = T１ / T２^χ mod n を計算し、Aを含む鍵を鍵リストから検索することで、署名装置を特定する。
【００３２】
また、特許文献１には、匿名および利用回数を制限された認証を行うために、認証者と被認証者の各々において認証を受けられる回数を管理しながら認証者において被認証者を仮名のまま認証すると共に被認証者の実名を知り得る匿名認証方法が開示されている。
【００３３】
【非特許文献１】
グループ シグナチャー、ユーロクリプト '91, シュプリンガー レクチャーノート イン コンピューター サイエンス 547, 257頁〜265頁 1991年(D. Chaum and E. van Heijst, Group signatures, Eurocrypt '91, Springer Lecture Notes in Computer Sciencs 547, p.257-265, 1991.)
【非特許文献２】
エフィシェント グループ シグナチャー スキームス フォー ラージ グループス、クリプト '97, シュプリンガー レクチャーノート イン コンピューター サイエンス 1294, 410頁〜424頁 1997年(Group Signature Schemesfor Large Groups, Jan Camenisch, Markus Stadler,Crypt '97, Springer Lecture Notes in Computer Sciencs 1294, p.410-424, 1997.)
【非特許文献３】
ア プラクティカル アンド プルーバブリー セキュアー コリジョン レジスタント グループ シグナチャー スキーム、クリプト2000, シュプリンガー レクチャーノート イン コンピューター サイエンス 1880, 255頁〜270頁, 2000年 （A Practical and ProvablySecure Coalition-Resistant Group Signature Scheme, Giuseppe Ateniese, Jan Camenisch, Marc Joye, and Gene Tsudik, Crypt 2000, Springer Lecture Notes in Computer Sciencs 1880, p.255-270, 2000.)
【非特許文献４】
アイデンティティ エスクロー、クリプト '98 シュプリンガー レクチャーノート イン コンピューター サイエンス 1462, 169頁〜185頁, 1998年 (Identity Escrow, JoeKilian, Erez Petrank CRYPTO '98, Springer Lecture Notes in ComputerSciencs 1462, p.169-185, 1998 )
【特許文献１】
特開２００１−９４５５３号公報
【００３４】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、以下のような問題点がある。
【００３５】
第１の問題点は、回数制限が課されていなことである。この為、例えばアンケートに応用する場合、同一人物による二重回答を防ぐことができない。その理由は、グループ署名系においては、署名を行ったメンバー装置の匿名性が完全に保証されている。この為、二つの署名文があったとき、この二つの署名文を作成したのが同一人物であるか否かを知ることはできない。
【００３６】
第２の問題点は、メンバー装置の署名が不正であるか不正でないかにかかわらず、グループ管理装置には署名者を特定されてしまうことである。その理由は、グループ署名系の場合、グループ管理装置の権限が強すぎるためである。
【００３７】
第３の問題点は、処理速度が遅いことである。なぜなら、グループ署名に使用するライセンスの形は複雑で、その為ゼロ知識証明が複雑になるからである。
【００３８】
本発明の第１の目的は、匿名性をコントロールする事である。
【００３９】
本発明の他の目的は、グループ署名と異なり、回数制限を越えない限りグループ管理装置でも署名装置を特定することはできないようにすることである。（しかし、系を自明に改良することで、グループ管理装置が署名装置を特定できるように改良することが可能である）。
【００４０】
本発明の更に他の目的は、グループ署名系、及び回数制限署名系を高速化することである。
【００４１】
【課題を解決するための手段】
本願第１の発明のグループ署名方法は、グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップするステップと、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡すステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報と、を含む値を入力するステップと、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認するステップと、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化するエルガマル暗号化ステップと、ライセンス情報コミット用乱数を作成し、さらに前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成するゼロ知識証明書計算コミット用乱数生成ステップと、ゼロ知識証明のコミットメントを作成するゼロ知識証明書計算コミットステップと、コミットメント諸々のハッシュ関数であるチャレンジを生成するゼロ知識証明書計算チャレンジステップと、ライセンス情報レスポンスを作成し、次に前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力するゼロ知識証明書計算レスポンスステップと、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力するステップと、検証装置が、前記セキュリティパラメーターと前記領域変数を入力するステップと、署名（疑似署名）を入力するステップと、前記入力された疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証するライセンス等式検証ステップと、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認するエルガマル暗号第一成分等式検証ステップと、前記入力された疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証するライセンス情報範囲指定条件検証ステップと、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定するステップと、を有することを特徴とする。
【００４２】
本願第２の発明の回数制限署名方法は、グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、前記グループ管理装置がユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記サイト管理装置が入力値のハッシュ値から弱特定用タグを作り、前記入力値と前記弱特定用タグとを出力するステップと、前記ユーザー装置が、セキュリティパラメーターと領域変数とライセンス情報を入力するステップと、前記サイト管理装置から弱特定タグを入力するステップと、メッセージを入力するステップと、前記弱特定タグと前記ライセンス情報とから弱特定性質を満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力するステップと、検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、前記入力された弱特定可能二重署名禁止疑似署名に対し、前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が弱特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の弱特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、前記入力された複数個の弱特定可能二重署名禁止署名の中から、同一ユーザー装置によって作られたものを探し出し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４３】
本願第３の発明の回数制限署名方法は、グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、前記グループ管理装置がユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記グループ管理装置が前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、前記サイト管理装置が入力値のハッシュ値から弱特定用タグと強特定用タグを作り、前記入力値と前記弱特定用タグと前記強特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から弱特定タグと強特定タグとを入力するステップと、メッセージを入力するステップと、前記弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、前記入力された強特定可能二重署名禁止疑似署名に対し、前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された強特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の強特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、前記入力された複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを探し出し、そのような強特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、前記二重署名弱特定ルーチン出力ステップが出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである前記鍵リストを入力し、前記入力された組から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する二重署名強特定ステップと、を有することを特徴とする。
【００４４】
本願第４の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作るステップと、前記入力値と前記制限回数個の前記弱特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４５】
本願第５の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作るステップと、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数、制限回数個の弱特定タグと強特定タグとの組、サイト識別子、強特定サイトにおけるタグ使用履歴を入力するステップと、メッセージを入力するステップと、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、前記タグ選択ステップで選ばれた弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する前記弱特定用タグ署名ステップと、前記タグ選択ステップで選ばれた強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、前記入力された強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の強特定可能回数制限署名が入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップが出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、を有することを特徴とする。
【００４６】
本願第６の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、前記サイト管理装置が、前記グループ管理装置からサイト管理用の情報を取得するステップと、制限回数を含むものを入力するステップと、前記制限回数を前記グループ管理装置に送信するステップと、前記グループ管理装置が、前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、前記サイト管理装置が、前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の大人数用弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の大人数用弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４７】
本願第７の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、前記サイト管理装置が、前記グループ管理装置からサイト管理用の情報を取得するステップと、制限回数を含むものを入力するステップと、前記制限回数を前記グループ管理装置に送信するステップと、前記グループ管理装置が、前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、前記サイト管理装置が、前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、記ライセンス情報を前記ユーザー装置が保有することと、前記大人数用タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記大人数用タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いた大人数用タグと前記強特定タグ署名生成に用いた大人数用タグとが同一であることとを証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の大人数用強特定可能回数制限署名を入力する回数制限弱特定ルーチン入力ステップと、前記入力された複数個の大人数用強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップが出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、を有することを特徴とする。
【００４８】
本願第８の発明の回数制限署名方法は、第２の発明において前記弱特定用タグ署名が、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余である、ことを特徴とする。
【００４９】
本願第９の発明の回数制限署名方法は、第２，第３，第４または第５の発明において前記セットアップステップは、セキュリティパラメーターから、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、さらに自由領域変数と呼ばれるものと、左辺底領域変数と呼ばれるものと、タグ用左辺底領域変数と呼ばれるものとを計算し、さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、前記タグモジュラスと、タグ用左辺底領域変数とを公開情報として出力し、前記ジョインステップは、前記ユーザー装置とアクセスを行い前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記タグ用左辺底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取る、ことを特徴とする。
【００５０】
本願第１０の発明の回数制限署名方法は、第２の発明において前記二重署名弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５１】
本願第１１の発明の回数制限署名方法は、第３の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００５２】
本願第１２の発明の回数制限署名方法は、第３の発明において前記二重署名弱特定ルーチン主ステップは、前記入力した複数個の強特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、前記二重署名強特定ステップは、前記入力された強特定可能二重署名禁止署名の組に対し、そのうち任意の二つの強特定可能二重署名禁止署名を取りだし、第一の強特定可能二重署名禁止署名の強特定用タグ署名を第二の強特定可能二重署名禁止署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、ことを特徴とする。
【００５３】
本願第１３の発明の回数制限署名方法は、第４の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるタグモジュラスと呼ばれるものを法とする巾乗剰余である、ことを特徴とする。
【００５４】
本願第１４の発明の回数制限署名方法は、第４の発明において前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５５】
本願第１５の発明の回数制限署名方法は、第５の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００５６】
本願第１６の発明の回数制限署名方法は、第５の発明において前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、前記回数制限強特定ステップは、前記入力された強特定可能回数制限署名の組に対し、そのうち任意の二つの強特定可能回数制限署名を取りだし、第一の強特定可能回数制限署名の強特定用タグ署名を第二の強特定可能回数制限署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、ことを特徴とする。
【００５７】
本願第１７の発明の回数制限署名方法は、第６の発明において前記入力した弱特定タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報との三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記弱特定タグの前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記基本モジュラスを法とする巾乗剰余である、ことを特徴とする。
【００５８】
本願第１８の発明の回数制限署名方法は、第６の発明において前記入力された弱特定タグ達のおのおのは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較する事によって、同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５９】
本願第１９の発明の回数制限署名方法は、第６または第７の発明において前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、前記領域変数および前記ライセンス情報は、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、ことを特徴とする。
【００６０】
本願第２０の発明の回数制限署名方法は、第７の発明において前記入力された大人数用タグ達の各々は、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００６１】
本願第２１の発明の回数制限署名方法は、第７の発明において前記セットアップステップは、セキュリティパラメーターと、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、さらに自由領域変数と呼ばれるものと、左辺第一底領域変数と呼ばれるものと、左辺第二底領域変数と呼ばれるものを計算し、さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺第一底領域変数と、前記左辺第二底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、とを公開情報として出力し、前記ジョインステップは、前記ユーザー装置にアクセスを行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記左辺第二底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取り、前記サイト管理権授与ステップは、タグ用自由領域変数と呼ばれるものと、タグ用左辺第領域変数と呼ばれるものと、を前記サイト管理装置に渡し、前記大人数用タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、前記領域変数および前記大人数用タグは、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、ことを特徴とする。
【００６２】
本願第２２の発明の回数制限署名方法は、第７の発明において前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の大人数用強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定し、前記回数制限強特定ステップは、前記入力した大人数用強特定可能回数制限署名の組に対し、そのうち任意の二つの大人数用強特定可能回数制限署名を取りだし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名を第二の大人数用強特定可能回数制限署名の強特定用タグ署名で、基本モジュラスを法として剰余したものを底とし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたもの指数とし、基本モジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力し、前記入力された弱特定用タグ署名および強特定タグ署名は、タグと呼ばれるものから作られていて、前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスの三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値であり、前記検証ルーチン主ステップは、さらに前記入力された大人数用強特定可能回数制限署名の、弱特定用タグ署名部を作成するのに使用したライセンスと、強特定用タグ署名部を作成するのに使用したライセンスが同一であることを確認する、ことを特徴とする。
【００６３】
本願第２３の発明のグループ署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップする機能、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡す機能、ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを含む値を入力する機能、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認する機能、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化する機能、ライセンス情報コミット用乱数を作成して前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成する機能、ゼロ知識証明のコミットメントを作成する機能、コミットメント諸々のハッシュ関数であるチャレンジを生成する機能、ライセンス情報レスポンスを作成して前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力する機能、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力する機能、検証装置が、前記セキュリティパラメーターと前記領域変数を入力する機能、署名（疑似署名）を入力する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証する機能、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証する機能、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定する機能、を実現させる。
【００６４】
本願第２４の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置が、入力値のハッシュ値から弱特定用タグを作成する機能、前記入力値と前記弱特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記ライセンス情報を保有することと前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有することと前記保有するライセンス情報と前記生成に用いた情報が同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する機能、前記弱特定可能二重署名禁止疑似署名に対し前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び前記弱特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の前記弱特定可能二重署名禁止署名を入力する機能、前記入力された複数個の弱特定可能二重署名禁止署名の中から同一ユーザー装置によって作られたものを検索し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する機能、を実現させる。
【００６５】
本願第２５の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、サイト管理装置が、入力値のハッシュ値から弱特定用タグと強特定用タグを作成する機能、前記入力値と前記弱特定用タグと前記強特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグと前記強特定タグとを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有することと、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有することと、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを証明するためのデータ（正当性証明書を）生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する機能、前記入力した強特定可能二重署名禁止疑似署名に対し前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び強特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能二重署名禁止署名を入力する機能、前記入力した複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを検索し、そのような強特定可能二重署名禁止署名の組があればそれを出力する機能、前記出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された組から前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００６６】
本願第２６の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させる。
【００６７】
本願第２７の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数，制限回数個の弱特定タグと強特定タグとの組，強特定サイトにおけるタグ使用履歴およびサイト識別子を入力する機能、メッセージを入力する機能、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれた強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（強特定可能回数制限疑似署名）を入力する機能、前記入力した強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能回数制限署名を入力する機能、前記入力された複数個の強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００６８】
本願第２８の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報をが保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の大人数用弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する機能、を実現させる。
【００６９】
本願第２９の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、前記取得した公開鍵達のリストを出力する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力する機能、メッセージを入力する機能、前記入力した制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれたタグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれたタグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いたタグと前記強特定タグ署名生成に用いたタグとが同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する機能、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用強特定可能回数制限署名を入力する機能、前記入力された複数個の大人数用強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００７０】
【発明の実施の形態】
初めに、本発明の特徴について説明する。
【００７１】
本発明では、グループ管理装置、ユーザー装置（メンバー装置）、検証装置に、新たにサイト管理装置と呼ばれるものを加える。サイト管理装置は、強特定サイト管理装置と弱特定サイト管理装置に分かれる。
【００７２】
強特定サイト管理装置は、制限回数と強特定タグとを公開する（他の装置からアクセス可能な状態に置く）。メンバー装置は、各強特定サイト管理装置に対し、強特定サイト管理装置が公開した強特定タグを利用して署名を作成する。同一メンバー装置が、同一強特定サイトで制限回数を越えて署名した場合のみ、匿名性が破れ、不正を行ったメンバー装置が特定される。同時に、どの署名（の組）が不正であるかも分かる。同一メンバー装置が行った署名でも、相異なる強特定サイトに対し署名する限りは、何回署名してもかまわないことに注意されたい。
【００７３】
弱特定サイト管理装置は、制限回数と弱特定タグとを公開する。メンバー装置は、弱特定タグを利用して署名を作成する。弱特定サイトの場合は、同一メンバー装置が、同一弱特定サイトで制限回数を越えて署名しても、不正をした人物の匿名性は守られる。しかし、どの署名(の組)が不正であるかは特定することができる。
【００７４】
本発明の署名系を、回数制限署名と呼ぶ。普段は匿名性を保っているが、回数制限を越えた不正が発覚したとき、サイト管理装置が署名装置を特定することで不正装置を発見できる。このことにより不正抑制をしているのである。
【００７５】
より詳しく言えば、回数制限署名とは、
１．グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、公開鍵、領域変数を作る。
２．グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
３．サイト管理装置は、制限回数および（強特定または弱特定）タグを公開。
４．メンバー装置のみが署名を計算できる。
５．メンバー装置は、各サイト管理装置にアクセスし、サイト管理装置の公開するタグを使用して署名を作成。この署名をサイト管理装置に対する署名と呼ぶ。
６．検証装置は、署名と同一フォーマットの情報（以下疑似署名と呼ぶ）が、メンバー装置によって作られた正当な署名であるか否かを確認することができる。
７．どんな装置も（グループ管理装置ですら）、どのメンバー装置が署名を作成したかを特定することはできない。
８．但し、メンバー装置があるサイトに対し、制限回数を越えて署名した場合、その署名達は（弱または強）特定される。制限回数を越えない限り、グループ管理装置でも署名装置を特定することはできない。
【００７６】
回数制限署名で、（弱または強）サイト管理装置が指定できる制限回数を１に制限した署名系（つまり、同一メンバー装置が同一サイトで二度署名すると不正と見做される署名系）を二重署名禁止署名と呼ぶ。
【００７７】
本発明は、どのようなグループ署名系を改良しても得ることができるが、特に前述のアテニース(Ateniese)、カメニッシュ(Camenisch)、ジョイ(Joye), ツディック(Tsudik)等によるグループ署名系に対して考える。
【００７８】
そこで、本発明では、まずアテニース等の系を改良した、処理速度が高速なグループ署名を提案する。処理速度を高速化したグループ署名系は、レスポンスをあたかもチャレンジであるかのように使うことを特徴とする。これにより、高速なグループ署名系を実現する。
【００７９】
次に、処理速度が高速なグループ署名を改良した弱特定可能二重署名禁止署名と強特定可能二重署名禁止署名を提案する。弱特定可能二重署名禁止署名は、弱特定タグと呼ばれるものを使用することを特徴とする。弱特定タグに対し、メンバー装置が弱特定用タグ署名というものをつける。二つの署名につけられた弱特定用タグ署名を比較する事で、同一メンバー装置が同一サイトで行った署名であるか否かを検証することができる。強特定可能二重署名禁止署名は、弱特定タグ、強特定タグ、鍵リストと呼ばれるものを使用することを特徴とする。弱特定タグ、強特定タグに対し、メンバー装置はそれぞれ弱特定用タグ署名、強特定用タグ署名というものをつける。二つの署名につけられた弱特定用タグ署名を比較する事で、同一メンバー装置が同一サイトで行った署名であるか否かを検証することができ、更に強特定用タグ署名から計算により、公開鍵を割り出し、その公開鍵を鍵リストから見つけることで、署名装置を特定することができる。
【００８０】
更に、これを改良した弱特定可能回数制限署名と強特定可能回数制限署名とを提案する。弱特定可能回数制限署名は、複数個の弱特定可能二重署名禁止署名をorのゼロ知識証明の技術を用いて併せることを特徴とする。これにより、回数制限が２以上の場合に、弱特定可能二重署名禁止署名を拡張できる。強特定可能回数制限署名は、複数個の強特定可能二重署名禁止署名をorのゼロ知識証明の技術を用いて併せることを特徴とする。これにより、回数制限が２以上の場合に、強特定可能二重署名禁止署名を拡張できる。
【００８１】
しかし、この（弱特定可能および強特定可能）回数制限署名は、制限回数が大きい場合には処理速度に影響するので、これを更に改良した大人数用弱特定可能回数制限署名と大人数用強特定可能回数制限署名とを提案する。この改良された系の場合、処理速度が回数制限によらない。大人数用弱特定可能回数制限署名は、orのゼロ知識証明の代わりにグループ署名を用いることを特徴とする。これにより、処理速度が回数制限によらない弱特定可能回数制限署名を実現できる。大人数用強特定可能回数制限署名は、orのゼロ知識証明の代わりにグループ署名を用いることを特徴とする。これにより、処理速度が回数制限によらない強特定可能回数制限署名を実現できる。
【００８２】
メンバー装置が出力した二つの弱特定タグ署名が、同一の弱特定タグと同一のライセンス情報を用いて作られたものであるか否かを判定できるという性質を弱特定性質という。
【００８３】
メンバー装置が出力した二つの強特定タグ署名がもし同一の強特定タグと同一のライセンス情報を用いて作られたものであるなら、その同一のライセンスの定められた部分情報を計算することができ、更にライセンスの定められた部分情報をメンバー装置の識別子と対応させる鍵リストと呼ばれるリストから部分情報を検索することでライセンスと対応しているメンバー装置のID（識別子）を知ることができるものであるという性質を強特定性質という。
【００８４】
以降の記述において、 a^bはaのb乗を意味し、a_bはaに下付き添字bが付いた状態を示す。
【００８５】
また、グループ管理装置，ユーザー装置，検証装置及びサイト管理装置の各装置は、必要に応じてデータをキーボード等の入力機器から入力，ネットワークを介して他の装置から受信，或いは自己で設定し、記憶装置を作業領域に使用して処理（ルーチン）を実行し、結果データをメモリー等の記憶機器に格納し、必要に応じてプリンタやディスプレイ等の出力機器に出力，或いはネットワークを介して他の装置に送信する。以降に記述する各実施の形態での各ルーチンは、これらの機器を使用して動作する。
【００８６】
次に、本発明の第１の実施の形態について、図面を参照して詳細に説明する。第１の実施の形態では、アテニース(Ateniese)等によるグループ署名系の処理速度を高速化する方法を述べる。
【００８７】
図１は、本発明の第１の実施の形態の構成を示す図であり、グループ署名系の装置間の関係をブロック図で示す。
【００８８】
図１を参照すると、グループ署名系は、グループ管理装置１１と、ユーザー装置（メンバー装置）１２と、検証装置１３とを備える。上記の各装置はプログラム制御で動作するサーバ等の情報処理装置であり、上記の各装置はインターネット等のネットワークで結ばれている。通常、ユーザー装置（メンバー装置）１２は複数存在し、各ユーザー装置（メンバー装置）１２はID（識別子）を有する。グループ管理装置１１とユーザー装置１２との間は、例えばマルチパーティプロトコル等で通信を行う。
【００８９】
グループ管理装置１１は、まずグループ署名セットアップルーチンを実行し、グループ署名に必要な基本的パラメーター（領域変数と呼ばれる）をセットアップする。次にグループ署名ジョインルーチンをユーザー装置１２と共に実行する。グループ管理装置１１は領域変数とライセンスとをユーザー装置１２に渡し(GS-BL L1)、グループ管理装置１１はライセンスに対応する公開鍵およびユーザー装置１２のIDを受け取る(GS-BL L2)。
【００９０】
ライセンスを受け取ったユーザー装置１２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置１２をメンバー装置と呼ぶ。メンバー装置は、ライセンスを用いメッセージに対し署名を行うことができる。
【００９１】
グループ署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【００９２】
検証装置１３は、領域変数を用い(GS-BL L4)、署名の正当性を検証する装置である。検証装置１３は、送られてきたデータ（以下疑似署名。送られてきた段階では署名か否かわからないので疑似署名と称す）が、メンバー装置がライセンスを用い正しい手順で作成した署名(GS-BL L3)であるのか否か(GS-BL L8)を決定し、出力する(GS-BL L5)装置である。
【００９３】
犯罪等何らかの理由で署名者を特定したい場合には、署名をグループ管理装置１１に送る(GS-BL L6)。グループ管理装置１１は、グループ署名セットアップルーチン時に作成した秘密情報を用いて署名者（メンバー装置）を特定する(GS-BL L7)。
【００９４】
以下に、より詳細に説明する。
【００９５】
グループ管理装置１１は、まず以下のグループ署名用セットアップルーチン（グループ署名セットアップ手段）を行う。図２は、本発明の高速化したグループ署名系のセットアップルーチンを示すフローチャートである。
【００９６】
図２を参照すると、まずグループ管理装置１１は、セキュリティ・パラメーターε、μ、νを決める(ステップGS-SU 1)。尚、通常はν = 1024, μ = ε = 160とすればよい。組(ε、μ、ν)をセキュリティパラメーターと呼び、νを素因数ビット数セキュリティパラメーターと呼び、εを統計的ゼロ知識非完全度合いセキュリティパラメーターと呼び、μを検証エラーセキュリティパラメーターと呼ぶ。
【００９７】
次にグループ管理装置１１はλ = 2(ν + ε)、 γ = λ + μ + ε + 4とし、以下、-2λ以上2λ以下の整数全体をΛと書き、2γ - 2λ以上 2γ + 2λ以下の整数全体をΓと書く(ステップGS-SU 2)。
【００９８】
素数p',q'を、 p = 2p' + 1, q = 2q' + 1がνビットになるように選び、n = pqを計算する(ステップGS-SU 3)。pを秘密第一因数と呼び、qを秘密第二因数と呼び、nを基本モジュラスと呼ぶ。
【００９９】
グループ管理装置１１は、QR(n)の元 a, a０をランダムに選ぶ。但し、ここで、QR(n)は、Z/nZの元で平方剰余であるもの全体を表す(ステップGS-SU 4)。aを左辺底領域変数と呼び、更にa０を自由領域変数と呼ぶ。
【０１００】
(Z/p'q'Z)の元χをランダムに選ぶ(ステップGS-SU 5)。
【０１０１】
グループ管理装置１１はランダムにQR(n)の元gをランダムに選び、gχをhとする(ステップGS-SU 6)。gを離散対数第一領域変数と呼び、hを離散対数第二領域変数と呼ぶ。
【０１０２】
グループ管理装置１１は (p', q', p, q, χ)を秘密鍵として秘密裡に保持し、更に (ε,μ,ν, n, a, a０, g, h)を公開鍵として公開する(ステップGS-SU 7)。
【０１０３】
尚、領域変数は、上記の基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む。
【０１０４】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているとする。グループに加わりたい場合、ユーザー装置１２は、グループ管理装置１１と、以下のグループ署名用ジョインルーチン（グループ署名用ジョイン手段）を行う。図３は本発明のグループ署名用ジョインルーチンの行い方を示すフローチャートである。
【０１０５】
図３を参照すると、ユーザー装置１２は、まず g, h がIＬのハッシュ値から作られていることを確認する。ユーザー装置１２は秘密裡かつランダムにλビット以下の非負整数x[2], t[2]を選び、C[9] = g^(x[2]) h^(t[2]) mod nを計算し、グループ管理装置１１に、C[9]を送る(ステップGS-J 1)。
【０１０６】
次にグループ管理装置１１はC[9]がQR(n)の元であることを確認し、ランダムにλビット以下の非負整数βをユーザー装置１２に送る(ステップGS-J 2)。
【０１０７】
ユーザー装置１２は x[2] + β を 2λで割った商をθ、余りをxとする。計算し、C = aｘ mod nを計算し、C をグループ管理装置１１に送る(ステップGS-J 3)。
【０１０８】
グループ管理装置１１はCがQR(n)の元であることを確認する。
【０１０９】
更にユーザー装置１２はグループ管理装置１１に次の３つを満たすx[3], θ[3]、t[2, 3]の知識を証明するゼロ知識証明書をグループ管理装置１１に送信(ステップGS-J 4) 。尚、上記の次の３つとは、▲１▼x[3] の絶対値は2γ − ３未満,▲２▼a^x[3] = C mod n,▲３▼C[9] gβ = g^x[3] g^(θ[3] 2λ) h^t[2, 3] mod nである。
【０１１０】
具体的には、次のようにする。
【０１１１】
ユーザー装置１２は、λ + ε ビットの乱数x[4, 7]、t[2, 4, 7]を秘密裡に生成。更に、θのビット数 + εビットの乱数θ[4, 7]を秘密裡に生成。C[4, 7] = a^x[4, 7] mod n, C[4, 7, 9] = g^(x[4, 7]) g^(θ[4, 7] 2λ)h^(t[2, 4, 7]) mod nを作成。更にユーザー装置１２は、c = Hash(ε||μ||ν|| n|| a|| a０||g||h||β||C ||C[4, 7]||C[4, 7, 9])を計算。ここでHashはハッシュ関数。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。そしてx[5, 7] = c x + x[4, 7], t[2, 5, 7] = c t + t[2, 4, 7], θ[5, 7] = c θ + θ[4, 7]を作成。(C[4, 7], C[4, 7, 9], c, x[5, 7], t[2, 5, 7], θ[5, 7]) を送信。
【０１１２】
グループ管理装置１１は証明書の正当性を検証する。即ち、まずC^c = a^x[5, 7] C[4, 7] mod n と、(C[9] gβ)^c = g^x[5, 7] g^(θ[5, 7] 2λ) h^t[2, 5, 7]C[4, 7, 9] mod nを確認し、次にx[5, 7]の絶対値が2^(γ - 3)未満であることを確認する。
【０１１３】
グループ管理装置１１はΓから素数eをランダムに選び、A = (C a０)１／ｅ mod nを計算し、Aとeをユーザー装置１２に送る(ステップGS-J 5)。
【０１１４】
ユーザー装置１２は aｘ a０ = Aｅ mod n を確認する。更にeがΓの元であることを確認する。
【０１１５】
以上でユーザー装置１２がグループ管理装置１１から受け取った(x, e, A)をユーザー装置１２のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置１２を以後メンバー装置と呼ぶ。
【０１１６】
メンバー装置はxを秘密鍵として秘密裡に保管し、更にeとAを保管する。(x, A, e)をライセンス、或いはライセンス情報と呼ぶ。xを秘密ライセンス情報と呼び、Aを底ライセンス情報と呼び、eを指数ライセンス情報と呼ぶ。また、等式aｘ a０ = Aｅ mod n をライセンス等式と呼ぶ。ライセンス(x, A, e)は、ライセンス等式を満たす。更にxの絶対値は2λ以下であり、eはΓの元である。このx,eの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０１１７】
グループ管理装置１１は、以上で得たC[1]を、メンバー装置のIDと共に公開する(ステップGS-J 6) 。(ID, C)をメンバー装置の公開鍵と呼ぶ。各メンバー装置に対する公開鍵(ID, C)リストを以後鍵リストと呼ぶ。
【０１１８】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているとする。メンバー装置がライセンス(x,A,e)を持っていたとする。メンバー装置は、メッセージに署名するには、以下の高速化グループ署名ルーチン（グループ署名手段）を行う。
【０１１９】
図４は、本発明の高速化グループ署名ルーチンの動作を示すフローチャートである。
【０１２０】
以下、メッセージmに署名する方法を述べる。
【０１２１】
図４を参照すると、まずメンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n, Ahｕ mod n)を計算する(ステップGS-SIG1)。uをエルガマル暗号生成用指数部乱数と呼び、等式G = gｕ mod nをエルガマル暗号第一成分等式と呼び、等式H = Ahｕ mod nをエルガマル暗号第二成分等式と呼ぶ。
【０１２２】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数x[4]、e[4]、絶対値がλ + μ + ε + γビット以下の乱数u[4]を選び(GS-SIG2)、x と e のコミットメントa[4]０ = a^(- x[4])H^(e[4])h^(-e[4]u - u[4] ) mod nを計算し、uのコミットメントG[4] = G^(u[4]) mod nを計算する(ステップGS-SIG3)。
【０１２３】
メンバー装置はx と e の知識の証明に対するチャレンジ c =Hash(n||g||h||a０||a||H||G||a[4]０||G[4]||m)を計算する(ステップGS-SIG4)。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【０１２４】
そしてメンバー装置は x の知識の証明に関するレスポンスを x[5] = cx +x[4]の様に, x と xおよびeの知識の証明にたいするチャレンジ c を用いて計算し、e の知識の証明に関するレスポンスを e[5] = c(e - 2γ) + e[4]の様に、e と xおよびeの知識の証明に対するレスポンス c を用いて計算し、u の知識に関するレスポンスをu[5] = (e[5] + c 2γ)u +u[4]の様に、u と x の知識の証明に関するレスポンス e[5]をもちいて計算する。ここで、u の知識の証明に対するチャレンジに e[4] を用いたため、u[5] は ux の知識の証明に対するチャレンジを c とした時のそのレスポンスと見做すことができる。それゆえ、上記知識 ux が u と x の積であることも証明される(ステップGS-SIG5)。
【０１２５】
最後に(m, r, w, G, H, a[4]０, G[4], c, x[5],e[5], u[5])を署名として出力する(ステップGS-SIG6)。
【０１２６】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているものとする。検証装置１３は、(m, G, H, a[4]０, G[4], c,x[5],e[5], u[5])が、メンバー装置が高速化グループ署名ルーチンに従って作った署名であるか否かを確認したい。
【０１２７】
以下のグループ署名検証ルーチン（グループ署名検証手段）を行う。図５は、本発明のグループ署名検証ルーチンの動作を示すフローチャートである。
【０１２８】
図５を参照すると、検証装置１３は先ずa０^c a[4]０ = a^(- x[5])H^(e[5] + c 2^(γ))h^(- u[5]) mod n を確認し(ステップGS-VER1)、次にg^(u[5]) = G^(e[5] + c2^(γ))G[4] mod n を確認し(ステップGS-VER2)、更にc =Hash(n||g||h||a０||a||H||G||a[4]０||G[4]||m)を確認し(ステップGS-VER3)、x[5]の絶対値、及びe[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップGS-VER4)。
【０１２９】
以上の確認が全て正しければ、検証装置１３は署名を受理し(ステップGS-VER5)、そうでなければ棄却する(ステップGS-VER6)。
【０１３０】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているものとする。メンバー装置がグループ署名ルーチンに従い署名(m, r, w, G, H, a[4]０, G[4], c,x[5], e[5], u[5])を作ったとする。
【０１３１】
装置を特定したいときには、以下のグループ署名における署名装置特定ルーチン（署名装置特定手段）を行う。
【０１３２】
図６は、本発明のグループ署名における署名装置特定ルーチンの動作を示すフローチャートである。
【０１３３】
図６を参照すると、グループ管理装置１１はグループ署名用セットアップルーチンで作った秘密鍵χを用い、H / Gχ mod n を計算し(ステップGS-DET 1) 、鍵リスト{(ID, C, C[1],A, e)}の第四引数がH / Gχ mod nと一致している人物を見つけ出す(ステップGS-DET 2〜GS-DET 3)。
【０１３４】
次に、本発明の第２の実施の形態について、図面を参照して詳細に説明する。第２の実施の形態は、第１の実施の形態で説明した署名系を改良し、弱特定可能二重署名禁止署名を実現する方法を述べる。
【０１３５】
図７は、本発明の第２の実施の形態の構成を示す図であり、二重署名禁止署名系に使用する装置間の関係をブロック図で示す。
【０１３６】
図７を参照すると、二重署名禁止署名に使用する装置として、グループ管理装置２１と、ユーザー装置（メンバー装置）２２と、検証装置２３と、サイト管理装置２４とを備える。上記の各装置はプログラム制御で動作するサーバ等の情報処理装置であり、上記の各装置はインターネット等のネットワークで接続される。ユーザー装置（メンバー装置）２２とサイト管理装置２４はそれぞれ複数存在し、各ユーザー装置２２と各サイト管理装置２４はIDを有する。１つのサイト管理装置２４内に複数のサイトを作ることができる。各サイトはIDを有する。サイトは、例えばインターネット上のホームページ(Ｗｅｂサイト)のようなものである。
【０１３７】
まず、グループ管理装置２１は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０１３８】
ユーザー装置２２は、グループ管理装置２１にアクセスし、ライセンスをもらい(TS-BL L1)、ユーザー装置２２は対応する公開鍵をグループ管理装置２１に送信する(TS-BL L2)。ライセンスを受け取ったユーザー装置２２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置２２をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置２４が公開するタグ（弱特定タグ）(TS-BL L3)を用いてメッセージに対し弱特定可能二重署名禁止署名を行うことができる。
【０１３９】
二重署名禁止署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０１４０】
検証装置２３は、領域変数(TS-BL L5)およびタグ（弱特定タグ）(TS-BL L6)を用い署名の正当性を検証する装置である。検証装置２３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名(TS-BL L4)であるのか否か(TS-BL L8)を判定し、出力する事ができる。また、検証装置２３に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで行った署名を見つけ出すことができる(TS-BL L7)。
【０１４１】
以下に、より詳細に説明する。
【０１４２】
グループ管理装置２１は、まず以下の回数制限署名用セットアップルーチン（回数制限署名用セットアップ手段）を行う。
【０１４３】
図８は、本発明の回数制限署名用セットアップルーチンの動作を示すフローチャートである。
【０１４４】
図８を参照すると、まずグループ管理装置２１は、セキュリティ・パラメーターε、μ、νを決める(ステップTS-SU 1)。尚、通常はν = 1024, μ = ε = 160とすればよい。組(ε、μ、ν)をセキュリティパラメーターと呼び、νを素因数ビット数セキュリティパラメーターと呼び、εを統計的ゼロ知識非完全度合いセキュリティパラメーターと呼び、μを検証エラーセキュリティパラメーターと呼ぶ。
【０１４５】
次にグループ管理装置２１はλ = 2(ν + ε)、 γ = λ + μ + ε + 4とし、以下、-2λ以上2λ以下の整数全体をΛと書き、2γ - 2λ以上 2γ + 2λ以下の整数全体をΓと書く(ステップTS-SU 2)。
【０１４６】
素数p',q'を、 p = 2p' + 1, q = 2q' + 1がνビットになるように選び、n = pqを計算する(ステップTS-SU 3)。pを秘密第一因数と呼び、qを秘密第二因数と呼び、nを基本モジュラスと呼ぶ。
【０１４７】
グループ管理装置２１は、QR(n)の元 a, a０をランダムに選ぶ。但し、ここで、QR(n)は、Z/nZの元で平方剰余であるもの全体を表す。aを左辺底領域変数と呼び、a０を更に自由領域変数と呼ぶ。νビットの素数p[1]を取る。p[1]をタグモジュラスと呼ぶ。更に(Z/p[1]Z)の元a[1]をランダムにとる。a[1]をタグ用左辺底領域変数と呼ぶ(ステップTS-SU 4)。
【０１４８】
グループ管理装置２１はνビットのビット列 IＬをランダムに選び、そのハッシュ値からQR(n)の元g, hを作る(ステップTS-SU 5)。
【０１４９】
グループ管理装置２１は(p[1], a[1],IＬ, g, h)を公開鍵として公開する。IＬを種乱数と呼び、gを離散対数第一領域変数と呼び、hを離散対数第二領域変数と呼ぶ。
【０１５０】
グループ管理装置２１は (p', q', p, q, χ)を秘密鍵として秘密裡に保持し(ステップTS-SU 6)、更に (ε,μ,ν, n, a, a０, g, h)を公開鍵として公開する(ステップTS-SU 7)。
【０１５１】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。
【０１５２】
グループに加わりたい場合、ユーザー装置２２はグループ管理装置２１と、以下の回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０１５３】
図９は、本発明の回数制限署名用ジョインルーチンの動作を示すフローチャートである。
【０１５４】
図９を参照すると、ユーザー装置２２はまず g, h がIＬのハッシュ値から作られていることを確認する。ユーザー装置２２は秘密裡かつランダムにλビット以下の非負整数x[2], t[2]を選び、C[9] = g^(x[2]) h^(t[2]) mod nを計算し、グループ管理装置２１に、C[9]を送る(ステップTS-J 1)。
次にグループ管理装置２１はC[9]がQR(n)の元であることを確認し、ランダムにλビット以下の非負整数βをユーザー装置２２に送る(ステップTS-J2)。
【０１５５】
ユーザー装置２２は x[2] + β を 2λで割った商をθ、余りをxとする。計算し、C = aｘ mod nを計算し、 C をグループ管理装置２１に送る(ステップTS-J3)。
【０１５６】
グループ管理装置２１はCがQR(n)の元であることを確認する。
【０１５７】
ユーザー装置２２はC[1] = a[1]^x mod p[1]を計算し、C[1]をグループ管理装置２１に送る(ステップTS-J 3)。
【０１５８】
グループ管理装置２１はC[1]がQR(n)の元であることを確認する。
【０１５９】
更にユーザー装置２２はグループ管理装置２１に次の4つを満たすx[3], θ[3]、t[2, 3]の知識を証明するゼロ知識証明書をグループ管理装置２１に送信(ステップTS-J 4)。尚、上記の次の４つとは、▲１▼x[3] の絶対値は2γ − ３未満,▲２▼a^x[3] = C mod n,▲３▼C[9] gβ = g^x[3] g^(θ[3] 2λ) h^t[2, 3] mod n,▲４▼a[1]^x[3] = C[1] mod p[1]である。
【０１６０】
具体的には、次のようにする。
【０１６１】
ユーザー装置２２は、λ + ε ビットの乱数x[4, 7]、t[2, 4, 7]を秘密裡に生成。更に、θのビット数 + εビットの乱数θ[4, 7]を秘密裡に生成。C[4, 7] = a^x[4, 7] mod n, C[4, 7, 9] = g^(x[4, 7]) g^(θ[4, 7] 2λ)h^(t[2, 4, 7]) mod n、C[1, 4, 7] = a[1]^x[4, 7] mod p[1]を作成。更にユーザー装置２２は、c = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||C[9]||β||C||C[1]||C[4, 7]||C[4, 7, 9]||C[1, 4, 7])を計算。そしてx[5, 7] = c x + x[4, 7], t[2, 5, 7] = c t + t[2, 4, 7], θ[5, 7] = c θ + θ[4, 7]を作成。(C[4, 7], C[4, 7, 9], C[1, 4, 7], c, x[5, 7], t[2, 5, 7], θ[5, 7]) を送信。
【０１６２】
グループ管理装置２１は証明書の正当性を検証する。即ち、まずc = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||C[9]||β||C||C[1]||C[4, 7]||C[4, 7, 9]||C[1, 4, 7])を確認し、C^c = a^x[5, 7] C[4, 7] mod n と、(C[9] gβ)^c = g^x[5, 7] g^(θ[5, 7] 2λ) h^t[2, 5, 7]C[4, 7, 9] mod nと、C[1]^c = a^x[5, 7]C[1, 4, 7] mod p[1]を確認し、次にx[5, 7]の絶対値が2^(γ - 3)未満であることを確認する。
【０１６３】
グループ管理装置２１はΓから素数eをランダムに選び、A = (C a０)１／ｅ mod nを計算 し(ステップTS-J 5)、Aとeをユーザー装置２２に送る。
【０１６４】
ユーザー装置２２は aｘ a０ = Aｅ mod n を確認する。更にeがΓの元であることを確認する。
【０１６５】
以上でユーザー装置２２がグループ管理装置２１から受け取った(x, e, A)をユーザー装置のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置２２を以後メンバー装置と呼ぶ。
【０１６６】
メンバー装置はxを秘密鍵として秘密裡に保管し、更にeとAを保管する。(x, A, e)をライセンス、或いはライセンス情報と呼ぶ。xを秘密ライセンス情報と呼び、Aを底ライセンス情報と呼び、eを指数ライセンス情報と呼ぶ。また、等式aｘ a０ = Aｅ mod n をライセンス等式と呼ぶ。ライセンス(x, A, e)は、ライセンス等式を満たす。更にxの絶対値は2λ以下であり、eはΓの元である。このx,eの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０１６７】
グループ管理装置２１は、以上で得たC[1]を、メンバー装置のIDと共に公開する(ステップTS-J 6) 。(ID, C)をメンバー装置の公開鍵と呼ぶ。各メンバー装置に対する公開鍵(ID, C)リストを以後鍵リストと呼ぶ。
【０１６８】
グループ管理装置２１は過去に回数制限用セットアップルーチンを終えているものとする。
【０１６９】
サイト管理装置２４がサイトを作るには、以下の二重署名禁止弱特定サイト構成ルーチン（二重署名禁止弱特定サイト構成手段）を行う。
【０１７０】
サイト管理装置２４は、サイト管理装置２４のIDと二重署名禁止弱特定サイトのIDをハッシュ値にいれ、そこから Z/ p[1]Zの元rを作る。
【０１７１】
グループ管理装置２１は(I１, I２,r)を公開する。但し、ここでI１は、サイト管理装置２４のIDで、I２は二重署名禁止弱特定サイトのID。rをこの二重署名禁止弱特定サイトの弱特定タグと呼ぶ。また、(I１, I２,r)をこの二重署名禁止弱特定サイトの二重署名禁止弱特定サイト特定子と呼ぶ。
【０１７２】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置２１とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス(x,A,e)を持っていたとし、更にサイト管理装置２４は二重署名禁止弱特定サイト構成ルーチンを終えているとする。(I１, I２,r)をそのサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。
【０１７３】
メンバー装置が、サイトに対し、弱特定可能二重署名禁止署名を行いたい場合、以下の弱特定可能二重署名禁止署名作成ルーチン（弱特定可能二重署名禁止署名作成手段）を行う。
【０１７４】
図１０は、本発明の弱特定可能二重署名禁止署名作成ルーチンの動作を示すフローチャートである。
【０１７５】
以下、このメンバー装置が二重署名禁止弱特定サイトに対し、メッセージmに署名する方法を述べる。
【０１７６】
図１０を参照すると、まずメンバー装置はrが確かにI１, I２のハッシュ値であることを確認する。メンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する(ステップTS2-SIG1)。
【０１７７】
二重署名禁止弱特定サイトの弱特定タグrに対し、w = rｘ mod p[1] を計算する(ステップTS2-SIG2)。wをメンバー装置の弱特定タグrに対する弱特定用タグ署名タグ署名と呼ぶ。また、等式w = rｘ mod p[1] を弱特定タグ等式と呼ぶ。
【０１７８】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数x[4]、e[4]を選び、絶対値がλ + μ + ε + γ ビット以下の乱数u[4]を選び(ステップTS2-SIG3)、a[4]０ = a^(- x[4])H^(e[4])h^(-e[4]u - u[4] ) mod nを計算し、G[4] = G^(u[4]) mod nを計算する。更にメンバー装置はr[4] = r^(x[4]) mod nを計算(ステップTS2-SIG4) 。
【０１７９】
メンバー装置は c = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||I１|| I２||r||G||H||w||a[4]０||G[4]||r[4]||m)を計算する(ステップTS2-SIG5) 。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【０１８０】
そしてメンバー装置はx[5] = cx + x[4], e[5] = c(e - 2γ) + e[4],u[5] = (e[5] + c 2γ)u +u[4]を計算(ステップTS2-SIG6) 。
【０１８１】
最後に(m, r, w, G, H, a[4]０, G[4], c,x[5],e[5], u[5], r[4])を署名として出力する(ステップTS2-SIG7) 。出力された署名を弱特定可能二重署名禁止署名という。
【０１８２】
グループ管理装置２１は回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置２４は二重署名禁止弱特定サイト構成ルーチンを終えているとする。(I１, I２,r)をそのサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。
【０１８３】
検証装置２３は、(m, r, w, G, H, a[4]０,G[4], c, x[5],e[5], u[5],r[4])が、あるメンバー装置が弱特定可能二重署名禁止署名ルーチンに従って作った署名であるか否かを確認したいとする。
【０１８４】
図１１は、本発明の弱特定可能二重署名禁止署名検証ルーチンの動作を示すフローチャートである。
【０１８５】
この時検証装置２３は、以下の弱特定可能二重署名禁止署名検証ルーチン（弱特定可能二重署名禁止署名検証手段）を行う。
【０１８６】
図１１を参照すると、検証装置２３はまずa０^c a[4]０ = a^(- x[5])H^(e[5] + c 2^(γ))h^(- u[5]) mod nを確認し(ステップTS2-VER1) 、次にg^(u[5]) = G^(e[5] + c2^(γ))G[4] mod nを確認(ステップTS2-VER2) し、w^x[5] = r^c r[4] mod p[1] を確認し(ステップTS2-VER3) 、x[5]の絶対値がλ + μ + ε + 1以下であることを確認し、更にc = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||I１|| I２||r||G||H||w||a[4]０||G[4]||r[4]||m)を確認し(ステップTS2-VER4) 、そしてx[5]およびe[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTS2-VER5) 。
【０１８７】
以上の確認が全て正しければ、検証装置２３は署名を受理し(ステップTS2-VER6)、そうでなければ棄却する(ステップTS2-VER7) 。
【０１８８】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。(I１, I２,r)をサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。検証装置２３は署名の組{(m_i, r , w_i, G_i, H_i,a[4]０_i, G[4]_i, c_i,x[5]_i,e[5]_i, u[5]_i,r[4]_i)}ｉを持っていたとする。
【０１８９】
検証装置２３が、不正な署名を弱特定したい場合、以下の弱特定可能二重署名禁止署名弱特定ルーチン（弱特定可能二重署名禁止署名弱特定手段）を行う。
【０１９０】
図１２は、本発明の弱特定可能二重署名禁止署名弱特定ルーチンの動作を示すフローチャートである。
【０１９１】
図１２を参照すると、検証装置２３はw_{i１} = w_{i２} mod p[1]となるi１、i２を見つける(ステップTS2-DET 1) 。このようなi１、i２が見つかった場合、署名(m_{i１}, r, w_{i１},G_{i１}, H_{i１}, a[4]０_{i１},G[4]_{i１}, c_{i１}, x[5]_{i１},e[5]_{i１},u[5]_{i１}, r[4]_{i１})および(m_{i２},r, w_{i２}, G_{i２}, H_{i２}, a[4]０_{i２},G[4]_{i２}, c_{i２}, x[5]_{i２},e[5]_{i２},u[5]_{i２}, r[4]_{i２})を不正と認定する(ステップTS2-DET 2) 。
【０１９２】
次に、本発明の第３の実施の形態について、図面を参照して詳細に説明する。第３の実施の形態では強特定可能二重署名禁止署名を実現する方法を述べる。第３の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０１９３】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０１９４】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグ（弱特定用タグと強特定用タグ）を用いてメッセージに対し強特定可能二重署名禁止署名を行うことができる。
【０１９５】
二重署名禁止署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０１９６】
検証装置は、領域変数およびタグ（弱特定用タグと強特定用タグ）を用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで行った署名を見つけ出すことができる。更に検証装置は、鍵リストを参照してその署名を行ったメンバー装置を特定することができる。
【０１９７】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０１９８】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。
【０１９９】
サイト管理装置がサイトを作るには、以下の二重署名禁止強特定サイト構成ルーチンを行う。
【０２００】
サイト管理装置は、サイト管理装置のIDと二重署名禁止強特定サイトのIDをハッシュ値にいれ、そこから Z/ p[1]Zの元rとr'を作る。
【０２０１】
グループ管理装置は(I１, I２, r, r')を公開する。但し、ここでI１は、サイト管理装置のIDで、I２は二重署名禁止弱特定サイトのID。rをこの二重署名禁止強特定サイトの弱特定タグと呼び、r'をこの二重署名禁止強特定サイトの強特定タグと呼ぶ。また、(I１, I２,r,r')をこの二重署名禁止強特定サイトの二重署名禁止強特定サイト特定子と呼ぶ。
【０２０２】
グループ管理装置は回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス(x,A,e)を持っていたとし、更にサイト管理装置は二重署名禁止強特定サイト構成ルーチンを終えているとする。(I１, I２, r, r')をそのサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。
【０２０３】
メンバー装置が、サイトに対し強特定可能二重署名禁止署名をしたい場合、以下の強特定可能二重署名禁止署名作成ルーチン（強特定可能二重署名禁止署名作成手段）を行う。
【０２０４】
図１３は、本発明の強特定可能二重署名禁止署名作成ルーチンの動作を示すフローチャートである。
【０２０５】
以下、このメンバー装置がこの二重署名禁止強特定サイトに対し、メッセージmに署名する方法を述べる。
【０２０６】
図１３を参照すると、まずメンバー装置は2λ以以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する(ステップTSS2-SIG 1) 。
【０２０７】
二重署名禁止弱特定サイトの弱特定タグrに対し、w = rｘ mod p[1] を計算する(ステップTSS2-SIG 2) 。wをメンバー装置の弱特定タグrに対する弱特定用タグ署名と呼ぶ。
【０２０８】
メンバー装置は時刻等の強特定用タグ署名を行う度に変わる値tをハッシュ関数にいれ、長さμビットの非負整数lを作り、w' = (a[1]ｌ r')^x mod p[1]を計算する(ステップTSS2-SIG3) 。w'をメンバー装置Mの強特定タグr'に対する強特定用タグ署名と呼ぶ。tを強特定用タグ署名変化用値と呼び、lを強特定用タグ署名変化用値ハッシュ値と呼ぶ。
【０２０９】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数x[4]、e[4]を選び、絶対値がλ + μ + ε + γビット以下の乱数u[4]を選び(ステップTSS2-SIG 4) 、a[4]０ = a^(- x[4])H^(e[4])h^(-e[4]u - u[4] ) mod nを計算し、G[4] = G^(u[4]) mod nを計算する。
【０２１０】
更にメンバー装置はr[4] = r^(x[4]) modp[1]を計算し、r'[4] = (a[1]ｌ r')^(x[4]) mod p[1]を計算する(ステップTSS2-SIG 5) 。
【０２１１】
メンバー装置は c = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||I１||I２||r||r'||G||H||w||w'||t||l||a[4]０||G[4]||r[4]||r'[4]||m)を計算する(ステップTSS2-SIG 6) 。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【０２１２】
そしてメンバー装置はx[5] = cx + x[4], e[5] = c(e -2γ) + e[4],u[5] = (e[5] + c 2γ)u +u[4]を計算(ステップTSS2-SIG 7) 。
【０２１３】
最後に(m, t, l, r, r', w, w', a[4]０, G[4], c, x[5],e[5], u[5], r[4],r'[4])を署名として出力する(ステップTSS2-SIG 8) 。
【０２１４】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は二重署名禁止強特定サイト構成ルーチンを終えているとする。(I１, I２,r, r')をそのサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。
【０２１５】
検証装置は、(m, t, l, r, r', w, w', a[4]０, G[4], c, x[5],e[5], u[5], r[4],r'[4])が、あるメンバー装置が強特定可能二重署名禁止署名ルーチンに従って作った署名であるか否かを確認したい。
【０２１６】
この時、検証装置は以下の強特定可能二重署名禁止署名検証ルーチン（強特定可能二重署名禁止署名検証手段）を行う。
【０２１７】
図１４は、本発明の強特定可能二重署名禁止署名検証ルーチンの動作を示すフローチャートである。
【０２１８】
図１４を参照すると、検証装置はまずa０^c a[4]０ = a^(- x[5])H^(e[5] + c 2^(γ))h^(- u[5]) mod nを確認し(ステップTSS2-VER1) 、次にg^(u[5]) = G^(e[5] + c2^(γ))G[4] mod nを確認し(ステップTSS2-VER2) 、w^x[5] = r^c r[4] mod p[1] を確認し(ステップTSS2-VER3)、(aｌ r')x[5] = w'^c r'[4] mod p[1] を確認し(ステップTSS2-VER4)、tのハッシュ値がlである事を確認し、更にc =c = Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||I１||I２||r||r'||G||H||w||w'||t||l||a[4]０||G[4]||r[4]||r'[4]||m)x[5]の絶対値がλ + μ + ε + 1以下であることを確認し(ステップTSS2-VER5)、そしてx[5]、e[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSS2-VER6)。
【０２１９】
以上の確認が全て正しければ、検証装置は署名を受理し(ステップTSS2-VER7)、そうでなければ棄却する(ステップTSS2-VER8)。
【０２２０】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。(I１, I２,r,r')をサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。検証装置は署名の組{(m_i, t_i, l_i r, r', w_i,w'_i, G_i, H_i,a[4]０_i, G[4]_i, c_i,x[5]_i,e[5]_i, u[5]_i,r[4]_i)}_iを持っていたとする。
【０２２１】
検証装置が、不正装置の強特定を行いたい場合、以下の強特定可能二重署名禁止署名強特定ルーチン（強特定可能二重署名禁止署名強特定手段）を行う。
【０２２２】
図１５は、本発明の強特定可能二重署名禁止署名強特定ルーチンの動作を示すフローチャートである。
【０２２３】
図１５を参照すると、検証装置はw_{i１} = w_{i２} mod p[1]となるi１、i２を見つける(ステップTSS2-DET 1)。
【０２２４】
このようなi１、i２が見つかった場合、署名(m_{i１},t_{i１}, l_{i１}, r, r',w_{i１}, w'_{i１},G_{i１}, H_{i１}, a[4]０_{i１},G[4]_{i１}, c_{i１}, x[5]_{i１},e[5]_{i１},u[5]_{i１}, r[4]_{i１})および(m_{i２},t_{i２}, l_{i２}, r, r',w_{i２}, w'_{i２},G_{i２}, H_{i２}, a[4]０_{i２},G[4]_{i２}, c_{i２}, x[5]_{i２},e[5]_{i２},u[5]_{i２}, r[4]_{i２})を不正と認定する(ステップTSS2-DET 2) 。
【０２２５】
更に検証装置は(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) = a[1]^x mod p[1]を計算し(ステップTSS2-DET 3)、グループ管理装置が公開している鍵リスト、{(ID, C, C[1],A,e)}の第三引数が(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) と一致している装置のIDを見つける(ステップTSS2-DET 4)。
【０２２６】
次に、本発明の第４の実施の形態について、図面を参照して詳細に説明する。第４の実施の形態では弱特定可能回数制限署名を実現する方法を述べる。第４の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０２２７】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２２８】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグを用いてメッセージに対し弱特定可能回数制限署名を行うことができる。
【０２２９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０２３０】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで、回数制限を越えて行った署名を見つけ出すことができる。
【０２３１】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０２３２】
kを非負整数とする。kは制限回数である。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。サイト管理装置が弱特定可能k-回数制限サイトを作るには、以下のk-回数制限弱特定サイト構成ルーチンを行う。
【０２３３】
サイト管理装置は、サイト管理装置のIDとk-回数制限弱特定サイトのIDをハッシュ値にいれ、そこから Z/ p[1]Zの元r１, ... , rｋを作る。r１, ... , rｋをこのk-回数制限弱特定サイトの弱特定タグと呼ぶ。また、(I１, I２,{rｉ})をこのk-回数制限弱特定サイトのk-回数制限弱特定サイト特定子と呼ぶ。
【０２３４】
kを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス(x,A,e)を持っていたとし、更にサイト管理装置はk-回数制限強特定サイト構成ルーチンを終えているとする。(I１, I２,{rｉ})をそのサイト管理装置が構成したk-回数制限弱特定サイト特定子とする。
【０２３５】
メンバー装置が弱特定可能k-回数制限署名をするには、以下の弱特定可能k-回数制限署名ルーチン（弱特定可能k-回数制限署名手段）を行う。
【０２３６】
図１６は、本発明の弱特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０２３７】
以下、メンバー装置がk-回数制限弱特定サイトに対し、メッセージmに署名する方法を述べる。
【０２３８】
図１６を参照すると、まずメンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する(ステップTS-SIG 1) 。
【０２３９】
メンバー装置は自分がこのk-回数制限弱特定サイトで過去に使用していないタグrｉを一つ選び（弱特定タグ使用履歴に載っていないものを選び）、w = rｉｘ mod p[1] を計算する。wをメンバー装置の弱特定タグrｉに対する弱特定用タグ署名と呼ぶ(ステップTS-SIG 2)。タグ使用履歴はメンバー装置が管理してもよいし、サイト管理装置が管理しメンバー装置が必要なときに取り込んでもよい。
【０２４０】
更に、k以下でi以外の非負整数jに対し、μビットの非負整数cｊを選ぶ。iと等しくない、k以下の各正整数jに対し、以下を行う。絶対値がλ + μ + εビット以下の乱数xｊ[5]、eｊ[5]を選び、絶対値がλ + μ + ε + γ以下の乱数uｊ[5]を選ぶ。aｊ[4]０ = a０^(-c) a^(-xｊ[5] - cｊ 2^(γ)) H^(eｊ[5] + cｊ 2^(γ))h^(-uｊ[5]) mod nを計算し、Gｊ[4] =g^(uｊ[5])G^(-eｊ[5] -cｊ2^γ) mod n を計算し、rｊ[4] =w^(-xｊ[5])rｊ^(cｊ) mod p[1] を計算する(ステップTS-SIG 3) 。
【０２４１】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数xｉ[4]、eｉ[4]を選び、絶対値がλ + μ + ε + γビット以下の乱数uｉ[4]を選び(ステップTS-SIG 5) 、aｉ[4]０ = a^(- xｉ[4])H^(eｉ[4])h^(-eｉ[4]u - uｉ[4] ) mod n を計算し、G[4] = G^(u[4])mod n を計算する。更にメンバー装置はr[4] = r^(x[4]) mod nを計算(ステップTS-SIG 5) 。
【０２４２】
メンバー装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||k||I１||I２||{rｉ}_j||G||H||w||{aｉ[4]０}_j||{Gｊ[4]}_j||{rｊ[4]}_j||m)を計算する(ステップTS-SIG 6)。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。cｉ = c - Σｊ ＝ １，．．．，ｋ， ｊ≠ｉcｊ mod 2μとし、そしてメンバー装置はx[5] = cｉx + xｉ[4], eｉ[5] = cｉ(e - 2γ) + eｉ[4],uｉ[5] = (eｉ[5] + cｉ 2γ)u +uｉ[4]を計算(ステップTS-SIG 7) 。
【０２４３】
最後に(m, w, {rｊ, aｊ[4]０, Gｊ[4], cｊ, xｊ[5],eｊ[5], uｊ[5],rｊ[4]}ｊ ＝ １，．．．，ｋ,c)を署名として出力する(ステップTS-SIG 8) 。
【０２４４】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は回数制限弱特定サイト構成ルーチンを終えているとする。(I１, I２,r)をそのサイト管理装置が構成した回数制限弱特定サイト特定子とする。
【０２４５】
検証装置は、(m, w, {rｊ, aｊ[4]０, Gｊ[4], cｊ, xｊ[5],eｊ[5], uｊ[5],rｊ[4]}ｊ ＝ １，．．．，ｋ,c)が、あるメンバー装置が弱特定可能k-回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０２４６】
図１７は、本発明の弱特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０２４７】
検証装置が弱特定可能k-回数制限署名を検証するには、以下の弱特定可能k-回数制限署名検証ルーチン（弱特定可能k-回数制限署名検証手段）を行う。
【０２４８】
図１７を参照すると、検証装置はj = 1, ... ,kに対し、a０^cｊ aｊ[4]０ = a^(- xｊ[5])H^(eｊ[5] + cｊ 2^(γ))h^(- uｊ[5]) mod nを確認し(ステップTS-VER 1) 、g^(uｊ[5]) = G^(eｊ[5] + cｊ2^(γ))Gｊ[4] mod nを確認し(ステップTS-VER 2) 、w^x[5] = r^c r[4] mod p[1] を確認する(ステップTS-VER 3) 。
【０２４９】
次に検証装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||k||I１||I２||{rｉ}_j||G||H||w||{aｉ[4]０}_j||{Gｊ[4]}_j||{rｊ[4]}_j||m)を確認する(ステップTS-VER 4)。
【０２５０】
xｊ[5]、eｊ[5]の絶対値がλ + μ + ε + 1以下であることを確認し(ステップTS-VER 5)、以上の確認が全て正しければ、検証装置は署名を受理し(ステップTS-VER 6) 、そうでなければ棄却する(ステップTS-VER 7) 。
【０２５１】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。(I１, I２,{r_i})をサイト管理装置が構成したk-回数制限弱特定サイト特定子とする。検証装置は署名の組{(m_i, w_i, {rｊ, aｊ[4]０_i, Gｊ[4]_i, cｊ_i, xｊ[5]_i,eｊ[5]_i, uｊ[5]_i,rｊ[4]_i}ｊ ＝ １，．．．，ｋ,c_i)}_iを持っていたとする。
【０２５２】
検証装置が不正な署名を弱特定するには、以下の(k+1)重署名弱特定ルーチンを行う。
【０２５３】
図１８は、本発明の弱特定可能回数制限署名弱特定ルーチンの動作を示すフローチャートである。
【０２５４】
図１８を参照すると、検証装置はw_{i１} = w_{i２} mod p[1]となるi１、i２を見つける(ステップTS-DET 1) 。
【０２５５】
このようなi１、i２が見つかった場合、署名{(m_{i１}, w_{i１}, {rｊ,aｊ[4]０_{i１},Gｊ[4]_{i１},cｊ_{i１},xｊ[5]_{i１},eｊ[5]_{i１},uｊ[5]_{i１},rｊ[4]_{i１}}ｊ ＝１，．．．，ｋ,c_{i１})}_iおよび{(m_{i２}, w_{i２}, {rｊ,aｊ[4]０_{i２},Gｊ[4]_{i２},cｊ_{i２},xｊ[5]_{i２},eｊ[5]_{i２},uｊ[5]_{i２},rｊ[4]_{i２}}ｊ ＝１，．．．，ｋ,c_{i２})}_iを不正と認定する(ステップTS-DET 2) 。
【０２５６】
次に、本発明の第５の実施の形態について、図面を参照して詳細に説明する。第５の実施の形態では強特定可能回数制限署名を実現する方法を述べる。第５の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０２５７】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２５８】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグを用いてメッセージに対し強特定可能回数制限署名を行うことができる。
【０２５９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０２６０】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで、回数制限を越えて行った署名を見つけ出すことができる。更に、その署名を行った署名者（メンバー装置）を特定することができる。
【０２６１】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０２６２】
kを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。サイト管理装置が、k-回数制限強特定サイトを構成するには、以下のk-回数制限強特定サイト構成ルーチンを行う。
【０２６３】
サイト管理装置は、サイト管理装置のIDとk-回数制限弱特定サイトのIDをハッシュ値にいれ、そこから Z/ p[1]Zの元r１, ... , rｋ、r'１, ... , r'ｋを作る。r１, ... , rｋをこのk重署名禁止強特定サイトの弱特定タグと呼び、r'１, ... , r'ｋをk-回数制限強特定サイトの強特定タグと呼ぶ。また、(I１, I２,{rｉ, r'ｉ})をこのk-回数制限強特定サイトのk-回数制限強特定サイト特定子と呼ぶ。
【０２６４】
kを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス(x,A,e)を持っていたとし、更にサイト管理装置はk-回数制限強特定サイト構成ルーチンを終えているとする。(I１, I２,{rｉ, r'ｉ})をそのサイト管理装置が構成したk-回数制限強特定サイト特定子とする。
【０２６５】
メンバー装置が、k-回数制限署名を行うには、以下のk-回数制限署名ルーチンを行う。
【０２６６】
図１９は、本発明の強特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０２６７】
メンバー装置がライセンス(x,A,e)を持っていたとする。以下、メンバー装置がk-回数制限強特定サイトに対し、メッセージmに署名する方法を述べる。
【０２６８】
図１９を参照すると、まずメンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する(ステップTSS-SIG 1) 。
【０２６９】
メンバー装置は自分がこのk-回数制限弱特定サイトで過去に使用していないタグrｉを一つ選び、w = rｉｘ mod p[1] を計算する(ステップTSS-SIG 2) 。wをメンバー装置Mの弱特定タグrｉに対する弱特定用タグ署名と呼ぶ。
【０２７０】
メンバー装置は強特定用タグ署名変化用値tをハッシュ関数にいれ、長さμビットの非負整数lを作り、w' = (a[1]ｌ r') mod p[1]を計算する。w'をメンバー装置Mの強特定タグr'に対する強特定用タグ署名と呼ぶ(ステップTSS-SIG 3) 。
【０２７１】
次にk以下でi以外の非負整数jに対し、μビットの非負整数cｊを選ぶ。iと等しくない、k以下の各正整数jに対し、以下を行う。
【０２７２】
絶対値がλ + μ + ε + 1ビット以下の乱数xｊ[5]、eｊ[5]を選び、絶対値がλ + μ + 2ν + 2ε以下の乱数uｊ[5]を選ぶ。aｊ[4]０ = a０^(-c) a^(-xｊ[5] - cｊ 2^(γ))H^(eｊ[5] + cｊ 2^(γ))h^(-uｊ[5])を計算し、Gｊ[4] =g^(uｊ[5])G^(-eｊ[5] -cｊ2^γ)を計算し、rｊ[4] =w^(-xｊ[5])rｊ^(cｊ) mod p[1] を計算する。r'ｊ[4] =w'^(-xｊ[5])(aｌr')ｊ^(cｊ) mod p[1] を計算する(ステップTS2-SIG 4) 。
【０２７３】
更にメンバー装置は絶対値がλ + μ + εビット以下の乱数xｉ[4]、eｉ[4]を選び、絶対値がλ + μ + ε + γビット以下の乱数uｉ[4]を選び (ステップTSS-SIG 5) 、aｉ[4]０ = a^(- xｉ[4])H^(eｉ[4])h^(-eｉ[4]u - uｉ[4] ) mod nを計算し、G[4] = G^(u[4])を計算する。メンバー装置はr[4] = r^(x[4]) mod nを計算し、r'[4] = (a[1] r')^(x[4]) modp[1]を計算する(ステップTSS-SIG 6) 。
【０２７４】
メンバー装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||k||I１||I２||{rｊ, r'ｊ}_j||G||H||w||w'||{aｊ[4]０}_j||{Gｊ[4]}_j||{rｊ[4]}_j||{r'ｊ[4]}_j||m)を計算する(ステップTSS-SIG 7) 。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。cｉ = c - Σｊ ＝ １，．．．，ｋ， ｊ≠ｉcｊ mod 2μとし、そしてメンバー装置はx[5] = cｉx + xｉ[4], eｉ[5] = cｉ(e - 2γ) + eｉ[4],uｉ[5] = (eｉ[5] + cｉ 2γ)u +uｉ[4]を計算(ステップTSS-SIG 8) 。
【０２７５】
最後に(m, w, w', {rｊ, r'ｊ, aｊ[4]０, Gｊ[4], cｊ, xｊ[5],eｊ[5], uｊ[5],rｊ[4],r'ｊ[4]}ｊ ＝ １，．．．，ｋ,c)を署名として出力する(ステップTSS-SIG 9) 。
【０２７６】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は回数制限弱特定サイト構成ルーチンを終えているとする。(I１, I２,r)をそのサイト管理装置が構成した回数制限弱特定サイト特定子とする。
【０２７７】
検証装置は、(m, w, w', {rｊ, r'ｊ, aｊ[4]０, Gｊ[4], cｊ, xｊ[5],eｊ[5], uｊ[5],rｊ[4]}ｊ ＝ １，．．．，ｋ,c)が、あるメンバー装置が強特定可能k-回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０２７８】
これをするには、検証装置は、以下の強特定可能k-回数制限署名検証ルーチンを行う。
【０２７９】
図２０は、本発明の強特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０２８０】
検証装置が署名({aｊ[4]０, Gｊ[4], cｊ, xｊ[5],eｊ[5], uｊ[5],rｊ[4],r'ｊ[4]}ｊ ＝１，．．．，ｋ,c, w, w')を受け取ったとする。
【０２８１】
以下のルーチンを強特定可能k-回数制限署名検証と呼ぶ。
【０２８２】
図２０を参照すると、検証装置はj = 1, ... ,kに対し、a０^cｊ aｊ[4]０ = a^(- xｊ[5])H^(eｊ[5] + cｊ 2^(γ))h^(- uｊ[5]) mod nを確認し(ステップTSS-VER1) 、g^(uｊ[5]) = G^(eｊ[5] + cｊ2^(γ))Gｊ[4] mod nを確認し(ステップTSS-VER2) 、w^xｊ[5] = rｊ^cｊ rｊ[4] mod p[1] を確認し(ステップTSS-VER3) 、(aｌ rｊ')x[5] = w'^cｊrｊ'[4] mod p[1] を確認する(ステップTSS-VER4) 。
【０２８３】
検証装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||k||I１||I２||{rｊ, r'ｊ}_j||G||H||w||w'||{aｊ[4]０}_j||{Gｊ[4]}_j||{rｊ[4]}_j||{r'ｊ[4]}_j||m)を確認する(ステップTSS-VER5) 。
【０２８４】
xｊ[5]およびeｊ[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSS-VER6) 。
【０２８５】
以上の確認が全て正しければ、検証装置は署名を受理し(ステップTSS-VER7) 、そうでなければ棄却する(ステップTSS-VER8) 。
【０２８６】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。(I１, I２,{rｉ, r'ｉ})をサイト管理装置が構成したk-回数制限強特定サイト特定子とする。検証装置は署名の組{(m_i, w_i, w'_i, {rｊ, r'ｊ,aｊ[4]０_i,Gｊ[4]_i, cｊ_i,xｊ[5]_i,eｊ[5]_i,uｊ[5]_i,rｊ[4]_i}ｊ ＝１，．．．，ｋ,c)}_iを持っていたとする。
【０２８７】
不正な装置を特定するには、以下の(k+1)重署名強特定ルーチンを行う。
【０２８８】
図２１は、本発明の強特定可能回数制限署名強特定ルーチンの動作を示すフローチャートである。
【０２８９】
図２１を参照すると、検証装置はw_{i１} = w_{i２} mod p[1]となるi１、i２を見つける(ステップTSS-DET 1)。
【０２９０】
このようなi１、i２が見つかった場合、署名(m_{i１}, w_{i１}, w'_{i１},{rｊ, r'ｊ,aｊ[4]０_{i１},Gｊ[4]_{i１},cｊ_{i１},xｊ[5]_{i１},eｊ[5]_{i１},uｊ[5]_{i１},rｊ[4]_{i１}}ｊ＝ １，．．．，ｋ,c)および(m_{i２}, w_{i２}, w'_{i２},{rｊ, r'ｊ,aｊ[4]０_{i２},Gｊ[4]_{i２},cｊ_{i２},xｊ[5]_{i２},eｊ[5]_{i２},uｊ[5]_{i２},rｊ[4]_{i２}}ｊ＝ １，．．．，ｋ,c)を不正と認定する(ステップTSS-DET 2)。
【０２９１】
更に検証装置は(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) = a[1]^x mod p[1]を計算し(ステップTSS-DET 3) 、グループ管理装置が公開している鍵リスト、{(ID, C, C[1],A,e)}の第三引数が(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) と一致しているIDを見つける(ステップTSS-DET 4) 。
【０２９２】
次に、本発明の第６の実施の形態について、図面を参照し詳細に説明する。第６の実施の形態では大人数用弱特定可能回数制限署名を実現する方法を述べる。
【０２９３】
図２２は、本発明の第６の実施の形態の構成を示す図であり、大人数用弱特定可能回数制限署名系に使用する装置間の関係をブロック図で示す。
【０２９４】
図２２を参照すると、大人数用弱特定可能回数制限署名に使用する装置として、グループ管理装置３１と、ユーザー装置（メンバー装置）３２と、検証装置３３と、サイト管理装置３４とを備える。上記の各装置はプログラム制御で動作する情報処理装置であり、上記の各装置はネットワークで結ばれている。ユーザー装置（メンバー装置）３２とサイト管理装置３４はそれぞれ複数存在し、各ユーザー装置（メンバー装置）３２と各サイト管理装置３４はIDを有する。１つのサイト管理装置３４内に複数のサイトを作ることができる。各サイトはIDを有する。
【０２９５】
まずグループ管理装置３１は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２９６】
ユーザー装置３２は、グループ管理装置３１にアクセスし、ライセンスをもらい(TS-BL L1)、ユーザー装置３２は対応する公開鍵をグループ管理装置３１に送信する(TS-BL L2)。ライセンスを受け取ったユーザー装置３２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置３２をメンバー装置と呼ぶ。
【０２９７】
サイト管理装置３４は、グループ管理装置３１にアクセスすることで(TS-BL L10)、大人数用タグを受け取る(TS-BL L11)。
【０２９８】
メンバー装置は、ライセンスと各サイト管理装置３４が公開する大人数用タグ(TS-BL L3)を用いてメッセージに対し大人数用弱特定可能回数制限署名を行う。
【０２９９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０３００】
検証装置３３は、領域変数(TS-BL L5)およびタグ(TS-BL L6)を用い署名の正当性を検証する装置である。検証装置３３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名(TS-BL L4)であるのか否か(TS-BL L8)を判定し、出力する事ができる。また、検証装置３３に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで回数制限を越えて行った署名を見つけ出すことができる(TS-BL L7)。
【０３０１】
グループ管理装置３１は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置３２がメンバーになりたい場合は、グループ管理装置３１にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０３０２】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。
【０３０３】
サイト管理装置３４は、大人数用弱特定可能k-回数制限サイトを構成するには、以下のサイト管理権授与ルーチン（サイト管理権授与手段）を行う。
【０３０４】
サイト管理装置３４はグループ管理装置３１にアクセスする。
【０３０５】
グループ管理装置３１は、QR(n)の元b, b０をハッシュ値から作り、b, b０に署名をつけてサイト管理装置３４に渡す。
【０３０６】
サイト管理装置３４はb, b０がQR(n)の元であることを確認。(b, b０)をサイト管理権と呼ぶ。サイト管理権を得たサイト管理装置３４を大人数用弱特定サイトと呼ぶ。更に、bをタグ用左辺底領域変数と呼び、b０をタグ用自由領域変数と呼ぶ。
【０３０７】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。
【０３０８】
タグを発行するには、サイト管理装置３４は、グループ管理装置３１と、以下の大人数用タグ発行ルーチン（大人数用タグ発行手段）を行う。
【０３０９】
サイト管理装置３４は、サイト管理権授与ルーチンで得たサイト管理権(b, b０)、およびそれに対する署名をグループ管理装置３１に送る。
【０３１０】
グループ管理装置３１はλビットの非負整数y、Γに入っている素数fをランダムに選び、bｙb０ = Bｆ mod n となるBを計算し、(y, f, B)に署名を添付してサイト管理装置３４に渡す。(y, f, B)を大人数用タグと呼ぶ。-2λ以上2λ以下の整数全体をΛと書き、2γ - 2λ以上 2γ + 2λ以下の整数全体をΓと書く
サイト管理装置３４は(y, f, B)が、bｙb０ = Bｆmod n となる事を確認する。yをタグ用秘密ライセンス情報と呼び、Bをタグ用底ライセンス情報と呼び、fをタグ用指数ライセンス情報と呼ぶ。サイト管理装置３４はグループ管理装置３１から過去にもらった(y, f, B)のk個のリスト{(y, f, B)}を公開する。
【０３１１】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。サイト管理装置３４とグループ管理装置３１はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置３４とグループ管理装置３１は大人数用タグ発行ルーチンをk回終えているとする。加えて、メンバー装置とグループ管理装置３１はジョインルーチンを終えているものとする。メンバー装置はライセンス(x,A,e)を持っていたとする。
【０３１２】
メンバー装置が、大人数用弱特定可能k-回数制限署名を行うには、以下の大人数用弱特定可能k-回数制限署名ルーチン（大人数用弱特定可能回数制限署名手段）をう。
【０３１３】
図２３は、本発明の大人数用弱特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０３１４】
以下、メンバー装置が大人数用弱特定サイトに対し、メッセージmに署名する方法を述べる。
【０３１５】
図２３を参照すると、まずメンバー装置はサイト管理装置３４が公開している大人数用タグ達から一組を選ぶ。以後これを(y, f, B)と表すことにする。メンバー装置は(y, f, B)に添付されたグループ管理装置３１の署名を確認する。メンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する。メンバー装置は2λ以下の非負整数u[6]をランダムに選び、エルガマル暗号(G[6], H[6]) =(g^(u[6]) mod n , Bh^(u[6]) mod n )を計算する(ステップTSM-SIG1) 。
【０３１６】
大人数用タグ(y, f, B)から、w = Bｘ mod n を計算する(ステップTSM-SIG2) 。wをメンバー装置の大人数用タグ(y, f, B)に対する弱特定用大人数用タグ署名と呼ぶ。
【０３１７】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数x[4]、e[4]をえらび、絶対値がλ + μ + ε + γビット以下の乱数u[4]を選び(ステップTSM-SIG3) 、a[4]０ = a^(- x[4])H^(e[4])h^(-e[4]u - u[4] ) mod nを計算し、G[4] = g^(u[4]) mod nを計算する(ステップTSM-SIG4) 。
【０３１８】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数y[4]、f[4]を選び、絶対値がλ + μ + ε + γビット以下の乱数u[4, 6]を選び(ステップTSM-SIG3)、b[4]０ = b^(- y[4])H[6]^(f[4])h^(-f[4]u[6] - u[4, 6] ) mod nを計算し、G[4, 6] = g^(u[4, 6]) mod nを計算する(ステップTSM-SIG4)。
【０３１９】
絶対値がλ + μ + 2ε + 2νビット以下の乱数u[4, 8]を選び、G[4, 8] = g^(u[4, 8]) mod nを計算し(ステップTSM-SIG3)、w[4, 8] =H[6]^(-x[4]u[6] -u[4, 8])h^(- x[4]u[6] -u[4, 8] ) mod nを計算する(ステップTSM-SIG4)。
【０３２０】
メンバー装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||b||b０||G||H||G[6]||H[6]||w||a[4]０||G[4]||b[4]０||G[4, 6]||G[4, 8]||w[4, 8]||m)を計算する(ステップTSM-SIG5) 。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【０３２１】
そしてメンバー装置はx[5] = cx + x[4], e[5] = c(e - 2γ) + e[4],u[5] = (e[5] + c 2γ)u +u[4]を計算。更にメンバー装置はy[5] = cy + y[4], f[5] = c(f - 2γ) + f[4],u[5, 6] = (f[5] + c 2γ)u[6] +u[4, 6]を計算。加えてメンバー装置は、u[5, 8] =x[5]u[6] + u[4, 8]を計算(ステップTSM-SIG6)。
【０３２２】
最後にメンバー装置は、(m,w,a, H, G, a[4]０, G[4], H[6], G[6], b[4]０, G[4, 6], G[4, 8], w[4, 8], c, x[5], e[5], u[5], y[5], f[5], u[5, 6], u[5, 8] )を署名として出力する(ステップTSM-SIG7) 。
【０３２３】
グループ管理装置は回数制限署名用セットアップルーチンを終えているとする。サイト管理装置３４とグループ管理装置３１はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置３４とグループ管理装置３１は大人数用タグ発行ルーチンをk回終えているとする。
【０３２４】
検証装置３３は、(m,w,a, H, G, a[4]０, G[4], H[6], G[6], b[4]０, G[4, 6], G[4, 8],w[4, 8], c x[5], e[5], u[5], y[5], f[5], u[5, 6], u[5, 8] )が、あるメンバー装置が大人数用弱特定可能k-回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０３２５】
この為には、検証装置３３は以下の大人数用弱特定可能k-回数制限署名検証ルーチン（大人数用弱特定可能回数制限署名検証手段）を行う。
【０３２６】
図２４は、本発明の大人数用弱特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０３２７】
図２４を参照すると、検証装置３３は、まずa０^c a[4]０ = a^(- x[5])H^(e[5] + c 2^(γ))h^(- u[5]) mod n を確認し、g^(u[5]) = G^(e[5] + c2^(γ))G[4] mod n を確認し、x[5]およびe[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSM-VER1)。
【０３２８】
次にb０^c b[4]０ = b^(- x[5])H^(f[5] + c 2^(γ))h^(- u[5]) mod n を確認し、g^(u[5]) = G^(f[5] + c2^(γ))G[4] mod n を確認し、y[5]およびf[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSM-VER2)。
【０３２９】
更にw^c w[4, 8] = H[6]^x[5]h^(-u[5, 8]) mod nを確認し、G[8]^cG[4, 8] = g^(u[5]) mod nを確認する(ステップTSM-VER3)。
【０３３０】
最後に c =Hash(ε||μ||ν|| n|| a|| a０||g||h||p[1]||I_L||b||b０||G||H||G[6]||H[6]||w||a[4]０||G[4]||b[4]０||G[4, 6]||G[4, 8]||w[4, 8]||m)を確認する(ステップTSM-VER4) 。
【０３３１】
以上の確認が全て正しければ、検証装置３３は署名を受理し(TSM-VER5) 、そうでなければ棄却する(TSM-VER6) 。
【０３３２】
グループ管理装置３１は過去に回数制限署名用セットアップルーチンを終えているものとする。{(y,B,f)}をサイト管理装置３４が構成したk-回数制限弱特定サイト特定子とする。検証装置３３は署名の組{(m,wｉ,aｉ, H, G,a[4]０ｉ, G[4]ｉ, H[6]ｉ, G[6]ｉ, b[4]０ｉ, G[4, 6]ｉ，G[4, 8]ｉ，w[4, 8]ｉ， cｉ， x[5]ｉ, e[5]ｉ, u[5]ｉ, y[5]ｉ, f[5]ｉ, u[5, 6]ｉ, u[5, 8]ｉ )}ｉを持っていたとする。
【０３３３】
不正な装置を特定するには、以下の(k+1)重署名弱特定ルーチン（大人数用弱特定可能回数制限署名弱特定手段）を行う。
【０３３４】
図２５は、本発明の大人数用弱特定可能回数制限署名弱特定ルーチンの動作を示すフローチャートである。
【０３３５】
図２５を参照すると、検証装置３３はw_{i１} = w_{i２} mod nとなるi１、i２を見つける(ステップTSM-DET 1) 。
【０３３６】
このようなi１、i２が見つかった場合、署名(m_i１,w_i１,a_i１, H_i１, G_i１,a[4]０_i１, G[4]_i１, H[6]_i１, G[6]_i１, b[4]０_i１, G[4, 6]_i１，G[4, 8]_i１，w[4, 8]_i１，c_i１，x[5]_i１, e[5]_i１, u[5]_i１, y[5]_i１, f[5]_i１, u[5, 6]_i１, u[5, 8]_i１ )および(m_i２,w_i２,a_i２, H_i２, G_i２,a[4]０_i２, G[4]_i２, H[6]_i２, G[6]_i２, b[4]０_i２, G[4, 6]_i２，G[4, 8]_i２，w[4, 8]_i２，c_i２，x[5]_i２, e[5]_i２, u[5]_i２, y[5]_i２, f[5]_i２, u[5, 6]_i２, u[5, 8]_i２ )を不正と認定する(ステップTSM-DET 2) 。
【０３３７】
次に、本発明の第７の実施の形態について、図面を参照して詳細に説明する。第７の実施の形態では大人数用強特定可能回数制限署名を実現する方法を述べる。第７の実施の形態は、第６の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０３３８】
まずグループ管理装置は、後述する大人数用強特定可能回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０３３９】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。
【０３４０】
サイト管理装置は、グループ管理装置にアクセスすることで大人数用タグを受け取る。
【０３４１】
メンバー装置は、ライセンスと、各サイト管理装置が公開する大人数用タグを用いてメッセージに対し大人数用強特定可能回数制限署名を行う。
【０３４２】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０３４３】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで回数制限を越えて行った署名を見つけ出すことができる。更にその署名者（メンバー装置）も特定することができる。
【０３４４】
グループ管理装置は、以下の大人数用強特定可能回数制限署名セットアップルーチン（大人数用強特定可能回数制限署名セットアップ手段）を行う。
【０３４５】
図２６は、大人数用強特定可能回数制限署名セットアップルーチンの動作を示すフローチャートである。
【０３４６】
図２６を参照すると、まずグループ管理装置は、セキュリティ・パラメーターε、μ、νを決める(ステップTSSM-SU 1) 。尚、通常はν = 1024, μ = ε = 160とすればよい。
【０３４７】
次にグループ管理装置はλ = 2(ν + ε) 、 γ = 2ν + λ + μ + ε + 5とする(ステップTSSM-SU 2) 。γ[6] = λ + μ + ε + 4とする(ステップTSSM-SU 2)。
【０３４８】
素数p',q'を、 p = 2p' + 1, q = 2q' + 1がνビットになるように選び、n = pqを計算する(ステップTSSM-SU 3)。
【０３４９】
グループ管理装置は、QR(n)の元 a０,a１, a２をランダムに選ぶ(ステップTSSM-SU 4)。但し、ここで、QR(n)は、Z/nZの元で平方剰余であるもの全体を表す。
【０３５０】
グループ管理装置はνビットのビット列 IＬをランダムに選び、そのハッシュ値からQR(n)の元g, hを作る(ステップTSSM-SU 5) 。
【０３５１】
グループ管理装置は (p', q', p, q)を秘密鍵として秘密裡に保持し(ステップTSSM-SU 6) 、更に (ε,μ,ν,IＬ, n, a, a０, g,h)を公開鍵として公開する(ステップTSSM-SU 7) 。
【０３５２】
以下、2^γ - 2^λ以上 2^γ + 2^λ以下の整数全体をΓと書く。また、-2λ以上2λ以下の整数全体をΛと書く。
【０３５３】
グループ管理装置は、ユーザー装置と通信をして、強特定可能回数制限署名用のライセンスを渡す。この為には、以下の大人数強特定可能回数制限署名用ジョインルーチン（大人数強特定可能回数制限署名用ジョイン手段）を行う。
【０３５４】
図２７は、大人数用強特定可能回数制限署名ジョインルーチンの動作を示すフローチャートである。
【０３５５】
図２７を参照すると、ユーザー装置はまず g, h がIＬのハッシュ値から作られていることを確認する。ユーザー装置は秘密裡かつランダムにλビット以下の非負整数x１[2]、r１[2]を選び、C１[9] = g^x１[2] h^r１[2] mod nを計算し、グループ管理装置に、C１[9]を送る(ステップTSSM-J 1)。ユーザー装置は秘密裡かつランダムにλビット以下の非負整数x２[2]、r２[2]を選び、C２[9] = g^x２[2] h^r２[2] mod nを計算し、グループ管理装置に、C２[9]を送る(ステップTSSM-J 1)。
【０３５６】
次にグループ管理装置はC１[9]がQR(n)の元であることを確認し、更にグループ管理装置はC２[9]がQR(n)の元であることを確認する。ランダムにλビット以下の非負整数β１、β２を選び、ユーザー装置に送る(ステップTSSM-J 2) 。
【０３５７】
ユーザー装置はx[2]１  + β１を2λで割った商をθ１、余りをx１とする。C１ = a１^x１ mod nを計算する(ステップTSSM-J 3)。
【０３５８】
更にユーザー装置はx[2]２  + β２を2λで割った商をθ２、余りをx２とする。C２ = a２^x２ mod nを計算し、C１、C２をグループ管理装置に送る(ステップTSSM-J 3)。
【０３５９】
更にユーザー装置はグループ管理装置に次の３つを満たすx[3]１, θ[3]１、t[2, 3]１の知識を証明するゼロ知識証明書をグループ管理装置に送信(ステップTSSM-J 4) 。尚、上記の次の３つとは、▲１▼x[3] １の絶対値は2γ − ３未満,▲２▼a^x[3]１ = C１ mod n,▲３▼C[9]１ gβ１ = g^x[3]１ g^(θ[3]１ 2λ) h^t[2, 3]１ mod nである。
【０３６０】
具体的には、次のようにする。
【０３６１】
ユーザー装置は、λ + ε ビットの乱数x[4, 7]１、t[2, 4, 7]１を秘密裡に生成。更に、θのビット数 + εビットの乱数θ[4, 7]１を秘密裡に生成。C[4, 7]１ = a１^x[4, 7]１ mod n, C[4, 7, 9]１ = g^(x[4, 7]１) g^(θ[4, 7]１ 2λ)h^(t[2, 4, 7]１) mod n、を作成。更にユーザー装置３２は、c１ = Hash(ε||μ||ν|| n|| a|| a０||g||h||C[4, 7]１||C[4, 7, 9]１)を計算。そしてx[5, 7]１ = c１ x１ + x[4, 7]１, t[2, 5, 7]１ = c t１ + t[2, 4, 7]１, θ[5, 7]１ = c１ θ１ + θ[4, 7]１を作成。(C[4, 7]１, C[4, 7, 9]１, c１, x[5, 7]１, t[2, 5, 7]１, θ[5, 7]１)を送信。
【０３６２】
グループ管理装置は証明書の正当性を検証する。即ち、まずC１^c１ = a１^x[5, 7]１ C[4, 7]１ mod n と、(C[9]１ gβ１)^c１ = g^x[5, 7]１ g^(θ[5, 7]１ 2λ) h^t[2, 5, 7]１C[4, 7, 9]１ mod nを確認し、次にx[5, 7]の絶対値が2^(γ - 3)未満であることを確認する。
【０３６３】
更にユーザー装置はグループ管理装置に次の3つを満たすx[3]２, θ[3]２、t[2, 3]２の知識を証明するゼロ知識証明書をグループ管理装置に送信(ステップTSSM-J 4) 。尚、上記の次の３つとは、▲１▼x[3] ２の絶対値は2γ − ３未満,▲２▼a^x[3]２ = C２ mod n,▲３▼C[9]２ gβ２ = g^x[3]２ g^(θ[3]２ 2λ) h^t[2, 3]２  mod nである。
【０３６４】
具体的には、次のようにする。
【０３６５】
ユーザー装置は、λ + ε ビットの乱数x[4, 7]２、t[2, 4, 7]２を秘密裡に生成。更に、θのビット数 + εビットの乱数θ[4, 7]２を秘密裡に生成。C[4, 7]２ = a２^x[4, 7]２ mod n, C[4, 7, 9]２ = g^(x[4, 7]２) g^(θ[4, 7]２ 2λ)h^(t[2, 4, 7]２) mod nを作成。更にユーザー装置は、c２ = Hash(ε||μ||ν|| n|| a|| a０||g||h||C[4, 7]２||C[4, 7, 9]２)を計算。そしてx[5, 7]２ = c２ x２ + x[4, 7]２, t[2, 5, 7]２ = c t２ + t[2, 4, 7]２, θ[5, 7]２ = c２ θ２ + θ[4, 7]２を作成。(C[4, 7]２, C[4, 7, 9]２, c２, x[5, 7]２, t[2, 5, 7]２, θ[5, 7]２) を送信。
【０３６６】
グループ管理装置は証明書の正当性を検証する。即ち、まずC２^c２ = a２^x[5, 7]２ C[4, 7]２ mod n と、(C[9]２ gβ２)^c２ = g^x[5, 7]２ g^(θ[5, 7]２ 2λ) h^t[2, 5, 7]２C[4, 7, 9]２ mod nを確認し、次にx[5, 7]の絶対値が2^(γ - 3)未満であることを確認する。
【０３６７】
グループ管理装置はΓから素数eをランダムに選び、A = (C１C２ a０)１／ｅ mod nを計算し、Aとeをユーザー装置に送る(ステップTSSM-J 5) 。
【０３６８】
ユーザー装置はa１^(x１)a２^(x２) a０ = Aｅ mod n を確認する。更にeがΓの元であることを確認する。
【０３６９】
以上でユーザー装置がグループ管理装置３１から受け取った(x１, x２, e, A)をユーザー装置のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置を以後メンバー装置と呼ぶ。ライセンス(x１, x２, e, A)はa１^(x１)a２^(x２) a０ = Aｅ mod n を満たす。この等式をライセンス等式と呼ぶ。また、x１,x２の絶対値は2λ以下であり、eはΓの元である。このx１,x２,eの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０３７０】
メンバー装置は(x１,x２)を秘密鍵として秘密裡に保管し、更にeとAを保管する。
【０３７１】
グループ管理装置は、以上で得た(C１,C２, A, e)を、メンバー装置のIDと共に公開する(ステップTSSM-J 6) 。各メンバー装置のIDと対応する(C１,C２, A, e)との組とのリストを以後鍵リストと呼ぶ。
【０３７２】
グループ管理装置は大人数用強特定可能回数制限署名用セットアップルーチンを終えているとする。
【０３７３】
サイト管理装置は、サイト管理権授与およびタグの発行を、大人数用弱特定可能回数制限署名の場合（第６の実施の形態の場合）と同様の方法で行う。サイト管理権を得たサイト管理装置を大人数用強特定サイトと呼ぶ。
【０３７４】
グループ管理装置は大人数用強特定可能回数制限署名用セットアップルーチンを終えているとする。サイト管理装置とグループ管理装置はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置とグループ管理装置は大人数用タグ発行ルーチンをk回終えているとする。加えて、メンバー装置とグループ管理装置はジョインルーチンを終えているものとする。メンバー装置はライセンス(x,A,e)を持っていたとする。
【０３７５】
メンバー装置が大人数用強特定サイトに対し、メッセージmに署名するには、以下の大人数用強特定可能回数制限署名作成ルーチン（大人数用強特定可能回数制限署名作成手段）を行う。
【０３７６】
図２８は、大人数用強特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０３７７】
図２８を参照すると、まずメンバー装置はサイト管理装置が公開している大人数用タグ達から一組を選ぶ。以後これを(y, f, B)と表すことにする。メンバー装置は(y, f, B)に添付されたグループ管理装置の署名を確認する。
【０３７８】
メンバー装置は2λ以下の非負整数uをランダムに選び、エルガマル暗号(G, H) = (gｕ mod n , Ahｕ mod n )を計算する。メンバー装置は2λ以下の非負整数u[6]をランダムに選び、エルガマル暗号(G[6], H[6]) =(g^(u[6] mod n , Bh^(u[6]) mod n )を計算する(ステップTSSM-SIG 1) 。
【０３７９】
大人数用タグ(y, f, B)から、w = B^x１ mod n を計算する。wをメンバー装置の大人数用タグ(y, f, B)に対する弱特定用大人数用タグ署名と呼ぶ(ステップTSSM-SIG 2) 。
【０３８０】
強特定用タグ署名変化用値tのハッシュ値lを計算し、大人数用タグ(y, f, B)から、w' = (aｌB)^x２ mod n を計算する。w'をメンバー装置の大人数用タグ(y, f, B)に対する強特定用大人数用タグ署名と呼ぶ(ステップTSSM-SIG 3) 。
【０３８１】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数x[4]１、x[4]２、e[4]を選び、絶対値がλ + μ + ε +γ + 1ビット以下の乱数u[4]を選び、a[4]０ = a^(- x[4]１)a^(- x[4]２)H^(e[4])h^(-e[4]u - u[4] ) mod nを計算し、G[4] = g^(u[4]) mod nを計算する。
【０３８２】
次にメンバー装置は絶対値がλ + μ + εビット以下の乱数y[4]、f[4]を選び、絶対値がλ + μ + ε + γ[6]ビット以下の乱数u[4, 6]を選び(ステップTSSM-SIG 4) 、b[4]０ = b^(- y[4])H[6]^(f[4])h^(-f[4]u[6] - u[4, 6] ) mod nを計算し、G[4, 6] = g^(u[4, 6]) mod n を計算する(ステップTSSM-SIG 5) 。
【０３８３】
メンバー装置は絶対値が2λ + μ + 2ε + γ + 1ビット以下の乱数 u[4, 8]１を選び(ステップTSSM-SIG 4) 、G[4, 8]１ = g^(u１[4, 8]) mod nを計算し、w[4, 8] =H[6]^(x[4]１)h^(- x[4]１u[6] -u[4, 8]１ ) mod nを計算する(ステップTSSM-SIG 5) 。
【０３８４】
メンバー装置は絶対値がλ + μ + 2ε + 2νビット以下の乱数u２[4, 8]を選び(ステップTSSM-SIG 4) 、G[4, 8]２ = g^(u２[4, 8]) mod n を計算し、w'[4, 8] =(aｌH[6] )^(-x[4]２u[6] -u２[4, 8])(hｌ)^(- x[4]２u[6] -u２[4, 8] )
mod n を計算する(ステップTSSM-SIG 4)。
【０３８５】
メンバー装置は c =Hash(ε||μ||ν|| n|| a|| a０||g||h||I_L||b||b０ ||H||G ||a[4]０||G[4] ||H[6]||G[6] ||b[4]０||G[4, 6] ||G[4, 8]||w[4, 8] ||G[4, 8]||w[4, 8] ||w||w'||l||t||m)を計算する(ステップTSSM-SIG 6) 。但し、ここでHashはハッシュ関数で、Hashの値域はμビット以下の非負整数全体。また、記号「||」はビット列の連接を表す。
【０３８６】
そしてメンバー装置はx[5]１ = cx１ + x[4]１, x[5]２ = cx２ + x[4]２, e[5] = c(e - 2^(γ) ) + e[4],u[5] = (e[5] + c 2^(γ))u +u[4]を計算。更にメンバー装置はy[5] = cy + y[4], f[5] = c(f - 2^(γ[6]) + f[4],u[5, 6] = (f[5] + c 2^(γ[6]))u[6] +u[4, 6]を計算。加えてメンバー装置は、u１[5, 8] = x[5]１u[6]+ u[4, 8]１を計算。加えてメンバー装置は、u２[5, 8] =x[5]２u[6]+ u２[4, 8]を計算(ステップTSSM-SIG 7) 。
【０３８７】
最後にメンバー装置は、(m,w, w',H, G, G[6], H[6], a[4]０ ,G[4], b[4]０ ,G[4, 6], G[4, 8]１, w[4, 8], G[4, 8]２, w'[4, 8], c, x[5]１, x[5]２, e[5], u[5], y[5], f[5], u[5, 6], u１[5, 8], u２[5, 8])を署名として出力する(ステップTSSM-SIG 8) 。
【０３８８】
グループ管理装置はを大人数用強特定可能回数制限署名セットアップルーチンを終えているとする。サイト管理装置とグループ管理装置はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置とグループ管理装置は大人数用タグ発行ルーチンをk回終えているとする。
【０３８９】
検証装置は、(m,w, w',H, G, G[6], H[6], a[4]０ ,G[4], b[4]０ ,G[4, 6], G[4, 8]１, w[4, 8], G[4, 8]２, w'[4, 8], c, x[5]１, x[5]２, e[5], u[5], y[5], f[5], u[5, 6], u１[5, 8], u２[5, 8])が、あるメンバー装置が大人数用強特定可能k-回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０３９０】
この為には、検証装置は、以下の大人数用強特定可能回数制限署名検証ルーチン（大人数用強特定可能回数制限署名検証手段）を行う。
【０３９１】
図２９は、大人数用強特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０３９２】
図２９を参照すると、検証装置は、まずa０^c a[4]０ = a^(- x[5]１)a^(- x[5]２) H^(e[5] + c 2^(γ))h^(-u[5]) mod n を確認し、g^(u[5]) = G^(e[5] + c2^(γ))G[4] mod n を確認し、 x[5]１、x[5]２、およびe[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSSM-VER1)。
【０３９３】
次にb０^c b[4]０ = b^(- y[5])H^(f[5] + c 2^(γ[6]))h^(- u[5]) mod n を確認し、g^(u[5]) = G^(f[5] + c2^(γ[6]))G[4] mod n を確認し、 y[5]、及びf[5]の絶対値がλ + μ + ε + 1以下であることを確認する(ステップTSSM-VER2)。
【０３９４】
更にw^c w[4, 8] = H[6]^x[5]１h^(-u１[5, 8]) mod n を確認する。G[8]^cG１[4, 8] = g^(u[5]１) mod nを確認する(ステップTSSM-VER3)。
【０３９５】
加えてw'^c w'[4, 8] = H[6]^x[5]２h^(-u２[5, 8]) mod n を確認する。G[8]^cG２[4, 8] = g^(u[5]２) mod nを確認する(ステップTSSM-VER4)。
【０３９６】
最後に c =Hash(ε||μ||ν|| n|| a|| a０||g||h||I_L||b||b０ ||H||G ||a[4]０||G[4] ||H[6]||G[6] ||b[4]０||G[4, 6] ||G[4, 8]||w[4, 8] ||G[4, 8]||w[4, 8] ||w||w'||l||t||m)を確認する(ステップTSSM-VER5) 。
【０３９７】
以上の確認が全て正しければ、検証装置は署名を受理し(ステップTSSM-VER6) 、そうでなければ棄却する(ステップTSSM-VER7) 。
【０３９８】
グループ管理装置は過去に大人数用強特定可能回数制限署名セットアップルーチンを終えているものとする。{(y,B,f)}をサイト管理装置が公開した大人数用タグ達とする。検証装置は署名の組{(m,wｉ,aｉ, H, G, a[4]０ｉ, G[4]ｉ, H[6], G[6]ｉ,b[4]０ｉ, G[4, 6]ｉ,G[4, 8]ｉ,w[4, 8]ｉ,cｉ,x[5]ｉ, e[5]ｉ, u[5]ｉ, y[5]ｉ, f[5]ｉ, u[5, 6]ｉ, u１[5, 8]ｉ,u２[5, 8]ｉ )}ｉを持っていたとする。
【０３９９】
不正な装置を特定するには、以下の大人数用強特定可能回数制限署名強特定ルーチン（大人数用強特定可能回数制限署名強特定手段）を行う。
【０４００】
図３０は、大人数用強特定可能回数制限署名強特定ルーチンの動作を示すフローチャートである。
【０４０１】
図３０を参照すると、検証装置はw_{i１} = w_{i２} mod nとなるi１、i２を見つける(ステップTSSM-DET 1) 。
【０４０２】
このようなi１、i２が見つかった場合、署名(m_i１,w_i１,a_i１, H_i１, G_i１, a[4]０_i１, G[4]_i１, H[6], G[6]_i１,b[4]０_i１, G[4, 6]_i１，G[4, 8]_i１，w[4, 8]_i１，c_i１，x[5]_i１, e[5]_i１, u[5]_i１, y[5]_i１, f[5]_i１, u[5, 6]_i１, u１[5, 8]_i１，u２[5, 8]_i１ )および(m_i２,w_i２,a_i２, H_i２, G_i２, a[4]０_i２, G[4]_i２, H[6], G[6]_i２,b[4]０_i２, G[4, 6]_i２，G[4, 8]_i２，w[4, 8]_i２，c_i２，x[5]_i２, e[5]_i２, u[5]_i２, y[5]_i２, f[5]_i２, u[5, 6]_i２, u１[5, 8]_i２，u２[5, 8]_i２ )を不正と認定する(ステップTSSM-DET 2) 。
【０４０３】
更に検証装置は(w'_{i１} / w'_{i２}) = (a^x )^((l_{i１} - l_{i２}))mod nを計算(ステップTSSM-DET 3) 、検証装置は、グループ管理装置にt_{i１}, t_{i２},l_{i１},l_{i２},(w'_{i１} / w'_{i２})を渡す。
【０４０４】
グループ管理装置は、l_{i１},l_{i２}がそれぞれt_{i１}, t_{i２}のハッシュ値であることを確認し、もしそうなら、(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) = (a^x ) mod nを計算して検証装置に渡す。
【０４０５】
グループ管理装置が公開している鍵リスト、{(ID, C１, C２, A, e)}の第三引数が(w'_{i１} / w'_{i２})^(1 /(l_{i１} - l_{i２})) と一致しているIDを見つける(ステップTSSM-DET 4) 。
【０４０６】
本発明による上述した実施の形態において、署名システムの処理動作を実行するためのプログラム等を、データとしてコンピュータの磁気ディスクや光ディスク等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出して署名システムを動作させるために用いる。このように、本発明による署名システムを動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることにより署名システムの機能が実現できるようになる。
【０４０７】
【発明の効果】
第１の効果は、処理速度を高速化したグループ署名系では、従来技術のグループ署名系よりも、署名および検証の処理速度が向上することである。
【０４０８】
第２の効果は、弱特定可能二重署名禁止署名系、強特定可能二重署名禁止署名系、弱特定可能回数制限署名系、強特定可能回数制限署名系、大人数用弱特定可能回数制限署名系、大人数用強特定可能回数制限署名系では、通常の署名系と異なり、匿名性を保証することができ、更に従来技術のグループ署名系の欠点であった、グループ管理者による不必要な監視を防ぐことができることである。
【０４０９】
第３の効果は、弱特定可能二重署名禁止署名系では、通常の署名系と異なり、同一サイトで同一メンバーが二度署名していないことを確認でき、しかも誤って二度署名した場合ですら、署名者の匿名性を守ることができることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１０】
第４の効果は、強特定可能二重署名禁止署名系では、通常の署名系と異なり、同一サイトで同一メンバーが二度署名していないことを確認でき、しかも不正者が二度署名した場合には署名者を特定できることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１１】
第５の効果は、弱特定可能回数制限署名系および大人数用弱特定可能回数制限署名系では、通常の署名系と異なり、同一サイトで同一メンバーが、サイトの定める回数制限を越えて署名していないことを確認でき、しかも誤って二度署名した場合ですら、署名者の匿名性を守ることができることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１２】
第６の効果は、強特定可能回数制限署名系および大人数用強特定可能回数制限署名系では、通常の署名系と異なり、同一サイトで同一メンバーがサイトの定める回数制限を越えて署名していないことを確認でき、しかも不正者が二度署名した場合は、署名者を特定できることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１３】
加えて、第７の効果は、大人数用弱特定可能回数制限署名系では、弱特定可能回数制限署名系と異なり、処理速度が回数制限によらないことである。また、大人数強特定可能回数制限署名系は、強特定可能回数制限署名系と異なり、処理速度が回数制限によらないことである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示す図
【図２】本発明の高速化したグループ署名系のセットアップルーチンのフローチャートを示す図
【図３】本発明のグループ署名用ジョインルーチンのフローチャートを示す図
【図４】本発明のグループ署名ルーチンのフローチャートを示す図
【図５】本発明のグループ署名検証ルーチンのフローチャートを示す図
【図６】本発明のグループ署名における署名装置特定ルーチンのフローチャートを示す図
【図７】本発明の第２の実施の形態の構成を示す図
【図８】本発明の回数制限署名用セットアップルーチンのフローチャートを示す図
【図９】本発明の回数制限署名用ジョインルーチンのフローチャートを示す図
【図１０】本発明の弱特定可能二重署名禁止署名作成ルーチンのフローチャートを示す図
【図１１】本発明の弱特定可能二重署名禁止署名検証ルーチンのフローチャートを示す図
【図１２】本発明の弱特定可能二重署名禁止署名弱特定ルーチンのフローチャートを示す図
【図１３】本発明の強特定可能二重署名禁止署名作成ルーチンのフローチャートを示す図
【図１４】本発明の強特定可能二重署名禁止署名検証ルーチンのフローチャートを示す図
【図１５】本発明の強特定可能二重署名禁止署名強特定ルーチンのフローチャートを示す図
【図１６】本発明の弱特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図１７】本発明の弱特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図１８】本発明の弱特定可能回数制限署名弱特定ルーチンのフローチャートを示す図
【図１９】本発明の強特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２０】本発明の強特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図２１】本発明の強特定可能回数制限署名強特定ルーチンのフローチャートを示す図
【図２２】本発明の第６の実施の形態の構成を示す図
【図２３】本発明の大人数用弱特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２４】本発明の大人数用弱特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図２５】本発明の大人数用弱特定可能回数制限署名弱特定ルーチンのフローチャートを示す図
【図２６】本発明の大人数用強特定可能回数制限署名セットアップルーチンのフローチャートを示す図
【図２７】本発明の大人数用強特定可能回数制限署名ジョインルーチンのフローチャートを示す図
【図２８】本発明の大人数用強特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２９】本発明の大人数用強特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図３０】本発明の大人数用強特定可能回数制限署名強特定ルーチンのフローチャートを示す図
【図３１】従来システムの構成を示す図
【符号の説明】
１１    グループ管理装置
１２    ユーザー装置
１３    検証装置
２１    グループ管理装置
２２    ユーザー装置
２３    検証装置
２４    サイト管理装置
３１    グループ管理装置
３２    ユーザー装置
３３    検証装置
３４    サイト管理装置
４１    グループ管理装置
４２    ユーザー装置
４３    検証装置
【図１】
0004336876.tif 000002
【図２】
0004336876.tif 000003
【図３】
0004336876.tif 000004
【図４】
0004336876.tif 000005
【図５】
0004336876.tif 000006
【図６】
0004336876.tif 000007
【図７】
0004336876.tif 000008
【図８】
0004336876.tif 000009
【図９】
0004336876.tif 000010
【図１０】
0004336876.tif 000011
【図１１】
0004336876.tif 000012
【図１２】
0004336876.tif 000013
【図１３】
0004336876.tif 000014
【図１４】
0004336876.tif 000015
【図１５】
0004336876.tif 000016
【図１６】
0004336876.tif 000017
【図１７】
0004336876.tif 000018
【図１８】
0004336876.tif 000019
【図１９】
0004336876.tif 000020
【図２０】
0004336876.tif 000021
【図２１】
0004336876.tif 000022
【図２２】
0004336876.tif 000023
【図２３】
0004336876.tif 000024
【図２４】
0004336876.tif 000025
【図２５】
0004336876.tif 000026
【図２６】
0004336876.tif 000027
【図２７】
0004336876.tif 000028
【図２８】
0004336876.tif 000029
【図２９】
0004336876.tif 000030
【図３０】
0004336876.tif 000031
【図３１】
0004336876.tif 000032