(57)【要約】【課題】グループ署名系において署名および検証の処理速度を高速化する。【解決手段】グループ管理装置１１はグループ署名に必要な基本的パラメーター（領域変数と呼ばれる）をセットアップし、ユーザー装置１２と共にグループ署名ジョインルーチンを行う。グループ管理装置１１は、領域変数とライセンスをユーザー装置１２に渡し、ユーザー装置１２からライセンスに対応する公開鍵およびユーザー装置１２のＩＤを受取る。ユーザー装置１２は受け取ったライセンスを用い署名を行う。検証装置１３は、ユーザー装置１２から送られてきたデータに対し、グループ管理装置１１からの領域変数を用い、ユーザー装置１２がライセンスを用い正しい手順で作成した署名であるか否か署名の正当性を検証する。また、グループ管理装置１１は送られてきた署名から署名者（署名したユーザー装置１２）を特定する。【選択図】      図１
2004228958.tif 000002
【特許請求の範囲】
【請求項１】
グループ管理装置とユーザー装置と検証装置とを備えるシステムにおけるグループ署名方法であって、
前記グループ管理装置が、
セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップするステップと、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡すステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報と、を含む値を入力するステップと、
前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認するステップと、
エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化するエルガマル暗号化ステップと、
ライセンス情報コミット用乱数を作成し、さらに前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成するゼロ知識証明書計算コミット用乱数生成ステップと、
ゼロ知識証明のコミットメントを作成するゼロ知識証明書計算コミットステップと、
コミットメント諸々のハッシュ関数であるチャレンジを生成するゼロ知識証明書計算チャレンジステップと、
ライセンス情報レスポンスを作成し、次に前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力するゼロ知識証明書計算レスポンスステップと、
前記コミットメントと前記チャレンジと前記レスポンスを署名として出力するステップと、
前記検証装置が、
前記セキュリティパラメーターと前記領域変数を入力するステップと、
署名（疑似署名）を入力するステップと、
前記入力された疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証するライセンス等式検証ステップと、
前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認するエルガマル暗号第一成分等式検証ステップと、
前記入力された疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証するライセンス情報範囲指定条件検証ステップと、
前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定するステップと、
を有することを特徴とするグループ署名方法。
【請求項２】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能二重署名禁止署名系の回数制限署名方法であって、
前記グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、
前記グループ管理装置が前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置が入力値のハッシュ値から弱特定用タグを作り、前記入力値と前記弱特定用タグとを出力するステップと、
前記ユーザー装置が、
セキュリティパラメーターと領域変数とライセンス情報を入力するステップと、
前記サイト管理装置から弱特定タグを入力するステップと、
メッセージを入力するステップと、
前記弱特定タグと前記ライセンス情報とから弱特定性質を満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー前記装置が保有すること、
前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力するステップと、
前記検証装置が、
署名（弱特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、
前記入力された弱特定可能二重署名禁止疑似署名に対し、前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が弱特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の弱特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、
前記入力された複数個の弱特定可能二重署名禁止署名の中から、同一ユーザー装置によって作られたものを探し出し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、
前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項３】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能二重署名禁止署名系の回数制限署名方法であって、
前記グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、
前記グループ管理装置が前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記グループ管理装置が前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置が入力値のハッシュ値から弱特定用タグと強特定用タグを作り、前記入力値と前記弱特定用タグと前記強特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から弱特定タグと強特定タグとを入力するステップと、
メッセージを入力するステップと、
前記弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（強特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、
前記入力された強特定可能二重署名禁止疑似署名に対し、前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された強特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の強特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、
前記入力された複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを探し出し、そのような強特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、
前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、
前記二重署名弱特定ルーチン出力ステップが出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである前記鍵リストを入力し、前記入力された組から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する二重署名強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項４】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置が、
制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、
前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作るステップと、
前記入力値と前記制限回数個の前記弱特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、
前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、
前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、
前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項５】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置が、
制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、
前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作るステップと、
前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力するステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数、制限回数個の弱特定タグと強特定タグとの組、サイト識別子、強特定サイトにおけるタグ使用履歴を入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、
前記タグ選択ステップで選ばれた弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する前記弱特定用タグ署名ステップと、
前記タグ選択ステップで選ばれた強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、前記入力された強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、
前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の強特定可能回数制限署名が入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップが出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項６】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用弱特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、
前記サイト管理装置が、
前記グループ管理装置からサイト管理用の情報を取得するステップと、
制限回数を含むものを入力するステップと、
前記制限回数を前記グループ管理装置に送信するステップと、
前記グループ管理装置が、
前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、
前記サイト管理装置が、
前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、
前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、
前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（大人数用弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、
前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、
前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の大人数用弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の大人数用弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、
を有することを特徴とする回数制限署名方法。
【請求項７】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用強特定可能回数制限署名系の回数制限署名方法であって、
前記グループ管理装置が、
セキュリティパラメーターから領域変数を計算するセットアップステップと、
前記ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、
前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、
前記サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、
前記サイト管理装置が、
前記グループ管理装置からサイト管理用の情報を取得するステップと、
制限回数を含むものを入力するステップと、
前記制限回数を前記グループ管理装置に送信するステップと、
前記グループ管理装置が、
前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、
前記サイト管理装置が、
前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、
前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、
前記ユーザー装置が、
前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、
前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力するステップと、
メッセージを入力するステップと、
前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、
前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、
前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、
前記ライセンス情報を前記ユーザー装置が保有することと、前記大人数用タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記大人数用タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いた大人数用タグと前記強特定タグ署名生成に用いた大人数用タグとが同一であることとを証明するためのデータを生成する正当性証明書作成ステップと、
前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、
前記検証装置が、
署名（大人数用強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、
前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、
複数個の大人数用強特定可能回数制限署名を入力する回数制限弱特定ルーチン入力ステップと、
前記入力された複数個の大人数用強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、
前記回数制限弱特定ルーチン主ステップが出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、
を有することを特徴とする回数制限署名方法。
【請求項８】
前記弱特定用タグ署名が、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余である、
ことを特徴とする請求項２記載の回数制限署名方法。
【請求項９】
前記セットアップステップは、
セキュリティパラメーターから、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、
前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、
さらに自由領域変数と呼ばれるものと、左辺底領域変数と呼ばれるものと、タグ用左辺底領域変数と呼ばれるものとを計算し、
さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、前記タグモジュラスと、タグ用左辺底領域変数とを公開情報として出力し、
前記ジョインステップは、
前記ユーザー装置とアクセスを行い前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記タグ用左辺底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取る、
ことを特徴とする請求項２，請求項３，請求項４または請求項５記載の回数制限署名方法。
【請求項１０】
前記二重署名弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする請求項２記載の回数制限署名方法。
【請求項１１】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項３記載の回数制限署名方法。
【請求項１２】
前記二重署名弱特定ルーチン主ステップは、前記入力した複数個の強特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、前記二重署名強特定ステップは、
前記入力された強特定可能二重署名禁止署名の組に対し、そのうち任意の二つの強特定可能二重署名禁止署名を取りだし、第一の強特定可能二重署名禁止署名の強特定用タグ署名を第二の強特定可能二重署名禁止署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、
ことを特徴とする請求項３記載の回数制限署名方法。
【請求項１３】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるタグモジュラスと呼ばれるものを法とする巾乗剰余である、
ことを特徴とする請求項４記載の回数制限署名方法。
【請求項１４】
前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定する、
ことを特徴とする請求項４記載の回数制限署名方法。
【請求項１５】
前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項５記載の回数制限署名方法。
【請求項１６】
前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、
前記回数制限強特定ステップは、前記入力された強特定可能回数制限署名の組に対し、そのうち任意の二つの強特定可能回数制限署名を取りだし、第一の強特定可能回数制限署名の強特定用タグ署名を第二の強特定可能回数制限署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、
ことを特徴とする請求項５記載の回数制限署名方法。
【請求項１７】
前記入力した弱特定タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報との三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記弱特定タグの前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記基本モジュラスを法とする巾乗剰余である、ことを特徴とする請求項６記載の回数制限署名方法。
【請求項１８】
前記入力された弱特定タグ達のおのおのは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較する事によって、同一ユーザー装置によって作られたものであるか否かを判定する、
ことを特徴とする請求項６記載の回数制限署名方法。
【請求項１９】
前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、
前記領域変数および前記ライセンス情報は、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、
ことを特徴とする請求項６または請求項７記載の回数制限署名方法。
【請求項２０】
前記入力された大人数用タグ達の各々は、
タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、
ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２１】
前記セットアップステップは、
セキュリティパラメーターと、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、
前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、
さらに自由領域変数と呼ばれるものと、左辺第一底領域変数と呼ばれるものと、左辺第二底領域変数と呼ばれるものを計算し、
さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺第一底領域変数と、前記左辺第二底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、とを公開情報として出力し、
前記ジョインステップは、前記ユーザー装置にアクセスを行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記左辺第二底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取り、
前記サイト管理権授与ステップは、タグ用自由領域変数と呼ばれるものと、タグ用左辺第領域変数と呼ばれるものと、を前記サイト管理装置に渡し、
前記大人数用タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、
前記領域変数および前記大人数用タグは、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、
ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２２】
前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の大人数用強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定し、
前記回数制限強特定ステップは、前記入力した大人数用強特定可能回数制限署名の組に対し、そのうち任意の二つの大人数用強特定可能回数制限署名を取りだし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名を第二の大人数用強特定可能回数制限署名の強特定用タグ署名で、基本モジュラスを法として剰余したものを底とし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたもの指数とし、基本モジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力し、
前記入力された弱特定用タグ署名および強特定タグ署名は、タグと呼ばれるものから作られていて、
前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスの三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、
前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値であり、
前記検証ルーチン主ステップは、さらに前記入力された大人数用強特定可能回数制限署名の、弱特定用タグ署名部を作成するのに使用したライセンスと、強特定用タグ署名部を作成するのに使用したライセンスが同一であることを確認する、ことを特徴とする請求項７記載の回数制限署名方法。
【請求項２３】
グループ管理装置とユーザー装置と検証装置とを備えるシステムにおけるグループ署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップする機能、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡す機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを含む値を入力する機能、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認する機能、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化する機能、ライセンス情報コミット用乱数を作成して前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成する機能、ゼロ知識証明のコミットメントを作成する機能、コミットメント諸々のハッシュ関数であるチャレンジを生成する機能、ライセンス情報レスポンスを作成して前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力する機能、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力する機能、
前記検証装置が、前記セキュリティパラメーターと前記領域変数を入力する機能、署名（疑似署名）を入力する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証する機能、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証する機能、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定する機能、
を実現させるためのグループ署名プログラム。
【請求項２４】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能二重署名禁止署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、
前記サイト管理装置が、入力値のハッシュ値から弱特定用タグを作成する機能、前記入力値と前記弱特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記ライセンス情報を保有することと前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有することと前記保有するライセンス情報と前記生成に用いた情報が同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する機能、前記弱特定可能二重署名禁止疑似署名に対し前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び前記弱特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の前記弱特定可能二重署名禁止署名を入力する機能、前記入力された複数個の弱特定可能二重署名禁止署名の中から同一ユーザー装置によって作られたものを検索し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２５】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能二重署名禁止署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、
前記サイト管理装置が、入力値のハッシュ値から弱特定用タグと強特定用タグを作成する機能、前記入力値と前記弱特定用タグと前記強特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグと前記強特定タグとを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有することと、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有することと、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを証明するためのデータ（正当性証明書を）生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する機能、前記入力した強特定可能二重署名禁止疑似署名に対し前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び強特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能二重署名禁止署名を入力する機能、前記入力した複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを検索し、そのような強特定可能二重署名禁止署名の組があればそれを出力する機能、前記出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された組から前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２６】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける弱特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、前記サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、
前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の弱特定可能回数制限署名を含むものを入力する機能、
前記入力された複数個の弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２７】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける強特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、
前記サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数，制限回数個の弱特定タグと強特定タグとの組，強特定サイトにおけるタグ使用履歴およびサイト識別子を入力する機能、メッセージを入力する機能、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれた強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（強特定可能回数制限疑似署名）を入力する機能、前記入力した強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能回数制限署名を入力する機能、前記入力された複数個の強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２８】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用弱特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、
前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報をが保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の大人数用弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させるための回数制限署名プログラム。
【請求項２９】
グループ管理装置とユーザー装置と検証装置とサイト管理装置とを備えるシステムにおける大人数用強特定可能回数制限署名系の回数制限署名プログラムであって、
コンピュータに、前記グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、前記ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、前記取得した公開鍵達のリストを出力する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、
前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力する機能、メッセージを入力する機能、前記入力した制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれたタグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれたタグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いたタグと前記強特定タグ署名生成に用いたタグとが同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、
前記検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する機能、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用強特定可能回数制限署名を入力する機能、前記入力された複数個の大人数用強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、
を実現させるための回数制限署名プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各サイトにおける回数制限内では匿名性が保たれ、複数人用の、匿名性を保つ署名方法に関し、特に回数制限を越えた場合、回数制限を越えた署名が特定でき或いは回数制限を越えた署名者が特定できる各サイトにおける回数制限内では匿名性が保たれ、複数人用の、匿名性を保つ署名方法に関する。
【０００２】
【従来の技術】
匿名性を守ることは通信において重要な課題であるが、匿名性を保証すると、不正者を誘発することになりかねない。
【０００３】
署名系において匿名性と不正者特定を両立した系として、グループ署名がある。この系はチャウム（Ｃｈａｕｍ）とヘイスト（Ｈｅｉｊｓｔ）により、非特許文献１で提案された。
【０００４】
グループ署名とは、次を満たす署名系のことである。
▲１▼グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、公開鍵、領域変数を作る。
▲２▼グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
▲３▼メンバー装置のみが署名を計算できる。
▲４▼検証装置は、署名と同一フォーマットの情報（以下疑似署名と呼ぶ）が、メンバー装置によって作られた正当な署名であるか否かを確認することができる。
▲５▼グループ管理装置（の持つ、前記秘密鍵が入力された装置）以外の装置は、どのメンバー装置が署名を作成したかを特定することはできない。
▲６▼但し、グループ管理装置（の持つ、前記秘密鍵が入力された装置）は、前記秘密鍵を利用することで、署名を作成したメンバー装置を特定することができる。
【０００５】
普段は匿名性を保っているが、不正が発覚したとき、グループ管理装置が署名した装置を特定することで不正者を発見できる。この事により、不正抑制をしているのである。
【０００６】
チャウム（Ｃｈａｕｍ）とヘイスト（Ｈｅｉｊｓｔ）により、初めてグループ署名が提案されて以来、様々な改良を加えられたグループ署名が提案されてきた。代表的なものに、カメニッシュ（Ｃａｍｅｎｉｓｃｈ）、スタッドラー（Ｓｔａｄｌｅｒ）らによる非特許文献２や、アテニース（Ａｔｅｎｉｅｓｅ）、カメニッシュ（Ｃａｍｅｎｉｓｃｈ）、ジョイ（Ｊｏｙｅ），  ツディック（Ｔｓｕｄｉｋ）等による非特許文献３がある。
【０００７】
ほとんどのグループ署名は、アイデンティティ  エスクロー（Ｉｄｅｎｔｉｔｙ  Ｅｓｃｒｏｗ）と呼ばれる系から、フィアット（Ｆｉａｔ）  シャーミル（Ｓｈａｍｉｒ）変換と呼ばれるものを施すことによって得ることができる。上述した系は全てこの方法により得ることができる。
【０００８】
アイデンティティ  エスクローは、キリアン（Ｋｉｌｉａｎ），  ペトランク（Ｐｅｔｒａｎｋ）による非特許文献４により提案された。アイデンティティ  エスクローとは、匿名性と不正抑制を両立した認証系で、グループ署名系と同様の性質を持つ。
▲１▼グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、領域変数を作る。
▲２▼グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
▲３▼メンバー装置のみが認証を計算できる。
▲４▼検証装置は、認証と同一フォーマットの情報（以下疑似認証と呼ぶ）が、メンバー装置によって作られた正当な認証であるか否かを確認することができる。
▲５▼グループ管理装置（の持つ、前記秘密鍵が入力された装置）以外の装置は、どのメンバー装置が認証を作成したかを特定することはできない。
▲６▼但し、グループ管理装置（の持つ、前記秘密鍵が入力された装置）は、前記秘密鍵を利用することで、認証を作成したメンバー装置を特定することができる。
【０００９】
ここで、アテニース（Ａｔｅｎｉｅｓｅ）、カメニッシュ（Ｃａｍｅｎｉｓｃｈ）、ジョイ（Ｊｏｙｅ），  ツディック（Ｔｓｕｄｉｋ）等による系の概略を説明する。
【００１０】
図３１は、従来のグループ署名系の装置間の関係を示すブロック図である。グループ署名系は、グループ管理装置４１と、ユーザー装置（メンバー装置）４２と、検証装置４３とを備えている。
【００１１】
グループ管理装置４１は、まずグループ署名セットアップルーチンを行い、グループ署名に必要な基本的パラメーター（領域変数と呼ばれる）をセットアップする。次にグループ署名ジョインルーチンをユーザー装置４２と共に行う。グループ管理装置４１は、領域変数と、ライセンスをユーザー装置４２に渡し（ＢＧＳ−ＢＬ  Ｌ１）、グループ管理装置４１は、ライセンスに対応する公開鍵、及びユーザー装置４２のＩＤを受け取る（ＢＧＳ−ＢＬ  Ｌ２）。ライセンスを受け取ったユーザー装置４２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置４２をメンバー装置と呼ぶ。メンバー装置は、ライセンスを用い署名を行うことができる。グループ署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は署名を作ることができない。
【００１２】
検証装置４３は、領域変数を用い（ＢＧＳ−ＢＬ  Ｌ４）、署名の正当性を検証する装置である。検証装置４３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名（ＢＧＳ−ＢＬ  Ｌ３）であるか否か（ＢＧＳ−ＢＬ  Ｌ８）を決定し、出力する（ＢＧＳ−ＢＬ  Ｌ５）装置である。
【００１３】
犯罪等何らかの理由で署名者を特定したい場合には、署名をグループ管理装置４１に送る（ＢＧＳ−ＢＬ  Ｌ６）。グループ管理装置４１は、グループ署名セットアップルーチン時に作成した秘密情報を用いて署名者を決定する（ＢＧＳ−ＢＬ  Ｌ７）。
【００１４】
アテニース等のグループ署名系は、  グループ署名セットアップルーチン、グループ署名ジョインルーチン、グループ署名ルーチン、グループ署名検証ルーチン、グループ署名署名者決定ルーチンからなる。
【００１５】
セットアップルーチンについて説明する。このルーチンにおいて、グループ管理装置４１は秘密鍵および領域変数を作成する。セットアップルーチンにおいて、グループ管理装置４１は、二つの素数ｐ，  ｑを秘密裡に選び、その積ｎを公開する。（ｐ，  ｑ）を秘密鍵として秘密裡に保管し、ｎを領域変数として公開する。秘密鍵（ｐ，  ｑ）は、ジョインルーチンにおいて、ライセンス発行に使用する。また、ＱＲ（ｎ）の元ｇを任意に取り、ｇの位数以下の正整数χを秘密裡にとる。そして  ｈ  ＝  ｇχ  ｍｏｄ  ｎ  を計算し、χを秘密鍵として保管し、（ｇ，ｈ）を領域変数として公開する。χは署名装置特定のために使用する。更にＱＲ（ｎ）の元ａ，  ａ０，  ｇ’をランダムに取り、公開する。
【００１６】
次に、ジョインルーチンを説明する。ジョインルーチンは、ユーザー装置４２と通信し、ユーザー装置４２にライセンスを手渡す。ライセンスは三つ組（ｘ，  Ａ，ｅ）で、ａｘ  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  を満たし、ｘ，  ｅがある定められた範囲にはいるものでり、ｅが素数であるものである。
【００１７】
ライセンスを得たユーザー装置４２をメンバー装置と呼ぶ。尚、グループ管理装置４１はメンバー装置毎に異なるライセンスを与えねばならない。
【００１８】
メンバー装置はライセンス（ｘ，  Ａ，  ｅ）のうちｘを秘密鍵として秘密裡に保管し、Ａ，ｅを（かならずしも秘密裡ではなく）保管する。
【００１９】
ジョインルーチンにより、ユーザー装置４２はライセンス（ｘ，  Ａ，  ｅ）を得、グループ管理装置４１は（ａｘ，  Ａ，  ｅ）を得る。ジョインルーチンは、暗号プロトコルを駆使したグループ管理装置４１にはｘがばれないようなプロトコルである。
【００２０】
グループ管理装置４１は、ジョインプロトコルで得た（ａｘ，  Ａ，  ｅ）を、メンバー装置の識別子とセットにして保管する。このリストを鍵リストと呼ぶ。
【００２１】
署名装置特定ルーチンについては後述する。
【００２２】
グループ管理装置４１からライセンス（ｘ，Ａ，ｅ）を得たメンバー装置は、ライセンスを利用して認証を受けること、署名を作成することが可能になる。
【００２３】
署名方法の概略を説明する。署名手順は暗号作成ステップ、ゼロ知識証明ステップの二つのステップからなる。
【００２４】
暗号作成ステップでは、メンバー装置はまず、定められた範囲から乱数ｕを取り、Ｔ１  ＝  Ａ  ｈｕ  ｍｏｄ  ｎ，  Ｔ２  ＝  ｇｕ  ｍｏｄ  ｎ，  Ｔ３  ＝  ｇｅｇ’ｗ  ｍｏｄ  ｎを作成する。
【００２５】
ゼロ知識証明ステップは、コミットステップ、チャレンジステップ、レスポンスステップと呼ばれているものを作成する。
【００２６】
コミットステップにおいては、定められた範囲から乱数ｅｂａｒ，  ｘｂａｒ，  ηｂａｒ，  ｗｂａｒを選び、ｄ１  ＝  Ｔ１＾ｅｂａｒ  ／  （ａ＾ｘｂａｒ  ｈ＾ηｂａｒ）  ｍｏｄ  ｎ、ｄ２  ＝  Ｔ２＾ｅｂａｒ  ／  ｇ＾ηｂａｒ  ｍｏｄ  ｎ、ｄ３  ＝  ｇ＾ｗｂａｒ  ｍｏｄ  ｎ、ｄ４  ＝  ｇ＾ｅｂａｒ  ｇ’＾ｗｂａｒ  ｍｏｄ  ｎを計算する。
【００２７】
次にチャレンジステップにおいては、ｃ  ＝Ｈａｓｈ（ｇ｜｜ｈ｜｜ｇ’｜｜ａ０｜｜ａ｜｜Ｔ１｜｜Ｔ２｜｜Ｔ３｜｜ｄ１｜｜ｄ２｜｜ｄ３｜｜ｄ４｜｜ｍ）を計算する。ここでＨａｓｈはハッシュ関数。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【００２８】
最後にレスポンスステップにおいては、ｓ１  ＝  ｅｂａｒ  −  ｃ（ｅ  −  ２＾γ）、ｓ２  ＝ｘｂａｒ  −  ｃ（ｘ  −  ２＾λ）、ｓ３  ＝  ηｂａｒ  −  ｃｅｕ、ｓ４  ＝  ｗｂａｒ  −  ｃｗを作成し、（Ｔ１，  Ｔ２，  Ｔ３，  ｄ１，  ｄ２，  ｄ３，  ｄ４，  ｃ）を署名として公開する。但し、ここでγ、λはセキュリティパラメーターから定まる定数。
【００２９】
検証は、まず、ｄ１  ＝  ａ０＾ｃ  Ｔ１＾（ｓ１  −  ｃ２＾γ）  ／  （ａ＾（ｓ２  −  ｃ  ２＾λ）ｈ＾ｓ３）  ｍｏｄ  ｎ，  ｄ２  ＝  Ｔ２＾（ｓ１  −  ｃ  ２＾γ）  ／  ｇ＾ｓ３  ｍｏｄ  ｎ，ｄ３  ＝  Ｔ２＾ｃ  ｇ＾ｓ４  ｍｏｄ  ｎ，ｄ４  ＝  Ｔ３＾ｃ  ｇ  ＾（ｓ１  −  ｃ  ２＾γ）  ｈ＾ｓ４  ｍｏｄ  ｎを確認し、次にｃ  ＝Ｈａｓｈ（ｇ｜｜ｈ｜｜ｇ’｜｜ａ０｜｜ａ｜｜Ｔ１｜｜Ｔ２｜｜Ｔ３｜｜ｄ１｜｜ｄ２｜｜ｄ３｜｜ｄ４｜｜ｍ）を確認し、最後にｓ１、ｓ２、ｓ３、ｓ４がある定められた範囲にはいることを示す。
【００３０】
また、グループ管理装置４１は、署名装置特定ルーチンを実行することで署名装置を特定することができる。
【００３１】
署名装置特定ルーチンではＡ  ＝  Ｔ１  ／  Ｔ２＾χ  ｍｏｄ  ｎ  を計算し、Ａを含む鍵を鍵リストから検索することで、署名装置を特定する。
【００３２】
また、特許文献１には、匿名および利用回数を制限された認証を行うために、認証者と被認証者の各々において認証を受けられる回数を管理しながら認証者において被認証者を仮名のまま認証すると共に被認証者の実名を知り得る匿名認証方法が開示されている。
【００３３】
【非特許文献１】
グループ  シグナチャー、ユーロクリプト  ’９１，  シュプリンガー  レクチャーノート  イン  コンピューター  サイエンス  ５４７，  ２５７頁〜２６５頁  １９９１年（Ｄ．  Ｃｈａｕｍ  ａｎｄ  Ｅ．  ｖａｎ  Ｈｅｉｊｓｔ，  Ｇｒｏｕｐ  ｓｉｇｎａｔｕｒｅｓ，  Ｅｕｒｏｃｒｙｐｔ  ’９１，  Ｓｐｒｉｎｇｅｒ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｓ  ５４７，  ｐ．２５７−２６５，  １９９１．）
【非特許文献２】
エフィシェント  グループ  シグナチャー  スキームス  フォー  ラージ  グループス、クリプト  ’９７，  シュプリンガー  レクチャーノート  イン  コンピューター  サイエンス  １２９４，  ４１０頁〜４２４頁  １９９７年（Ｇｒｏｕｐ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅｓｆｏｒ  Ｌａｒｇｅ  Ｇｒｏｕｐｓ，  Ｊａｎ  Ｃａｍｅｎｉｓｃｈ，  Ｍａｒｋｕｓ  Ｓｔａｄｌｅｒ，Ｃｒｙｐｔ  ’９７，  Ｓｐｒｉｎｇｅｒ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｓ  １２９４，  ｐ．４１０−４２４，  １９９７．）
【非特許文献３】
ア  プラクティカル  アンド  プルーバブリー  セキュアー  コリジョン  レジスタント  グループ  シグナチャー  スキーム、クリプト２０００，  シュプリンガー  レクチャーノート  イン  コンピューター  サイエンス  １８８０，  ２５５頁〜２７０頁，  ２０００年  （Ａ  Ｐｒａｃｔｉｃａｌ  ａｎｄ  ＰｒｏｖａｂｌｙＳｅｃｕｒｅ  Ｃｏａｌｉｔｉｏｎ−Ｒｅｓｉｓｔａｎｔ  Ｇｒｏｕｐ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅ，  Ｇｉｕｓｅｐｐｅ  Ａｔｅｎｉｅｓｅ，  Ｊａｎ  Ｃａｍｅｎｉｓｃｈ，  Ｍａｒｃ  Ｊｏｙｅ，  ａｎｄ  Ｇｅｎｅ  Ｔｓｕｄｉｋ，Ｃｒｙｐｔ  ２０００，  Ｓｐｒｉｎｇｅｒ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｓ  １８８０，  ｐ．２５５−２７０，
２０００．）
【非特許文献４】
アイデンティティ  エスクロー、クリプト  ’９８  シュプリンガー  レクチャーノート  イン  コンピューター  サイエンス  １４６２，  １６９頁〜１８５頁，  １９９８年  （Ｉｄｅｎｔｉｔｙ  Ｅｓｃｒｏｗ，  ＪｏｅＫｉｌｉａｎ，  Ｅｒｅｚ  Ｐｅｔｒａｎｋ  ＣＲＹＰＴＯ  ’９８，  Ｓｐｒｉｎｇｅｒ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  ＣｏｍｐｕｔｅｒＳｃｉｅｎｃｓ  １４６２，  ｐ．１６９−１８５，  １９９８  ）
【特許文献１】
特開２００１−９４５５３号公報
【００３４】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、以下のような問題点がある。
【００３５】
第１の問題点は、回数制限が課されていなことである。この為、例えばアンケートに応用する場合、同一人物による二重回答を防ぐことができない。その理由は、グループ署名系においては、署名を行ったメンバー装置の匿名性が完全に保証されている。この為、二つの署名文があったとき、この二つの署名文を作成したのが同一人物であるか否かを知ることはできない。
【００３６】
第２の問題点は、メンバー装置の署名が不正であるか不正でないかにかかわらず、グループ管理装置には署名者を特定されてしまうことである。その理由は、グループ署名系の場合、グループ管理装置の権限が強すぎるためである。
【００３７】
第３の問題点は、処理速度が遅いことである。なぜなら、グループ署名に使用するライセンスの形は複雑で、その為ゼロ知識証明が複雑になるからである。
【００３８】
本発明の第１の目的は、匿名性をコントロールする事である。
【００３９】
本発明の他の目的は、グループ署名と異なり、回数制限を越えない限りグループ管理装置でも署名装置を特定することはできないようにすることである。（しかし、系を自明に改良することで、グループ管理装置が署名装置を特定できるように改良することが可能である）。
【００４０】
本発明の更に他の目的は、グループ署名系、及び回数制限署名系を高速化することである。
【００４１】
【課題を解決するための手段】
本願第１の発明のグループ署名方法は、グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップするステップと、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡すステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報と、を含む値を入力するステップと、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認するステップと、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化するエルガマル暗号化ステップと、ライセンス情報コミット用乱数を作成し、さらに前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成するゼロ知識証明書計算コミット用乱数生成ステップと、ゼロ知識証明のコミットメントを作成するゼロ知識証明書計算コミットステップと、コミットメント諸々のハッシュ関数であるチャレンジを生成するゼロ知識証明書計算チャレンジステップと、ライセンス情報レスポンスを作成し、次に前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力するゼロ知識証明書計算レスポンスステップと、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力するステップと、検証装置が、前記セキュリティパラメーターと前記領域変数を入力するステップと、署名（疑似署名）を入力するステップと、前記入力された疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証するライセンス等式検証ステップと、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認するエルガマル暗号第一成分等式検証ステップと、前記入力された疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証するライセンス情報範囲指定条件検証ステップと、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定するステップと、を有することを特徴とする。
【００４２】
本願第２の発明の回数制限署名方法は、グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、前記グループ管理装置がユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記サイト管理装置が入力値のハッシュ値から弱特定用タグを作り、前記入力値と前記弱特定用タグとを出力するステップと、前記ユーザー装置が、セキュリティパラメーターと領域変数とライセンス情報を入力するステップと、前記サイト管理装置から弱特定タグを入力するステップと、メッセージを入力するステップと、前記弱特定タグと前記ライセンス情報とから弱特定性質を満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力するステップと、検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、前記入力された弱特定可能二重署名禁止疑似署名に対し、前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が弱特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の弱特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、前記入力された複数個の弱特定可能二重署名禁止署名の中から、同一ユーザー装置によって作られたものを探し出し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４３】
本願第３の発明の回数制限署名方法は、グループ管理装置がセキュリティパラメーターから領域変数を計算するセットアップステップと、前記グループ管理装置がユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記グループ管理装置が前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、前記サイト管理装置が入力値のハッシュ値から弱特定用タグと強特定用タグを作り、前記入力値と前記弱特定用タグと前記強特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から弱特定タグと強特定タグとを入力するステップと、メッセージを入力するステップと、前記弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する検証ルーチン入力ステップと、前記入力された強特定可能二重署名禁止疑似署名に対し、前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能二重署名禁止署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された強特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の強特定可能二重署名禁止署名が入力される二重署名弱特定ルーチン入力ステップと、前記入力された複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを探し出し、そのような強特定可能二重署名禁止署名の組があればそれを出力する二重署名弱特定ルーチン主ステップと、前記二重署名弱特定ルーチン主ステップの出力を出力する二重署名弱特定ルーチン出力ステップと、前記二重署名弱特定ルーチン出力ステップが出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである前記鍵リストを入力し、前記入力された組から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する二重署名強特定ステップと、を有することを特徴とする。
【００４４】
本願第４の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作るステップと、前記入力値と前記制限回数個の前記弱特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４５】
本願第５の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力するステップと、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作るステップと、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力するステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数、制限回数個の弱特定タグと強特定タグとの組、サイト識別子、強特定サイトにおけるタグ使用履歴を入力するステップと、メッセージを入力するステップと、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、前記タグ選択ステップで選ばれた弱特定タグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する前記弱特定用タグ署名ステップと、前記タグ選択ステップで選ばれた強特定タグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、前記入力された強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の強特定可能回数制限署名が入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップが出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、を有することを特徴とする。
【００４６】
本願第６の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、前記サイト管理装置が、前記グループ管理装置からサイト管理用の情報を取得するステップと、制限回数を含むものを入力するステップと、前記制限回数を前記グループ管理装置に送信するステップと、前記グループ管理装置が、前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、前記サイト管理装置が、前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ弱特定タグ選択ステップと、前記弱特定タグ選択ステップで選ばれた弱特定タグに対し、弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記ライセンス情報を前記ユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力し前記サイト管理装置から弱特定タグを入力する検証ルーチン入力ステップと、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成したユーザー装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する検証ルーチン主ステップと、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の大人数用弱特定可能回数制限署名を含むものが入力される回数制限弱特定ルーチン入力ステップと、前記入力された複数個の大人数用弱特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップの出力を出力する回数制限弱特定ルーチン出力ステップと、を有することを特徴とする。
【００４７】
本願第７の発明の回数制限署名方法は、グループ管理装置が、セキュリティパラメーターから領域変数を計算するセットアップステップと、ユーザー装置と通信を行うことで、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記ユーザー装置の公開鍵を取得するジョインステップと、前記ジョインステップで取得した公開鍵達のリストを出力する鍵リスト公開ステップと、サイト管理装置にサイト管理用の情報を与えるサイト管理権授与ステップと、前記サイト管理装置が、前記グループ管理装置からサイト管理用の情報を取得するステップと、制限回数を含むものを入力するステップと、前記制限回数を前記グループ管理装置に送信するステップと、前記グループ管理装置が、前記制限回数個の大人数用タグを作成して前記サイト管理装置に送信するステップと、前記サイト管理装置が、前記グループ管理装置から前記制限回数個の大人数用タグを受取るステップと、前記入力値と前記制限回数個の大人数用タグとを出力する出力ステップと、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力するステップと、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力するステップと、メッセージを入力するステップと、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶタグ選択ステップと、前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから弱特定性質と呼ばれるものを満たす弱特定用タグ署名を計算する弱特定用タグ署名ステップと、前記タグ選択ステップで選ばれたタグと前記ライセンス情報とから強特定性質と呼ばれるものを満たす強特定用タグ署名を計算する強特定用タグ署名ステップと、記ライセンス情報を前記ユーザー装置が保有することと、前記大人数用タグから前記弱特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記大人数用タグから前記強特定タグ署名生成に用いた情報を前記ユーザー装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いた大人数用タグと前記強特定タグ署名生成に用いた大人数用タグとが同一であることとを証明するためのデータを生成する正当性証明書作成ステップと、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを署名として出力する出力ステップと、検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する検証ルーチン入力ステップと、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する検証ルーチン主ステップと、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する検証ルーチン出力ステップと、複数個の大人数用強特定可能回数制限署名を入力する回数制限弱特定ルーチン入力ステップと、前記入力された複数個の大人数用強特定可能回数制限署名の中から、同一ユーザー装置によって作られた、回数制限を越えた個数個の大人数用強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する回数制限弱特定ルーチン主ステップと、前記回数制限弱特定ルーチン主ステップが出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出し、それを出力する回数制限強特定ステップと、を有することを特徴とする。
【００４８】
本願第８の発明の回数制限署名方法は、第２の発明において前記弱特定用タグ署名が、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余である、ことを特徴とする。
【００４９】
本願第９の発明の回数制限署名方法は、第２，第３，第４または第５の発明において前記セットアップステップは、セキュリティパラメーターから、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、さらに自由領域変数と呼ばれるものと、左辺底領域変数と呼ばれるものと、タグ用左辺底領域変数と呼ばれるものとを計算し、さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、前記タグモジュラスと、タグ用左辺底領域変数とを公開情報として出力し、前記ジョインステップは、前記ユーザー装置とアクセスを行い前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記タグ用左辺底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取る、ことを特徴とする。
【００５０】
本願第１０の発明の回数制限署名方法は、第２の発明において前記二重署名弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５１】
本願第１１の発明の回数制限署名方法は、第３の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００５２】
本願第１２の発明の回数制限署名方法は、第３の発明において前記二重署名弱特定ルーチン主ステップは、前記入力した複数個の強特定可能二重署名禁止署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、前記二重署名強特定ステップは、前記入力された強特定可能二重署名禁止署名の組に対し、そのうち任意の二つの強特定可能二重署名禁止署名を取りだし、第一の強特定可能二重署名禁止署名の強特定用タグ署名を第二の強特定可能二重署名禁止署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能二重署名禁止署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、ことを特徴とする。
【００５３】
本願第１３の発明の回数制限署名方法は、第４の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるタグモジュラスと呼ばれるものを法とする巾乗剰余である、ことを特徴とする。
【００５４】
本願第１４の発明の回数制限署名方法は、第４の発明において前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５５】
本願第１５の発明の回数制限署名方法は、第５の発明において前記弱特定用タグ署名は、前記弱特定タグを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記強特定タグを乗じたものを底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、
前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００５６】
本願第１６の発明の回数制限署名方法は、第５の発明において前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較する事によって同一ユーザー装置によって作られたものであるか否かを判定し、前記回数制限強特定ステップは、前記入力された強特定可能回数制限署名の組に対し、そのうち任意の二つの強特定可能回数制限署名を取りだし、第一の強特定可能回数制限署名の強特定用タグ署名を第二の強特定可能回数制限署名の強特定用タグ署名で、タグモジュラスを法として剰余したものを底とし、第一の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたものの、タグの周期を法とする逆元を指数とし、タグモジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力する、ことを特徴とする。
【００５７】
本願第１７の発明の回数制限署名方法は、第６の発明において前記入力した弱特定タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報との三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記弱特定タグの前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換したものを指数とし、前記基本モジュラスを法とする巾乗剰余である、ことを特徴とする。
【００５８】
本願第１８の発明の回数制限署名方法は、第６の発明において前記入力された弱特定タグ達のおのおのは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記回数制限弱特定ルーチン主ステップは、前記入力された複数個の弱特定可能回数制限署名の弱特定用タグ署名の部分を比較する事によって、同一ユーザー装置によって作られたものであるか否かを判定する、ことを特徴とする。
【００５９】
本願第１９の発明の回数制限署名方法は、第６または第７の発明において前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、前記領域変数および前記ライセンス情報は、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、ことを特徴とする。
【００６０】
本願第２０の発明の回数制限署名方法は、第７の発明において前記入力された大人数用タグ達の各々は、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスと呼ばれる三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値である、ことを特徴とする。
【００６１】
本願第２１の発明の回数制限署名方法は、第７の発明において前記セットアップステップは、セキュリティパラメーターと、タグモジュラスと呼ばれる正整数と、秘密第一因数と呼ばれる素数と、秘密第二因数と呼ばれる素数とを生成し、前記秘密第一因数と前記秘密第二因数との積である基本モジュラスと呼ばれる数を計算し、さらに自由領域変数と呼ばれるものと、左辺第一底領域変数と呼ばれるものと、左辺第二底領域変数と呼ばれるものを計算し、さらに種乱数と呼ばれる乱数を作り、前記種乱数のハッシュ値から離散対数第一領域変数と呼ばれるものと、離散対数第二領域変数と呼ばれるものとを計算し、前記秘密第一因数と前記秘密第二因数とを秘密裡に保管し、前記種乱数と前記基本モジュラスと前記自由領域変数と、前記左辺第一底領域変数と、前記左辺第二底領域変数と、前記離散対数第一領域変数と、前記離散対数第二領域変数と、とを公開情報として出力し、前記ジョインステップは、前記ユーザー装置にアクセスを行い、前記ユーザー装置にライセンスを付与し、前記ユーザー装置から前記左辺第二底領域変数を底とし、前記ライセンスの秘密ライセンス情報と呼ばれるものを指数とし、前記タグモジュラスを法とする巾乗剰余を受け取り、前記サイト管理権授与ステップは、タグ用自由領域変数と呼ばれるものと、タグ用左辺第領域変数と呼ばれるものと、を前記サイト管理装置に渡し、前記大人数用タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報とを含み、前記領域変数および前記大人数用タグは、前記タグ用左辺底領域変数を底とし、前記タグ用秘密ライセンス情報を指数として巾乗したものに前記タグ用自由領域変数を乗じたものと、前記タグ用底ライセンス情報を底とし、前記タグ用指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというタグ用ライセンス等式と、前記タグ用秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記タグ用指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというタグ用ライセンス情報範囲指定条件とを満たす、ことを特徴とする。
【００６２】
本願第２２の発明の回数制限署名方法は、第７の発明において前記回数制限弱特定ルーチン主ステップは、前記入力した複数個の大人数用強特定可能回数制限署名の弱特定用タグ署名と呼ばれる部分を比較することによって、同一ユーザー装置によって作られたものであるか否かを判定し、前記回数制限強特定ステップは、前記入力した大人数用強特定可能回数制限署名の組に対し、そのうち任意の二つの大人数用強特定可能回数制限署名を取りだし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名を第二の大人数用強特定可能回数制限署名の強特定用タグ署名で、基本モジュラスを法として剰余したものを底とし、第一の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値から、第二の大人数用強特定可能回数制限署名の強特定用タグ署名変化用値ハッシュ値を減じたもの指数とし、基本モジュラスを法として巾乗剰余したものを、前記入力された鍵リストから探し出し、見つかれば対応するユーザー装置の識別子を出力し、前記入力された弱特定用タグ署名および強特定タグ署名は、タグと呼ばれるものから作られていて、前記タグは、タグ用秘密ライセンス情報とタグ用底ライセンス情報とタグ用指数ライセンス情報の三つの成分からなり、前記領域変数から決まる左辺底領域変数と自由領域変数と基本モジュラスの三つの情報との間に、前記左辺底領域変数を底とし、タグ用秘密ライセンス情報を指数とする巾乗に、自由領域変数を乗じたものが、タグ用底ライセンス情報を底とし、タグ用指数ライセンス情報を指数とする巾乗に基本モジュラスを法として等しいという関係式を満たし、前記弱特定用タグ署名は、前記タグ用底ライセンス情報を底とし、前記ライセンスを定められた方法で変換した、第一指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名は、前記ライセンスを定められた方法で変換したものを底とし、強特定用タグ署名変化用値ハッシュ値と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法として巾乗剰余したものに、前記タグ用底ライセンス情報を乗じたものを底とし、前記ライセンスを定められた方法で変換した、第二指数と呼ばれるものを指数とし、前記領域変数から定まるモジュラスを法とする巾乗剰余であり、前記強特定用タグ署名変化用値ハッシュ値は、前記ユーザー装置を使用する度に異なる値のハッシュ値であり、前記検証ルーチン主ステップは、さらに前記入力された大人数用強特定可能回数制限署名の、弱特定用タグ署名部を作成するのに使用したライセンスと、強特定用タグ署名部を作成するのに使用したライセンスが同一であることを確認する、ことを特徴とする。
【００６３】
本願第２３の発明のグループ署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーター並びに基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む領域変数をセットアップする機能、秘密ライセンス情報と底ライセンス情報と指数ライセンス情報とを含むライセンス情報をユーザー装置に渡す機能、ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを含む値を入力する機能、前記領域変数および前記ライセンス情報が、前記左辺底領域変数を底とし、前記秘密ライセンス情報を指数として巾乗したものに前記自由領域変数を乗じたものと、前記底ライセンス情報を底とし、前記指数ライセンス情報を指数として巾乗したものとが、前記基本モジュラスを法として等しいというライセンス等式と、前記秘密ライセンス情報が、前記セキュリティパラメーターから定まるある範囲に入っていて、かつ前記指数ライセンス情報が、前記セキュリティパラメーターから定まる別のある範囲に入っているというライセンス情報範囲指定条件と、を満たすことを確認する機能、エルガマル暗号生成用指数部乱数と呼ばれる乱数を作成し、その乱数を用い前記底ライセンス情報をエルガマル暗号化する機能、ライセンス情報コミット用乱数を作成して前記エルガマル暗号生成用指数部乱数に対するエルガマル暗号生成用指数部乱数コミット用乱数を作成する機能、ゼロ知識証明のコミットメントを作成する機能、コミットメント諸々のハッシュ関数であるチャレンジを生成する機能、ライセンス情報レスポンスを作成して前記ライセンス情報に対するレスポンスを定められた方法で変換し、前記変換されたものを前記エルガマル暗号生成用指数部乱数に乗じ、そこに前記エルガマル暗号生成用指数部乱数コミット用変数を加えたものをエルガマル暗号生成用指数部乱数に対するレスポンスとして出力する機能、前記コミットメントと前記チャレンジと前記レスポンスを署名として出力する機能、検証装置が、前記セキュリティパラメーターと前記領域変数を入力する機能、署名（疑似署名）を入力する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス等式を満たすか否かを検証する機能、前記領域変数の離散対数第一領域変数部を底とし、前記疑似署名のエルガマル生成用指数部乱数レスポンス部を指数とする巾乗が、前記疑似署名のエルガマル暗号第一成分部を底とし、前記疑似署名の指数ライセンス情報部を定められた方法で変換したもの指数とする巾乗に前記疑似署名のエルガマル暗号生成用指数部乱数コミットを乗じたものとが、前記疑似署名の基本モジュラス部を法として等しくなるかどうかを確認する機能、前記入力した疑似署名の作成に使われた秘密情報がライセンス情報範囲指定条件を満たすか否かを検証する機能、前記ライセンス等式検証ステップと前記エルガマル暗号第一成分等式検証ステップと前記ライセンス情報範囲指定条件検証ステップとで正しく検証されたときに、前記疑似署名が、前記グループ管理装置からライセンスをもらった前記ユーザー装置が前記ライセンスを入力として高速化グループ署名手順を行うことで作成した署名であると判定する機能、を実現させる。
【００６４】
本願第２４の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置が、入力値のハッシュ値から弱特定用タグを作成する機能、前記入力値と前記弱特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記ライセンス情報を保有することと前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有することと前記保有するライセンス情報と前記生成に用いた情報が同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（弱特定可能二重署名禁止疑似署名）を入力する機能、前記弱特定可能二重署名禁止疑似署名に対し前記弱特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び前記弱特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の前記弱特定可能二重署名禁止署名を入力する機能、前記入力された複数個の弱特定可能二重署名禁止署名の中から同一ユーザー装置によって作られたものを検索し、そのような弱特定可能二重署名禁止署名の組があればそれを出力する機能、を実現させる。
【００６５】
本願第２５の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、サイト管理装置が、入力値のハッシュ値から弱特定用タグと強特定用タグを作成する機能、前記入力値と前記弱特定用タグと前記強特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から前記弱特定タグと前記強特定タグとを入力する機能、メッセージを入力する機能、前記弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有することと、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有することと、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを証明するためのデータ（正当性証明書を）生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（強特定可能二重署名禁止疑似署名）を入力する機能、前記入力した強特定可能二重署名禁止疑似署名に対し前記強特定可能二重署名禁止疑似署名を作成した装置が前記グループ管理装置からライセンスを得たユーザー装置であること及び強特定可能二重署名禁止署名計算は前記ライセンスを得た前記ユーザー装置が前記ライセンスを入力して行うことによって得られたものであることを確認する機能、前記入力した弱特定可能二重署名禁止疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能二重署名禁止署名を入力する機能、前記入力した複数個の強特定可能二重署名禁止署名の中から、同一弱特定タグと同一強特定タグと同一のライセンスによって作られたものを検索し、そのような強特定可能二重署名禁止署名の組があればそれを出力する機能、前記出力した強特定可能二重署名禁止署名の組ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された組から前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００６６】
本願第２６の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の弱特定可能回数制限署名を探し出し、そのような弱特定可能回数制限署名の組があればそれを出力する機能、
を実現させる。
【００６７】
本願第２７の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、取得した公開鍵のリストを出力する機能、サイト管理装置が、制限回数と呼ばれるものとサイト識別子と呼ばれるものを含むものを入力する機能、前記入力値のハッシュ値から前記制限回数個の弱特定用タグと前記制限回数個の強特定用タグを作成する機能、前記入力値と前記制限回数個の前記弱特定用タグと前記制限回数個の前記強特定用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数，制限回数個の弱特定タグと強特定タグとの組，強特定サイトにおけるタグ使用履歴およびサイト識別子を入力する機能、メッセージを入力する機能、前記入力された制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれた強特定タグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（強特定可能回数制限疑似署名）を入力する機能、前記入力した強特定可能回数制限疑似署名に対し、前記強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の強特定可能回数制限署名を入力する機能、前記入力された複数個の強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００６８】
本願第２８の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の弱特定タグとサイト識別子と弱特定サイトにおける弱特定タグ使用履歴とを入力する機能、メッセージを入力する機能、前記入力された制限回数個の前記弱特定タグ達の中で前記弱特定サイトにおける弱特定タグ使用履歴に登録されていないものを選ぶ機能、前記選ばれた弱特定タグに対し弱特定用タグ署名を計算する機能、前記ライセンス情報をが保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを、証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（大人数用弱特定可能回数制限疑似署名）を入力する機能、前記ライセンス情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記大人数用弱特定可能回数制限疑似署名を作成した装置が保有すること、前記保有するライセンス情報と前記生成に用いた情報が同一であることとを確認する機能、前記入力された大人数用弱特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用弱特定可能回数制限署名を含むものを入力する機能、前記入力された複数個の大人数用弱特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の大人数用弱特定可能回数制限署名を探し出し、そのような大人数用弱特定可能回数制限署名の組があればそれを出力する機能、を実現させる。
【００６９】
本願第２９の発明の回数制限署名プログラムは、コンピュータに、グループ管理装置が、セキュリティパラメーターから領域変数を計算する機能、ユーザー装置と通信を行い前記ユーザー装置にライセンスを付与して前記ユーザー装置から前記ユーザー装置の公開鍵を取得し、前記取得した公開鍵達のリストを出力する機能、サイト管理装置にサイト管理用の情報を与える機能、サイト管理装置に制限回数個の大人数用タグを発行する機能、前記サイト管理装置が、制限回数を含むものを入力する機能、前記グループ管理装置とアクセスしてサイト管理に必要な情報を取得する機能、前記グループ管理装置とアクセスして制限回数個の大人数用タグを受け取る機能、前記入力値と前記制限回数個の大人数用タグとを出力する機能、前記ユーザー装置が、前記セキュリティパラメーターと前記領域変数と前記ライセンス情報とを入力する機能、前記サイト管理装置から制限回数と制限回数個の大人数用タグと強特定サイトにおけるタグ使用履歴とサイト識別子とを入力する機能、メッセージを入力する機能、前記入力した制限回数個のタグの組達の中で前記強特定サイトにおけるタグ使用履歴に登録されていないものを選ぶ機能、前記選ばれたタグと前記ライセンス情報とから弱特定用タグ署名を計算する機能、前記選ばれたタグと前記ライセンス情報とから強特定用タグ署名を計算する機能、前記ライセンス情報を前記装置が保有することと、前記弱特定タグから前記弱特定タグ署名生成に用いた情報を前記装置が保有すること、前記強特定タグから前記強特定タグ署名生成に用いた情報を前記装置が保有すること、前記保有するライセンス情報と前記弱特定タグ署名生成に用いた情報と前記強特定タグ署名生成に用いた情報とが同一であることと、前記弱特定タグ署名生成に用いたタグと前記強特定タグ署名生成に用いたタグとが同一であることとを証明するためのデータ（正当性証明書）を生成する機能、前記弱特定用タグ署名と前記強特定用タグ署名と前記正当性証明書とを含むものを前記メッセージに対する署名として出力する機能、検証装置が、署名（大人数用強特定可能回数制限疑似署名）を入力する機能、前記入力した大人数用強特定可能回数制限疑似署名に対し、前記大人数用強特定可能回数制限疑似署名を作成した装置が前記グループ管理装置と通信することでライセンスを得たユーザー装置であること及び前記ライセンスを得た前記ユーザー装置が大人数用強特定可能回数制限署名計算を前記ライセンスを入力として行うことによって得られたものであることを確認する機能、前記入力された大人数用強特定可能回数制限疑似署名に対する前記二つの確認が二つとも正しかったか否かを出力する機能、複数個の大人数用強特定可能回数制限署名を入力する機能、前記入力された複数個の大人数用強特定可能回数制限署名の中から同一ユーザー装置によって作られた回数制限を越えた個数個の強特定可能回数制限署名を探し出し、そのような大人数用強特定可能回数制限署名の組があればその組の内の一対を出力する機能、前記出力した大人数用強特定可能回数制限署名の一対ならびにライセンスの定められた部分情報を装置の識別子と対応させるリストである鍵リストを含むものを入力し、前記入力された一対から、前記同一のライセンスの部分情報を計算し、さらに前記鍵リストから、前記部分情報を検索することで前記ライセンスと対応している装置の識別子を探し出して出力する機能、を実現させる。
【００７０】
【発明の実施の形態】
初めに、本発明の特徴について説明する。
【００７１】
本発明では、グループ管理装置、ユーザー装置（メンバー装置）、検証装置に、新たにサイト管理装置と呼ばれるものを加える。サイト管理装置は、強特定サイト管理装置と弱特定サイト管理装置に分かれる。
【００７２】
強特定サイト管理装置は、制限回数と強特定タグとを公開する（他の装置からアクセス可能な状態に置く）。メンバー装置は、各強特定サイト管理装置に対し、強特定サイト管理装置が公開した強特定タグを利用して署名を作成する。同一メンバー装置が、同一強特定サイトで制限回数を越えて署名した場合のみ、匿名性が破れ、不正を行ったメンバー装置が特定される。同時に、どの署名（の組）が不正であるかも分かる。同一メンバー装置が行った署名でも、相異なる強特定サイトに対し署名する限りは、何回署名してもかまわないことに注意されたい。
【００７３】
弱特定サイト管理装置は、制限回数と弱特定タグとを公開する。メンバー装置は、弱特定タグを利用して署名を作成する。弱特定サイトの場合は、同一メンバー装置が、同一弱特定サイトで制限回数を越えて署名しても、不正をした人物の匿名性は守られる。しかし、どの署名（の組）が不正であるかは特定することができる。
【００７４】
本発明の署名系を、回数制限署名と呼ぶ。普段は匿名性を保っているが、回数制限を越えた不正が発覚したとき、サイト管理装置が署名装置を特定することで不正装置を発見できる。このことにより不正抑制をしているのである。
【００７５】
より詳しく言えば、回数制限署名とは、
１．グループ管理装置は、秘密鍵を秘密裡に持っていて、この秘密鍵から、公開鍵、領域変数を作る。
２．グループ管理装置は、前記秘密鍵を用い、ユーザー装置にライセンスを発行する。以後ライセンスを受け取ったユーザー装置を、グループのメンバー或いはメンバー装置と呼ぶ。
３．サイト管理装置は、制限回数および（強特定または弱特定）タグを公開。
４．メンバー装置のみが署名を計算できる。
５．メンバー装置は、各サイト管理装置にアクセスし、サイト管理装置の公開するタグを使用して署名を作成。この署名をサイト管理装置に対する署名と呼ぶ。
６．検証装置は、署名と同一フォーマットの情報（以下疑似署名と呼ぶ）が、メンバー装置によって作られた正当な署名であるか否かを確認することができる。
７．どんな装置も（グループ管理装置ですら）、どのメンバー装置が署名を作成したかを特定することはできない。
８．但し、メンバー装置があるサイトに対し、制限回数を越えて署名した場合、その署名達は（弱または強）特定される。制限回数を越えない限り、グループ管理装置でも署名装置を特定することはできない。
【００７６】
回数制限署名で、（弱または強）サイト管理装置が指定できる制限回数を１に制限した署名系（つまり、同一メンバー装置が同一サイトで二度署名すると不正と見做される署名系）を二重署名禁止署名と呼ぶ。
【００７７】
本発明は、どのようなグループ署名系を改良しても得ることができるが、特に前述のアテニース（Ａｔｅｎｉｅｓｅ）、カメニッシュ（Ｃａｍｅｎｉｓｃｈ）、ジョイ（Ｊｏｙｅ），  ツディック（Ｔｓｕｄｉｋ）等によるグループ署名系に対して考える。
【００７８】
そこで、本発明では、まずアテニース等の系を改良した、処理速度が高速なグループ署名を提案する。処理速度を高速化したグループ署名系は、レスポンスをあたかもチャレンジであるかのように使うことを特徴とする。これにより、高速なグループ署名系を実現する。
【００７９】
次に、処理速度が高速なグループ署名を改良した弱特定可能二重署名禁止署名と強特定可能二重署名禁止署名を提案する。弱特定可能二重署名禁止署名は、弱特定タグと呼ばれるものを使用することを特徴とする。弱特定タグに対し、メンバー装置が弱特定用タグ署名というものをつける。二つの署名につけられた弱特定用タグ署名を比較する事で、同一メンバー装置が同一サイトで行った署名であるか否かを検証することができる。強特定可能二重署名禁止署名は、弱特定タグ、強特定タグ、鍵リストと呼ばれるものを使用することを特徴とする。弱特定タグ、強特定タグに対し、メンバー装置はそれぞれ弱特定用タグ署名、強特定用タグ署名というものをつける。二つの署名につけられた弱特定用タグ署名を比較する事で、同一メンバー装置が同一サイトで行った署名であるか否かを検証することができ、更に強特定用タグ署名から計算により、公開鍵を割り出し、その公開鍵を鍵リストから見つけることで、署名装置を特定することができる。
【００８０】
更に、これを改良した弱特定可能回数制限署名と強特定可能回数制限署名とを提案する。弱特定可能回数制限署名は、複数個の弱特定可能二重署名禁止署名をｏｒのゼロ知識証明の技術を用いて併せることを特徴とする。これにより、回数制限が２以上の場合に、弱特定可能二重署名禁止署名を拡張できる。強特定可能回数制限署名は、複数個の強特定可能二重署名禁止署名をｏｒのゼロ知識証明の技術を用いて併せることを特徴とする。これにより、回数制限が２以上の場合に、強特定可能二重署名禁止署名を拡張できる。
【００８１】
しかし、この（弱特定可能および強特定可能）回数制限署名は、制限回数が大きい場合には処理速度に影響するので、これを更に改良した大人数用弱特定可能回数制限署名と大人数用強特定可能回数制限署名とを提案する。この改良された系の場合、処理速度が回数制限によらない。大人数用弱特定可能回数制限署名は、ｏｒのゼロ知識証明の代わりにグループ署名を用いることを特徴とする。これにより、処理速度が回数制限によらない弱特定可能回数制限署名を実現できる。大人数用強特定可能回数制限署名は、ｏｒのゼロ知識証明の代わりにグループ署名を用いることを特徴とする。これにより、処理速度が回数制限によらない強特定可能回数制限署名を実現できる。
【００８２】
メンバー装置が出力した二つの弱特定タグ署名が、同一の弱特定タグと同一のライセンス情報を用いて作られたものであるか否かを判定できるという性質を弱特定性質という。
【００８３】
メンバー装置が出力した二つの強特定タグ署名がもし同一の強特定タグと同一のライセンス情報を用いて作られたものであるなら、その同一のライセンスの定められた部分情報を計算することができ、更にライセンスの定められた部分情報をメンバー装置の識別子と対応させる鍵リストと呼ばれるリストから部分情報を検索することでライセンスと対応しているメンバー装置のＩＤ（識別子）を知ることができるものであるという性質を強特定性質という。
【００８４】
以降の記述において、  ａ＾ｂはａのｂ乗を意味し、ａ＿ｂはａに下付き添字ｂが付いた状態を示す。
【００８５】
また、グループ管理装置，ユーザー装置，検証装置及びサイト管理装置の各装置は、必要に応じてデータをキーボード等の入力機器から入力，ネットワークを介して他の装置から受信，或いは自己で設定し、記憶装置を作業領域に使用して処理（ルーチン）を実行し、結果データをメモリー等の記憶機器に格納し、必要に応じてプリンタやディスプレイ等の出力機器に出力，或いはネットワークを介して他の装置に送信する。以降に記述する各実施の形態での各ルーチンは、これらの機器を使用して動作する。
【００８６】
次に、本発明の第１の実施の形態について、図面を参照して詳細に説明する。第１の実施の形態では、アテニース（Ａｔｅｎｉｅｓｅ）等によるグループ署名系の処理速度を高速化する方法を述べる。
【００８７】
図１は、本発明の第１の実施の形態の構成を示す図であり、グループ署名系の装置間の関係をブロック図で示す。
【００８８】
図１を参照すると、グループ署名系は、グループ管理装置１１と、ユーザー装置（メンバー装置）１２と、検証装置１３とを備える。上記の各装置はプログラム制御で動作するサーバ等の情報処理装置であり、上記の各装置はインターネット等のネットワークで結ばれている。通常、ユーザー装置（メンバー装置）１２は複数存在し、各ユーザー装置（メンバー装置）１２はＩＤ（識別子）を有する。グループ管理装置１１とユーザー装置１２との間は、例えばマルチパーティプロトコル等で通信を行う。
【００８９】
グループ管理装置１１は、まずグループ署名セットアップルーチンを実行し、グループ署名に必要な基本的パラメーター（領域変数と呼ばれる）をセットアップする。次にグループ署名ジョインルーチンをユーザー装置１２と共に実行する。グループ管理装置１１は領域変数とライセンスとをユーザー装置１２に渡し（ＧＳ−ＢＬ  Ｌ１）、グループ管理装置１１はライセンスに対応する公開鍵およびユーザー装置１２のＩＤを受け取る（ＧＳ−ＢＬ  Ｌ２）。
【００９０】
ライセンスを受け取ったユーザー装置１２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置１２をメンバー装置と呼ぶ。メンバー装置は、ライセンスを用いメッセージに対し署名を行うことができる。
【００９１】
グループ署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【００９２】
検証装置１３は、領域変数を用い（ＧＳ−ＢＬ  Ｌ４）、署名の正当性を検証する装置である。検証装置１３は、送られてきたデータ（以下疑似署名。送られてきた段階では署名か否かわからないので疑似署名と称す）が、メンバー装置がライセンスを用い正しい手順で作成した署名（ＧＳ−ＢＬ  Ｌ３）であるのか否か（ＧＳ−ＢＬ  Ｌ８）を決定し、出力する（ＧＳ−ＢＬ  Ｌ５）装置である。
【００９３】
犯罪等何らかの理由で署名者を特定したい場合には、署名をグループ管理装置１１に送る（ＧＳ−ＢＬ  Ｌ６）。グループ管理装置１１は、グループ署名セットアップルーチン時に作成した秘密情報を用いて署名者（メンバー装置）を特定する（ＧＳ−ＢＬ
Ｌ７）。
【００９４】
以下に、より詳細に説明する。
【００９５】
グループ管理装置１１は、まず以下のグループ署名用セットアップルーチン（グループ署名セットアップ手段）を行う。図２は、本発明の高速化したグループ署名系のセットアップルーチンを示すフローチャートである。
【００９６】
図２を参照すると、まずグループ管理装置１１は、セキュリティ・パラメーターε、μ、νを決める（ステップＧＳ−ＳＵ  １）。尚、通常はν  ＝  １０２４，  μ  ＝  ε  ＝  １６０とすればよい。組（ε、μ、ν）をセキュリティパラメーターと呼び、νを素因数ビット数セキュリティパラメーターと呼び、εを統計的ゼロ知識非完全度合いセキュリティパラメーターと呼び、μを検証エラーセキュリティパラメーターと呼ぶ。
【００９７】
次にグループ管理装置１１はλ  ＝  ２（ν  ＋  ε）、  γ  ＝  λ  ＋  μ  ＋  ε  ＋  ４とし、以下、−２λ以上２λ以下の整数全体をΛと書き、２γ  −  ２λ以上  ２γ  ＋  ２λ以下の整数全体をΓと書く（ステップＧＳ−ＳＵ  ２）。
【００９８】
素数ｐ’，ｑ’を、  ｐ  ＝  ２ｐ’  ＋  １，  ｑ  ＝  ２ｑ’  ＋  １がνビットになるように選び、ｎ  ＝  ｐｑを計算する（ステップＧＳ−ＳＵ  ３）。ｐを秘密第一因数と呼び、ｑを秘密第二因数と呼び、ｎを基本モジュラスと呼ぶ。
【００９９】
グループ管理装置１１は、ＱＲ（ｎ）の元  ａ，  ａ０をランダムに選ぶ。但し、ここで、ＱＲ（ｎ）は、Ｚ／ｎＺの元で平方剰余であるもの全体を表す（ステップＧＳ−ＳＵ  ４）。ａを左辺底領域変数と呼び、更にａ０を自由領域変数と呼ぶ。
【０１００】
（Ｚ／ｐ’ｑ’Ｚ）の元χをランダムに選ぶ（ステップＧＳ−ＳＵ  ５）。
【０１０１】
グループ管理装置１１はランダムにＱＲ（ｎ）の元ｇをランダムに選び、ｇχをｈとする（ステップＧＳ−ＳＵ  ６）。ｇを離散対数第一領域変数と呼び、ｈを離散対数第二領域変数と呼ぶ。
【０１０２】
グループ管理装置１１は  （ｐ’，  ｑ’，  ｐ，  ｑ，  χ）を秘密鍵として秘密裡に保持し、更に  （ε，μ，ν，  ｎ，  ａ，  ａ０，  ｇ，  ｈ）を公開鍵として公開する（ステップＧＳ−ＳＵ  ７）。
【０１０３】
尚、領域変数は、上記の基本モジュラスと自由領域変数と左辺底領域変数と離散対数第一領域変数と離散対数第二領域変数とを含む。
【０１０４】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているとする。グループに加わりたい場合、ユーザー装置１２は、グループ管理装置１１と、以下のグループ署名用ジョインルーチン（グループ署名用ジョイン手段）を行う。図３は本発明のグループ署名用ジョインルーチンの行い方を示すフローチャートである。
【０１０５】
図３を参照すると、ユーザー装置１２は、まず  ｇ，  ｈ  がＩＬのハッシュ値から作られていることを確認する。ユーザー装置１２は秘密裡かつランダムにλビット以下の非負整数ｘ［２］，  ｔ［２］を選び、Ｃ［９］  ＝  ｇ＾（ｘ［２］）  ｈ＾（ｔ［２］）  ｍｏｄ  ｎを計算し、グループ管理装置１１に、Ｃ［９］を送る（ステップＧＳ−Ｊ  １）。
【０１０６】
次にグループ管理装置１１はＣ［９］がＱＲ（ｎ）の元であることを確認し、ランダムにλビット以下の非負整数βをユーザー装置１２に送る（ステップＧＳ−Ｊ  ２）。
【０１０７】
ユーザー装置１２は  ｘ［２］  ＋  β  を  ２λで割った商をθ、余りをｘとする。計算し、Ｃ  ＝  ａｘ  ｍｏｄ  ｎを計算し、Ｃ  をグループ管理装置１１に送る（ステップＧＳ−Ｊ  ３）。
【０１０８】
グループ管理装置１１はＣがＱＲ（ｎ）の元であることを確認する。
【０１０９】
更にユーザー装置１２はグループ管理装置１１に次の３つを満たすｘ［３］，  θ［３］、ｔ［２，  ３］の知識を証明するゼロ知識証明書をグループ管理装置１１に送信（ステップＧＳ−Ｊ  ４）  。尚、上記の次の３つとは、▲１▼ｘ［３］  の絶対値は２γ − ３未満，▲２▼ａ＾ｘ［３］  ＝  Ｃ  ｍｏｄ  ｎ，▲３▼Ｃ［９］  ｇβ  ＝  ｇ＾ｘ［３］  ｇ＾（θ［３］  ２λ）  ｈ＾ｔ［２，  ３］  ｍｏｄ  ｎである。
【０１１０】
具体的には、次のようにする。
【０１１１】
ユーザー装置１２は、λ  ＋  ε  ビットの乱数ｘ［４，  ７］、ｔ［２，  ４，  ７］を秘密裡に生成。更に、θのビット数  ＋  εビットの乱数θ［４，  ７］を秘密裡に生成。Ｃ［４，  ７］＝  ａ＾ｘ［４，  ７］  ｍｏｄ  ｎ，  Ｃ［４，  ７，  ９］  ＝  ｇ＾（ｘ［４，  ７］）  ｇ＾（θ［４，  ７］  ２λ）ｈ＾（ｔ［２，  ４，  ７］）  ｍｏｄ  ｎを作成。更にユーザー装置１２は、ｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜β｜｜Ｃ  ｜｜Ｃ［４，  ７］｜｜Ｃ［４，  ７，  ９］）を計算。ここでＨａｓｈはハッシュ関数。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。そしてｘ［５，  ７］  ＝  ｃ  ｘ  ＋  ｘ［４，  ７］，ｔ［２，  ５，  ７］  ＝  ｃ  ｔ  ＋  ｔ［２，  ４，  ７］，  θ［５，  ７］  ＝  ｃ  θ  ＋  θ［４，  ７］を作成。（Ｃ［４，  ７］，  Ｃ［４，  ７，  ９］，  ｃ，  ｘ［５，  ７］，  ｔ［２，  ５，  ７］，  θ［５，  ７］）  を送信。
【０１１２】
グループ管理装置１１は証明書の正当性を検証する。即ち、まずＣ＾ｃ  ＝  ａ＾ｘ［５，７］  Ｃ［４，  ７］  ｍｏｄ  ｎ  と、（Ｃ［９］  ｇβ）＾ｃ  ＝  ｇ＾ｘ［５，  ７］  ｇ＾（θ［５，  ７］  ２λ）  ｈ＾ｔ［２，  ５，  ７］Ｃ［４，  ７，  ９］  ｍｏｄ  ｎを確認し、次にｘ［５，  ７］の絶対値が２＾（γ  −  ３）未満であることを確認する。
【０１１３】
グループ管理装置１１はΓから素数ｅをランダムに選び、Ａ  ＝  （Ｃ  ａ０）１／ｅ  ｍｏｄ  ｎを計算し、Ａとｅをユーザー装置１２に送る（ステップＧＳ−Ｊ  ５）。
【０１１４】
ユーザー装置１２は  ａｘ  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  を確認する。更にｅがΓの元であることを確認する。
【０１１５】
以上でユーザー装置１２がグループ管理装置１１から受け取った（ｘ，  ｅ，  Ａ）をユーザー装置１２のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置１２を以後メンバー装置と呼ぶ。
【０１１６】
メンバー装置はｘを秘密鍵として秘密裡に保管し、更にｅとＡを保管する。（ｘ，  Ａ，  ｅ）をライセンス、或いはライセンス情報と呼ぶ。ｘを秘密ライセンス情報と呼び、Ａを底ライセンス情報と呼び、ｅを指数ライセンス情報と呼ぶ。また、等式ａｘ  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  をライセンス等式と呼ぶ。ライセンス（ｘ，  Ａ，  ｅ）は、ライセンス等式を満たす。更にｘの絶対値は２λ以下であり、ｅはΓの元である。このｘ，ｅの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０１１７】
グループ管理装置１１は、以上で得たＣ［１］を、メンバー装置のＩＤと共に公開する（ステップＧＳ−Ｊ  ６）  。（ＩＤ，  Ｃ）をメンバー装置の公開鍵と呼ぶ。各メンバー装置に対する公開鍵（ＩＤ，  Ｃ）リストを以後鍵リストと呼ぶ。
【０１１８】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているとする。メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとする。メンバー装置は、メッセージに署名するには、以下の高速化グループ署名ルーチン（グループ署名手段）を行う。
【０１１９】
図４は、本発明の高速化グループ署名ルーチンの動作を示すフローチャートである。
【０１２０】
以下、メッセージｍに署名する方法を述べる。
【０１２１】
図４を参照すると、まずメンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ，  Ａｈｕ  ｍｏｄ  ｎ）を計算する（ステップＧＳ−ＳＩＧ１）。ｕをエルガマル暗号生成用指数部乱数と呼び、等式Ｇ  ＝  ｇｕ  ｍｏｄ  ｎをエルガマル暗号第一成分等式と呼び、等式Ｈ  ＝  Ａｈｕ  ｍｏｄ  ｎをエルガマル暗号第二成分等式と呼ぶ。
【０１２２】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘ［４］、ｅ［４］、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕ［４］を選び（ＧＳ−ＳＩＧ２）、ｘ  と  ｅ  のコミットメントａ［４］０  ＝  ａ＾（−  ｘ［４］）Ｈ＾（ｅ［４］）ｈ＾（−ｅ［４］ｕ  −  ｕ［４］  ）  ｍｏｄ  ｎを計算し、ｕのコミットメントＧ［４］  ＝  Ｇ＾（ｕ［４］）  ｍｏｄ  ｎを計算する（ステップＧＳ−ＳＩＧ３）。
【０１２３】
メンバー装置はｘ  と  ｅ  の知識の証明に対するチャレンジ  ｃ  ＝Ｈａｓｈ（ｎ｜｜ｇ｜｜ｈ｜｜ａ０｜｜ａ｜｜Ｈ｜｜Ｇ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｍ）を計算する（ステップＧＳ−ＳＩＧ４）。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【０１２４】
そしてメンバー装置は  ｘ  の知識の証明に関するレスポンスを  ｘ［５］  ＝  ｃｘ  ＋ｘ［４］の様に，  ｘ  と  ｘおよびｅの知識の証明にたいするチャレンジ  ｃ  を用いて計算し、ｅ  の知識の証明に関するレスポンスを  ｅ［５］  ＝  ｃ（ｅ  −  ２γ）  ＋  ｅ［４］の様に、ｅ  と  ｘおよびｅの知識の証明に対するレスポンス  ｃ  を用いて計算し、ｕ  の知識に関するレスポンスをｕ［５］  ＝  （ｅ［５］  ＋  ｃ  ２γ）ｕ  ＋ｕ［４］の様に、ｕ  と  ｘ  の知識の証明に関するレスポンス  ｅ［５］をもちいて計算する。ここで、ｕ  の知識の証明に対するチャレンジに  ｅ［４］  を用いたため、ｕ［５］  は  ｕｘ  の知識の証明に対するチャレンジを  ｃ  とした時のそのレスポンスと見做すことができる。それゆえ、上記知識  ｕｘ  が  ｕ  と  ｘ  の積であることも証明される（ステップＧＳ−ＳＩＧ５）。
【０１２５】
最後に（ｍ，  ｒ，  ｗ，  Ｇ，  Ｈ，  ａ［４］０，  Ｇ［４］，  ｃ，  ｘ［５］，ｅ［５］，  ｕ［５］）を署名として出力する（ステップＧＳ−ＳＩＧ６）。
【０１２６】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているものとする。検証装置１３は、（ｍ，  Ｇ，  Ｈ，  ａ［４］０，  Ｇ［４］，  ｃ，ｘ［５］，ｅ［５］，  ｕ［５］）が、メンバー装置が高速化グループ署名ルーチンに従って作った署名であるか否かを確認したい。
【０１２７】
以下のグループ署名検証ルーチン（グループ署名検証手段）を行う。図５は、本発明のグループ署名検証ルーチンの動作を示すフローチャートである。
【０１２８】
図５を参照すると、検証装置１３は先ずａ０＾ｃ  ａ［４］０  ＝  ａ＾（−  ｘ［５］）Ｈ＾（ｅ［５］  ＋ｃ  ２＾（γ））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎ  を確認し（ステップＧＳ−ＶＥＲ１）、次にｇ＾（ｕ［５］）  ＝  Ｇ＾（ｅ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎ  を確認し（ステップＧＳ−ＶＥＲ２）、更にｃ  ＝Ｈａｓｈ（ｎ｜｜ｇ｜｜ｈ｜｜ａ０｜｜ａ｜｜Ｈ｜｜Ｇ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｍ）を確認し（ステップＧＳ−ＶＥＲ３）、ｘ［５］の絶対値、及びｅ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＧＳ−ＶＥＲ４）。
【０１２９】
以上の確認が全て正しければ、検証装置１３は署名を受理し（ステップＧＳ−ＶＥＲ５）、そうでなければ棄却する（ステップＧＳ−ＶＥＲ６）。
【０１３０】
グループ管理装置１１は過去にグループ署名用セットアップルーチンを終えているものとする。メンバー装置がグループ署名ルーチンに従い署名（ｍ，  ｒ，  ｗ，  Ｇ，Ｈ，  ａ［４］０，  Ｇ［４］，  ｃ，ｘ［５］，  ｅ［５］，  ｕ［５］）を作ったとする。
【０１３１】
装置を特定したいときには、以下のグループ署名における署名装置特定ルーチン（署名装置特定手段）を行う。
【０１３２】
図６は、本発明のグループ署名における署名装置特定ルーチンの動作を示すフローチャートである。
【０１３３】
図６を参照すると、グループ管理装置１１はグループ署名用セットアップルーチンで作った秘密鍵χを用い、Ｈ  ／  Ｇχ  ｍｏｄ  ｎ  を計算し（ステップＧＳ−ＤＥＴ  １）  、鍵リスト｛（ＩＤ，  Ｃ，  Ｃ［１］，Ａ，  ｅ）｝の第四引数がＨ  ／  Ｇχ  ｍｏｄ  ｎと一致している人物を見つけ出す（ステップＧＳ−ＤＥＴ  ２〜ＧＳ−ＤＥＴ  ３）。
【０１３４】
次に、本発明の第２の実施の形態について、図面を参照して詳細に説明する。第２の実施の形態は、第１の実施の形態で説明した署名系を改良し、弱特定可能二重署名禁止署名を実現する方法を述べる。
【０１３５】
図７は、本発明の第２の実施の形態の構成を示す図であり、二重署名禁止署名系に使用する装置間の関係をブロック図で示す。
【０１３６】
図７を参照すると、二重署名禁止署名に使用する装置として、グループ管理装置２１と、ユーザー装置（メンバー装置）２２と、検証装置２３と、サイト管理装置２４とを備える。上記の各装置はプログラム制御で動作するサーバ等の情報処理装置であり、上記の各装置はインターネット等のネットワークで接続される。ユーザー装置（メンバー装置）２２とサイト管理装置２４はそれぞれ複数存在し、各ユーザー装置２２と各サイト管理装置２４はＩＤを有する。１つのサイト管理装置２４内に複数のサイトを作ることができる。各サイトはＩＤを有する。サイトは、例えばインターネット上のホームページ（Ｗｅｂサイト）のようなものである。
【０１３７】
まず、グループ管理装置２１は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０１３８】
ユーザー装置２２は、グループ管理装置２１にアクセスし、ライセンスをもらい（ＴＳ−ＢＬ  Ｌ１）、ユーザー装置２２は対応する公開鍵をグループ管理装置２１に送信する（ＴＳ−ＢＬ  Ｌ２）。ライセンスを受け取ったユーザー装置２２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置２２をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置２４が公開するタグ（弱特定タグ）（ＴＳ−ＢＬ  Ｌ３）を用いてメッセージに対し弱特定可能二重署名禁止署名を行うことができる。
【０１３９】
二重署名禁止署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０１４０】
検証装置２３は、領域変数（ＴＳ−ＢＬ  Ｌ５）およびタグ（弱特定タグ）（ＴＳ−ＢＬ  Ｌ６）を用い署名の正当性を検証する装置である。検証装置２３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名（ＴＳ−ＢＬ  Ｌ４）であるのか否か（ＴＳ−ＢＬ  Ｌ８）を判定し、出力する事ができる。また、検証装置２３に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで行った署名を見つけ出すことができる（ＴＳ−ＢＬ  Ｌ７）。
【０１４１】
以下に、より詳細に説明する。
【０１４２】
グループ管理装置２１は、まず以下の回数制限署名用セットアップルーチン（回数制限署名用セットアップ手段）を行う。
【０１４３】
図８は、本発明の回数制限署名用セットアップルーチンの動作を示すフローチャートである。
【０１４４】
図８を参照すると、まずグループ管理装置２１は、セキュリティ・パラメーターε、μ、νを決める（ステップＴＳ−ＳＵ  １）。尚、通常はν  ＝  １０２４，  μ  ＝  ε  ＝  １６０とすればよい。組（ε、μ、ν）をセキュリティパラメーターと呼び、νを素因数ビット数セキュリティパラメーターと呼び、εを統計的ゼロ知識非完全度合いセキュリティパラメーターと呼び、μを検証エラーセキュリティパラメーターと呼ぶ。
【０１４５】
次にグループ管理装置２１はλ  ＝  ２（ν  ＋  ε）、  γ  ＝  λ  ＋  μ  ＋  ε  ＋  ４とし、以下、−２λ以上２λ以下の整数全体をΛと書き、２γ  −  ２λ以上  ２γ  ＋  ２λ以下の整数全体をΓと書く（ステップＴＳ−ＳＵ  ２）。
【０１４６】
素数ｐ’，ｑ’を、  ｐ  ＝  ２ｐ’  ＋  １，  ｑ  ＝  ２ｑ’  ＋  １がνビットになるように選び、ｎ  ＝  ｐｑを計算する（ステップＴＳ−ＳＵ  ３）。ｐを秘密第一因数と呼び、ｑを秘密第二因数と呼び、ｎを基本モジュラスと呼ぶ。
【０１４７】
グループ管理装置２１は、ＱＲ（ｎ）の元  ａ，  ａ０をランダムに選ぶ。但し、ここで、ＱＲ（ｎ）は、Ｚ／ｎＺの元で平方剰余であるもの全体を表す。ａを左辺底領域変数と呼び、ａ０を更に自由領域変数と呼ぶ。νビットの素数ｐ［１］を取る。ｐ［１］をタグモジュラスと呼ぶ。更に（Ｚ／ｐ［１］Ｚ）の元ａ［１］をランダムにとる。ａ［１］をタグ用左辺底領域変数と呼ぶ（ステップＴＳ−ＳＵ  ４）。
【０１４８】
グループ管理装置２１はνビットのビット列  ＩＬをランダムに選び、そのハッシュ値からＱＲ（ｎ）の元ｇ，  ｈを作る（ステップＴＳ−ＳＵ  ５）。
【０１４９】
グループ管理装置２１は（ｐ［１］，  ａ［１］，ＩＬ，  ｇ，  ｈ）を公開鍵として公開する。ＩＬを種乱数と呼び、ｇを離散対数第一領域変数と呼び、ｈを離散対数第二領域変数と呼ぶ。
【０１５０】
グループ管理装置２１は  （ｐ’，  ｑ’，  ｐ，  ｑ，  χ）を秘密鍵として秘密裡に保持し（ステップＴＳ−ＳＵ  ６）、更に  （ε，μ，ν，  ｎ，  ａ，  ａ０，  ｇ，  ｈ）を公開鍵として公開する（ステップＴＳ−ＳＵ  ７）。
【０１５１】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。
【０１５２】
グループに加わりたい場合、ユーザー装置２２はグループ管理装置２１と、以下の回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０１５３】
図９は、本発明の回数制限署名用ジョインルーチンの動作を示すフローチャートである。
【０１５４】
図９を参照すると、ユーザー装置２２はまず  ｇ，  ｈ  がＩＬのハッシュ値から作られていることを確認する。ユーザー装置２２は秘密裡かつランダムにλビット以下の非負整数ｘ［２］，  ｔ［２］を選び、Ｃ［９］  ＝  ｇ＾（ｘ［２］）  ｈ＾（ｔ［２］）  ｍｏｄ  ｎを計算し、グループ管理装置２１に、Ｃ［９］を送る（ステップＴＳ−Ｊ  １）。
次にグループ管理装置２１はＣ［９］がＱＲ（ｎ）の元であることを確認し、ランダムにλビット以下の非負整数βをユーザー装置２２に送る（ステップＴＳ−Ｊ２）。
【０１５５】
ユーザー装置２２は  ｘ［２］  ＋  β  を  ２λで割った商をθ、余りをｘとする。計算し、Ｃ  ＝  ａｘ  ｍｏｄ  ｎを計算し、  Ｃ  をグループ管理装置２１に送る（ステップＴＳ−Ｊ３）。
【０１５６】
グループ管理装置２１はＣがＱＲ（ｎ）の元であることを確認する。
【０１５７】
ユーザー装置２２はＣ［１］  ＝  ａ［１］＾ｘ  ｍｏｄ  ｐ［１］を計算し、Ｃ［１］をグループ管理装置２１に送る（ステップＴＳ−Ｊ  ３）。
【０１５８】
グループ管理装置２１はＣ［１］がＱＲ（ｎ）の元であることを確認する。
【０１５９】
更にユーザー装置２２はグループ管理装置２１に次の４つを満たすｘ［３］，  θ［３］、ｔ［２，  ３］の知識を証明するゼロ知識証明書をグループ管理装置２１に送信（ステップＴＳ−Ｊ  ４）。尚、上記の次の４つとは、▲１▼ｘ［３］  の絶対値は２γ − ３未満，▲２▼ａ＾ｘ［３］  ＝  Ｃ  ｍｏｄ  ｎ，▲３▼Ｃ［９］  ｇβ  ＝  ｇ＾ｘ［３］  ｇ＾（θ［３］  ２λ）  ｈ＾ｔ［２，  ３］  ｍｏｄ  ｎ，▲４▼ａ［１］＾ｘ［３］  ＝  Ｃ［１］  ｍｏｄ  ｐ［１］である。
【０１６０】
具体的には、次のようにする。
【０１６１】
ユーザー装置２２は、λ  ＋  ε  ビットの乱数ｘ［４，  ７］、ｔ［２，  ４，  ７］を秘密裡に生成。更に、θのビット数  ＋  εビットの乱数θ［４，  ７］を秘密裡に生成。Ｃ［４，  ７］＝  ａ＾ｘ［４，  ７］  ｍｏｄ  ｎ，  Ｃ［４，  ７，  ９］  ＝  ｇ＾（ｘ［４，  ７］）  ｇ＾（θ［４，  ７］  ２λ）ｈ＾（ｔ［２，  ４，  ７］）  ｍｏｄ  ｎ、Ｃ［１，  ４，  ７］  ＝  ａ［１］＾ｘ［４，  ７］  ｍｏｄ  ｐ［１］を作成。更にユーザー装置２２は、ｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｃ［９］｜｜β｜｜Ｃ｜｜Ｃ［１］｜｜Ｃ［４，  ７］｜｜Ｃ［４，  ７，  ９］｜｜Ｃ［１，  ４，  ７］）を計算。そしてｘ［５，  ７］  ＝  ｃ  ｘ  ＋  ｘ［４，  ７］，  ｔ［２，  ５，  ７］  ＝  ｃ  ｔ  ＋  ｔ［２，  ４，  ７］，  θ［５，  ７］  ＝  ｃ  θ  ＋  θ［４，  ７］を作成。（Ｃ［４，  ７］，  Ｃ［４，  ７，  ９］，  Ｃ［１，  ４，  ７］，  ｃ，  ｘ［５，  ７］，  ｔ［２，  ５，  ７］，  θ［５，  ７］）  を送信。
【０１６２】
グループ管理装置２１は証明書の正当性を検証する。即ち、まずｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｃ［９］｜｜β｜｜Ｃ｜｜Ｃ［１］｜｜Ｃ［４，  ７］｜｜Ｃ［４，７，  ９］｜｜Ｃ［１，  ４，  ７］）を確認し、Ｃ＾ｃ  ＝  ａ＾ｘ［５，  ７］  Ｃ［４，  ７］  ｍｏｄ  ｎ  と、（Ｃ［９］  ｇβ）＾ｃ  ＝  ｇ＾ｘ［５，  ７］  ｇ＾（θ［５，  ７］  ２λ）  ｈ＾ｔ［２，  ５，  ７］Ｃ［４，  ７，  ９］  ｍｏｄ  ｎと、Ｃ［１］＾ｃ  ＝  ａ＾ｘ［５，  ７］Ｃ［１，  ４，  ７］  ｍｏｄ  ｐ［１］を確認し、次にｘ［５，  ７］の絶対値が２＾（γ  −  ３）未満であることを確認する。
【０１６３】
グループ管理装置２１はΓから素数ｅをランダムに選び、Ａ  ＝  （Ｃ  ａ０）１／ｅ  ｍｏｄ  ｎを計算  し（ステップＴＳ−Ｊ  ５）、Ａとｅをユーザー装置２２に送る。
【０１６４】
ユーザー装置２２は  ａｘ  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  を確認する。更にｅがΓの元であることを確認する。
【０１６５】
以上でユーザー装置２２がグループ管理装置２１から受け取った（ｘ，  ｅ，  Ａ）をユーザー装置のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置２２を以後メンバー装置と呼ぶ。
【０１６６】
メンバー装置はｘを秘密鍵として秘密裡に保管し、更にｅとＡを保管する。（ｘ，  Ａ，  ｅ）をライセンス、或いはライセンス情報と呼ぶ。ｘを秘密ライセンス情報と呼び、Ａを底ライセンス情報と呼び、ｅを指数ライセンス情報と呼ぶ。また、等式ａｘ  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  をライセンス等式と呼ぶ。ライセンス（ｘ，  Ａ，  ｅ）は、ライセンス等式を満たす。更にｘの絶対値は２λ以下であり、ｅはΓの元である。このｘ，ｅの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０１６７】
グループ管理装置２１は、以上で得たＣ［１］を、メンバー装置のＩＤと共に公開する（ステップＴＳ−Ｊ  ６）  。（ＩＤ，  Ｃ）をメンバー装置の公開鍵と呼ぶ。各メンバー装置に対する公開鍵（ＩＤ，  Ｃ）リストを以後鍵リストと呼ぶ。
【０１６８】
グループ管理装置２１は過去に回数制限用セットアップルーチンを終えているものとする。
【０１６９】
サイト管理装置２４がサイトを作るには、以下の二重署名禁止弱特定サイト構成ルーチン（二重署名禁止弱特定サイト構成手段）を行う。
【０１７０】
サイト管理装置２４は、サイト管理装置２４のＩＤと二重署名禁止弱特定サイトのＩＤをハッシュ値にいれ、そこから  Ｚ／  ｐ［１］Ｚの元ｒを作る。
【０１７１】
グループ管理装置２１は（Ｉ１，  Ｉ２，ｒ）を公開する。但し、ここでＩ１は、サイト管理装置２４のＩＤで、Ｉ２は二重署名禁止弱特定サイトのＩＤ。ｒをこの二重署名禁止弱特定サイトの弱特定タグと呼ぶ。また、（Ｉ１，  Ｉ２，ｒ）をこの二重署名禁止弱特定サイトの二重署名禁止弱特定サイト特定子と呼ぶ。
【０１７２】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置２１とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとし、更にサイト管理装置２４は二重署名禁止弱特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，ｒ）をそのサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。
【０１７３】
メンバー装置が、サイトに対し、弱特定可能二重署名禁止署名を行いたい場合、以下の弱特定可能二重署名禁止署名作成ルーチン（弱特定可能二重署名禁止署名作成手段）を行う。
【０１７４】
図１０は、本発明の弱特定可能二重署名禁止署名作成ルーチンの動作を示すフローチャートである。
【０１７５】
以下、このメンバー装置が二重署名禁止弱特定サイトに対し、メッセージｍに署名する方法を述べる。
【０１７６】
図１０を参照すると、まずメンバー装置はｒが確かにＩ１，  Ｉ２のハッシュ値であることを確認する。メンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する（ステップＴＳ２−ＳＩＧ１）。
【０１７７】
二重署名禁止弱特定サイトの弱特定タグｒに対し、ｗ  ＝  ｒｘ  ｍｏｄ  ｐ［１］  を計算する（ステップＴＳ２−ＳＩＧ２）。ｗをメンバー装置の弱特定タグｒに対する弱特定用タグ署名タグ署名と呼ぶ。また、等式ｗ  ＝  ｒｘ  ｍｏｄ  ｐ［１］  を弱特定タグ等式と呼ぶ。
【０１７８】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘ［４］、ｅ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γ  ビット以下の乱数ｕ［４］を選び（ステップＴＳ２−ＳＩＧ３）、ａ［４］０  ＝  ａ＾（−  ｘ［４］）Ｈ＾（ｅ［４］）ｈ＾（−ｅ［４］ｕ  −  ｕ［４］  ）  ｍｏｄ  ｎを計算し、Ｇ［４］  ＝  Ｇ＾（ｕ［４］）  ｍｏｄ  ｎを計算する。更にメンバー装置はｒ［４］  ＝  ｒ＾（ｘ［４］）  ｍｏｄ  ｎを計算（ステップＴＳ２−ＳＩＧ４）  。
【０１７９】
メンバー装置は  ｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｉ１｜｜  Ｉ２｜｜ｒ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｒ［４］｜｜ｍ）を計算する（ステップＴＳ２−ＳＩＧ５）  。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【０１８０】
そしてメンバー装置はｘ［５］  ＝  ｃｘ  ＋  ｘ［４］，  ｅ［５］  ＝  ｃ（ｅ  −  ２γ）  ＋  ｅ［４］，ｕ［５］  ＝  （ｅ［５］  ＋  ｃ  ２γ）ｕ  ＋ｕ［４］を計算（ステップＴＳ２−ＳＩＧ６）  。
【０１８１】
最後に（ｍ，  ｒ，  ｗ，  Ｇ，  Ｈ，  ａ［４］０，  Ｇ［４］，  ｃ，ｘ［５］，ｅ［５］，  ｕ［５］，  ｒ［４］）を署名として出力する（ステップＴＳ２−ＳＩＧ７）  。出力された署名を弱特定可能二重署名禁止署名という。
【０１８２】
グループ管理装置２１は回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置２４は二重署名禁止弱特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，ｒ）をそのサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。
【０１８３】
検証装置２３は、（ｍ，  ｒ，  ｗ，  Ｇ，  Ｈ，  ａ［４］０，Ｇ［４］，  ｃ，  ｘ［５］，ｅ［５］，  ｕ［５］，ｒ［４］）が、あるメンバー装置が弱特定可能二重署名禁止署名ルーチンに従って作った署名であるか否かを確認したいとする。
【０１８４】
図１１は、本発明の弱特定可能二重署名禁止署名検証ルーチンの動作を示すフローチャートである。
【０１８５】
この時検証装置２３は、以下の弱特定可能二重署名禁止署名検証ルーチン（弱特定可能二重署名禁止署名検証手段）を行う。
【０１８６】
図１１を参照すると、検証装置２３はまずａ０＾ｃ  ａ［４］０  ＝  ａ＾（−  ｘ［５］）Ｈ＾（ｅ［５］＋  ｃ  ２＾（γ））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎを確認し（ステップＴＳ２−ＶＥＲ１）  、次にｇ＾（ｕ［５］）  ＝  Ｇ＾（ｅ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎを確認（ステップＴＳ２−ＶＥＲ２）  し、ｗ＾ｘ［５］  ＝  ｒ＾ｃ  ｒ［４］  ｍｏｄ  ｐ［１］  を確認し（ステップＴＳ２−ＶＥＲ３）  、ｘ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認し、更にｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｉ１｜｜  Ｉ２｜｜ｒ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｒ［４］｜｜ｍ）を確認し（ステップＴＳ２−ＶＥＲ４）  、そしてｘ［５］およびｅ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳ２−ＶＥＲ５）  。
【０１８７】
以上の確認が全て正しければ、検証装置２３は署名を受理し（ステップＴＳ２−ＶＥＲ６）、そうでなければ棄却する（ステップＴＳ２−ＶＥＲ７）  。
【０１８８】
グループ管理装置２１は過去に回数制限署名用セットアップルーチンを終えているものとする。（Ｉ１，  Ｉ２，ｒ）をサイト管理装置２４が構成した二重署名禁止弱特定サイト特定子とする。検証装置２３は署名の組｛（ｍ＿ｉ，  ｒ  ，  ｗ＿ｉ，  Ｇ＿ｉ，  Ｈ＿ｉ，ａ［４］０＿ｉ，  Ｇ［４］＿ｉ，  ｃ＿ｉ，ｘ［５］＿ｉ，ｅ［５］＿ｉ，  ｕ［５］＿ｉ，ｒ［４］＿ｉ）｝ｉを持っていたとする。
【０１８９】
検証装置２３が、不正な署名を弱特定したい場合、以下の弱特定可能二重署名禁止署名弱特定ルーチン（弱特定可能二重署名禁止署名弱特定手段）を行う。
【０１９０】
図１２は、本発明の弱特定可能二重署名禁止署名弱特定ルーチンの動作を示すフローチャートである。
【０１９１】
図１２を参照すると、検証装置２３はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｐ［１］となるｉ１、ｉ２を見つける（ステップＴＳ２−ＤＥＴ  １）  。このようなｉ１、ｉ２が見つかった場合、署名（ｍ＿｛ｉ１｝，  ｒ，  ｗ＿｛ｉ１｝，Ｇ＿｛ｉ１｝，  Ｈ＿｛ｉ１｝，  ａ［４］０＿｛ｉ１｝，Ｇ［４］＿｛ｉ１｝，  ｃ＿｛ｉ１｝，  ｘ［５］＿｛ｉ１｝，ｅ［５］＿｛ｉ１｝，ｕ［５］＿｛ｉ１｝，  ｒ［４］＿｛ｉ１｝）および（ｍ＿｛ｉ２｝，ｒ，  ｗ＿｛ｉ２｝，  Ｇ＿｛ｉ２｝，  Ｈ＿｛ｉ２｝，  ａ［４］０＿｛ｉ２｝，Ｇ［４］＿｛ｉ２｝，  ｃ＿｛ｉ２｝，  ｘ［５］＿｛ｉ２｝，ｅ［５］＿｛ｉ２｝，ｕ［５］＿｛ｉ２｝，  ｒ［４］＿｛ｉ２｝）を不正と認定する（ステップＴＳ２−ＤＥＴ  ２）  。
【０１９２】
次に、本発明の第３の実施の形態について、図面を参照して詳細に説明する。第３の実施の形態では強特定可能二重署名禁止署名を実現する方法を述べる。第３の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０１９３】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０１９４】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグ（弱特定用タグと強特定用タグ）を用いてメッセージに対し強特定可能二重署名禁止署名を行うことができる。
【０１９５】
二重署名禁止署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０１９６】
検証装置は、領域変数およびタグ（弱特定用タグと強特定用タグ）を用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで行った署名を見つけ出すことができる。更に検証装置は、鍵リストを参照してその署名を行ったメンバー装置を特定することができる。
【０１９７】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０１９８】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。
【０１９９】
サイト管理装置がサイトを作るには、以下の二重署名禁止強特定サイト構成ルーチンを行う。
【０２００】
サイト管理装置は、サイト管理装置のＩＤと二重署名禁止強特定サイトのＩＤをハッシュ値にいれ、そこから  Ｚ／  ｐ［１］Ｚの元ｒとｒ’を作る。
【０２０１】
グループ管理装置は（Ｉ１，  Ｉ２，  ｒ，  ｒ’）を公開する。但し、ここでＩ１は、サイト管理装置のＩＤで、Ｉ２は二重署名禁止弱特定サイトのＩＤ。ｒをこの二重署名禁止強特定サイトの弱特定タグと呼び、ｒ’をこの二重署名禁止強特定サイトの強特定タグと呼ぶ。また、（Ｉ１，  Ｉ２，ｒ，ｒ’）をこの二重署名禁止強特定サイトの二重署名禁止強特定サイト特定子と呼ぶ。
【０２０２】
グループ管理装置は回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとし、更にサイト管理装置は二重署名禁止強特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，  ｒ，  ｒ’）をそのサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。
【０２０３】
メンバー装置が、サイトに対し強特定可能二重署名禁止署名をしたい場合、以下の強特定可能二重署名禁止署名作成ルーチン（強特定可能二重署名禁止署名作成手段）を行う。
【０２０４】
図１３は、本発明の強特定可能二重署名禁止署名作成ルーチンの動作を示すフローチャートである。
【０２０５】
以下、このメンバー装置がこの二重署名禁止強特定サイトに対し、メッセージｍに署名する方法を述べる。
【０２０６】
図１３を参照すると、まずメンバー装置は２λ以以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する（ステップＴＳＳ２−ＳＩＧ  １）  。
【０２０７】
二重署名禁止弱特定サイトの弱特定タグｒに対し、ｗ  ＝  ｒｘ  ｍｏｄ  ｐ［１］  を計算する（ステップＴＳＳ２−ＳＩＧ  ２）  。ｗをメンバー装置の弱特定タグｒに対する弱特定用タグ署名と呼ぶ。
【０２０８】
メンバー装置は時刻等の強特定用タグ署名を行う度に変わる値ｔをハッシュ関数にいれ、長さμビットの非負整数ｌを作り、ｗ’  ＝  （ａ［１］ｌ  ｒ’）＾ｘ  ｍｏｄ  ｐ［１］を計算する（ステップＴＳＳ２−ＳＩＧ３）  。ｗ’をメンバー装置Ｍの強特定タグｒ’に対する強特定用タグ署名と呼ぶ。ｔを強特定用タグ署名変化用値と呼び、ｌを強特定用タグ署名変化用値ハッシュ値と呼ぶ。
【０２０９】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘ［４］、ｅ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕ［４］を選び（ステップＴＳＳ２−ＳＩＧ  ４）  、ａ［４］０  ＝  ａ＾（−  ｘ［４］）Ｈ＾（ｅ［４］）ｈ＾（−ｅ［４］ｕ  −  ｕ［４］  ）  ｍｏｄ  ｎを計算し、Ｇ［４］  ＝  Ｇ＾（ｕ［４］）  ｍｏｄ  ｎを計算する。
【０２１０】
更にメンバー装置はｒ［４］  ＝  ｒ＾（ｘ［４］）  ｍｏｄｐ［１］を計算し、ｒ’［４］  ＝  （ａ［１］ｌ  ｒ’）＾（ｘ［４］）  ｍｏｄ  ｐ［１］を計算する（ステップＴＳＳ２−ＳＩＧ  ５）  。
【０２１１】
メンバー装置は  ｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｉ１｜｜Ｉ２｜｜ｒ｜｜ｒ’｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ｗ’｜｜ｔ｜｜ｌ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｒ［４］｜｜ｒ’［４］｜｜ｍ）を計算する（ステップＴＳＳ２−ＳＩＧ  ６）  。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【０２１２】
そしてメンバー装置はｘ［５］  ＝  ｃｘ  ＋  ｘ［４］，  ｅ［５］  ＝  ｃ（ｅ  −２γ）  ＋  ｅ［４］，ｕ［５］  ＝  （ｅ［５］  ＋  ｃ  ２γ）ｕ  ＋ｕ［４］を計算（ステップＴＳＳ２−ＳＩＧ  ７）  。
【０２１３】
最後に（ｍ，  ｔ，  ｌ，  ｒ，  ｒ’，  ｗ，  ｗ’，  ａ［４］０，  Ｇ［４］，  ｃ，  ｘ［５］，ｅ［５］，  ｕ［５］，  ｒ［４］，ｒ’［４］）を署名として出力する（ステップＴＳＳ２−ＳＩＧ  ８）  。
【０２１４】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は二重署名禁止強特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，ｒ，  ｒ’）をそのサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。
【０２１５】
検証装置は、（ｍ，  ｔ，  ｌ，  ｒ，  ｒ’，  ｗ，  ｗ’，  ａ［４］０，  Ｇ［４］，  ｃ，  ｘ［５］，ｅ［５］，  ｕ［５］，  ｒ［４］，ｒ’［４］）が、あるメンバー装置が強特定可能二重署名禁止署名ルーチンに従って作った署名であるか否かを確認したい。
【０２１６】
この時、検証装置は以下の強特定可能二重署名禁止署名検証ルーチン（強特定可能二重署名禁止署名検証手段）を行う。
【０２１７】
図１４は、本発明の強特定可能二重署名禁止署名検証ルーチンの動作を示すフローチャートである。
【０２１８】
図１４を参照すると、検証装置はまずａ０＾ｃ  ａ［４］０  ＝  ａ＾（−  ｘ［５］）Ｈ＾（ｅ［５］  ＋  ｃ２＾（γ））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎを確認し（ステップＴＳＳ２−ＶＥＲ１）  、次にｇ＾（ｕ［５］）  ＝  Ｇ＾（ｅ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎを確認し（ステップＴＳＳ２−ＶＥＲ２）  、ｗ＾ｘ［５］  ＝  ｒ＾ｃ  ｒ［４］ｍｏｄ  ｐ［１］  を確認し（ステップＴＳＳ２−ＶＥＲ３）、（ａｌ  ｒ’）ｘ［５］  ＝  ｗ’＾ｃ  ｒ’［４］  ｍｏｄ  ｐ［１］  を確認し（ステップＴＳＳ２−ＶＥＲ４）、ｔのハッシュ値がｌである事を確認し、更にｃ  ＝ｃ  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜Ｉ１｜｜Ｉ２｜｜ｒ｜｜ｒ’｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ｗ’｜｜ｔ｜｜ｌ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｒ［４］｜｜ｒ’［４］｜｜ｍ）ｘ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認し（ステップＴＳＳ２−ＶＥＲ５）、そしてｘ［５］、ｅ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＳ２−ＶＥＲ６）。
【０２１９】
以上の確認が全て正しければ、検証装置は署名を受理し（ステップＴＳＳ２−ＶＥＲ７）、そうでなければ棄却する（ステップＴＳＳ２−ＶＥＲ８）。
【０２２０】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。（Ｉ１，  Ｉ２，ｒ，ｒ’）をサイト管理装置が構成した二重署名禁止強特定サイト特定子とする。検証装置は署名の組｛（ｍ＿ｉ，  ｔ＿ｉ，  ｌ＿ｉ  ｒ，  ｒ’，  ｗ＿ｉ，ｗ’＿ｉ，  Ｇ＿ｉ，  Ｈ＿ｉ，ａ［４］０＿ｉ，  Ｇ［４］＿ｉ，  ｃ＿ｉ，ｘ［５］＿ｉ，ｅ［５］＿ｉ，  ｕ［５］＿ｉ，ｒ［４］＿ｉ）｝＿ｉを持っていたとする。
【０２２１】
検証装置が、不正装置の強特定を行いたい場合、以下の強特定可能二重署名禁止署名強特定ルーチン（強特定可能二重署名禁止署名強特定手段）を行う。
【０２２２】
図１５は、本発明の強特定可能二重署名禁止署名強特定ルーチンの動作を示すフローチャートである。
【０２２３】
図１５を参照すると、検証装置はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｐ［１］となるｉ１、ｉ２を見つける（ステップＴＳＳ２−ＤＥＴ  １）。
【０２２４】
このようなｉ１、ｉ２が見つかった場合、署名（ｍ＿｛ｉ１｝，ｔ＿｛ｉ１｝，  ｌ＿｛ｉ１｝，  ｒ，  ｒ’，ｗ＿｛ｉ１｝，  ｗ’＿｛ｉ１｝，Ｇ＿｛ｉ１｝，  Ｈ＿｛ｉ１｝，  ａ［４］０＿｛ｉ１｝，Ｇ［４］＿｛ｉ１｝，  ｃ＿｛ｉ１｝，ｘ［５］＿｛ｉ１｝，ｅ［５］＿｛ｉ１｝，ｕ［５］＿｛ｉ１｝，  ｒ［４］＿｛ｉ１｝）および（ｍ＿｛ｉ２｝，ｔ＿｛ｉ２｝，  ｌ＿｛ｉ２｝，  ｒ，  ｒ’，ｗ＿｛ｉ２｝，  ｗ’＿｛ｉ２｝，Ｇ＿｛ｉ２｝，  Ｈ＿｛ｉ２｝，  ａ［４］０＿｛ｉ２｝，Ｇ［４］＿｛ｉ２｝，  ｃ＿｛ｉ２｝，  ｘ［５］＿｛ｉ２｝，ｅ［５］＿｛ｉ２｝，ｕ［５］＿｛ｉ２｝，  ｒ［４］＿｛ｉ２｝）を不正と認定する（ステップＴＳＳ２−ＤＥＴ  ２）  。
【０２２５】
更に検証装置は（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））  ＝  ａ［１］＾ｘ  ｍｏｄ  ｐ［１］を計算し（ステップＴＳＳ２−ＤＥＴ  ３）、グループ管理装置が公開している鍵リスト、｛（ＩＤ，  Ｃ，  Ｃ［１］，Ａ，ｅ）｝の第三引数が（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））  と一致している装置のＩＤを見つける（ステップＴＳＳ２−ＤＥＴ  ４）。
【０２２６】
次に、本発明の第４の実施の形態について、図面を参照して詳細に説明する。第４の実施の形態では弱特定可能回数制限署名を実現する方法を述べる。第４の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０２２７】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２２８】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグを用いてメッセージに対し弱特定可能回数制限署名を行うことができる。
【０２２９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０２３０】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで、回数制限を越えて行った署名を見つけ出すことができる。
【０２３１】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０２３２】
ｋを非負整数とする。ｋは制限回数である。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。サイト管理装置が弱特定可能ｋ−回数制限サイトを作るには、以下のｋ−回数制限弱特定サイト構成ルーチンを行う。
【０２３３】
サイト管理装置は、サイト管理装置のＩＤとｋ−回数制限弱特定サイトのＩＤをハッシュ値にいれ、そこから  Ｚ／  ｐ［１］Ｚの元ｒ１，  ．．．  ，  ｒｋを作る。ｒ１，  ．．．  ，  ｒｋをこのｋ−回数制限弱特定サイトの弱特定タグと呼ぶ。また、（Ｉ１，  Ｉ２，｛ｒｉ｝）をこのｋ−回数制限弱特定サイトのｋ−回数制限弱特定サイト特定子と呼ぶ。
【０２３４】
ｋを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとし、更にサイト管理装置はｋ−回数制限強特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，｛ｒｉ｝）をそのサイト管理装置が構成したｋ−回数制限弱特定サイト特定子とする。
【０２３５】
メンバー装置が弱特定可能ｋ−回数制限署名をするには、以下の弱特定可能ｋ−回数制限署名ルーチン（弱特定可能ｋ−回数制限署名手段）を行う。
【０２３６】
図１６は、本発明の弱特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０２３７】
以下、メンバー装置がｋ−回数制限弱特定サイトに対し、メッセージｍに署名する方法を述べる。
【０２３８】
図１６を参照すると、まずメンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する（ステップＴＳ−ＳＩＧ  １）  。
【０２３９】
メンバー装置は自分がこのｋ−回数制限弱特定サイトで過去に使用していないタグｒｉを一つ選び（弱特定タグ使用履歴に載っていないものを選び）、ｗ  ＝  ｒｉｘｍｏｄ  ｐ［１］  を計算する。ｗをメンバー装置の弱特定タグｒｉに対する弱特定用タグ署名と呼ぶ（ステップＴＳ−ＳＩＧ  ２）。タグ使用履歴はメンバー装置が管理してもよいし、サイト管理装置が管理しメンバー装置が必要なときに取り込んでもよい。
【０２４０】
更に、ｋ以下でｉ以外の非負整数ｊに対し、μビットの非負整数ｃｊを選ぶ。ｉと等しくない、ｋ以下の各正整数ｊに対し、以下を行う。絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘｊ［５］、ｅｊ［５］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γ以下の乱数ｕｊ［５］を選ぶ。ａｊ［４］０  ＝  ａ０＾（−ｃ）  ａ＾（−ｘｊ［５］  −  ｃｊ  ２＾（γ））  Ｈ＾（ｅｊ［５］  ＋  ｃｊ  ２＾（γ））ｈ＾（−ｕｊ［５］）  ｍｏｄ  ｎを計算し、Ｇｊ［４］  ＝ｇ＾（ｕｊ［５］）Ｇ＾（−ｅｊ［５］  −ｃｊ２＾γ）ｍｏｄ  ｎ  を計算し、ｒｊ［４］  ＝ｗ＾（−ｘｊ［５］）ｒｊ＾（ｃｊ）  ｍｏｄ  ｐ［１］  を計算する（ステップＴＳ−ＳＩＧ  ３）  。
【０２４１】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘｉ［４］、ｅｉ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕｉ［４］を選び（ステップＴＳ−ＳＩＧ  ５）  、ａｉ［４］０  ＝  ａ＾（−  ｘｉ［４］）Ｈ＾（ｅｉ［４］）ｈ＾（−ｅｉ［４］ｕ  −  ｕｉ［４］  ）  ｍｏｄ  ｎ  を計算し、Ｇ［４］  ＝  Ｇ＾（ｕ［４］）ｍｏｄ  ｎ  を計算する。更にメンバー装置はｒ［４］  ＝  ｒ＾（ｘ［４］）  ｍｏｄ  ｎを計算（ステップＴＳ−ＳＩＧ  ５）  。
【０２４２】
メンバー装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｋ｜｜Ｉ１｜｜Ｉ２｜｜｛ｒｉ｝＿ｊ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜｛ａｉ［４］０｝＿ｊ｜｜｛Ｇｊ［４］｝＿ｊ｜｜｛ｒｊ［４］｝＿ｊ｜｜ｍ）を計算する（ステップＴＳ−ＳＩＧ  ６）。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。ｃｉ  ＝  ｃ  −  Σｊ ＝ １，．．．，ｋ， ｊ≠ｉｃｊ  ｍｏｄ  ２μとし、そしてメンバー装置はｘ［５］  ＝  ｃｉｘ  ＋  ｘｉ［４］，  ｅｉ［５］  ＝  ｃｉ（ｅ  −  ２γ）  ＋  ｅｉ［４］，ｕｉ［５］  ＝  （ｅｉ［５］  ＋  ｃｉ  ２γ）ｕ  ＋ｕｉ［４］を計算（ステップＴＳ−ＳＩＧ  ７）  。
【０２４３】
最後に（ｍ，  ｗ，  ｛ｒｊ，  ａｊ［４］０，  Ｇｊ［４］，  ｃｊ，  ｘｊ［５］，ｅｊ［５］，  ｕｊ［５］，ｒｊ［４］｝ｊ ＝ １，．．．，ｋ，ｃ）を署名として出力する（ステップＴＳ−ＳＩＧ  ８）  。
【０２４４】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は回数制限弱特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，ｒ）をそのサイト管理装置が構成した回数制限弱特定サイト特定子とする。
【０２４５】
検証装置は、（ｍ，  ｗ，  ｛ｒｊ，  ａｊ［４］０，  Ｇｊ［４］，  ｃｊ，  ｘｊ［５］，ｅｊ［５］，  ｕｊ［５］，ｒｊ［４］｝ｊ ＝ １，．．．，ｋ，ｃ）が、あるメンバー装置が弱特定可能ｋ−回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０２４６】
図１７は、本発明の弱特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０２４７】
検証装置が弱特定可能ｋ−回数制限署名を検証するには、以下の弱特定可能ｋ−回数制限署名検証ルーチン（弱特定可能ｋ−回数制限署名検証手段）を行う。
【０２４８】
図１７を参照すると、検証装置はｊ  ＝  １，  ．．．  ，ｋに対し、ａ０＾ｃｊ  ａｊ［４］０  ＝  ａ＾（−  ｘｊ［５］）Ｈ＾（ｅｊ［５］  ＋  ｃｊ  ２＾（γ））ｈ＾（−  ｕｊ［５］）  ｍｏｄ  ｎを確認し（ステップＴＳ−ＶＥＲ  １）  、ｇ＾（ｕｊ［５］）  ＝  Ｇ＾（ｅｊ［５］  ＋  ｃｊ２＾（γ））Ｇｊ［４］  ｍｏｄ  ｎを確認し（ステップＴＳ−ＶＥＲ  ２）  、ｗ＾ｘ［５］  ＝  ｒ＾ｃ  ｒ［４］  ｍｏｄ  ｐ［１］  を確認する（ステップＴＳ−ＶＥＲ  ３）  。
【０２４９】
次に検証装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｋ｜｜Ｉ１｜｜Ｉ２｜｜｛ｒｉ｝＿ｊ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜｛ａｉ［４］０｝＿ｊ｜｜｛Ｇｊ［４］｝＿ｊ｜｜｛ｒｊ［４］｝＿ｊ｜｜ｍ）を確認する（ステップＴＳ−ＶＥＲ  ４）。
【０２５０】
ｘｊ［５］、ｅｊ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認し（ステップＴＳ−ＶＥＲ  ５）、以上の確認が全て正しければ、検証装置は署名を受理し（ステップＴＳ−ＶＥＲ  ６）  、そうでなければ棄却する（ステップＴＳ−ＶＥＲ  ７）  。
【０２５１】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。（Ｉ１，  Ｉ２，｛ｒ＿ｉ｝）をサイト管理装置が構成したｋ−回数制限弱特定サイト特定子とする。検証装置は署名の組｛（ｍ＿ｉ，  ｗ＿ｉ，  ｛ｒｊ，  ａｊ［４］０＿ｉ，  Ｇｊ［４］＿ｉ，  ｃｊ＿ｉ，  ｘｊ［５］＿ｉ，ｅｊ［５］＿ｉ，  ｕｊ［５］＿ｉ，ｒｊ［４］＿ｉ｝ｊ ＝ １，．．．，ｋ，ｃ＿ｉ）｝＿ｉを持っていたとする。
【０２５２】
検証装置が不正な署名を弱特定するには、以下の（ｋ＋１）重署名弱特定ルーチンを行う。
【０２５３】
図１８は、本発明の弱特定可能回数制限署名弱特定ルーチンの動作を示すフローチャートである。
【０２５４】
図１８を参照すると、検証装置はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｐ［１］となるｉ１、ｉ２を見つける（ステップＴＳ−ＤＥＴ  １）  。
【０２５５】
このようなｉ１、ｉ２が見つかった場合、署名｛（ｍ＿｛ｉ１｝，  ｗ＿｛ｉ１｝，  ｛ｒｊ，ａｊ［４］０＿｛ｉ１｝，Ｇｊ［４］＿｛ｉ１｝，ｃｊ＿｛ｉ１｝，ｘｊ［５］＿｛ｉ１｝，ｅｊ［５］＿｛ｉ１｝，ｕｊ［５］＿｛ｉ１｝，ｒｊ［４］＿｛ｉ１｝｝ｊ ＝１，．．．，ｋ，ｃ＿｛ｉ１｝）｝＿ｉおよび｛（ｍ＿｛ｉ２｝，  ｗ＿｛ｉ２｝，  ｛ｒｊ，ａｊ［４］０＿｛ｉ２｝，Ｇｊ［４］＿｛ｉ２｝，ｃｊ＿｛ｉ２｝，ｘｊ［５］＿｛ｉ２｝，ｅｊ［５］＿｛ｉ２｝，ｕｊ［５］＿｛ｉ２｝，ｒｊ［４］＿｛ｉ２｝｝ｊ ＝１，．．．，ｋ，ｃ＿｛ｉ２｝）｝＿ｉを不正と認定する（ステップＴＳ−ＤＥＴ  ２）  。
【０２５６】
次に、本発明の第５の実施の形態について、図面を参照して詳細に説明する。第５の実施の形態では強特定可能回数制限署名を実現する方法を述べる。第５の実施の形態は、第２の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０２５７】
まずグループ管理装置は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２５８】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。メンバー装置は、ライセンスと、各サイト管理装置が公開するタグを用いてメッセージに対し強特定可能回数制限署名を行うことができる。
【０２５９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０２６０】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで、回数制限を越えて行った署名を見つけ出すことができる。更に、その署名を行った署名者（メンバー装置）を特定することができる。
【０２６１】
グループ管理装置は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置がメンバーになりたい場合は、グループ管理装置にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０２６２】
ｋを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。サイト管理装置が、ｋ−回数制限強特定サイトを構成するには、以下のｋ−回数制限強特定サイト構成ルーチンを行う。
【０２６３】
サイト管理装置は、サイト管理装置のＩＤとｋ−回数制限弱特定サイトのＩＤをハッシュ値にいれ、そこから  Ｚ／  ｐ［１］Ｚの元ｒ１，  ．．．  ，  ｒｋ、ｒ’１，  ．．．  ，  ｒ’ｋを作る。ｒ１，  ．．．  ，  ｒｋをこのｋ重署名禁止強特定サイトの弱特定タグと呼び、ｒ’１，．．．  ，  ｒ’ｋをｋ−回数制限強特定サイトの強特定タグと呼ぶ。また、（Ｉ１，  Ｉ２，｛ｒｉ，  ｒ’ｉ｝）をこのｋ−回数制限強特定サイトのｋ−回数制限強特定サイト特定子と呼ぶ。
【０２６４】
ｋを非負整数とする。グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。またグループ管理装置とメンバー装置はジョインルーチンを終えているとする。メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとし、更にサイト管理装置はｋ−回数制限強特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，｛ｒｉ，  ｒ’ｉ｝）をそのサイト管理装置が構成したｋ−回数制限強特定サイト特定子とする。
【０２６５】
メンバー装置が、ｋ−回数制限署名を行うには、以下のｋ−回数制限署名ルーチンを行う。
【０２６６】
図１９は、本発明の強特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０２６７】
メンバー装置がライセンス（ｘ，Ａ，ｅ）を持っていたとする。以下、メンバー装置がｋ−回数制限強特定サイトに対し、メッセージｍに署名する方法を述べる。
【０２６８】
図１９を参照すると、まずメンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する（ステップＴＳＳ−ＳＩＧ  １）  。
【０２６９】
メンバー装置は自分がこのｋ−回数制限弱特定サイトで過去に使用していないタグｒｉを一つ選び、ｗ  ＝  ｒｉｘ  ｍｏｄ  ｐ［１］  を計算する（ステップＴＳＳ−ＳＩＧ  ２）  。ｗをメンバー装置Ｍの弱特定タグｒｉに対する弱特定用タグ署名と呼ぶ。
【０２７０】
メンバー装置は強特定用タグ署名変化用値ｔをハッシュ関数にいれ、長さμビットの非負整数ｌを作り、ｗ’  ＝  （ａ［１］ｌ  ｒ’）  ｍｏｄ  ｐ［１］を計算する。ｗ’をメンバー装置Ｍの強特定タグｒ’に対する強特定用タグ署名と呼ぶ（ステップＴＳＳ−ＳＩＧ  ３）  。
【０２７１】
次にｋ以下でｉ以外の非負整数ｊに対し、μビットの非負整数ｃｊを選ぶ。ｉと等しくない、ｋ以下の各正整数ｊに対し、以下を行う。
【０２７２】
絶対値がλ  ＋  μ  ＋  ε  ＋  １ビット以下の乱数ｘｊ［５］、ｅｊ［５］を選び、絶対値がλ  ＋  μ  ＋  ２ν  ＋  ２ε以下の乱数ｕｊ［５］を選ぶ。ａｊ［４］０  ＝  ａ０＾（−ｃ）  ａ＾（−ｘｊ［５］  −  ｃｊ  ２＾（γ））Ｈ＾（ｅｊ［５］  ＋  ｃｊ  ２＾（γ））ｈ＾（−ｕｊ［５］）を計算し、Ｇｊ［４］  ＝ｇ＾（ｕｊ［５］）Ｇ＾（−ｅｊ［５］  −ｃｊ２＾γ）を計算し、ｒｊ［４］  ＝ｗ＾（−ｘｊ［５］）ｒｊ＾（ｃｊ）  ｍｏｄ  ｐ［１］  を計算する。ｒ’ｊ［４］  ＝ｗ’＾（−ｘｊ［５］）（ａｌｒ’）ｊ＾（ｃｊ）  ｍｏｄ  ｐ［１］  を計算する（ステップＴＳ２−ＳＩＧ  ４）  。
【０２７３】
更にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘｉ［４］、ｅｉ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕｉ［４］を選び  （ステップＴＳＳ−ＳＩＧ  ５）  、ａｉ［４］０  ＝  ａ＾（−  ｘｉ［４］）Ｈ＾（ｅｉ［４］）ｈ＾（−ｅｉ［４］ｕ  −  ｕｉ［４］  ）  ｍｏｄ  ｎを計算し、Ｇ［４］  ＝  Ｇ＾（ｕ［４］）を計算する。メンバー装置はｒ［４］  ＝  ｒ＾（ｘ［４］）  ｍｏｄ  ｎを計算し、ｒ’［４］  ＝  （ａ［１］  ｒ’）＾（ｘ［４］）  ｍｏｄｐ［１］を計算する（ステップＴＳＳ−ＳＩＧ  ６）  。
【０２７４】
メンバー装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｋ｜｜Ｉ１｜｜Ｉ２｜｜｛ｒｊ，  ｒ’ｊ｝＿ｊ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ｗ’｜｜｛ａｊ［４］０｝＿ｊ｜｜｛Ｇｊ［４］｝＿ｊ｜｜｛ｒｊ［４］｝＿ｊ｜｜｛ｒ’ｊ［４］｝＿ｊ｜｜ｍ）を計算する（ステップＴＳＳ−ＳＩＧ  ７）  。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。ｃｉ  ＝  ｃ  −  Σｊ ＝ １，．．．，ｋ， ｊ≠ｉｃｊ  ｍｏｄ  ２μとし、そしてメンバー装置はｘ［５］  ＝  ｃｉｘ  ＋  ｘｉ［４］，  ｅｉ［５］  ＝  ｃｉ（ｅ  −  ２γ）  ＋  ｅｉ［４］，ｕｉ［５］  ＝  （ｅｉ［５］  ＋  ｃｉ  ２γ）ｕ  ＋ｕｉ［４］を計算（ステップＴＳＳ−ＳＩＧ  ８）  。
【０２７５】
最後に（ｍ，  ｗ，  ｗ’，  ｛ｒｊ，  ｒ’ｊ，  ａｊ［４］０，  Ｇｊ［４］，  ｃｊ，  ｘｊ［５］，ｅｊ［５］，  ｕｊ［５］，ｒｊ［４］，ｒ’ｊ［４］｝ｊ ＝ １，．．．，ｋ，ｃ）を署名として出力する（ステップＴＳＳ−ＳＩＧ  ９）  。
【０２７６】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。更にサイト管理装置は回数制限弱特定サイト構成ルーチンを終えているとする。（Ｉ１，  Ｉ２，ｒ）をそのサイト管理装置が構成した回数制限弱特定サイト特定子とする。
【０２７７】
検証装置は、（ｍ，  ｗ，  ｗ’，  ｛ｒｊ，  ｒ’ｊ，  ａｊ［４］０，  Ｇｊ［４］，  ｃｊ，  ｘｊ［５］，ｅｊ［５］，  ｕｊ［５］，ｒｊ［４］｝ｊ ＝ １，．．．，ｋ，ｃ）が、あるメンバー装置が強特定可能ｋ−回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０２７８】
これをするには、検証装置は、以下の強特定可能ｋ−回数制限署名検証ルーチンを行う。
【０２７９】
図２０は、本発明の強特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０２８０】
検証装置が署名（｛ａｊ［４］０，  Ｇｊ［４］，  ｃｊ，  ｘｊ［５］，ｅｊ［５］，  ｕｊ［５］，ｒｊ［４］，ｒ’ｊ［４］｝ｊ ＝１，．．．，ｋ，ｃ，  ｗ，  ｗ’）を受け取ったとする。
【０２８１】
以下のルーチンを強特定可能ｋ−回数制限署名検証と呼ぶ。
【０２８２】
図２０を参照すると、検証装置はｊ  ＝  １，  ．．．  ，ｋに対し、ａ０＾ｃｊ  ａｊ［４］０  ＝  ａ＾（−  ｘｊ［５］）Ｈ＾（ｅｊ［５］  ＋  ｃｊ  ２＾（γ））ｈ＾（−  ｕｊ［５］）  ｍｏｄ  ｎを確認し（ステップＴＳＳ−ＶＥＲ１）  、ｇ＾（ｕｊ［５］）  ＝  Ｇ＾（ｅｊ［５］  ＋  ｃｊ２＾（γ））Ｇｊ［４］  ｍｏｄ  ｎを確認し（ステップＴＳＳ−ＶＥＲ２）  、ｗ＾ｘｊ［５］  ＝  ｒｊ＾ｃｊ  ｒｊ［４］  ｍｏｄ  ｐ［１］  を確認し（ステップＴＳＳ−ＶＥＲ３）  、（ａｌ  ｒｊ’）ｘ［５］  ＝  ｗ’＾ｃｊｒｊ’［４］  ｍｏｄ  ｐ［１］  を確認する（ステップＴＳＳ−ＶＥＲ４）  。
【０２８３】
検証装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｋ｜｜Ｉ１｜｜Ｉ２｜｜｛ｒｊ，  ｒ’ｊ｝＿ｊ｜｜Ｇ｜｜Ｈ｜｜ｗ｜｜ｗ’｜｜｛ａｊ［４］０｝＿ｊ｜｜｛Ｇｊ［４］｝＿ｊ｜｜｛ｒｊ［４］｝＿ｊ｜｜｛ｒ’ｊ［４］｝＿ｊ｜｜ｍ）を確認する（ステップＴＳＳ−ＶＥＲ５）  。
【０２８４】
ｘｊ［５］およびｅｊ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＳ−ＶＥＲ６）  。
【０２８５】
以上の確認が全て正しければ、検証装置は署名を受理し（ステップＴＳＳ−ＶＥＲ７）  、そうでなければ棄却する（ステップＴＳＳ−ＶＥＲ８）  。
【０２８６】
グループ管理装置は過去に回数制限署名用セットアップルーチンを終えているものとする。（Ｉ１，  Ｉ２，｛ｒｉ，  ｒ’ｉ｝）をサイト管理装置が構成したｋ−回数制限強特定サイト特定子とする。検証装置は署名の組｛（ｍ＿ｉ，  ｗ＿ｉ，  ｗ’＿ｉ，  ｛ｒｊ，  ｒ’ｊ，ａｊ［４］０＿ｉ，Ｇｊ［４］＿ｉ，  ｃｊ＿ｉ，ｘｊ［５］＿ｉ，ｅｊ［５］＿ｉ，ｕｊ［５］＿ｉ，ｒｊ［４］＿ｉ｝ｊ ＝１，．．．，ｋ，ｃ）｝＿ｉを持っていたとする。
【０２８７】
不正な装置を特定するには、以下の（ｋ＋１）重署名強特定ルーチンを行う。
【０２８８】
図２１は、本発明の強特定可能回数制限署名強特定ルーチンの動作を示すフローチャートである。
【０２８９】
図２１を参照すると、検証装置はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｐ［１］となるｉ１、ｉ２を見つける（ステップＴＳＳ−ＤＥＴ  １）。
【０２９０】
このようなｉ１、ｉ２が見つかった場合、署名（ｍ＿｛ｉ１｝，  ｗ＿｛ｉ１｝，  ｗ’＿｛ｉ１｝，｛ｒｊ，  ｒ’ｊ，ａｊ［４］０＿｛ｉ１｝，Ｇｊ［４］＿｛ｉ１｝，ｃｊ＿｛ｉ１｝，ｘｊ［５］＿｛ｉ１｝，ｅｊ［５］＿｛ｉ１｝，ｕｊ［５］＿｛ｉ１｝，ｒｊ［４］＿｛ｉ１｝｝ｊ＝ １，．．．，ｋ，ｃ）および（ｍ＿｛ｉ２｝，  ｗ＿｛ｉ２｝，  ｗ’＿｛ｉ２｝，｛ｒｊ，  ｒ’ｊ，ａｊ［４］０＿｛ｉ２｝，Ｇｊ［４］＿｛ｉ２｝，ｃｊ＿｛ｉ２｝，ｘｊ［５］＿｛ｉ２｝，ｅｊ［５］＿｛ｉ２｝，ｕｊ［５］＿｛ｉ２｝，ｒｊ［４］＿｛ｉ２｝｝ｊ＝ １，．．．，ｋ，ｃ）を不正と認定する（ステップＴＳＳ−ＤＥＴ  ２）。
【０２９１】
更に検証装置は（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））  ＝  ａ［１］＾ｘ  ｍｏｄ  ｐ［１］を計算し（ステップＴＳＳ−ＤＥＴ  ３）  、グループ管理装置が公開している鍵リスト、｛（ＩＤ，  Ｃ，  Ｃ［１］，Ａ，ｅ）｝の第三引数が（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））  と一致しているＩＤを見つける（ステップＴＳＳ−ＤＥＴ  ４）  。
【０２９２】
次に、本発明の第６の実施の形態について、図面を参照し詳細に説明する。第６の実施の形態では大人数用弱特定可能回数制限署名を実現する方法を述べる。
【０２９３】
図２２は、本発明の第６の実施の形態の構成を示す図であり、大人数用弱特定可能回数制限署名系に使用する装置間の関係をブロック図で示す。
【０２９４】
図２２を参照すると、大人数用弱特定可能回数制限署名に使用する装置として、グループ管理装置３１と、ユーザー装置（メンバー装置）３２と、検証装置３３と、サイト管理装置３４とを備える。上記の各装置はプログラム制御で動作する情報処理装置であり、上記の各装置はネットワークで結ばれている。ユーザー装置（メンバー装置）３２とサイト管理装置３４はそれぞれ複数存在し、各ユーザー装置（メンバー装置）３２と各サイト管理装置３４はＩＤを有する。１つのサイト管理装置３４内に複数のサイトを作ることができる。各サイトはＩＤを有する。
【０２９５】
まずグループ管理装置３１は、後述する回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０２９６】
ユーザー装置３２は、グループ管理装置３１にアクセスし、ライセンスをもらい（ＴＳ−ＢＬ  Ｌ１）、ユーザー装置３２は対応する公開鍵をグループ管理装置３１に送信する（ＴＳ−ＢＬ  Ｌ２）。ライセンスを受け取ったユーザー装置３２は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置３２をメンバー装置と呼ぶ。
【０２９７】
サイト管理装置３４は、グループ管理装置３１にアクセスすることで（ＴＳ−ＢＬ  Ｌ１０）、大人数用タグを受け取る（ＴＳ−ＢＬ  Ｌ１１）。
【０２９８】
メンバー装置は、ライセンスと各サイト管理装置３４が公開する大人数用タグ（ＴＳ−ＢＬ  Ｌ３）を用いてメッセージに対し大人数用弱特定可能回数制限署名を行う。
【０２９９】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０３００】
検証装置３３は、領域変数（ＴＳ−ＢＬ  Ｌ５）およびタグ（ＴＳ−ＢＬ  Ｌ６）を用い署名の正当性を検証する装置である。検証装置３３は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名（ＴＳ−ＢＬ  Ｌ４）であるのか否か（ＴＳ−ＢＬ  Ｌ８）を判定し、出力する事ができる。また、検証装置３３に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで回数制限を越えて行った署名を見つけ出すことができる（ＴＳ−ＢＬ  Ｌ７）。
【０３０１】
グループ管理装置３１は、第２の実施の形態と同様の方法で、回数制限署名セットアップルーチン（回数制限署名セットアップ手段）を行う。また、ユーザー装置３２がメンバーになりたい場合は、グループ管理装置３１にアクセスして、第２の実施の形態と同様の方法で、回数制限署名用ジョインルーチン（回数制限署名用ジョイン手段）を行う。
【０３０２】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。
【０３０３】
サイト管理装置３４は、大人数用弱特定可能ｋ−回数制限サイトを構成するには、以下のサイト管理権授与ルーチン（サイト管理権授与手段）を行う。
【０３０４】
サイト管理装置３４はグループ管理装置３１にアクセスする。
【０３０５】
グループ管理装置３１は、ＱＲ（ｎ）の元ｂ，  ｂ０をハッシュ値から作り、ｂ，  ｂ０に署名をつけてサイト管理装置３４に渡す。
【０３０６】
サイト管理装置３４はｂ，  ｂ０がＱＲ（ｎ）の元であることを確認。（ｂ，  ｂ０）をサイト管理権と呼ぶ。サイト管理権を得たサイト管理装置３４を大人数用弱特定サイトと呼ぶ。更に、ｂをタグ用左辺底領域変数と呼び、ｂ０をタグ用自由領域変数と呼ぶ。
【０３０７】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。
【０３０８】
タグを発行するには、サイト管理装置３４は、グループ管理装置３１と、以下の大人数用タグ発行ルーチン（大人数用タグ発行手段）を行う。
【０３０９】
サイト管理装置３４は、サイト管理権授与ルーチンで得たサイト管理権（ｂ，  ｂ０）、およびそれに対する署名をグループ管理装置３１に送る。
【０３１０】
グループ管理装置３１はλビットの非負整数ｙ、Γに入っている素数ｆをランダムに選び、ｂｙｂ０  ＝  Ｂｆ  ｍｏｄ  ｎ  となるＢを計算し、（ｙ，  ｆ，  Ｂ）に署名を添付してサイト管理装置３４に渡す。（ｙ，  ｆ，  Ｂ）を大人数用タグと呼ぶ。−２λ以上２λ以下の整数全体をΛと書き、２γ  −  ２λ以上  ２γ  ＋  ２λ以下の整数全体をΓと書く
サイト管理装置３４は（ｙ，  ｆ，  Ｂ）が、ｂｙｂ０  ＝  Ｂｆｍｏｄ  ｎ  となる事を確認する。ｙをタグ用秘密ライセンス情報と呼び、Ｂをタグ用底ライセンス情報と呼び、ｆをタグ用指数ライセンス情報と呼ぶ。サイト管理装置３４はグループ管理装置３１から過去にもらった（ｙ，  ｆ，  Ｂ）のｋ個のリスト｛（ｙ，  ｆ，  Ｂ）｝を公開する。
【０３１１】
グループ管理装置３１は回数制限署名用セットアップルーチンを終えているとする。サイト管理装置３４とグループ管理装置３１はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置３４とグループ管理装置３１は大人数用タグ発行ルーチンをｋ回終えているとする。加えて、メンバー装置とグループ管理装置３１はジョインルーチンを終えているものとする。メンバー装置はライセンス（ｘ，Ａ，ｅ）を持っていたとする。
【０３１２】
メンバー装置が、大人数用弱特定可能ｋ−回数制限署名を行うには、以下の大人数用弱特定可能ｋ−回数制限署名ルーチン（大人数用弱特定可能回数制限署名手段）をう。
【０３１３】
図２３は、本発明の大人数用弱特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０３１４】
以下、メンバー装置が大人数用弱特定サイトに対し、メッセージｍに署名する方法を述べる。
【０３１５】
図２３を参照すると、まずメンバー装置はサイト管理装置３４が公開している大人数用タグ達から一組を選ぶ。以後これを（ｙ，  ｆ，  Ｂ）と表すことにする。メンバー装置は（ｙ，  ｆ，  Ｂ）に添付されたグループ管理装置３１の署名を確認する。メンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）  ＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する。メンバー装置は２λ以下の非負整数ｕ［６］をランダムに選び、エルガマル暗号（Ｇ［６］，  Ｈ［６］）  ＝（ｇ＾（ｕ［６］）  ｍｏｄ  ｎ  ，  Ｂｈ＾（ｕ［６］）  ｍｏｄ  ｎ  ）を計算する（ステップＴＳＭ−ＳＩＧ１）  。
【０３１６】
大人数用タグ（ｙ，  ｆ，  Ｂ）から、ｗ  ＝  Ｂｘ  ｍｏｄ  ｎ  を計算する（ステップＴＳＭ−ＳＩＧ２）  。ｗをメンバー装置の大人数用タグ（ｙ，  ｆ，  Ｂ）に対する弱特定用大人数用タグ署名と呼ぶ。
【０３１７】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘ［４］、ｅ［４］をえらび、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕ［４］を選び（ステップＴＳＭ−ＳＩＧ３）  、ａ［４］０  ＝  ａ＾（−  ｘ［４］）Ｈ＾（ｅ［４］）ｈ＾（−ｅ［４］ｕ  −  ｕ［４］  ）  ｍｏｄ  ｎを計算し、Ｇ［４］  ＝  ｇ＾（ｕ［４］）  ｍｏｄ  ｎを計算する（ステップＴＳＭ−ＳＩＧ４）  。
【０３１８】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｙ［４］、ｆ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γビット以下の乱数ｕ［４，  ６］を選び（ステップＴＳＭ−ＳＩＧ３）、ｂ［４］０  ＝  ｂ＾（−  ｙ［４］）Ｈ［６］＾（ｆ［４］）ｈ＾（−ｆ［４］ｕ［６］  −  ｕ［４，  ６］  ）  ｍｏｄ  ｎを計算し、Ｇ［４，  ６］  ＝  ｇ＾（ｕ［４，  ６］）  ｍｏｄ  ｎを計算する（ステップＴＳＭ−ＳＩＧ４）。
【０３１９】
絶対値がλ  ＋  μ  ＋  ２ε  ＋  ２νビット以下の乱数ｕ［４，  ８］を選び、Ｇ［４，  ８］  ＝  ｇ＾（ｕ［４，  ８］）  ｍｏｄ  ｎを計算し（ステップＴＳＭ−ＳＩＧ３）、ｗ［４，  ８］  ＝Ｈ［６］＾（−ｘ［４］ｕ［６］  −ｕ［４，  ８］）ｈ＾（−  ｘ［４］ｕ［６］  −ｕ［４，  ８］  ）  ｍｏｄ  ｎを計算する（ステップＴＳＭ−ＳＩＧ４）。
【０３２０】
メンバー装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｂ｜｜ｂ０｜｜Ｇ｜｜Ｈ｜｜Ｇ［６］｜｜Ｈ［６］｜｜ｗ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｂ［４］０｜｜Ｇ［４，  ６］｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］｜｜ｍ）を計算する（ステップＴＳＭ−ＳＩＧ５）  。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【０３２１】
そしてメンバー装置はｘ［５］  ＝  ｃｘ  ＋  ｘ［４］，  ｅ［５］  ＝  ｃ（ｅ  −  ２γ）  ＋  ｅ［４］，ｕ［５］  ＝  （ｅ［５］  ＋  ｃ  ２γ）ｕ  ＋ｕ［４］を計算。更にメンバー装置はｙ［５］  ＝  ｃｙ  ＋  ｙ［４］，  ｆ［５］  ＝  ｃ（ｆ  −  ２γ）  ＋  ｆ［４］，ｕ［５，  ６］  ＝  （ｆ［５］  ＋  ｃ  ２γ）ｕ［６］  ＋ｕ［４，  ６］を計算。加えてメンバー装置は、ｕ［５，  ８］  ＝ｘ［５］ｕ［６］  ＋  ｕ［４，  ８］を計算（ステップＴＳＭ−ＳＩＧ６）。
【０３２２】
最後にメンバー装置は、（ｍ，ｗ，ａ，  Ｈ，  Ｇ，  ａ［４］０，  Ｇ［４］，  Ｈ［６］，  Ｇ［６］，  ｂ［４］０，  Ｇ［４，  ６］，  Ｇ［４，  ８］，  ｗ［４，  ８］，  ｃ，  ｘ［５］，  ｅ［５］，  ｕ［５］，  ｙ［５］，  ｆ［５］，  ｕ［５，  ６］，  ｕ［５，  ８］  ）を署名として出力する（ステップＴＳＭ−ＳＩＧ７）  。
【０３２３】
グループ管理装置は回数制限署名用セットアップルーチンを終えているとする。サイト管理装置３４とグループ管理装置３１はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置３４とグループ管理装置３１は大人数用タグ発行ルーチンをｋ回終えているとする。
【０３２４】
検証装置３３は、（ｍ，ｗ，ａ，  Ｈ，  Ｇ，  ａ［４］０，  Ｇ［４］，  Ｈ［６］，  Ｇ［６］，  ｂ［４］０，  Ｇ［４，  ６］，  Ｇ［４，  ８］，ｗ［４，  ８］，  ｃ  ｘ［５］，  ｅ［５］，  ｕ［５］，  ｙ［５］，  ｆ［５］，  ｕ［５，  ６］，  ｕ［５，  ８］  ）が、あるメンバー装置が大人数用弱特定可能ｋ−回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０３２５】
この為には、検証装置３３は以下の大人数用弱特定可能ｋ−回数制限署名検証ルーチン（大人数用弱特定可能回数制限署名検証手段）を行う。
【０３２６】
図２４は、本発明の大人数用弱特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０３２７】
図２４を参照すると、検証装置３３は、まずａ０＾ｃ  ａ［４］０  ＝  ａ＾（−  ｘ［５］）Ｈ＾（ｅ［５］  ＋  ｃ  ２＾（γ））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎ  を確認し、ｇ＾（ｕ［５］）  ＝  Ｇ＾（ｅ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎ  を確認し、ｘ［５］およびｅ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＭ−ＶＥＲ１）。
【０３２８】
次にｂ０＾ｃ  ｂ［４］０  ＝  ｂ＾（−  ｘ［５］）Ｈ＾（ｆ［５］  ＋  ｃ  ２＾（γ））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎ  を確認し、ｇ＾（ｕ［５］）  ＝  Ｇ＾（ｆ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎ  を確認し、ｙ［５］およびｆ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＭ−ＶＥＲ２）。
【０３２９】
更にｗ＾ｃ  ｗ［４，  ８］  ＝  Ｈ［６］＾ｘ［５］ｈ＾（−ｕ［５，  ８］）  ｍｏｄ  ｎを確認し、Ｇ［８］＾ｃＧ［４，  ８］  ＝ｇ＾（ｕ［５］）  ｍｏｄ  ｎを確認する（ステップＴＳＭ−ＶＥＲ３）。
【０３３０】
最後に  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜ｐ［１］｜｜Ｉ＿Ｌ｜｜ｂ｜｜ｂ０｜｜Ｇ｜｜Ｈ｜｜Ｇ［６］｜｜Ｈ［６］｜｜ｗ｜｜ａ［４］０｜｜Ｇ［４］｜｜ｂ［４］０｜｜Ｇ［４，  ６］｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］｜｜ｍ）を確認する（ステップＴＳＭ−ＶＥＲ４）  。
【０３３１】
以上の確認が全て正しければ、検証装置３３は署名を受理し（ＴＳＭ−ＶＥＲ５）  、そうでなければ棄却する（ＴＳＭ−ＶＥＲ６）  。
【０３３２】
グループ管理装置３１は過去に回数制限署名用セットアップルーチンを終えているものとする。｛（ｙ，Ｂ，ｆ）｝をサイト管理装置３４が構成したｋ−回数制限弱特定サイト特定子とする。検証装置３３は署名の組｛（ｍ，ｗｉ，ａｉ，  Ｈ，  Ｇ，ａ［４］０ｉ，  Ｇ［４］ｉ，  Ｈ［６］ｉ，  Ｇ［６］ｉ，  ｂ［４］０ｉ，  Ｇ［４，  ６］ｉ，Ｇ［４，  ８］ｉ，ｗ［４，  ８］ｉ，  ｃｉ，  ｘ［５］ｉ，  ｅ［５］ｉ，  ｕ［５］ｉ，  ｙ［５］ｉ，  ｆ［５］ｉ，  ｕ［５，  ６］ｉ，  ｕ［５，  ８］ｉ  ）｝ｉを持っていたとする。
【０３３３】
不正な装置を特定するには、以下の（ｋ＋１）重署名弱特定ルーチン（大人数用弱特定可能回数制限署名弱特定手段）を行う。
【０３３４】
図２５は、本発明の大人数用弱特定可能回数制限署名弱特定ルーチンの動作を示すフローチャートである。
【０３３５】
図２５を参照すると、検証装置３３はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｎとなるｉ１、ｉ２を見つける（ステップＴＳＭ−ＤＥＴ  １）  。
【０３３６】
このようなｉ１、ｉ２が見つかった場合、署名（ｍ＿ｉ１，ｗ＿ｉ１，ａ＿ｉ１，  Ｈ＿ｉ１，  Ｇ＿ｉ１，ａ［４］０＿ｉ１，  Ｇ［４］＿ｉ１，  Ｈ［６］＿ｉ１，  Ｇ［６］＿ｉ１，  ｂ［４］０＿ｉ１，  Ｇ［４，  ６］＿ｉ１，Ｇ［４，  ８］＿ｉ１，ｗ［４，  ８］＿ｉ１，ｃ＿ｉ１，ｘ［５］＿ｉ１，  ｅ［５］＿ｉ１，  ｕ［５］＿ｉ１，  ｙ［５］＿ｉ１，  ｆ［５］＿ｉ１，  ｕ［５，  ６］＿ｉ１，  ｕ［５，  ８］＿ｉ１  ）および（ｍ＿ｉ２，ｗ＿ｉ２，ａ＿ｉ２，  Ｈ＿ｉ２，  Ｇ＿ｉ２，ａ［４］０＿ｉ２，  Ｇ［４］＿ｉ２，  Ｈ［６］＿ｉ２，  Ｇ［６］＿ｉ２，  ｂ［４］０＿ｉ２，  Ｇ［４，  ６］＿ｉ２，Ｇ［４，  ８］＿ｉ２，ｗ［４，  ８］＿ｉ２，ｃ＿ｉ２，ｘ［５］＿ｉ２，  ｅ［５］＿ｉ２，  ｕ［５］＿ｉ２，  ｙ［５］＿ｉ２，  ｆ［５］＿ｉ２，  ｕ［５，  ６］＿ｉ２，  ｕ［５，  ８］＿ｉ２  ）を不正と認定する（ステップＴＳＭ−ＤＥＴ  ２）  。
【０３３７】
次に、本発明の第７の実施の形態について、図面を参照して詳細に説明する。第７の実施の形態では大人数用強特定可能回数制限署名を実現する方法を述べる。第７の実施の形態は、第６の実施の形態と同様に、グループ管理装置と、ユーザー装置（メンバー装置）と、検証装置と、サイト管理装置とを備える。
【０３３８】
まずグループ管理装置は、後述する大人数用強特定可能回数制限署名用セットアップルーチンを行い、領域変数を決める。
【０３３９】
ユーザー装置は、グループ管理装置にアクセスし、ライセンスをもらい、ユーザー装置は対応する公開鍵をグループ管理装置に送信する。ライセンスを受け取ったユーザー装置は、グループのメンバーと見做される。そこで、以後、ライセンスを受け取ったユーザー装置をメンバー装置と呼ぶ。
【０３４０】
サイト管理装置は、グループ管理装置にアクセスすることで大人数用タグを受け取る。
【０３４１】
メンバー装置は、ライセンスと、各サイト管理装置が公開する大人数用タグを用いてメッセージに対し大人数用強特定可能回数制限署名を行う。
【０３４２】
回数制限署名系において、グループ管理装置以外の装置は、どの装置が署名をしたのかを特定することはできない。また、メンバー装置以外の装置（ライセンスを持っていない装置）は、署名を作ることができない。
【０３４３】
検証装置は、領域変数およびタグを用い署名の正当性を検証する装置である。検証装置は、送られてきたデータ（以下疑似署名）が、メンバー装置がライセンスを用い正しい手順で作成した署名であるのか否かを判定し、出力する事ができる。また、検証装置に、署名達を入力すると、そこから、同一メンバー装置が同一サイトで回数制限を越えて行った署名を見つけ出すことができる。更にその署名者（メンバー装置）も特定することができる。
【０３４４】
グループ管理装置は、以下の大人数用強特定可能回数制限署名セットアップルーチン（大人数用強特定可能回数制限署名セットアップ手段）を行う。
【０３４５】
図２６は、大人数用強特定可能回数制限署名セットアップルーチンの動作を示すフローチャートである。
【０３４６】
図２６を参照すると、まずグループ管理装置は、セキュリティ・パラメーターε、μ、νを決める（ステップＴＳＳＭ−ＳＵ  １）  。尚、通常はν  ＝  １０２４，  μ  ＝  ε  ＝  １６０とすればよい。
【０３４７】
次にグループ管理装置はλ  ＝  ２（ν  ＋  ε）  、  γ  ＝  ２ν  ＋  λ  ＋  μ  ＋  ε  ＋  ５とする（ステップＴＳＳＭ−ＳＵ  ２）  。γ［６］  ＝  λ  ＋  μ  ＋  ε  ＋  ４とする（ステップＴＳＳＭ−ＳＵ２）。
【０３４８】
素数ｐ’，ｑ’を、  ｐ  ＝  ２ｐ’  ＋  １，  ｑ  ＝  ２ｑ’  ＋  １がνビットになるように選び、ｎ  ＝  ｐｑを計算する（ステップＴＳＳＭ−ＳＵ  ３）。
【０３４９】
グループ管理装置は、ＱＲ（ｎ）の元  ａ０，ａ１，  ａ２をランダムに選ぶ（ステップＴＳＳＭ−ＳＵ  ４）。但し、ここで、ＱＲ（ｎ）は、Ｚ／ｎＺの元で平方剰余であるもの全体を表す。
【０３５０】
グループ管理装置はνビットのビット列  ＩＬをランダムに選び、そのハッシュ値からＱＲ（ｎ）の元ｇ，  ｈを作る（ステップＴＳＳＭ−ＳＵ  ５）  。
【０３５１】
グループ管理装置は  （ｐ’，  ｑ’，  ｐ，  ｑ）を秘密鍵として秘密裡に保持し（ステップＴＳＳＭ−ＳＵ  ６）  、更に  （ε，μ，ν，ＩＬ，  ｎ，  ａ，  ａ０，  ｇ，ｈ）を公開鍵として公開する（ステップＴＳＳＭ−ＳＵ  ７）  。
【０３５２】
以下、２＾γ  −  ２＾λ以上  ２＾γ  ＋  ２＾λ以下の整数全体をΓと書く。また、−２λ以上２λ以下の整数全体をΛと書く。
【０３５３】
グループ管理装置は、ユーザー装置と通信をして、強特定可能回数制限署名用のライセンスを渡す。この為には、以下の大人数強特定可能回数制限署名用ジョインルーチン（大人数強特定可能回数制限署名用ジョイン手段）を行う。
【０３５４】
図２７は、大人数用強特定可能回数制限署名ジョインルーチンの動作を示すフローチャートである。
【０３５５】
図２７を参照すると、ユーザー装置はまず  ｇ，  ｈ  がＩＬのハッシュ値から作られていることを確認する。ユーザー装置は秘密裡かつランダムにλビット以下の非負整数ｘ１［２］、ｒ１［２］を選び、Ｃ１［９］  ＝  ｇ＾ｘ１［２］  ｈ＾ｒ１［２］  ｍｏｄ  ｎを計算し、グループ管理装置に、Ｃ１［９］を送る（ステップＴＳＳＭ−Ｊ  １）。ユーザー装置は秘密裡かつランダムにλビット以下の非負整数ｘ２［２］、ｒ２［２］を選び、Ｃ２［９］  ＝  ｇ＾ｘ２［２］  ｈ＾ｒ２［２］  ｍｏｄ  ｎを計算し、グループ管理装置に、Ｃ２［９］を送る（ステップＴＳＳＭ−Ｊ  １）。
【０３５６】
次にグループ管理装置はＣ１［９］がＱＲ（ｎ）の元であることを確認し、更にグループ管理装置はＣ２［９］がＱＲ（ｎ）の元であることを確認する。ランダムにλビット以下の非負整数β１、β２を選び、ユーザー装置に送る（ステップＴＳＳＭ−Ｊ  ２）  。
【０３５７】
ユーザー装置はｘ［２］１  ＋  β１を２λで割った商をθ１、余りをｘ１とする。Ｃ１  ＝  ａ１＾ｘ１  ｍｏｄ  ｎを計算する（ステップＴＳＳＭ−Ｊ  ３）。
【０３５８】
更にユーザー装置はｘ［２］２  ＋  β２を２λで割った商をθ２、余りをｘ２とする。Ｃ２  ＝  ａ２＾ｘ２  ｍｏｄ  ｎを計算し、Ｃ１、Ｃ２をグループ管理装置に送る（ステップＴＳＳＭ−Ｊ  ３）。
【０３５９】
更にユーザー装置はグループ管理装置に次の３つを満たすｘ［３］１，  θ［３］１、ｔ［２，  ３］１の知識を証明するゼロ知識証明書をグループ管理装置に送信（ステップＴＳＳＭ−Ｊ  ４）  。尚、上記の次の３つとは、▲１▼ｘ［３］  １の絶対値は２γ − ３未満，▲２▼ａ＾ｘ［３］１  ＝  Ｃ１  ｍｏｄ  ｎ，▲３▼Ｃ［９］１  ｇβ１  ＝  ｇ＾ｘ［３］１  ｇ＾（θ［３］１  ２λ）  ｈ＾ｔ［２，  ３］１  ｍｏｄ  ｎである。
【０３６０】
具体的には、次のようにする。
【０３６１】
ユーザー装置は、λ  ＋  ε  ビットの乱数ｘ［４，  ７］１、ｔ［２，  ４，  ７］１を秘密裡に生成。更に、θのビット数  ＋  εビットの乱数θ［４，  ７］１を秘密裡に生成。Ｃ［４，  ７］１  ＝  ａ１＾ｘ［４，  ７］１  ｍｏｄ  ｎ，  Ｃ［４，  ７，  ９］１  ＝  ｇ＾（ｘ［４，  ７］１）  ｇ＾（θ［４，  ７］１  ２λ）ｈ＾（ｔ［２，  ４，  ７］１）  ｍｏｄ  ｎ、を作成。更にユーザー装置３２は、ｃ１  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜Ｃ［４，  ７］１｜｜Ｃ［４，  ７，  ９］１）を計算。そしてｘ［５，７］１  ＝  ｃ１  ｘ１  ＋  ｘ［４，  ７］１，  ｔ［２，  ５，  ７］１  ＝  ｃ  ｔ１  ＋  ｔ［２，  ４，  ７］１，  θ［５，  ７］１  ＝  ｃ１  θ１  ＋  θ［４，  ７］１を作成。（Ｃ［４，  ７］１，  Ｃ［４，  ７，  ９］１，  ｃ１，  ｘ［５，  ７］１，  ｔ［２，  ５，  ７］１，  θ［５，  ７］１）を送信。
【０３６２】
グループ管理装置は証明書の正当性を検証する。即ち、まずＣ１＾ｃ１  ＝  ａ１＾ｘ［５，  ７］１  Ｃ［４，  ７］１  ｍｏｄ  ｎ  と、（Ｃ［９］１  ｇβ１）＾ｃ１  ＝  ｇ＾ｘ［５，  ７］１  ｇ＾（θ［５，  ７］１  ２λ）  ｈ＾ｔ［２，  ５，  ７］１Ｃ［４，  ７，  ９］１  ｍｏｄ  ｎを確認し、次にｘ［５，  ７］の絶対値が２＾（γ  −  ３）未満であることを確認する。
【０３６３】
更にユーザー装置はグループ管理装置に次の３つを満たすｘ［３］２，  θ［３］２、ｔ［２，  ３］２の知識を証明するゼロ知識証明書をグループ管理装置に送信（ステップＴＳＳＭ−Ｊ  ４）  。尚、上記の次の３つとは、▲１▼ｘ［３］  ２の絶対値は２γ − ３未満，▲２▼ａ＾ｘ［３］２  ＝  Ｃ２  ｍｏｄ  ｎ，▲３▼Ｃ［９］２  ｇβ２  ＝  ｇ＾ｘ［３］２  ｇ＾（θ［３］２  ２λ）  ｈ＾ｔ［２，  ３］２  ｍｏｄ  ｎである。
【０３６４】
具体的には、次のようにする。
【０３６５】
ユーザー装置は、λ  ＋  ε  ビットの乱数ｘ［４，  ７］２、ｔ［２，  ４，  ７］２を秘密裡に生成。更に、θのビット数  ＋  εビットの乱数θ［４，  ７］２を秘密裡に生成。Ｃ［４，  ７］２  ＝  ａ２＾ｘ［４，  ７］２  ｍｏｄ  ｎ，  Ｃ［４，  ７，  ９］２  ＝  ｇ＾（ｘ［４，  ７］２）  ｇ＾（θ［４，  ７］２  ２λ）ｈ＾（ｔ［２，  ４，  ７］２）  ｍｏｄ  ｎを作成。更にユーザー装置は、ｃ２  ＝  Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜Ｃ［４，  ７］２｜｜Ｃ［４，  ７，  ９］２）を計算。そしてｘ［５，  ７］２  ＝  ｃ２  ｘ２  ＋  ｘ［４，  ７］２，  ｔ［２，  ５，  ７］２  ＝  ｃ  ｔ２  ＋  ｔ［２，  ４，  ７］２，  θ［５，  ７］２  ＝ｃ２  θ２  ＋  θ［４，  ７］２を作成。（Ｃ［４，  ７］２，  Ｃ［４，  ７，  ９］２，  ｃ２，  ｘ［５，  ７］２，  ｔ［２，  ５，  ７］２，  θ［５，  ７］２）  を送信。
【０３６６】
グループ管理装置は証明書の正当性を検証する。即ち、まずＣ２＾ｃ２  ＝  ａ２＾ｘ［５，  ７］２  Ｃ［４，  ７］２  ｍｏｄ  ｎ  と、（Ｃ［９］２  ｇβ２）＾ｃ２  ＝  ｇ＾ｘ［５，  ７］２  ｇ＾（θ［５，  ７］２  ２λ）  ｈ＾ｔ［２，  ５，  ７］２Ｃ［４，  ７，  ９］２  ｍｏｄ  ｎを確認し、次にｘ［５，  ７］の絶対値が２＾（γ  −  ３）未満であることを確認する。
【０３６７】
グループ管理装置はΓから素数ｅをランダムに選び、Ａ  ＝  （Ｃ１Ｃ２  ａ０）１／ｅ  ｍｏｄ  ｎを計算し、Ａとｅをユーザー装置に送る（ステップＴＳＳＭ−Ｊ  ５）  。
【０３６８】
ユーザー装置はａ１＾（ｘ１）ａ２＾（ｘ２）  ａ０  ＝  Ａｅ  ｍｏｄ  ｎ  を確認する。更にｅがΓの元であることを確認する。
【０３６９】
以上でユーザー装置がグループ管理装置３１から受け取った（ｘ１，  ｘ２，  ｅ，  Ａ）をユーザー装置のライセンスと呼ぶ。ライセンスを受け取ったユーザー装置を以後メンバー装置と呼ぶ。ライセンス（ｘ１，  ｘ２，  ｅ，  Ａ）はａ１＾（ｘ１）ａ２＾（ｘ２）  ａ０＝  Ａｅ  ｍｏｄ  ｎ  を満たす。この等式をライセンス等式と呼ぶ。また、ｘ１，ｘ２の絶対値は２λ以下であり、ｅはΓの元である。このｘ１，ｘ２，ｅの範囲に関する条件をライセンス情報範囲指定条件と呼ぶ。
【０３７０】
メンバー装置は（ｘ１，ｘ２）を秘密鍵として秘密裡に保管し、更にｅとＡを保管する。
【０３７１】
グループ管理装置は、以上で得た（Ｃ１，Ｃ２，  Ａ，  ｅ）を、メンバー装置のＩＤと共に公開する（ステップＴＳＳＭ−Ｊ  ６）  。各メンバー装置のＩＤと対応する（Ｃ１，Ｃ２，  Ａ，  ｅ）との組とのリストを以後鍵リストと呼ぶ。
【０３７２】
グループ管理装置は大人数用強特定可能回数制限署名用セットアップルーチンを終えているとする。
【０３７３】
サイト管理装置は、サイト管理権授与およびタグの発行を、大人数用弱特定可能回数制限署名の場合（第６の実施の形態の場合）と同様の方法で行う。サイト管理権を得たサイト管理装置を大人数用強特定サイトと呼ぶ。
【０３７４】
グループ管理装置は大人数用強特定可能回数制限署名用セットアップルーチンを終えているとする。サイト管理装置とグループ管理装置はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置とグループ管理装置は大人数用タグ発行ルーチンをｋ回終えているとする。加えて、メンバー装置とグループ管理装置はジョインルーチンを終えているものとする。メンバー装置はライセンス（ｘ，Ａ，ｅ）を持っていたとする。
【０３７５】
メンバー装置が大人数用強特定サイトに対し、メッセージｍに署名するには、以下の大人数用強特定可能回数制限署名作成ルーチン（大人数用強特定可能回数制限署名作成手段）を行う。
【０３７６】
図２８は、大人数用強特定可能回数制限署名作成ルーチンの動作を示すフローチャートである。
【０３７７】
図２８を参照すると、まずメンバー装置はサイト管理装置が公開している大人数用タグ達から一組を選ぶ。以後これを（ｙ，  ｆ，  Ｂ）と表すことにする。メンバー装置は（ｙ，  ｆ，  Ｂ）に添付されたグループ管理装置の署名を確認する。
【０３７８】
メンバー装置は２λ以下の非負整数ｕをランダムに選び、エルガマル暗号（Ｇ，  Ｈ）＝  （ｇｕ  ｍｏｄ  ｎ  ，  Ａｈｕ  ｍｏｄ  ｎ  ）を計算する。メンバー装置は２λ以下の非負整数ｕ［６］をランダムに選び、エルガマル暗号（Ｇ［６］，  Ｈ［６］）  ＝（ｇ＾（ｕ［６］  ｍｏｄ  ｎ  ，  Ｂｈ＾（ｕ［６］）  ｍｏｄ  ｎ  ）を計算する（ステップＴＳＳＭ−ＳＩＧ  １）  。
【０３７９】
大人数用タグ（ｙ，  ｆ，  Ｂ）から、ｗ  ＝  Ｂ＾ｘ１  ｍｏｄ  ｎ  を計算する。ｗをメンバー装置の大人数用タグ（ｙ，  ｆ，  Ｂ）に対する弱特定用大人数用タグ署名と呼ぶ（ステップＴＳＳＭ−ＳＩＧ  ２）  。
【０３８０】
強特定用タグ署名変化用値ｔのハッシュ値ｌを計算し、大人数用タグ（ｙ，  ｆ，  Ｂ）から、ｗ’  ＝  （ａｌＢ）＾ｘ２  ｍｏｄ  ｎ  を計算する。ｗ’をメンバー装置の大人数用タグ（ｙ，  ｆ，  Ｂ）に対する強特定用大人数用タグ署名と呼ぶ（ステップＴＳＳＭ−ＳＩＧ  ３）  。
【０３８１】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｘ［４］１、ｘ［４］２、ｅ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋γ  ＋  １ビット以下の乱数ｕ［４］を選び、ａ［４］０  ＝  ａ＾（−  ｘ［４］１）ａ＾（−  ｘ［４］２）Ｈ＾（ｅ［４］）ｈ＾（−ｅ［４］ｕ  −  ｕ［４］  ）  ｍｏｄ  ｎを計算し、Ｇ［４］  ＝  ｇ＾（ｕ［４］）  ｍｏｄ  ｎを計算する。
【０３８２】
次にメンバー装置は絶対値がλ  ＋  μ  ＋  εビット以下の乱数ｙ［４］、ｆ［４］を選び、絶対値がλ  ＋  μ  ＋  ε  ＋  γ［６］ビット以下の乱数ｕ［４，  ６］を選び（ステップＴＳＳＭ−ＳＩＧ  ４）  、ｂ［４］０  ＝  ｂ＾（−  ｙ［４］）Ｈ［６］＾（ｆ［４］）ｈ＾（−ｆ［４］ｕ［６］  −  ｕ［４，  ６］  ）  ｍｏｄ  ｎを計算し、Ｇ［４，  ６］  ＝  ｇ＾（ｕ［４，  ６］）  ｍｏｄ  ｎ  を計算する（ステップＴＳＳＭ−ＳＩＧ  ５）  。
【０３８３】
メンバー装置は絶対値が２λ  ＋  μ  ＋  ２ε  ＋  γ  ＋  １ビット以下の乱数  ｕ［４，  ８］１を選び（ステップＴＳＳＭ−ＳＩＧ  ４）  、Ｇ［４，  ８］１  ＝  ｇ＾（ｕ１［４，  ８］）  ｍｏｄ  ｎを計算し、ｗ［４，  ８］  ＝Ｈ［６］＾（ｘ［４］１）ｈ＾（−  ｘ［４］１ｕ［６］  −ｕ［４，  ８］１  ）  ｍｏｄ  ｎを計算する（ステップＴＳＳＭ−ＳＩＧ  ５）  。
【０３８４】
メンバー装置は絶対値がλ  ＋  μ  ＋  ２ε  ＋  ２νビット以下の乱数ｕ２［４，  ８］を選び（ステップＴＳＳＭ−ＳＩＧ  ４）  、Ｇ［４，  ８］２  ＝  ｇ＾（ｕ２［４，  ８］）  ｍｏｄ  ｎ  を計算し、ｗ’［４，８］  ＝（ａｌＨ［６］  ）＾（−ｘ［４］２ｕ［６］  −ｕ２［４，  ８］）（ｈｌ）＾（−  ｘ［４］２ｕ［６］  −ｕ２［４，  ８］  ）ｍｏｄ  ｎ  を計算する（ステップＴＳＳＭ−ＳＩＧ  ４）。
【０３８５】
メンバー装置は  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜Ｉ＿Ｌ｜｜ｂ｜｜ｂ０  ｜｜Ｈ｜｜Ｇ  ｜｜ａ［４］０｜｜Ｇ［４］  ｜｜Ｈ［６］｜｜Ｇ［６］  ｜｜ｂ［４］０｜｜Ｇ［４，  ６］  ｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］  ｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］  ｜｜ｗ｜｜ｗ’｜｜ｌ｜｜ｔ｜｜ｍ）を計算する（ステップＴＳＳＭ−ＳＩＧ  ６）  。但し、ここでＨａｓｈはハッシュ関数で、Ｈａｓｈの値域はμビット以下の非負整数全体。また、記号「｜｜」はビット列の連接を表す。
【０３８６】
そしてメンバー装置はｘ［５］１  ＝  ｃｘ１  ＋  ｘ［４］１，  ｘ［５］２  ＝  ｃｘ２  ＋  ｘ［４］２，  ｅ［５］  ＝  ｃ（ｅ  −  ２＾（γ）  ）  ＋  ｅ［４］，ｕ［５］  ＝  （ｅ［５］  ＋  ｃ  ２＾（γ））ｕ  ＋ｕ［４］を計算。更にメンバー装置はｙ［５］  ＝  ｃｙ  ＋  ｙ［４］，  ｆ［５］  ＝  ｃ（ｆ  −  ２＾（γ［６］）  ＋  ｆ［４］，ｕ［５，  ６］  ＝  （ｆ［５］  ＋  ｃ  ２＾（γ［６］））ｕ［６］  ＋ｕ［４，  ６］を計算。加えてメンバー装置は、ｕ１［５，  ８］  ＝ｘ［５］１ｕ［６］＋  ｕ［４，  ８］１を計算。加えてメンバー装置は、ｕ２［５，  ８］  ＝ｘ［５］２ｕ［６］＋  ｕ２［４，  ８］を計算（ステップＴＳＳＭ−ＳＩＧ  ７）  。
【０３８７】
最後にメンバー装置は、（ｍ，ｗ，  ｗ’，Ｈ，  Ｇ，  Ｇ［６］，  Ｈ［６］，  ａ［４］０  ，Ｇ［４］，  ｂ［４］０  ，Ｇ［４，  ６］，  Ｇ［４，  ８］１，  ｗ［４，  ８］，  Ｇ［４，  ８］２，  ｗ’［４，  ８］，  ｃ，  ｘ［５］１，  ｘ［５］２，  ｅ［５］，  ｕ［５］，  ｙ［５］，  ｆ［５］，  ｕ［５，  ６］，  ｕ１［５，  ８］，  ｕ２［５，  ８］）を署名として出力する（ステップＴＳＳＭ−ＳＩＧ  ８）  。
【０３８８】
グループ管理装置はを大人数用強特定可能回数制限署名セットアップルーチンを終えているとする。サイト管理装置とグループ管理装置はサイト管理権授与ルーチンを終えているとし、更にサイト管理装置とグループ管理装置は大人数用タグ発行ルーチンをｋ回終えているとする。
【０３８９】
検証装置は、（ｍ，ｗ，  ｗ’，Ｈ，  Ｇ，  Ｇ［６］，  Ｈ［６］，  ａ［４］０  ，Ｇ［４］，  ｂ［４］０  ，Ｇ［４，  ６］，  Ｇ［４，  ８］１，  ｗ［４，  ８］，  Ｇ［４，  ８］２，  ｗ’［４，  ８］，  ｃ，  ｘ［５］１，  ｘ［５］２，  ｅ［５］，  ｕ［５］，  ｙ［５］，  ｆ［５］，  ｕ［５，  ６］，  ｕ１［５，  ８］，  ｕ２［５，  ８］）が、あるメンバー装置が大人数用強特定可能ｋ−回数制限署名ルーチンに従って作った署名であるか否かを確認したい。
【０３９０】
この為には、検証装置は、以下の大人数用強特定可能回数制限署名検証ルーチン（大人数用強特定可能回数制限署名検証手段）を行う。
【０３９１】
図２９は、大人数用強特定可能回数制限署名検証ルーチンの動作を示すフローチャートである。
【０３９２】
図２９を参照すると、検証装置は、まずａ０＾ｃ  ａ［４］０  ＝  ａ＾（−  ｘ［５］１）ａ＾（−  ｘ［５］２）  Ｈ＾（ｅ［５］  ＋  ｃ  ２＾（γ））ｈ＾（−ｕ［５］）  ｍｏｄ  ｎ  を確認し、ｇ＾（ｕ［５］）  ＝  Ｇ＾（ｅ［５］  ＋  ｃ２＾（γ））Ｇ［４］  ｍｏｄ  ｎ  を確認し、  ｘ［５］１、ｘ［５］２、およびｅ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＳＭ−ＶＥＲ１）。
【０３９３】
次にｂ０＾ｃ  ｂ［４］０  ＝  ｂ＾（−  ｙ［５］）Ｈ＾（ｆ［５］  ＋  ｃ  ２＾（γ［６］））ｈ＾（−  ｕ［５］）  ｍｏｄ  ｎ  を確認し、ｇ＾（ｕ［５］）  ＝  Ｇ＾（ｆ［５］  ＋  ｃ２＾（γ［６］））Ｇ［４］  ｍｏｄ  ｎ  を確認し、  ｙ［５］、及びｆ［５］の絶対値がλ  ＋  μ  ＋  ε  ＋  １以下であることを確認する（ステップＴＳＳＭ−ＶＥＲ２）。
【０３９４】
更にｗ＾ｃ  ｗ［４，  ８］  ＝  Ｈ［６］＾ｘ［５］１ｈ＾（−ｕ１［５，  ８］）  ｍｏｄ  ｎ  を確認する。Ｇ［８］＾ｃＧ１［４，  ８］  ＝  ｇ＾（ｕ［５］１）  ｍｏｄ  ｎを確認する（ステップＴＳＳＭ−ＶＥＲ３）。
【０３９５】
加えてｗ’＾ｃ  ｗ’［４，  ８］  ＝  Ｈ［６］＾ｘ［５］２ｈ＾（−ｕ２［５，  ８］）  ｍｏｄ  ｎ  を確認する。Ｇ［８］＾ｃＧ２［４，  ８］  ＝  ｇ＾（ｕ［５］２）  ｍｏｄ  ｎを確認する（ステップＴＳＳＭ−ＶＥＲ４）。
【０３９６】
最後に  ｃ  ＝Ｈａｓｈ（ε｜｜μ｜｜ν｜｜  ｎ｜｜  ａ｜｜  ａ０｜｜ｇ｜｜ｈ｜｜Ｉ＿Ｌ｜｜ｂ｜｜ｂ０  ｜｜Ｈ｜｜Ｇ  ｜｜ａ［４］０｜｜Ｇ［４］  ｜｜Ｈ［６］｜｜Ｇ［６］  ｜｜ｂ［４］０｜｜Ｇ［４，  ６］  ｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］  ｜｜Ｇ［４，  ８］｜｜ｗ［４，  ８］  ｜｜ｗ｜｜ｗ’｜｜ｌ｜｜ｔ｜｜ｍ）を確認する（ステップＴＳＳＭ−ＶＥＲ５）  。
【０３９７】
以上の確認が全て正しければ、検証装置は署名を受理し（ステップＴＳＳＭ−ＶＥＲ６）  、そうでなければ棄却する（ステップＴＳＳＭ−ＶＥＲ７）  。
【０３９８】
グループ管理装置は過去に大人数用強特定可能回数制限署名セットアップルーチンを終えているものとする。｛（ｙ，Ｂ，ｆ）｝をサイト管理装置が公開した大人数用タグ達とする。検証装置は署名の組｛（ｍ，ｗｉ，ａｉ，  Ｈ，  Ｇ，  ａ［４］０ｉ，  Ｇ［４］ｉ，  Ｈ［６］，  Ｇ［６］ｉ，ｂ［４］０ｉ，  Ｇ［４，  ６］ｉ，Ｇ［４，  ８］ｉ，ｗ［４，  ８］ｉ，ｃｉ，ｘ［５］ｉ，  ｅ［５］ｉ，  ｕ［５］ｉ，  ｙ［５］ｉ，  ｆ［５］ｉ，  ｕ［５，  ６］ｉ，  ｕ１［５，  ８］ｉ，ｕ２［５，  ８］ｉ  ）｝ｉを持っていたとする。
【０３９９】
不正な装置を特定するには、以下の大人数用強特定可能回数制限署名強特定ルーチン（大人数用強特定可能回数制限署名強特定手段）を行う。
【０４００】
図３０は、大人数用強特定可能回数制限署名強特定ルーチンの動作を示すフローチャートである。
【０４０１】
図３０を参照すると、検証装置はｗ＿｛ｉ１｝  ＝  ｗ＿｛ｉ２｝  ｍｏｄ  ｎとなるｉ１、ｉ２を見つける（ステップＴＳＳＭ−ＤＥＴ  １）  。
【０４０２】
このようなｉ１、ｉ２が見つかった場合、署名（ｍ＿ｉ１，ｗ＿ｉ１，ａ＿ｉ１，  Ｈ＿ｉ１，  Ｇ＿ｉ１，  ａ［４］０＿ｉ１，  Ｇ［４］＿ｉ１，  Ｈ［６］，  Ｇ［６］＿ｉ１，ｂ［４］０＿ｉ１，  Ｇ［４，  ６］＿ｉ１，Ｇ［４，  ８］＿ｉ１，ｗ［４，  ８］＿ｉ１，ｃ＿ｉ１，ｘ［５］＿ｉ１，  ｅ［５］＿ｉ１，  ｕ［５］＿ｉ１，  ｙ［５］＿ｉ１，  ｆ［５］＿ｉ１，  ｕ［５，  ６］＿ｉ１，  ｕ１［５，  ８］＿ｉ１，ｕ２［５，  ８］＿ｉ１  ）および（ｍ＿ｉ２，ｗ＿ｉ２，ａ＿ｉ２，  Ｈ＿ｉ２，  Ｇ＿ｉ２，  ａ［４］０＿ｉ２，  Ｇ［４］＿ｉ２，  Ｈ［６］，  Ｇ［６］＿ｉ２，ｂ［４］０＿ｉ２，  Ｇ［４，  ６］＿ｉ２，Ｇ［４，  ８］＿ｉ２，ｗ［４，  ８］＿ｉ２，ｃ＿ｉ２，ｘ［５］＿ｉ２，  ｅ［５］＿ｉ２，  ｕ［５］＿ｉ２，  ｙ［５］＿ｉ２，  ｆ［５］＿ｉ２，  ｕ［５，  ６］＿ｉ２，  ｕ１［５，  ８］＿ｉ２，ｕ２［５，  ８］＿ｉ２  ）を不正と認定する（ステップＴＳＳＭ−ＤＥＴ  ２）  。
【０４０３】
更に検証装置は（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）  ＝  （ａ＾ｘ  ）＾（（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））ｍｏｄ  ｎを計算（ステップＴＳＳＭ−ＤＥＴ  ３）  、検証装置は、グループ管理装置にｔ＿｛ｉ１｝，  ｔ＿｛ｉ２｝，ｌ＿｛ｉ１｝，ｌ＿｛ｉ２｝，（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）を渡す。
【０４０４】
グループ管理装置は、ｌ＿｛ｉ１｝，ｌ＿｛ｉ２｝がそれぞれｔ＿｛ｉ１｝，  ｔ＿｛ｉ２｝のハッシュ値であることを確認し、もしそうなら、（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝
−  ｌ＿｛ｉ２｝））  ＝  （ａ＾ｘ  ）  ｍｏｄ  ｎを計算して検証装置に渡す。
【０４０５】
グループ管理装置が公開している鍵リスト、｛（ＩＤ，  Ｃ１，  Ｃ２，  Ａ，  ｅ）｝の第三引数が（ｗ’＿｛ｉ１｝  ／  ｗ’＿｛ｉ２｝）＾（１  ／（ｌ＿｛ｉ１｝  −  ｌ＿｛ｉ２｝））  と一致しているＩＤを見つける（ステップＴＳＳＭ−ＤＥＴ  ４）  。
【０４０６】
本発明による上述した実施の形態において、署名システムの処理動作を実行するためのプログラム等を、データとしてコンピュータの磁気ディスクや光ディスク等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出して署名システムを動作させるために用いる。このように、本発明による署名システムを動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることにより署名システムの機能が実現できるようになる。
【０４０７】
【発明の効果】
第１の効果は、処理速度を高速化したグループ署名系では、従来技術のグループ署名系よりも、署名および検証の処理速度が向上することである。
【０４０８】
第２の効果は、弱特定可能二重署名禁止署名系、強特定可能二重署名禁止署名系、弱特定可能回数制限署名系、強特定可能回数制限署名系、大人数用弱特定可能回数制限署名系、大人数用強特定可能回数制限署名系では、通常の署名系と異なり、匿名性を保証することができ、更に従来技術のグループ署名系の欠点であった、グループ管理者による不必要な監視を防ぐことができることである。
【０４０９】
第３の効果は、弱特定可能二重署名禁止署名系では、通常の署名系と異なり、同一サイトで同一メンバーが二度署名していないことを確認でき、しかも誤って二度署名した場合ですら、署名者の匿名性を守ることができることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１０】
第４の効果は、強特定可能二重署名禁止署名系では、通常の署名系と異なり、同一サイトで同一メンバーが二度署名していないことを確認でき、しかも不正者が二度署名した場合には署名者を特定できることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１１】
第５の効果は、弱特定可能回数制限署名系および大人数用弱特定可能回数制限署名系では、通常の署名系と異なり、同一サイトで同一メンバーが、サイトの定める回数制限を越えて署名していないことを確認でき、しかも誤って二度署名した場合ですら、署名者の匿名性を守ることができることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１２】
第６の効果は、強特定可能回数制限署名系および大人数用強特定可能回数制限署名系では、通常の署名系と異なり、同一サイトで同一メンバーがサイトの定める回数制限を越えて署名していないことを確認でき、しかも不正者が二度署名した場合は、署名者を特定できることである。更に、相異なるサイトであれば、何度署名してもかまわないことである。
【０４１３】
加えて、第７の効果は、大人数用弱特定可能回数制限署名系では、弱特定可能回数制限署名系と異なり、処理速度が回数制限によらないことである。また、大人数強特定可能回数制限署名系は、強特定可能回数制限署名系と異なり、処理速度が回数制限によらないことである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示す図
【図２】本発明の高速化したグループ署名系のセットアップルーチンのフローチャートを示す図
【図３】本発明のグループ署名用ジョインルーチンのフローチャートを示す図
【図４】本発明のグループ署名ルーチンのフローチャートを示す図
【図５】本発明のグループ署名検証ルーチンのフローチャートを示す図
【図６】本発明のグループ署名における署名装置特定ルーチンのフローチャートを示す図
【図７】本発明の第２の実施の形態の構成を示す図
【図８】本発明の回数制限署名用セットアップルーチンのフローチャートを示す図
【図９】本発明の回数制限署名用ジョインルーチンのフローチャートを示す図
【図１０】本発明の弱特定可能二重署名禁止署名作成ルーチンのフローチャートを示す図
【図１１】本発明の弱特定可能二重署名禁止署名検証ルーチンのフローチャートを示す図
【図１２】本発明の弱特定可能二重署名禁止署名弱特定ルーチンのフローチャートを示す図
【図１３】本発明の強特定可能二重署名禁止署名作成ルーチンのフローチャートを示す図
【図１４】本発明の強特定可能二重署名禁止署名検証ルーチンのフローチャートを示す図
【図１５】本発明の強特定可能二重署名禁止署名強特定ルーチンのフローチャートを示す図
【図１６】本発明の弱特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図１７】本発明の弱特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図１８】本発明の弱特定可能回数制限署名弱特定ルーチンのフローチャートを示す図
【図１９】本発明の強特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２０】本発明の強特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図２１】本発明の強特定可能回数制限署名強特定ルーチンのフローチャートを示す図
【図２２】本発明の第６の実施の形態の構成を示す図
【図２３】本発明の大人数用弱特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２４】本発明の大人数用弱特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図２５】本発明の大人数用弱特定可能回数制限署名弱特定ルーチンのフローチャートを示す図
【図２６】本発明の大人数用強特定可能回数制限署名セットアップルーチンのフローチャートを示す図
【図２７】本発明の大人数用強特定可能回数制限署名ジョインルーチンのフローチャートを示す図
【図２８】本発明の大人数用強特定可能回数制限署名作成ルーチンのフローチャートを示す図
【図２９】本発明の大人数用強特定可能回数制限署名検証ルーチンのフローチャートを示す図
【図３０】本発明の大人数用強特定可能回数制限署名強特定ルーチンのフローチャートを示す図
【図３１】従来システムの構成を示す図
【符号の説明】
１１    グループ管理装置
１２    ユーザー装置
１３    検証装置
２１    グループ管理装置
２２    ユーザー装置
２３    検証装置
２４    サイト管理装置
３１    グループ管理装置
３２    ユーザー装置
３３    検証装置
３４    サイト管理装置
４１    グループ管理装置
４２    ユーザー装置
４３    検証装置
【図１】
2004228958.tif 000003
【図２】
2004228958.tif 000004
【図３】
2004228958.tif 000005
【図４】
2004228958.tif 000006
【図５】
2004228958.tif 000007
【図６】
2004228958.tif 000008
【図７】
2004228958.tif 000009
【図８】
2004228958.tif 000010
【図９】
2004228958.tif 000011
【図１０】
2004228958.tif 000012
【図１１】
2004228958.tif 000013
【図１２】
2004228958.tif 000014
【図１３】
2004228958.tif 000015
【図１４】
2004228958.tif 000016
【図１５】
2004228958.tif 000017
【図１６】
2004228958.tif 000018
【図１７】
2004228958.tif 000019
【図１８】
2004228958.tif 000020
【図１９】
2004228958.tif 000021
【図２０】
2004228958.tif 000022
【図２１】
2004228958.tif 000023
【図２２】
2004228958.tif 000024
【図２３】
2004228958.tif 000025
【図２４】
2004228958.tif 000026
【図２５】
2004228958.tif 000027
【図２６】
2004228958.tif 000028
【図２７】
2004228958.tif 000029
【図２８】
2004228958.tif 000030
【図２９】
2004228958.tif 000031
【図３０】
2004228958.tif 000032
【図３１】
2004228958.tif 000033