(57)【要約】【課題】文書データの秘匿性を保証しつつ、署名生成者の匿名性をも保証すること。【解決手段】署名対象文書データと署名生成装置の公開情報と乱数から署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名生成装置ごとの公開情報と乱数からダミー署名生成装置に対するリング情報を生成するリング情報演算部２０５と、両リング情報に対してブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド部２０６と、ブラインド化リング情報を署名生成装置に送信し、署名生成装置からブラインド化署名情報を受信する入出力部２０９と、ブラインド化署名情報にブラインド除去処理を施した署名情報を求める署名情報ブラインド除去部２０７とを備え、署名情報と署名対象文書データと署名生成装置およびダミー署名生成装置の公開情報とを含む署名付き文書データを出力する。【選択図】        図２
2006101225.tif 000002
【特許請求の範囲】
【請求項１】
署名対象文書データに対するブラインド署名を生成する署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手段と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手段と、
前記受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、
前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、
を備えたことを特徴とする署名要求装置。
【請求項２】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された第３の乱数に基づいて生成された拘束情報を受信し、
前記リング情報演算手段は、前記応答受信手段によって受信した前記拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記第１の乱数に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第２の乱数とに基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成することを特徴とする請求項１に記載の署名要求装置。
【請求項３】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された複数の第３の乱数に基づいて生成された複数の拘束情報を受信し、
前記リング情報演算手段は、前記受信手段によって受信した前記複数の拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した複数の前記第１の乱数に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した複数の前記第２の乱数とに基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成することを特徴とする請求項１に記載の署名要求装置。
【請求項４】
前記応答受信手段は、前記署名生成依頼に対する応答として、前記署名生成装置で生成された第３の乱数と、前記署名対象文書データの一部である部分情報に基づいて生成された拘束情報を受信し、
前記リング情報演算手段は、前記受信手段によって受信した前記拘束情報と前記署名対象文書データと前記署名生成装置の公開情報と前記第１の乱数と前記部分情報に一方向性関数を施した関数値に基づいて前記署名生成装置に対する前記リング情報の初期値を算出し、前記署名生成装置に対する前記リング情報の初期値と前記署名対象文書データとネットワーク上における前記署名生成装置の総数と前記部分情報に一方向性関数を施して演算された前記署名生成装置に対する前記リング情報を生成し、前記署名生成装置に対応した前記リング情報と前記複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第２の乱数と前記部分情報に基づいた情報と前記署名対象文書データとネットワーク上における前記署名生成装置の総数とに一方向性関数を施して演算された前記ダミー署名生成装置に対する前記リング情報を生成し、
前記リング情報ブラインド手段は、前記リング情報演算手段によって生成された前記署名生成装置に対する前記リング情報と前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成し、
前記出力手段は、前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記部分情報と前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力することを特徴とする請求項１に記載の署名要求装置。
【請求項５】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置とにネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、
前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手段と、
を備えたことを特徴とする署名要求装置。
【請求項６】
ネットワーク上の複数の署名生成装置から前記ダミー署名生成装置となる前記署名生成装置を選択するダミー署名者選択手段と、
前記ダミー署名者選択手段によって選択された前記ダミー署名生成装置をリング状に順序づける整列手段と、をさらに備え、
前記リング情報演算手段は、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データと前記ダミー署名者選択手段によって選択されかつ前記整列手段によってリング状に順序所付けられた複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成することを特徴とする請求項１〜５のいずれか一つに記載の署名要求装置。
【請求項７】
前記ダミー署名生成装置となる前記署名生成装置と前記ダミー署名生成装置の順序づけを予め対応付けた署名者情報を記憶する記憶手段をさらに備え、
前記リング情報演算手段は、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データと前記記憶手段に記憶された前記署名者情報に基づいて選択されかつリング状に順序所付けられた複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した前記第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成することを特徴とする請求項１〜５のいずれか一つに記載の署名要求装置。
【請求項８】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置とを備えた署名システムであって、
前記署名要求装置は、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択された署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する第１の送信手段と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第１の受信手段と、
前記第１の受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、
前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備え、
前記署名生成装置は、
前記署名要求装置から前記ブラインド化リング情報を受信する第２の受信手段と、
前記第２の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第３の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、
前記署名演算手段によって生成された前記ブラインド化署名情報を、前記署名要求装置に送信する第２の送信手段と、
を備えたことを特徴とする署名システム。
【請求項９】
署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置と、前記署名要求装置と前記署名生成装置にネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置を備えた署名システムであって、
前記署名要求装置は、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、
前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、
前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、
前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、
前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、
前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する第１の送信手段と、を備え、
前記署名生成装置は、
前記署名要求装置から前記ブラインド化リング情報と前記暗号化ブラインド情報を受信する第２の受信手段と、
前記第２の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第３の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、
前記署名演算手段によって生成された前記ブラインド化署名情報と前記暗号化ブラインド情報を、前記攪乱除去装置に送信する第２の送信手段と、
前記攪乱除去装置は、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第３の受信手段と、
前記第３の受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求めるブラインド除去手段と、
前記第３の受信手段によって受信した暗号化ブラインド情報を前記暗号鍵によって復号化する復号演算手段と、
前記ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、
を備えたことを特徴とする署名システム。
【請求項１０】
前記署名生成装置は、
前記署名要求装置から署名生成依頼を受信した場合に、前記署名生成装置で生成した前記第３の乱数に基づいた拘束情報を生成する拘束情報生成手段をさらに備え、
前記第２の送信手段は、さらに前記拘束情報生成手段によって生成された前記拘束情報を前記署名要求装置に送信することを特徴とする請求項８または９に記載の署名システム。
【請求項１１】
前記拘束情報生成手段は、前記署名要求装置から署名生成依頼と前記署名対象文書データの一部である部分情報を受信した場合に、前記署名生成装置で生成した前記第３の乱数と前記部分情報に基づいた拘束情報を生成することを特徴とする請求項８または９に記載の署名システム。
【請求項１２】
前記署名生成装置は、
前記署名生成装置で生成した前記第３の乱数に基づいて予め生成された拘束情報と前記第３の乱数とを対応付けて記憶する拘束情報記憶手段をさらに備え、
前記第２の送信手段は、さらに、前記署名要求装置から署名生成依頼を受信した場合に、前記拘束情報記憶手段に記憶された前記拘束情報を前記署名要求装置に送信することを特徴とする請求項８または９に記載の署名システム。
【請求項１３】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求方法であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼ステップと、
前記署名生成依頼ステップによって送信した前記署名生成依頼に対する応答を受信する応答受信ステップと、
前記応答受信ステップによって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算ステップと、
前記リング情報演算ステップによって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインドステップと、
前記リング情報ブラインドステップによって生成されたブラインド化リング情報を前記署名生成装置に送信する送信ステップと、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信ステップと、
前記受信ステップによって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去ステップと、
前記署名情報ブラインド除去ステップにより求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力ステップと、
を含むことを特徴とする署名要求方法。
【請求項１４】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求方法であって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼ステップと、
前記署名生成依頼ステップによって送信した前記署名生成依頼に対する応答を受信する応答受信ステップと、
前記応答受信ステップによって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算ステップと、
前記リング情報演算ステップによって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインドステップと、
ネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化ステップと、
前記リング情報ブラインドステップによって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化ステップによって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信ステップと、
を含むことを特徴とする署名要求方法。
【請求項１５】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求プログラムであって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手順と、
前記署名生成依頼手順によって送信した前記署名生成依頼に対する応答を受信する応答受信手順と、
前記応答受信手順によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手順と、
前記リング情報演算手順によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手順と、
前記リング情報ブラインド手順によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手順と、
前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手順と、
前記受信手順によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手順と、
前記署名情報ブラインド除去手順により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手順と、
をコンピュータに実行させる署名要求プログラム。
【請求項１６】
署名対象文書データに対するブラインド署名を生成する署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求プログラムであって、
前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手順と、
前記署名生成依頼手順によって送信した前記署名生成依頼に対する応答を受信する応答受信手順と、
前記応答受信手順によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手順と、
前記リング情報演算手順によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手順と、
ネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手順と、
前記リング情報ブラインド手順によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手順によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手順と、
をコンピュータに実行させる署名要求プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライバシーを保護する追跡不可能型のブラインド署名方式を利用した署名要求装置、署名システム、署名要求方法および署名要求プログラムに関する。
【背景技術】
【０００２】
デジタル文書の改ざんを防止するためのデジタル署名方式の技術として、ブラインド署名方式が一般的に知られている。ブラインド署名とは、署名依頼者と署名生成者の二者により実行され、署名依頼者が署名依頼を行う文書を秘匿した状態で署名生成依頼を行い、署名生成者によって署名をうける技術であり、電子マネー、電子選挙等に利用されている。ブラインド署名方式は、署名を受ける文書とカーボン紙を封筒に封入し、その上から署名をして貰うという紙ベースの方法を電子的に実現する方法といえる。このようなブラインド署名方式として、ＲＳＡ署名に基づいた方式等が開示されている（例えば、非特許文献１参照）。
ブラインド署名方式では、署名依頼者はまず署名を依頼する文書を乱数で攪乱するブラインド処理を施し、ブラインド化された文書を署名生成者に送信する。署名生成者は、ブラインド化された文書に秘密鍵で署名を生成し、署名依頼者に返信する。署名依頼者は、ブラインド化された文書に乱数の影響を除去するブラインド除去処理を施して署名付き文書を取得する。署名生成者は、過去に署名依頼者から受信したブラインド化された文書と署名付き文書を対応付けることが不可能となっており、後に署名依頼者がこの署名付き文書を流通させた場合でも、いつ、誰が署名生成依頼を行った文書であるかを特定することができないため個人情報を秘匿することができるようになっている。
【０００３】
例えば、ブラインド署名は個人情報の保護を目的として電子決済システムで用いられる。この電子決済システムでブラインド署名方式を利用する場合には、署名依頼者が商業者と取引を行う利用者であり、署名生成者が電子現金を発行する金融機関となる。
【０００４】
署名依頼者である利用者は、署名生成者である金融機関に電子現金の管理に必要となる貨幣情報にブラインド処理を施して電子現金の発行依頼を行い、金融機関が生成した署名にブラインド除去処理を施して署名付き文書である電子現金を受け取る。後に利用者はこの電子現金を任意の商業者で利用し、商業者は金融機関に電子現金を還流する。署名生成者である金融機関は、ブラインド化された貨幣情報を利用者ごとに蓄積することが可能であるが、蓄積されたブラインド化された貨幣情報と、商業者から還流された電子現金の情報との対応をとることが不可能であり、どの利用者がどの商業者と取引を行ったかは金融機関には不明となり、電子現金の秘匿性が図られることになる。
【０００５】
【非特許文献１】Chaum (D.Chaum,“Blind Signatures for Untraceable Payments,”Advances in Cryptology Proceedings of Crypto 82, D. Chaum, R.L. Rivest, & A.T. Sherman (Eds.), Plenum, pp. 199-203, 1983)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このブラインド署名方式では、文書の秘匿性を図ることは可能であるが、署名生成者の匿名性を実現することはできないという問題がある。例えば、上述した電子決裁システムでブラインド署名を利用する場合には、署名依頼者である利用者と署名生成者である金融機関の取引の必要以上の情報が第三者である商業者に漏洩する可能性がある。一方、署名生成者である金融機関も電子現金の発行元が自分自身であることを特定されることによって利用者の範囲を限定できるため、利用者と商業者の取引情報が漏洩してしまう恐れがある。
【０００７】
本発明は、上記に鑑みてなされたものであって、文書データの秘匿性を保証しつつ、署名生成者の匿名性をも保証することができる署名要求装置、署名システム、署名要求方法および署名要求プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する送信手段と、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する受信手段と、前記受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、  前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備えたことを特徴とする。
【０００９】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置とにネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置であって、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する送信手段と、を備えたことを特徴とする。
【００１０】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置とを備えた署名システムであって、前記署名要求装置は、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択された署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記リング情報ブラインド手段によって生成されたブラインド化リング情報を前記署名生成装置に送信する第１の送信手段と、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第１の受信手段と、前記第１の受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求める署名情報ブラインド除去手段と、前記署名情報ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備え、前記署名生成装置は、前記署名要求装置から前記ブラインド化リング情報を受信する第２の受信手段と、前記第２の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第３の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、  前記署名演算手段によって生成された前記ブラインド化署名情報を、前記署名要求装置に送信する第２の送信手段と、を備えたことを特徴とする。
【００１１】
また、本発明は、署名対象文書データに対するブラインド署名を生成する署名生成装置と、前記署名生成装置とネットワークで接続され、前記署名生成装置に対して前記署名対象文書データに対するブラインド署名の生成を依頼する署名要求装置と、前記署名要求装置と前記署名生成装置にネットワークで接続され、前記ブラインド署名が付加された前記署名対象文書データの攪乱を除去する攪乱除去装置を備えた署名システムであって、前記署名要求装置は、前記署名生成装置に対して署名生成依頼を送信する署名生成依頼手段と、前記署名生成依頼手段によって送信した前記署名生成依頼に対する応答を受信する応答受信手段と、前記応答受信手段によって受信した前記応答と前記署名対象文書データと前記署名生成装置の公開情報と前記署名生成装置に対応した第１の乱数に基づいて前記署名対象文書データを攪乱した前記署名生成装置に対するリング情報を生成し、前記署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と前記複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて前記署名対象文書データを攪乱した前記複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成するリング情報演算手段と、前記リング情報演算手段によって生成された前記署名生成装置に対するリング情報と前記ダミー署名生成装置ごとのリング情報に対して前記第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成するリング情報ブラインド手段と、前記攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成するブラインド情報暗号化手段と、前記リング情報ブラインド手段によって生成された前記ブラインド化リング情報と前記ブラインド情報暗号化手段によって生成された前記暗号化ブラインド情報を前記署名生成装置に送信する第１の送信手段と、を備え、前記署名生成装置は、前記署名要求装置から前記ブラインド化リング情報と前記暗号化ブラインド情報を受信する第２の受信手段と、前記第２の受信手段よって受信した前記ブラインド化リング情報と鍵情報と前記署名生成装置で生成した第３の乱数に基づいたブラインド化署名情報を生成する署名演算手段と、前記署名演算手段によって生成された前記ブラインド化署名情報と前記暗号化ブラインド情報を、前記攪乱除去装置に送信する第２の送信手段と、前記攪乱除去装置は、前記署名生成装置から前記ブラインド化リング情報に基づいて生成されたブラインド化署名情報を受信する第３の受信手段と、前記第３の受信手段によって受信した前記ブラインド化署名情報に前記第１の乱数による攪乱を除去するブラインド除去処理を施した署名情報を求めるブラインド除去手段と、前記第３の受信手段によって受信した暗号化ブラインド情報を前記暗号鍵によって復号化する復号演算手段と、前記ブラインド除去手段により求めた署名情報と前記署名対象文書データと前記署名生成装置および前記ダミー署名生成装置の公開情報とを含む署名付き文書データを出力する出力手段と、を備えたことを特徴とする。
また、本発明は、上記署名要求装置に対応した方法およびプログラムである。
【発明の効果】
【００１２】
本発明によれば、署名要求装置側で、署名生成装置に対する署名生成依頼に対する応答と署名対象文書データと署名生成装置の公開情報と署名生成装置に対応した第１の乱数に基づいて署名対象文書データを攪乱した署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて署名対象文書データを攪乱した複数のダミー署名生成装置に対するリング情報を前記ダミー署名生成装置ごとに生成して、署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報に対して第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成して、このブラインド化リング情報を署名生成装置に送信しているので、署名対象文書の情報は署名生成装置には漏洩することがなく、また、署名検証時に現れるリング情報にブラインド処理が施されているため、署名生成装置が有する情報を用いたとしても、署名生成時の情報と流通する署名情報との対応付けがすることができず、署名対象文書の秘匿性を図ることができる。また、署名要求装置で署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報を算出しているため、署名検証時にどの署名生成装置が署名生成を行ったかを特定することができず、署名者の匿名性を図ることができる。
【００１３】
このように本発明によれば、署名検証時にあらわれるリング情報を署名要求装置側で生成して、さらにブラインド処理を施して署名生成装置に送信して署名対象文書に対する署名情報を生成させているので、署名対象文書の秘匿性を保証しつつ、署名生成者の匿名性を保証することができるという効果を奏する。
【００１４】
また、本発明によれば、署名要求装置側で、署名生成装置に対する署名生成依頼に対する応答と署名対象文書データと前記署名生成装置の公開情報と署名生成装置に対応した第１の乱数に基づいて署名対象文書データを攪乱した署名生成装置に対するリング情報を生成し、署名対象文書データとダミー署名者として選択されてリング状に順序付けられた複数の署名生成装置である複数のダミー署名生成装置ごとの公開情報と複数のダミー署名生成装置ごとに対応した第２の乱数に基づいて署名対象文書データを攪乱した複数のダミー署名生成装置に対するリング情報をダミー署名生成装置ごとに生成し、署名生成装置に対するリング情報とダミー署名生成装置ごとのリング情報に対して第１の乱数に基づいてブラインド処理を施してブラインド化リング情報を生成し、攪乱除去装置の復号鍵に対応する暗号鍵によりブラインド除去に使用するブラインド情報を暗号化した暗号化ブラインド情報を生成し、ブラインド化リング情報と暗号化ブラインド情報を署名生成装置に送信することで、署名要求装置では署名付き文書データの受信を待たずに署名要求処理を完了することができ、署名生成装置がブラインド化された署名情報を回答するまでの署名要求装置の署名付き文書データ受信の待ち時間を削減することができるという効果を奏する。また、本発明によれば、ブラインド情報は、署名要求装置により攪乱除去装置で復号化が可能な鍵で暗号化して署名生成装置に送信しているので、攪乱除去装置で暗号化ブラインド情報を復号化することで安全性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかる署名要求装置、署名システム、署名要求方法および署名要求プログラムの最良な実施の形態を詳細に説明する。
【００１６】
（実施の形態１）
図１は、実施の形態１にかかる署名システムのネットワーク構成を示す説明図である。図１に示すように、本実施の形態にかかる署名システムは、署名の生成を依頼する署名要求装置１００と、依頼を受けた文書に署名情報を付加した署名付き文書を生成する複数の署名生成装置１１０と、署名付き文書の検証を行う署名検証装置１２０とがインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１３０に接続された形態となっている。
【００１７】
まず、本実施の形態にかかる署名要求装置１００について説明する。図２は、実施の形態１にかかる署名要求装置１００の機能的構成を示すブロック図である。署名要求装置１００は、図２に示すように、ダミー署名者選択部２０１と、整列部２０２と、関数演算部２０３と、公開鍵演算部２０４と、リング情報演算部２０５と、リング情報ブラインド部２０６と、署名情報ブラインド除去部２０７と、乱数発生器２０８と、入出力部２０９と、公開鍵メモリ２１０と、乱数メモリ２１１と、メモリ２１２とを主に備えている。
【００１８】
ダミー署名者選択部２０１は、ネットワーク上に公開されている署名生成装置１１０の識別情報と署名生成装置１１０の公開鍵のリストを入出力部２０９を介して取得し、取得したリストからダミー署名者とする署名生成装置１１０を選択する処理部である。なお、ダミー署名者として選択する署名生成装置１１０の数は予め定めておく他、ダミー署名者選択時に任意の数にランダムに決定してもよい。
【００１９】
公開鍵メモリ２１０は、署名生成装置１１０及びダミー署名者として選択された署名生成装置１１０の公開鍵暗号方式に関する公開鍵を格納するメモリである。
【００２０】
整列部２０２は、署名生成装置１１０の識別情報と、ダミー署名者として選択された署名生成装置１１０（ダミー署名生成装置）の識別情報をランダムに順序付ける処理部である。整列部２０２では、署名生成装置１１０とダミー署名生成装置の総数をＬとした場合に、１番目に順序付けられた装置をＬ＋１番目に順序付けられる装置とみなして順序づけることによりリング状に各署名生成装置１１０の識別情報を順序付ける処理を行う。
【００２１】
関数演算部２０３は、署名生成装置１１０およびダミー署名生成装置のそれぞれに対応する一方向性関数であるハッシュ関数Ｈiを入出力部５０６を介して取得し、入力に対しランダムなハッシュ値を計算する処理部である。上述したとおり，すべての署名生成装置が同一のランダム関数Ｈを利用する場合には、関数演算部５０７には予め関数Ｈが保存されていてもよい。
公開鍵演算部２０４は、公開鍵メモリ２１０に格納されている公開鍵によって公開鍵暗号演算を行う処理部である。
【００２２】
リング情報演算部２０５は、入出力部２０９を介して署名生成装置１１０から取得した拘束情報と、乱数メモリ２１１に保存されている署名生成装置１１０に対応して発生させた乱数から署名生成装置１１０に対応するリング情報の初期値を計算し、計算されたリング情報初期値と署名対象文書データとネットワーク上の署名生成装置１１０の総数から署ハッシュ関数Ｈiを利用して署名生成装置１１０に対応したリング情報を生成する処理を行う。また、リング情報演算部２０５は、署名生成装置１１０に対応したリング情報とダミー署名生成装置ごとの公開情報とダミー署名生成装置ごとに対応して乱数発生器２０８により発生させた乱数に基づいてリング情報を生成し、このリング情報と署名対象文書データとネットワーク上における署名生成装置の総数とに一方向性関数を施してダミー署名生成装置に対するリング情報を計算してダミー署名生成装置ごとに生成する処理を行う。
【００２３】
リング情報ブラインド部２０６は、リング情報演算部２０５によって計算された署名生成装置１１０に対応したリング情報およびダミー署名生成装置に対応したリング情報に対して、乱数メモリ２１１に保存されている署名生成装置１１０に対応した乱数を利用してブラインド処理を施す処理部である。
【００２４】
署名情報ブラインド除去部２０７は、入出力部２０９を介して署名生成装置１１０から取得したブラインド化された署名情報に対して、乱数メモリ２１１に保存されている乱数を利用してブラインド除去処理を施して署名情報を生成する処理部である。
【００２５】
乱数発生器２０８は、ブラインド処理時に攪乱のために使用する乱数及びダミー署名者に対応する署名成分としての乱数を発生させるものである。乱数メモリ２１１は、乱数発生器２０８によって発生させた乱数を保持するメモリである。
【００２６】
入出力部２０９は、署名生成装置１１０や署名検証装置１２０との間でネットワークを介して各種データの入出力を行う処理部である。また、入出力部２０９は署名生成装置１１０に対する署名生成依頼を送信し、その応答である拘束情報を受信する処理も行う。さらに、入出力部２０９は、署名付き文書データの出力も行う。入出力部２０９は、本発明における署名生成依頼手段、送信手段、受信手段、出力手段、第１の送信手段、第１の受信手段に相当する。メモリ２１２は、各種データの保存を行うものである。
【００２７】
ここで、本実施の形態では、署名生成装置１１０およびダミー署名者として選択された署名生成装置１１０の識別情報は、説明の都合上、署名生成の順番と同一であるとする。これにより、署名生成装置１１０の識別情報と署名順番を同一視することができるが、必ずしも署名生成装置１１０およびダミー署名者として選択された署名生成装置１１０の識別情報は、説明の都合上、署名生成の順番と同一に限定されるものではない。
【００２８】
次に、本実施の形態にかかる署名生成装置１１０について説明する。図３は、実施の形態１にかかる署名生成装置１１０の機能的構成を示すブロック図である。本実施の形態にかかる署名生成装置１１０は、図３に示すように、拘束情報演算部３０１と、署名演算部３０２と、乱数発生器３０４と、入出力部３０３と、乱数メモリ３０６と、秘密鍵メモリ３０５と、メモリ３０７とを主に備えている。
【００２９】
拘束情報演算部３０１は、署名要求装置１００から署名生成依頼を受信した場合に、乱数メモリ３０６に保存されている乱数を利用して拘束情報を計算し、拘束情報を入出力部３０３を介して署名要求装置１００に送信する処理部である。
【００３０】
秘密鍵メモリ３０５は、署名生成装置１１０の利用者の公開鍵暗号方式に関する秘密鍵を格納するメモリである。
【００３１】
署名演算部３０２は、ブラインド化されたリング情報を入出力部４０４を介して署名要求装置１００から受信し、秘密鍵メモリ３０５に格納された秘密鍵を読み出して、受信したブラインド化されたリング情報から秘密鍵を利用してブラインド化された署名情報を生成し、署名要求装置１００に入出力部３０３を介して送信する処理部である。
【００３２】
乱数発生器３０４は、拘束情報の生成時に必要な乱数を発生させるものである。乱数メモリ３０６は、乱数発生器３０４によって発生させた乱数を保持するメモリである。
【００３３】
入出力部３０３は、署名要求装置１００や署名検証装置１２０との間でネットワークを介して各種データの入出力を行う処理部である。メモリ３０７は、各種データを保存するメモリである。また、入出力部３０３は、署名生成装置からの署名生成依頼を受信しその応答として拘束情報を送信する。入出力部３０３は、本発明における受信手段、送信手段、第１の受信手段、第２の送信手段に相当する。
【００３４】
ここで、本実施の形態では、識別情報ＩＤiの署名生成装置１１０が使用するハッシュ関数をＨiと示す。なお、全ての署名生成装置１１０において同一のハッシュ関数Ｈを使用するように構成してもよい。
【００３５】
（署名検証装置）
次に、本実施の形態にかかる署名検証装置１２０について説明する。図４は、実施の形態１にかかる署名検証装置１２０の機能的構成を示すブロック図である。本実施の形態にかかる署名検証装置１２０は、図４に示すように、関数演算部４０１と、リング情報演算部４０２と、検証部４０７と、公開鍵演算部４０３と、入出力部４０４と、公開鍵メモリ４０５と、メモリ４０６とを主に備えている。
【００３６】
関数演算部４０１は、署名生成装置１１０およびダミー署名者として選択された署名生成装置１１０のそれぞれに対応するハッシュム関数Ｈiを入出力部４０４を介して取得して、入力に対しランダムなハッシュ値を計算する処理部である。すべての署名生成装置１１０が共通のハッシュ関数Ｈを利用する場合には、関数演算部４０１に予めハッシュ関数Ｈを保持するように構成してもよい。
【００３７】
リング情報演算部４０２は、署名付き文書データに含まれるリング情報の初期値からリング情報を計算する処理部である。
【００３８】
公開鍵演算部４０３は、公開鍵メモリ４０５に保存されている公開鍵に利用して公開鍵暗号演算を行う処理部である。
【００３９】
検証部４０７は、第Ｌ＋１番目のリング情報ｃL+1が第１番目のリング情報ｃ1に一致するか否かを検証する処理を行う。
【００４０】
公開鍵メモリ４０５は、署名生成装置１１０およびダミー署名者として選択された署名生成装置１１０の公開鍵暗号方式に関する公開鍵を格納するメモリである。
【００４１】
入出力部４０４は、署名生成装置１１０や署名要求装置１００との間でネットワークを介して各種データの入出力を行う処理部である。メモリ４０６は、各種データを保存するメモリである。
【００４２】
次に、本実施の形態にかかる署名生成装置１１０、署名要求装置１００、署名検証装置１２０で使用するパラメータと関数の入出力データのデータ長について説明する。なお、ここでは、整数の剰余環の乗法群上の離散対数問題を安全性の根拠とする方式を説明する。その他、楕円曲線上の点のなす有限群上など異なる群の上での離散対数問題を安全性の根拠とする方式も構成できる。識別情報ＩＤiを有する署名生成装置１１０の署名者は、素数ｐiとｐi−１を割り切る素数ｑi、離散対数の底ｇi、公開鍵ｙi、ハッシュ関数Ｈiを公開情報として識別情報ＩＤiとともにネットワーク上の署名要求装置１００および署名検証装置１２０に公開する。
【００４３】
但し、公開鍵ｙiは、秘密鍵ｘi∈｛０，１，・・・，ｑi−１｝（＝Ｚｑi）に対して、次の（１）式で算出される値である。
【００４４】
ｙi＝ｇixiｍｏｄ ｐi  ・・・（１）
ここで、秘密鍵ｘiは、署名生成装置１１０の秘密鍵メモリ３０５に非公開で保持されている。また、ａ ｍｏｄ ｐは、ａをｐで割ったときの余りを示す。
【００４５】
このとき、ｐiとｇiのサイズは１０２４ビット以上，ｑiのサイズは１６０ビット以上が推奨されている。ハッシュ関数Ｈiとしては、例えばＳＨＡ−１などのハッシュ関数を用いることができ、任意の長さの入力に対し、ｑi−１以下の乱数を出力するものとする。ハッシュ関数Ｈiは、一方向性と耐衝突性が要求されるものであればよく、上述したとおりＨiは、ハッシュ関数の他、各利用者に特有のランダム関数を用いてもよい。また、Ｈiとして全てまたは一部の利用者で同じランダム関数を用いることもできる。
【００４６】
（全体処理）
次に、以上のように構成された本実施の形態にかかる署名システムにおけるブラインド署名の全体処理について説明する。図５は、実施の形態１にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【００４７】
なお、以下の説明では、署名要求装置１００は、Ｌ−１人のダミー署名者の署名生成装置１１０（以下、「ダミー署名生成装置」という。）を選択し、整列部２０２で署名生成装置１１０が順序付けられる番号をｋで表記する。
【００４８】
まず、署名要求装置１００は、署名対象の文書データＭを入力し、署名生成装置１１０の公開情報（素数ｐiとｐi−１を割り切る素数ｑi、離散対数の底ｇi、公開鍵ｙi、ハッシュ関数Ｈi、識別情報ＩＤi）を取得する（ステップＳ５０１）。そして、署名要求装置１００は、すべての署名生成装置１１０の中から複数のダミー署名生成装置を選択し、選択した複数のダミー署名生成装置のそれぞれの識別情報ＩＤiをリング状に順序付ける（ステップＳ５０２）。そして、実際に署名生成を行う署名生成装置１１０に署名生成依頼を送信する（ステップＳ５０３）。
【００４９】
署名生成依頼を受信した署名生成装置１１０では、乱数から拘束情報を生成して（ステップＳ５０４）、生成された拘束情報を署名要求装置１００に送信する（ステップＳ５０５）。
【００５０】
拘束情報を受信した署名要求装置１００では、受信した拘束情報と乱数から実際に署名生成を行わせる署名生成装置１１０に対応したリング情報初期値を生成し、さらにリング情報初期値と署名対象文書データと署名生成装置１１０の総数から署名生成装置１１０に対応したリング情報、この署名生成装置１１０に対応したリング情報からダミー署名生成装置に対応したリング情報をダミー署名生成装置ごとに生成し（ステップＳ５０６）、各リング情報にブラインド処理を施して（ステップＳ５０７）、ブラインド化されたリング情報を該当する実際に署名を行う署名生成装置１１０に送信する（ステップＳ５０８）。
【００５１】
ブラインド化されたリング情報を受信した署名生成装置１１０では、受信したブラインド化されたリング情報からブラインド化された署名情報を生成し（ステップＳ５０９）、このブラインド化された署名情報を署名要求装置１００に送信する（ステップＳ５１０）。
【００５２】
ブラインド化された署名情報を受信した署名要求装置１００では、ブラインド化された署名情報からブランド除去を行って署名情報を取得し（ステップＳ５１１）、署名情報を含む署名付き文書データを出力する（ステップＳ５１２）。
【００５３】
本実施の形態では、ダミー署名者として選択したダミー署名生成装置１１０をリング状に順序付けてリング署名方式を採用した方式のブラインド署名方式を実現している。
【００５４】
リング署名方式は、署名者の匿名性を実現するデジタル署名方式であり、Rivest等(R. Rivest, A. Shamir, Y. Tauman, "How to Leak a Secret", Advances in Cryptology - Asiacrypt 2001, pp. 552-565, 2001）によってその技術が開示されている。リング署名は、署名者と署名者によって選ばれた複数のダミー署名者のいずれかが署名を生成したことの検証はできるが、署名生成者の特定が不可能な方式である。
【００５５】
リング署名の署名生成方法は次のように行われる。署名生成者は、公開されている署名者のリストから複数のダミー署名者を選択し、各署名者の公開鍵情報を入手して、ダミー署名者をリング状に配置する。ここで，署名者はランダムに選んだｋ番目に配置されるものとする。ここで、署名生成者を署名者ｋで示し、署名者により選択されたダミー署名者をダミー署名者１，・・・、ダミー署名者ｋ−１、ダミー署名者ｋ＋１、・・・、ダミー署名者Ｌで示す。
【００５６】
署名者ｋはリング情報の初期値ａkをランダムに生成し、ａkと署名対象文書データＭに基づいてリング情報ｃk+1を生成する。
【００５７】
次に、ダミー署名者ｋ＋１に対応する署名情報ｓk+1をランダムに選択し、ダミー署名者ｋ＋１の公開鍵情報からデータｔk+1を計算する。ここで、公開鍵情報による演算は誰でも容易に行うことができ、ダミー署名者ｋ＋１の同意を必要としない。署名者はｃk+1とｔk+1に基づいてリング情報ａk+1を生成し、ａk+1と署名対象文書データＭに基づいてリング情報ｃk+2を生成する。
【００５８】
同様に、ダミー署名者ｋ＋２，・・・，ダミー署名者Ｌ，ダミー署名者１（＝Ｌ＋１），・・・，ダミー署名者ｋ−１まで、対応する署名情報ｓk+2，・・・，ｓL，ｓ1，・・・，ｓk-1をランダムに生成し、データｃk+3，・・・，ｃL，ｃL1（＝ｃL+1），・・・，ｃkを生成する。
【００５９】
署名者はリング情報ｃkの生成を行った後、ｃkとａkからデータｔ1を計算して、自らの秘密鍵情報に基づいて署名情報ｓkを生成し、署名者の識別情報ＩＤ1，・・・，ＩＤLとともに、署名付き文書データ（Ｍ，Ｌ，ｃ1，ｓ1，・・・，ｓL，ＩＤ1，・・・，ＩＤL）を公開する。
【００６０】
署名付き文書データ（Ｍ，Ｌ，ｃ1，ｓ1，・・・，ｓL，ＩＤ1，・・・，ＩＤL）の検証する場合には、署名検証者はまず識別情報に基づいて各署名者の公開鍵情報を入手する。
署名検証者は、ｓ1とダミー署名者１の公開情報からデータｔ1を計算し、次に、ｔ1とｃ1からデータａ1を計算して、ａ1と文書データＭに基づいてデータｃ2を計算する。署名検証者は同様にダミー署名者２，・・・，ダミー署名者ｋ−１，署名者ｋ，ダミー署名者ｋ＋１，・・・，ダミー署名者Ｌに対してもデータｃ3，・・・，ｃL+1を計算する。そして、ｃL+1がｃ1に一致する場合は署名を受理し、一致しない場合は署名を棄却する。署名検証者は、全ての署名者に同一の処理を施しているためリング状に配置した署名者の端点を区別することができず、どの署名者が署名を生成したかを特定することは不可能であり、このため署名者の匿名性を図ることができる。
【００６１】
このような一般的なリング署名方式では、リング情報は署名生成装置１１０において生成しているが、本実施の形態では、通常のリング署名方式と異なり、署名要求装置１００側で各署名生成装置１１０ごとのリング情報を生成してブラインド化して署名生成装置１１０に送信し、署名生成装置１１０でブラインド化されたリング情報から署名情報を生成している。これにより、ブラインド署名方式による文書データの秘匿性を実現するとともに、署名生成者の匿名性も確保することができるようになっている。
【００６２】
（署名要求処理）
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置１００による署名要求処理について説明する。図６、図７、図８は、実施の形態１にかかる署名要求装置１００による署名要求処理の手順を示すフローチャートである。
【００６３】
まず、署名要求装置１００では、入出力部２０９によって署名対象の文書データＭとネットワーク上に公開されている署名生成装置１１０の情報（識別情報と公開情報のリスト）を受信する（ステップＳ６０１）。ダミー署名者選択部２０１によってダミー署名者としての署名生成装置１１０（ダミー署名生成装置）を（Ｌ−１）人選択する（ステップＳ６０２）。そして、整列部２０２によって、署名生成装置１１０の識別情報とダミー署名生成装置の識別情報をリング状に順序付ける（ステップＳ６０３）。
【００６４】
次に、入出力部２０９によって署名生成装置１１０に署名生成依頼を送信し（ステップＳ６０４）、署名生成装置１１０から拘束情報ａ'kを受信するまで待機状態となる（ステップＳ６０５：Ｎｏ）。
【００６５】
署名要求装置１００は、入出力部２０９を介して署名生成装置１１０から拘束情報ａ'kを受信すると（ステップＳ６０５：Ｙｅｓ）、乱数発生器２０８で署名生成装置１１０に対応する乱数ｒ1，ｒ2∈Ｚｑｋを生成して（ステップＳ６０６）、乱数メモリ２１１に発生させた乱数ｒ1，ｒ2を保存する。
【００６６】
そして、この乱数ｒ1，ｒ2を使用して、次の（２）式により署名生成装置１１０に対応したリング情報の初期値ａkを計算する（ステップＳ６０７）。
【００６７】
ａk＝ａ’kｇk-r1ｙｋ-r2 ｍｏｄ ｐk  ・・・（２）
【００６８】
次に、関数演算部２０３によって、Ｌ，署名対象文書データＭ，ａkのハッシュ関数Ｈkによるハッシュ値を次の（３）式により計算し、署名生成装置１１０に対応したリング情報ｃk+1を求める（ステップＳ６０８）。
【００６９】
ｃk+1＝Ｈk（Ｌ，Ｍ，ａk）  ・・・（３）
【００７０】
次に、リング情報演算部２０５によって、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置までの各々の第ｉ番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにリング情報ａiとｃi+1を計算する。
【００７１】
まず、リング情報演算部２０５によって、ｉ＝Ｌ＋１かどうか調べ（ステップＳ６０９）、ｉ＝Ｌ＋１の場合はｉ＝１に設定する（ステップＳ６１０）。第ｉ番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器２０８により乱数ｓi∈Ｚｑｉを発生させる（ステップＳ６１１）。そして、リング情報演算部２０５によって、ダミー署名装置に対応したリング情報ａi，ｃi+1を、次の（４）式により算出する（ステップＳ６１２）。
【００７２】
ａi＝ｇiｓiｙiｃi ｍｏｄ ｐi，ｃi+1＝Ｈi+1（Ｌ，Ｍ，ａi）  ・・・（４）
【００７３】
そして、リング情報演算部２０５によりｉにｉ＋１を設定する（ステップＳ６１３）。このようなステップＳ６０９からＳ６１３までの処理をｉ＝ｋ−１からｉ＝ｋ＋１まで繰り返し実行する。これにより、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置１１０ごとにリング情報ａi，ｃi+1が生成されることになる。
【００７４】
次に、このようにして第ｋ−１番目に対応付けられたダミー署名生成装置に対応してリング情報ｃkが計算された後、リング情報ブラインド部２０６によってブラインド化されたリング情報ｃ’kを次の（５）式により計算する（ステップＳ６１４）。
【００７５】
ｃ’k＝ｃk＋ｒ２ｍｏｄ ｑk  ・・・（５）
【００７６】
そして、このブラインド化されたリング情報ｃ’kを入出力部２０９を介して署名生成装置１１０に送信し（ステップＳ６１５）、署名生成装置１１０からブラインド化された署名情報ｓ’kを受信するまで待機状態となる（ステップＳ６１６：Ｎｏ）。
【００７７】
署名要求装置１００では、入出力部２０９を介して署名生成装置１１０からブラインド化された署名情報ｓ’kを受信した場合には（ステップＳ６１６：Ｙｅｓ）、署名情報ブラインド除去部２０７によって、次の（６）式が成立するか否かを検査する（ステップＳ６１７）。
【００７８】
ａ’k＝ｇkｓ’kｙkｃ’k ｍｏｄ ｐk  ・・・（６）
【００７９】
そして、（６）式が成立しない場合には（ステップＳ６１７：Ｎｏ）、そのまま処理を終了する。  一方、ステップＳ６１７において、（６）式が成立する場合は（ステップＳ６１７：Ｙｅｓ）、署名情報ブラインド除去部２０７によってブラインド化された署名情報ｓ’kからブラインド除去を行う（ステップＳ６１８）。具体的には、署名生成装置１１０に対応する署名情報ｓkを次の（７）式により算出する。
【００８０】
ｓk＝ｓ’k−ｒ1 ｍｏｄ ｑk  ・・・（７）
【００８１】
そして、入出力部２０９によって署名付き文書データ（Ｍ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1，…，ｓL）を出力して（ステップＳ６１９）、処理を終了する。
【００８２】
（署名生成処理）
次に、署名生成装置１１０による署名生成処理について説明する。図９は、実施の形態１にかかる署名生成装置１１０による署名生成処理の手順を示すフローチャートである。
【００８３】
署名生成装置１１０は、署名要求装置１００から署名生成依頼を受信すると（ステップＳ９０１）、乱数発生器３０４によって乱数ｒ’∈Ｚｑｋを生成する（ステップＳ９０２）。そして、拘束情報演算部３０１によって、この乱数ｒ’を使用して、拘束情報ａ’kを次の（８）式により算出する（ステップＳ９０３）。
【００８４】
ａ’k＝ｇkr'ｍｏｄ ｐk  ・・・（８）
【００８５】
そして、算出された拘束情報ａ’kを入出力部３０３を介して署名要求装置１００に送信し（ステップＳ９０４）、署名要求装置１００からブラインド化されたリング情報ｃ’kを受信するまで待機状態となる（ステップＳ９０５：Ｎｏ）。
【００８６】
ここで、複数の署名要求装置１００あるいは同一の署名要求装置１００から複数の署名生成依頼を受信している場合には、待機中に異なる署名生成依頼に対応する処理を実行することになるが、ここでは説明の都合上、署名要求装置１００からブラインド化されたリング情報を受信するまで待機するものとする。
【００８７】
署名生成装置１１０は、入出力部３０３を介して署名要求装置１００でステップ６１５で送信されたブラインド化されたリング情報ｃ’kを受信すると（ステップＳ９０５：Ｙｅｓ）、署名演算部３０２によってこのリング情報ｃ’kから秘密鍵メモリ３０５に記憶されている秘密鍵ｘkと乱数ｒ’とを利用してブラインド化された署名情報ｓ’kを次の（９）式により算出する（ステップＳ９０６）。
【００８８】
ｓ’k＝ｒ’−ｘk  ｃ’k ｍｏｄ ｑk  ・・・（９）
【００８９】
そして、生成されたブラインド化された署名情報ｓ’kを入出力部３０３を介して署名要求装置１００に送信する（ステップＳ９０７）。
【００９０】
（署名検証処理）
次に、署名検証装置１２０による署名検証処理について説明する。図１０は、実施の形態１にかかる署名検証装置１２０による署名検証処理の手順を示すフローチャートである。
【００９１】
まず、署名検証装置１２０は、署名付き文書データ（Ｍ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1，…，ｓL）を入出力部４０４により受信し（ステップＳ１００１）、署名付き文書データに含まれる署名生成装置１１０の識別情報ＩＤに基づいて入出力部４０４を介してネットワーク上に公開されている署名生成装置１１０の識別情報と公開情報のリストから署名生成装置１１０に対応する公開情報を取得して公開鍵メモリ４０５に保存する（ステップＳ１００２）。
【００９２】
次に、リング情報演算部４０２によって、第１番目に順序付けられた署名生成装置から第Ｌ番目に順序付けられた署名生成装置１１０まで、第ｉ番目に順序付けられた署名生成装置１１０に対応するリング情報を次のように算出する。
【００９３】
まず、リング情報演算部４０２は、第ｉ番目の署名生成装置１１０に対応する公開鍵を公開鍵メモリ４０５から読み出して、公開鍵演算部４０３および関数演算部４０１によってリング情報ａi，ｃi+1を次の（１０）式により算出する（ステップＳ１００３）。
【００９４】
ａi＝ｇisiｙiciｍｏｄ ｐi，ｃi+1＝Ｈi（Ｌ，Ｍ，ａi）  ・・・（１０）
【００９５】
ここで、ハッシュ関数Ｈiによるｃi+1の演算は関数演算部４０１によって行われ、ａiの演算はリング情報演算部４０２によって行われる。そして、ｉをｉ＋１に設定し（ステップＳ１００４）、かかるステップＳ１００３とＳ１００４の処理をｉが１からＬまで、すなわち署名付き文書データＭに含まれる署名生成装置１１０の識別情報の数だけ繰り返し実行する。
【００９６】
次に、検証部４０７によって第Ｌ＋１番目のリング情報ｃL+1が第１番目のリング情報ｃ1に一致するか否かを検証する（ステップＳ１００５）。そして、ｃL+1がｃ1に一致する場合には（ステップＳ１００５：Ｙｅｓ）、署名付き文書データＭの署名情報を受理する（ステップＳ１００６）。一方、ｃL+1がｃ1に一致しない場合には（ステップＳ１００５：Ｎｏ）、署名付き文書データＭの署名情報を不受理とする（ステップＳ１００７）。
【００９７】
このように実施の形態にかかる署名システムでは、署名要求装置１００側で署名生成装置１１０とダミー署名生成装置ごとのリング情報を生成してブラインド化して署名生成装置１１０に送信し、署名生成装置１１０でブラインド化されたリング情報から署名情報を生成しているので、署名対象文書の情報は署名生成装置には漏洩することがなく、また、署名検証時に現れるリング情報にブラインド処理が施されているため、署名生成装置が有する情報を用いたとしても、署名生成時の情報と流通する署名情報との対応付けがすることができず、署名対象文書の秘匿性を図ることができる。また、署名要求装置１００で署名生成装置１１０に対するリング情報とダミー署名生成装置ごとのリング情報を算出しているため、署名検証時にどの署名生成装置１１０が署名生成を行ったかを特定することができず、署名者の匿名性を図ることができる。このように本実施の形態の署名システムによれば、ブラインド署名方式による文書データの秘匿性を実現するとともに、署名生成者の匿名性も確保することができる。
【００９８】
（実施の形態２）
実施の形態２にかかる署名システムは、実施の形態１の署名システムの構成に加え、攪乱除去装置を付加したものである。
【００９９】
図１１は、実施の形態２にかかる署名システムのネットワーク構成を示す説明図である。図１１に示すように、本実施の形態にかかる署名システムは、署名の生成を依頼する署名要求装置１１００と、依頼を受けた文書に署名情報を付加した署名付き文書を生成する複数の署名生成装置１１１０と、ブラインド処理に利用する暗号化ブラインド情報の復号化を行う攪乱除去装置１１２０と、署名付き文書の検証を行う署名検証装置１２０とがインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１３０に接続された形態となっている。
【０１００】
なお、本実施の形態では、ネットワーク１５上に単一の攪乱除去装置１１２０が接続された形態となっているが、これに限定されるものではなく、複数の攪乱除去装置をネットワークに接続して用いる形態としてもよい。
【０１０１】
また、署名検証装置１２０の機能的構成および署名検証処理は実施の形態１と同様であるため説明を省略する。
【０１０２】
まず、本実施の形態にかかる署名要求装置１１００について説明する。図１２は、実施の形態２にかかる署名要求装置１１００の機能的構成を示すブロック図である。署名要求装置１１００は、図１２に示すように、ダミー署名者選択部２０１と、整列部２０２と、関数演算部２０３と、公開鍵演算部２０４と、リング情報演算部２０５と、リング情報ブラインド部２０６と、署名情報ブラインド除去部２０７と、ブラインド情報暗号化部１２０１と、乱数発生器２０８と、入出力部２０９と、鍵メモリ１２０２と、公開鍵メモリ２１０と、乱数メモリ２１１と、メモリ２１２とを主に備えている。ここで、ダミー署名者選択部２０１、整列部２０２、関数演算部２０３、公開鍵演算部２０４、リング情報演算部２０５、リング情報ブラインド部２０６、署名情報ブラインド除去部２０７、乱数発生器２０８、入出力部２０９、公開鍵メモリ２１０、乱数メモリ２１１、メモリ２１２の機能については実施の形態１の署名要求装置１００と同様であるので説明を省略する。
【０１０３】
ブラインド情報暗号化部１２０１は、署名情報のブラインド除去処理を施す際に必要となるブラインド情報、署名対象データ、ダミー署名者として選択された署名生成装置１１１０に対応する乱数とリング情報の一部を撹乱除去装置１１２０に非公開で送信するために、これらのデータに対して鍵メモリ１２０２に保存されている鍵情報で暗号化処理を施して暗号化ブラインド情報を生成する処理部である。
【０１０４】
鍵メモリ１２０２は、ブラインド情報暗号化部１２０１により暗号化処理で使用する鍵情報を保存するメモリである。この鍵情報は、ブラインド情報暗号化部１２０１で実行される暗号化処理の方式が公開鍵暗号方式である場合には、撹乱除去装置１１２０の公開鍵であり、ブラインド情報暗号化部１２０１で実行される暗号化処理の方式が共通鍵暗号方式である場合には、予め署名要求装置１１００と撹乱除去者装置１１２０との間で共有された共通鍵である。
【０１０５】
次に、攪乱除去装置１１２０について説明する。攪乱除去装置１１２０は、署名生成時において、署名生成装置１１１０がブラインド化された署名情報を回答するまでの署名要求装置１１００の署名付き文書データ受信の待ち時間を削減するために使用される。
【０１０６】
図１３は、実施の形態２にかかる攪乱除去装置１１２０の機能的構成を示すブロック図である。本実施の形態にかかる攪乱除去装置１１２０は、図１３に示すように、復号演算部１３０１と、ブラインド除去部１３０２と、入出力部１３０３と、鍵メモリ１３０４と、メモリ１３０５とを主に備えている。
【０１０７】
復号演算部１３０１は、入出力部１３０３を介して署名生成装置１１１０から受信した暗号化ブラインド情報に復号化処理を施し、ブラインド除去処理に必要な乱数成分、署名対象データ、ダミー署名者として選択された署名生成装置１１１０に対応する署名成分とリング情報の一部に復号化処理を施す処理部である。
【０１０８】
ブラインド除去部１３０２は、入出力部１３０３を介して署名生成装置１１１０から受信したブラインド化された署名情報に対して、復号演算部１３３０で復号化された乱数を利用してブラインド除去処理を施す処理部である。
【０１０９】
鍵メモリ１３０４は、復号演算部１３０１による復号化処理を実行する際に使用する鍵情報を保存するメモリである。この鍵情報は、復号演算部１３０１で実行される復号化処理の方式が公開鍵暗号方式である場合には、撹乱除去装置１１２０の公開鍵であり、復号演算部１３０１で実行される復号化処理の方式が共通鍵暗号方式である場合には、予め署名要求装置１１００と撹乱除去者装置１１２０との間で共有された共通鍵である。
【０１１０】
入出力部１３０３は、署名生成装置１１１０や署名要求装置１１００との間でネットワークを介して各種データの入出力を行う処理部である。メモリ１３０５は、各種データの保存を行うものである。入出力部１３０３は、本発明における第３の受信手段、出力手段に相当する。
【０１１１】
また、本実施の形態で使用するパラメータと関数の入出力データのデータ長については実施の形態１と同様である。
【０１１２】
本実施の形態において、署名要求装置１１００と撹乱除去装置１１２０の間のデータ送受信で使用する暗号方式としてはＲＳＡ暗号などの公開鍵暗号演算を使用する。ＲＳＡ暗号方式を使用する場合には、鍵のサイズとして１０２４ビットまたは２０４８ビットを使用することが好ましい。また、署名要求装置１１００と撹乱除去装置１１２０の間のデータ送受信で使用する暗号方式として、ＤＥＳなどの共通鍵暗号方式を使用することも可能である。
【０１１３】
（全体処理）
次に、以上のように構成された本実施の形態にかかる署名システムにおけるブラインド署名の全体処理について説明する。図１４は、実施の形態２にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【０１１４】
なお、以下の説明では、署名要求装置１００は、Ｌ−１人のダミー署名者の署名生成装置１１０を選択し、整列部２０２で署名生成装置が順序付けられる番号をｋで表記する。
【０１１５】
まず、署名要求装置１１００は、署名対象の文書データＭを入力し、署名生成装置１１１０の公開情報（素数ｐiとｐi−１を割り切る素数ｑi、離散対数の底ｇi、公開鍵ｙi、ハッシュ関数Ｈi、識別情報ＩＤi）および攪乱除去装置１１２０の公開鍵等の情報を取得する（ステップＳ１４０１）。そして、署名要求装置１１００は、すべての署名生成装置１１１０の中からダミー署名者として使用する署名生成装置１１１０（ダミー署名生成装置）を選択し、選択したダミー署名生成装置のそれぞれの識別情報ＩＤiをリング状に順序付ける（ステップＳ１４０２）。そして、実際に署名を行わせる署名生成装置１１０に署名生成依頼を送信する（ステップＳ１４０３）。
【０１１６】
署名生成依頼を受信した署名生成装置１１１０では、実施の形態１と同様に、乱数から拘束情報を生成して（ステップＳ１４０４）、生成された拘束情報を署名要求装置１１００に送信する（ステップＳ１４０５）。
【０１１７】
拘束情報を受信した署名要求装置１１００では、実施の形態１と同様に、受信した拘束情報と乱数から署名生成装置１１１０に対応したリング情報初期値を生成し、さらにリング情報初期値と署名対象文書データと署名生成装置１１１０の総数から署名生成装置１１１０に対応したリング情報、この署名生成装置１１１０に対応したリング情報からダミー署名生成装置に対応したリング情報をダミー署名生成装置ごとに生成し（ステップＳ１４０６）、各リング情報にブラインド処理を施す（ステップＳ１４０７）。そして、攪乱除去装置１１２０の公開鍵、署名対象文書データ、署名生成装置１１１０の総数、署名生成装置１１１０に割り当てられた順序ｋ、乱数、署名生成装置１１１０およびダミー署名者として選択された署名生成装置１１１０の識別情報を暗号化して暗号化ブラインド情報Ｅを算出する（ステップＳ１４０８）。そして、ブラインド化されたリング情報と暗号化ブラインド情報を該当する実際に署名を行う署名生成装置１１１０に送信する（ステップＳ１４０９）。
【０１１８】
ブラインド化されたリング情報と暗号化ブラインド情報Ｅを受信した署名生成装置１１１０では、受信したブラインド化されたリング情報からブラインド化された署名情報を生成し（ステップＳ１４１０）、このブラインド化された署名情報と暗号化ブラインド情報Ｅを攪乱除去装置１１２０に送信する（ステップＳ１４１１）。
【０１１９】
ブラインド化された署名情報と暗号化ブラインド情報を受信した攪乱除去装置１１２０では、暗号化ブラインド情報を公開鍵に対応した秘密鍵で復号化し（ステップＳ１４１２）、さらにブラインド化された署名情報からブランド除去を行って署名情報を取得し（ステップＳ１４１３）、署名情報を含む署名付き文書データを出力する（ステップＳ１４１４）。
【０１２０】
（署名要求処理）
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置１１００による署名要求処理について説明する。図１５、図１６は、実施の形態２にかかる署名要求装置１１００による署名要求処理の手順を示すフローチャートである。
【０１２１】
まず、署名要求装置１１００では、入出力部２０９によって署名対象の文書データＭとネットワーク上に公開されている署名生成装置１１１０の情報（識別情報と公開情報のリスト）と攪乱除去装置１１２０の公開鍵の情報を受信する（ステップＳ１５０１）。そして、ダミー署名者選択部２０１によるダミー署名生成装置の選択からブラインド化されたリング情報ｃ’kの生成までの処理（ステップＳ１５０２〜Ｓ１５１４）については、実施の形態１の署名要求処理（ステップＳ６０２〜Ｓ６１４）と同様に行われる。
【０１２２】
ブラインド化されたリング情報ｃ’kを生成したら、署名対象文書データＭとその部分情報Ｉ、署名生成装置１１１０の総数Ｌ、署名生成装置１１１０に割り当てられた順序ｋ、ブラインド除去処理に必要な乱数ｒ1、署名生成装置１１１０及びダミー署名生成装置の識別情報ＩＤ1，・・・，ＩＤL、リング情報ｃ1と乱数ｓ1，・・・，ｓk-1，ｓk+1，・・・，ｓLからなる署名の部分情報、ブラインド化されたリング情報ｃ’ｋを鍵メモリ１２０２に保存されている攪乱除去装置１１２０の公開鍵pkで暗号化して暗号化ブラインド情報Ｅを次の（１１）式のように生成する（ステップＳ１５１５）。
【０１２３】
Ｅ＝Ｅpk（Ｍ，Ｉ，Ｌ，ｋ，ｒ1，ＩＤ1，…，ＩＤL，ｃ1，ｃ’k，ａ’k，ｓ1，…，ｓk-1，ｓk+1，…，ｓL）  ・・・（１１）
【０１２４】
そして、ブラインド化されたリング情報ｃ’kと暗号化ブラインド情報Ｅを入出力部２０９を介して署名生成装置１１１０に送信する（ステップＳ１５１６）。
【０１２５】
（署名生成処理）
次に、署名生成装置１１１０による署名生成処理について説明する。図１７は、実施の形態２にかかる署名生成装置１１１０による署名生成処理の手順を示すフローチャートである。
【０１２６】
署名生成装置１１１０が署名要求装置１１００から署名生成依頼を受信してから拘束情報ａ’kを入出力部３０３を介して署名要求装置１１００に送信するまでの処理（ステップＳ１７０１〜Ｓ１７０４）は実施の形態１の署名生成処理（ステップＳ９０１〜Ｓ９０４）と同様に行われる。
【０１２７】
拘束情報ａ’kを署名要求装置１１００に送信した署名生成装置１１１０は、署名要求装置１１００からブラインド化されたリング情報ｃ’kと暗号化ブラインド情報を受信するまで待機状態となる（ステップＳ１７０５：Ｎｏ）。
【０１２８】
署名生成装置１１１０は，入出力部３０３を介して署名要求装置１００でステップＳ１５１６で送信されたブラインド化されたリング情報ｃ’kと暗号化ブラインド情報を受信すると（ステップＳ１７０５：Ｙｅｓ）、実施の形態１と同様に、署名演算部３０２によってこのリング情報ｃ’kから秘密鍵メモリ３０５に記憶されている秘密鍵ｘkと乱数ｒ’とを利用してブラインド化された署名情報ｓ’kを前述した（９）式により算出する（ステップＳ１７０６）。
【０１２９】
次に、署名演算部３０２は、ブラインド化された署名情報ｓ’kと暗号化ブラインド情報Ｅを入出力部３０３を介して署名要求装置１１００に送信する（ステップＳ１７０７）。
【０１３０】
（攪乱除去処理）
次に、攪乱除去装置１１２０による攪乱除去処理について説明する。図１８は、実施の形態２にかかる攪乱除去装置１１２０による攪乱除去処理の手順を示すフローチャートである。
【０１３１】
攪乱除去装置１１２０は、署名生成装置１１１０からブラインド化された署名情報ｓ’kと暗号化ブラインド情報Ｅを受信するまで待機状態となっている（ステップＳ１８０１：Ｎｏ）。
【０１３２】
攪乱除去装置１１２０では、入出力部１３０３を介して署名生成装置１１１０からブラインド化された署名情報ｓ’kと暗号化ブラインド情報Ｅを受信した場合には（ステップＳ１８０１：Ｙｅｓ）、復号演算部１３０１によって、鍵メモリ１３０４に記憶されている秘密鍵sk（公開鍵pk対応した秘密鍵）で暗号化ブラインド情報Ｅに復号化処理を施し、署名対象文書データＭとその部分情報Ｉ、署名生成装置１１１０の総数数Ｌ、署名生成装置１１１０に割り当てられた順序ｋ、ブラインド除去処理に必要な乱数ｒ1、署名生成装置１１１０及びダミー署名者として選択された署名生成装置１１１０の識別情報ＩＤ1，・・・，ＩＤL、リング情報ｃ1と乱数ｓ1，・・・，ｓk-1，ｓk+1，・・・，ｓLからなる署名の部分情報、ブラインド化されたリング情報ｃ’ｋを復号化する（ステップＳ１８０２）。
そして、ブラインド除去部１３０２によって、次の（１２）式が成立するか否かを検査する（ステップＳ１８０３）。
【０１３３】
ａ’k＝ｇkｓ’kｙkｃ’k ｍｏｄ ｐk  ・・・（１２）
【０１３４】
そして、（１２）式が成立しない場合には（ステップＳ１８０３：Ｎｏ）、そのまま処理を終了する。一方、ステップＳ１８０３において、（１２）式が成立する場合は（ステップＳ１８０３：Ｙｅｓ）、ブラインド除去部１３０２によって署名生成装置１１０に対応する署名情報ｓkを次の（７）式により算出する（ステップＳ１８０４）。
【０１３５】
ｓk＝ｓ’k−ｒ1 ｍｏｄ ｑk  ・・・（１３）
【０１３６】
そして、入出力部１３０３によって署名付き文書データ（Ｍ，Ｉ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1，…，ｓL）を出力して（ステップＳ１８０５）、処理を終了する。
【０１３７】
このように実施の形態２の署名システムでは、署名要求装置１１００でブランド情報を暗号化して署名生成装置１１１０に送信して署名生成装置１１１０側で署名情報を生成して暗号化ブラインド情報とともに攪乱除去装置１１２０に送信し、攪乱除去装置１１２０側で暗号化ブラインド情報を復号化するとともに署名情報から署名付き文書データを出力しているので、署名要求装置１１００では署名付き文書データの受信を待たずに署名要求処理を完了することができ、署名生成装置１１１０がブラインド化された署名情報を回答するまでの署名要求装置１１００の署名付き文書データ受信の待ち時間を削減することができる。
【０１３８】
また、ブラインド情報は、署名要求装置１１００で攪乱除去装置１１２０で復号化が可能な鍵で暗号化して署名生成装置１１１０に送信して攪乱除去装置１１２０で暗号化ブラインド情報を復号化しているので、安全性を向上させることができる。
【０１３９】
（実施の形態３）
実施の形態２にかかる署名システムは、実施の形態１および２の署名システムよりもブラインド署名の安全性を向上させたものである。
【０１４０】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名生成装置、署名検証装置の機能的構成は実施の形態１と同様である。また、本実施の形態にかかる署名システムに実施の形態２のように攪乱除去装置を加えた構成としてもよい。
【０１４１】
次に、本実施の形態にかかる署名生成装置１１０、署名要求装置１００、署名検証装置１２０で使用するパラメータと関数の入出力データのデータ長について説明する。なお、ここでは、実施の形態１と同様に、整数の剰余環の乗法群上の離散対数問題を安全性の根拠として方式を説明する。その他、楕円曲線状の点のなす有限群上など異なる群の上での離散対数問題を安全性の根拠としてもよい。識別情報ＩＤiを有する署名生成装置１１０の署名者は、素数ｐiとｐi−１を割り切る素数ｑi、離散対数の底ｇi，ｈi、公開鍵ｙi、ハッシュ関数Ｈiを公開情報として識別情報ＩＤiとともにネットワーク上の署名要求装置１００および署名検証装置１２０に公開する。
【０１４２】
但し、公開鍵ｙiは、秘密鍵ｘi,1，ｘi,2∈｛０，１，・・・，ｑi−１｝（＝Ｚqi）に対して、次の（１４）式で算出される値である。
【０１４３】
ｙi＝ｇixi,1ｈixi,2 ｍｏｄ ｐi  ・・・（１４）
ここで、秘密鍵ｘi,1，ｘi,2は、署名生成装置１１０の秘密鍵メモリ３０５に非公開で保持されている。
【０１４４】
このとき、ｐiとｇi,ｈiのサイズは１０２４ビット以上，ｑiのサイズは１６０ビット以上が推奨されている。
【０１４５】
（署名要求処理）  
次に、以上のように説明した本実施の形態にかかるブラインド署名処理の各装置における処理を詳細に説明する。まず、署名要求装置１００による署名要求処理について説明する。図１９、図２０、実施の形態３にかかる署名要求装置１００による署名要求処理の手順を示すフローチャートである。なお、署名対象文書データＭおよび署名生成装置１１０の公開情報の取得、ダミー署名者としての署名生成装置１１０の選択および順序づけ、署名生成依頼の送信については、実施の形態１における署名要求処理（ステップＳ６０１〜Ｓ６０４）と同様に行われる。
【０１４６】
署名生成装置１１０に署名生成依頼を送信したら、署名生成装置１１０から拘束情報ａ'kを受信するまで待機状態となる（ステップＳ１９０１：Ｎｏ）。
【０１４７】
署名要求装置１００は、入出力部２０９を介して署名生成装置１１０から拘束情報ａ'kを受信すると（ステップＳ１９０１：Ｙｅｓ）、乱数発生器２０８で署名生成装置１１０に対応する乱数ｒ1，ｒ21，ｒ3∈Ｚｑｋを生成して（ステップＳ１９０２）、乱数メモリ２１１に発生させた乱数ｒ1，ｒ2，ｒ3を保存する。
【０１４８】
そして、この乱数ｒ1，ｒ2，ｒ3を使用して、次の（１５）式により署名生成装置１１０に対応したリング情報の初期値ａkを計算する（ステップＳ１９０３）。
【０１４９】
ａk＝ａ’kｇk-r1ｈｋ-r2ｙｋ-r3 ｍｏｄ ｐk  ・・・（１５）
【０１５０】
次に、関数演算部２０３によって、Ｌ，署名対象文書データＭ，ａkのハッシュ関数Ｈkによるハッシュ値を次の（１６）式により計算し、署名生成装置１１０に対応したリング情報ｃk+1を求める（ステップＳ１９０４）。
【０１５１】
ｃk+1＝Ｈk（Ｌ，Ｍ，ａk）  ・・・（１６）
【０１５２】
次に、リング情報演算部２０５によって、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置までの各々の第ｉ番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにリング情報ａiとｃi+1を計算する。
【０１５３】
まず、リング情報演算部２０５によって、ｉ＝Ｌ＋１かどうか調べ（ステップＳ１９０５）、ｉ＝Ｌ＋１の場合はｉ＝１に設定する（ステップＳ１９０６）。第ｉ番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器２０８により乱数ｓi,1，ｓi,2∈Ｚｑｉを発生させる（ステップＳ１９０７）。そして、リング情報演算部２０５によって、ダミー署名生成装置に対応したリング情報ａi，ｃi+1を、次の（１７）式により算出する（ステップＳ１９０８）。
【０１５４】
ａi＝ｇiｓi,1ｈiｓi,2ｙiｃi ｍｏｄ ｐi，ｃi+1＝Ｈi+1（Ｌ，Ｍ，ａi）
・・・（１７）
【０１５５】
そして、リング情報演算部２０５によりｉにｉ＋１を設定する（ステップＳ１９０９）。このようなステップＳ１９０５からＳ１９０９までの処理をｉ＝ｋ−１からｉ＝ｋ＋１まで繰り返し実行する。これにより、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置ごとにリング情報ａi，ｃi+1が生成されることになる。
【０１５６】
次に、このようにして第ｋ−１番目に対応付けられたダミー署名生成装置に対応してリング情報ｃkが計算された後、リング情報ブラインド部２０６によってブラインド化されたリング情報ｃ’kを次の（１８）式により計算する（ステップＳ１９１０）。
【０１５７】
ｃ’k＝ｃk＋ｒ3 ｍｏｄ ｑk  ・・・（１８）
【０１５８】
そして、このブラインド化されたリング情報ｃ’kを入出力部２０９を介して署名生成装置１１０に送信し（ステップＳ１９１１）、署名生成装置１１０からブラインド化された署名情報ｓ’k,1，ｓ’k,2を受信するまで待機状態となる（ステップＳ１９１２：Ｎｏ）。
【０１５９】
署名要求装置１００では、入出力部２０９を介して署名生成装置１１０からブラインド化された署名情報ｓ’k,1，ｓ’k,２を受信した場合には（ステップＳ１９１２：Ｙｅｓ）、署名情報ブラインド除去部２０７によって、次の（１９）式が成立するか否かを検査する（ステップＳ１９１３）。
【０１６０】
ａ’k＝ｇkｓ’k,1ｈkｓ’k,2ｙkｃ’k ｍｏｄ ｐk  ・・・（１９）
【０１６１】
そして、（１９）式が成立しない場合には（ステップＳ１９１３：Ｎｏ）、そのまま処理を終了する。  一方、ステップＳ１９１３において、（１９）式が成立する場合は（ステップＳ１９１３：Ｙｅｓ）、署名情報ブラインド除去部２０７によってブラインド化された署名情報ｓ’k,1，ｓ’k,２からブラインド除去を行う（ステップＳ１９１４）。具体的には、署名生成装置１１０に対応する署名情報ｓk,1，ｓk,1を次の（２０）、（２１）式により算出する。
【０１６２】
ｓk,1＝ｓ’k,1−ｒ1 ｍｏｄ ｑk  ・・・（２０）
ｓk,2＝ｓ’k,2−ｒ2 ｍｏｄ ｑk  ・・・（２１）
【０１６３】
そして、入出力部２０９によって署名付き文書データ（Ｍ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1,1，ｓ1,2，…，ｓL,1，ｓL,2）を出力して（ステップＳ１９１５）、処理を終了する。
【０１６４】
（署名生成処理）
次に、署名生成装置１１０による署名生成処理について説明する。図２１は、実施の形態３にかかる署名生成装置１１０による署名生成処理の手順を示すフローチャートである。
【０１６５】
署名生成装置１１０は、署名要求装置１００から署名生成依頼を受信すると（ステップＳ２１０１）、乱数発生器３０４によって乱数ｒ’1，ｒ’2∈Ｚｑｋを生成する（ステップＳ２１０２）。そして、拘束情報演算部３０１によって、この乱数ｒ’1，ｒ’2を使用して、拘束情報ａ’kを次の（２２）式により算出する（ステップＳ２１０３）。
【０１６６】
ａ’k＝ｇkr'1ｈkr'2 ｍｏｄ ｐk  ・・・（２２）
【０１６７】
そして、算出された拘束情報ａ’kを入出力部３０３を介して署名要求装置１００に送信し（ステップＳ２１０４）、署名要求装置１００からブラインド化されたリング情報ｃ’kを受信するまで待機状態となる（ステップＳ２１０５：Ｎｏ）。
【０１６８】
署名生成装置１１０は、入出力部３０３を介して署名要求装置１００でステップ１９１１で送信されたブラインド化されたリング情報ｃ’kを受信すると（ステップＳ２１０５：Ｙｅｓ）、署名演算部３０２によってこのリング情報ｃ’kから秘密鍵メモリ３０５に記憶されている秘密鍵ｘk,1，ｘk,2と乱数ｒ’1，ｒ’2とを利用してブラインド化された署名情報ｓ’k,1，ｓ’k,2を次の（２３）、（２４）式により算出する（ステップＳ２１０６）。
【０１６９】
ｓ’k,1＝ｒ’1−ｘk,1ｃ’k ｍｏｄ ｑk  ・・・（２３）
ｓ’k,2＝ｒ’2−ｘk,2ｃ’k ｍｏｄ ｑk  ・・・（２４）
【０１７０】
そして、生成されたブラインド化された署名情報ｓ’k,1，ｓ’k,2を入出力部３０３を介して署名要求装置１００に送信する（ステップＳ２１０７）。これにより、署名要求装置１００は、ブラインド化された署名情報ｓ’k,1，ｓ’k,2を得ることができる。
【０１７１】
（署名検証処理）
署名検証装置１２０により署名検証処理は、署名付き文書データ（Ｍ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1,1，ｓ1,2，…，ｓL,1，ｓL,2）を取得し、図１０に示した実施の形態１における署名検証処理と同様に行われるが、ステップＳ１００３における公開鍵演算部４０３および関数演算部４０１によるリング情報ａi，ｃi+1は、次の（２５）式により算出される。これ以降の検証処理については、実施の形態１と同様に行われる。
【０１７２】
ａi＝ｇisi,1ｈisi,2ｙiciｍｏｄ ｐi，ｃi+1＝Ｈi（Ｌ，Ｍ，ａi）・・・（２５）
【０１７３】
このように実施の形態３にかかる署名システムでは、署名生成装置１１１０から２つの拘束情報を取得し、乱数や離散対数も実施の形態１に比べて多数使用してリング情報、ブラインド化されたリング情報を生成しているので、署名対象文書データの秘匿性および署名者の匿名性の維持の安全性をより向上させることができる。
【０１７４】
（実施の形態４）
実施の形態１〜３にかかる署名システムは、署名対象文書の全てを署名生成装置１１０に秘匿した状態でブラインド署名を行うものであったが、この実施の形態４にかかる署名システムは、署名対象文書の一部を署名生成装置１１０に公開してブラインド署名を行うものである。
【０１７５】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名生成装置、署名検証装置の機能的構成は実施の形態１と同様である。また、本実施の形態にかかる署名システムに実施の形態２のように攪乱除去装置を加えた構成としてもよい。
【０１７６】
本実施の形態にかかる署名生成装置１１０、署名要求装置１００、署名検証装置１２０で使用するパラメータと関数の入出力データのデータ長については、実施の形態と同様である。また、実施の形態１と同様に、識別情報ＩＤiを有する署名生成装置１１０の署名者は、素数ｐiとｐi−１を割り切る素数ｑi、離散対数の底ｇi，ｈi、公開鍵ｙi、ハッシュ関数Ｈiを公開情報として識別情報ＩＤiとともにネットワーク上の署名要求装置１００および署名検証装置１２０に公開する。ここで、公開鍵ｙi、ハッシュ関数Ｈiについては、実施の形態と同様のものを使用する。
【０１７７】
本実施の形態で使用するランダム関数Ｆiは、任意の長さのビットを入力として、Ｚpi内の元ｚiを出力する関数である。このようなランダム関数Ｆiとしては、ＳＨＡ−１等のハッシュ関数を使用し、次の（２６）式により定義することができる。
【０１７８】
Ｆi（Ｉ）＝ｇiSHA1(I) ｍｏｄ ｐi  ・・・（２６）
ここで、Ｉは署名対象文書データＭの一部である部分情報である。ランダム関数Ｆiには、一方向性と耐衝突性が要求される。また、Ｆiは、ハッシュ関数Ｈiと同様に、各利用者に特有のランダム関数を用いてもよい。また、全てまたは一部の利用者で同じランダム関数を用いることもできる。
【０１７９】
（署名要求処理）  
次に、署名要求装置１００による署名要求処理について説明する。図２２、図２３、図２４は、実施の形態４にかかる署名要求装置１００による署名要求処理の手順を示すフローチャートである。
【０１８０】
まず、署名要求装置１００では、入出力部２０９によって署名対象の文書データＭ（部分情報Ｉを含む）とネットワーク上に公開されている署名生成装置１１０の情報（識別情報と公開情報のリスト）を受信する（ステップＳ２２０１）。ここで、部分情報Ｉは、署名対象の文書データＭの一部分のデータであり、署名生成装置１１０に秘匿せずに署名生成装置１１０と署名要求装置１００との間で公開する部分のデータである。なお、かかる部分情報Ｉは、予め文書データＭから他の部分と分割されて存在しているものとする。
【０１８１】
次に、ダミー署名者選択部２０１によってすべての署名生成装置１１０の中からダミー署名生成装置を（Ｌ−１）人選択する（ステップＳ２２０２）。そして、整列部２０２によって、署名生成装置１１０の識別情報とダミー署名生成装置１１０の識別情報をリング状に順序付ける（ステップＳ２２０３）。
【０１８２】
次に、入出力部２０９によって実際に署名を生成する署名生成装置１１０に署名生成依頼を送信し（ステップＳ２２０４）、署名生成装置１１０から拘束情報ａ'k，ｂ'kを受信するまで待機状態となる（ステップＳ２２０５：Ｎｏ）。
【０１８３】
署名要求装置１００は、入出力部２０９を介して署名生成装置１１０から拘束情報ａ'k，ｂ'kを受信すると（ステップＳ２２０５：Ｙｅｓ）、関数演算部２０３によって、（２６）式によりランダム関数値ｚk＝Ｆk（Ｉ）を計算する（ステップＳ２２０６）。そして、乱数発生器２０８で署名生成装置１１０に対応する乱数ｒ1，ｒ2，ｒ3，ｒ4∈Ｚｑｋを生成して（ステップＳ２２０７）、乱数メモリ２１１に発生させた乱数ｒ1，ｒ2，ｒ3，ｒ4を保存する。
【０１８４】
そして、この乱数ｒ1，ｒ2，ｒ3，ｒ4を使用して、次の（２７）、（２８）式により署名生成装置１１０に対応したリング情報の初期値ａk，ｂkを計算する（ステップＳ２２０８）。
【０１８５】
ａk＝ａ’kｇkr1ｙｋr2 ｍｏｄ ｐk  ・・・（２７）
ｂk＝ｂ’kｇkr3ｚｋr4 ｍｏｄ ｐk  ・・・（２８）
【０１８６】
次に、関数演算部２０３によって、Ｌ，署名対象文書データＭ，ａk，ｂk，ｚｋのハッシュ関数Ｈkによるハッシュ値を次の（２９）式により計算し、署名生成装置１１０に対応したリング情報ｃk+1を求める（ステップＳ２２０９）。
【０１８７】
ｃk+1＝Ｈk（Ｌ，Ｍ，ａk，ｂk，ｚｋ）  ・・・（２９）
【０１８８】
次に、リング情報演算部２０５によって、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置までの各々の第ｉ番目に順序付けられたダミー署名生成装置に対応する情報として、次のようにダミー署名生成装置に対応したリング情報ａiとｃi+1を計算する。
【０１８９】
まず、リング情報演算部２０５によって、ｉ＝Ｌ＋１かどうか調べ（ステップＳ２２１０）、ｉ＝Ｌ＋１の場合はｉ＝１に設定する（ステップＳ２２１１）。第ｉ番目に順序付けられたダミー署名生成装置に対応する署名情報として乱数発生器２０８により乱数ｓi,1，ｓi,2，ｓi,3∈Ｚｑｉを発生させる（ステップＳ２２１２）。そして、関数演算部２０３によって、（２６）式によりランダム関数値ｚi＝Ｆi（Ｉ）を計算し（ステップＳ２２１３）、リング情報演算部２０５によって、ダミー署名生成装置に対応したリング情報ａi，ｂi，ｃi+1を、次の（３０）、（３１）、（３２）式により算出する（ステップＳ２２１４）。
【０１９０】
ａi＝ｇisi,1ｙisi,2 ｍｏｄ ｐi  ・・・（３０）
ｂi＝ｇisi,3ｚiｃi-si,2 ｍｏｄ ｐi  ・・・（３１）
ｃi+1＝Ｈi+1（Ｌ，Ｍ，ａi，ｂi，ｚi）  ・・・（３２）
【０１９１】
そして、リング情報演算部２０５によりｉにｉ＋１を設定する（ステップＳ２２１５）。このようなステップＳ２２１０からＳ２２１５までの処理をｉ＝ｋ−１からｉ＝ｋ＋１まで繰り返し実行する。これにより、第ｋ＋１番目から第ｋ−１番目までに順序付けられたダミー署名生成装置１１０ごとのリング情報ａi，ｂi，ｃi+1が生成されることになる。
【０１９２】
次に、このようにして第ｋ−１番目に対応付けられたダミー署名生成装置に対応したリング情報ａi，ｂi，ｃi+1が計算された後、リング情報ブラインド部２０６によってブラインド化されたリング情報ｃ’kを次の（３３）式により計算する（ステップＳ２２１６）。
【０１９３】
ｃ’k＝ｃk−ｒ２−ｒ4 ｍｏｄ ｑk  ・・・（３３）
【０１９４】
そして、このブラインド化されたリング情報ｃ’kを入出力部２０９を介して署名生成装置１１０に送信し（ステップＳ２２１７）、署名生成装置１１０からブラインド化された署名情報ｓ’k,1，ｓ’k,2と乱数ｒ’2，ｒ’3を受信するまで待機状態となる（ステップＳ２２１８：Ｎｏ）。
【０１９５】
署名要求装置１００では、入出力部２０９を介して署名生成装置１１０からブラインド化された署名情報ｓ’k,1，ｓ’k,2と乱数ｒ’2，ｒ’3を受信した場合には（ステップＳ２２１８：Ｙｅｓ）、署名情報ブラインド除去部２０７によって、次の（３４）、（３５）式が成立するか否かを検査する（ステップＳ２２１９）。
【０１９６】
ａ’k＝ｇkｓ’k,1ｙks’k,2 ｍｏｄ ｐk  ・・・（３４）
ｂ’k＝ｇkr2ｚkr3ｍｏｄ ｐk  ・・・（３５）
【０１９７】
そして、（３４）、（３５）式が成立しない場合には（ステップＳ２２１９：Ｎｏ）、そのまま処理を終了する。  一方、ステップＳ２２１９において、（３４）、（３５）式が成立する場合は（ステップＳ２２１９：Ｙｅｓ）、署名情報ブラインド除去部２０７によってブラインド化された署名情報ｓ’k,1，ｓ’k,2からブラインド除去を行う（ステップＳ２２２０）。具体的には、署名生成装置１１０に対応する署名情報ｓk,1，ｓk,2を次の（３６）、（３７）式により算出する。
【０１９８】
ｓk,1＝ｓ’k,1＋ｒ1 ｍｏｄ ｑk  ・・・（３６）
ｓk,2＝ｓ’k,2＋ｒ2 ｍｏｄ ｑk  ・・・（３７）
【０１９９】
そして、入出力部２０９によって署名付き文書データ（Ｍ，Ｌ，ＩＤ1，…，ＩＤL，ｃ1，ｓ1,1，ｓ1,2，ｓ1,3，…，ｓL,1，ｓL,2，ｓL,3）を出力して（ステップＳ２２２１）、処理を終了する。
【０２００】
（署名生成処理）
次に、署名生成装置１１０による署名生成処理について説明する。図２５は、実施の形態４にかかる署名生成装置１１０による署名生成処理の手順を示すフローチャートである。
【０２０１】
署名生成装置１１０は、署名要求装置１００から署名生成依頼と署名対象文書データＭの中で公開する一部である部分情報Ｉを受信すると（ステップＳ２５０１）、（２６）式によりランダム関数値ｚk＝Ｆk（Ｉ）を計算し（ステップＳ２５０２）、乱数発生器３０４によって乱数ｒ’1，ｒ’2，ｒ’3∈Ｚｑｋを生成する（ステップＳ２５０３）。そして、拘束情報演算部３０１によって、この乱数ｒ’1，ｒ’2，ｒ’3を使用して、拘束情報ａ’k，ｂ’kを次の（３８）、（３９）式により算出する（ステップＳ２５０４）。
【０２０２】
ａ’k＝ｇkr'1 ｍｏｄ ｐk  ・・・（３８）
ｂ’k＝ｇkr'2 ｚr'3 ｍｏｄ ｐk  ・・・（３９）
【０２０３】
そして、算出された拘束情報ａ’k，ｂ’kを入出力部３０３を介して署名要求装置１００に送信し（ステップＳ２５０５）、署名要求装置１００からブラインド化されたリング情報ｃ’kを受信するまで待機状態となる（ステップＳ２５０６：Ｎｏ）。
【０２０４】
署名生成装置１１０は、入出力部３０３を介して署名要求装置１００でステップ２２１７で送信されたブラインド化されたリング情報ｃ’kを受信すると（ステップＳ２５０６：Ｙｅｓ）、署名演算部３０２によってこのリング情報ｃ’kから秘密鍵メモリ３０５に記憶されている秘密鍵ｘkと乱数ｒ’1，ｒ’2，ｒ’3とを利用してブラインド化された署名情報ｓ’k,1，ｓ’k,2を次の（４０）、（４１）式により算出する（ステップＳ２５０７）。
【０２０５】
ｓ’k,2＝ｃ’k−ｘk  ｒ’3 ｍｏｄ ｑk  ・・・（４０）
ｓ’k,1＝ｒ’1−ｘk  ｓ’k,2 ｍｏｄ ｑk  ・・・（４１）
【０２０６】
そして、生成されたブラインド化された署名情報ｓ’k,1，ｓ’k,2と乱数ｒ’2，ｒ’3を入出力部３０３を介して署名要求装置１００に送信する（ステップＳ２５０８）。
【０２０７】
なお、署名検証装置１２０による署名検証処理については、実施の形態１と同様に行われる。
【０２０８】
このように実施の形態４にかかる署名システムでは、署名対象文書データの一部である部分情報に基づいてリング情報やブランド化されたリング情報を生成して署名生成装置１１０に送信しているので、署名対象文書データの一部を署名生成装置１１０に開示した場合でも、ブラインド署名方式のデジタル署名において署名対象文書のその他の部分の秘匿性を維持しながら、署名者の匿名性を維持することができる。
【０２０９】
（実施の形態５）
実施の形態４にかかる署名システムでは、署名要求装置１００でダミー署名生成装置を選択し、選択されたダミー署名生成装置の順序付けの処理を行っていたが、この実施の形態５にかかる署名システムでは、ダミー署名生成装置１１０とその順序づけが予め定められたものである。
【０２１０】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名検証装置の機能的構成は実施の形態１と同様である。また、本実施の形態にかかる署名システムに実施の形態２のように攪乱除去装置を加えた構成としてもよい。
【０２１１】
図２６は、実施の形態５にかかる署名要求装置２６００の機能的構成を示すブロック図である。署名要求装置２６００は、図２６に示すように、関数演算部２０３と、公開鍵演算部２０４と、リング情報演算部２０５と、リング情報ブラインド部２０６と、署名情報ブラインド除去部２０７と、乱数発生器２０８と、入出力部２０９と、公開鍵メモリ２１０と、乱数メモリ２１１と、メモリ２１２とを主に備えている。本実施の形態の署名要求装置２６００では、実施の形態１と異なり、ダミー署名者選択部と整列部を備えておらず、その代わりにメモリ２１２に署名者テーブル２６０１を保存した構成となっている。その他については実施の形態１の署名要求装置１００と同様である。
【０２１２】
署名者テーブル２６０１は、ダミー署名生成装置および署名生成装置１１０とその順序づけを予め定めたデータファイルである。図２７は、署名者テーブルの一例を示すデータ構造図である。
【０２１３】
署名者テーブル２６０１は、図２７に示すように、リング状に配置する順序とダミー署名生成装置１１０および署名生成装置の識別情報と各署名生成装置１１０で公開情報として公開している公開鍵が対応付けられて登録されている。かかる署名者テーブル２６０１は、署名要求処理を実行する前に、予め生成してメモリ２１２に保存しておく。
【０２１４】
（署名要求処理）
次に、本実施の形態の署名要求装置２６００による署名要求処理について説明する。図２８は、実施の形態５にかかる署名要求装置２６００による署名要求処理の手順を示すフローチャートである。
【０２１５】
まず、署名要求装置２６００では、入出力部２０９によって署名対象の文書データＭとネットワーク上に公開されている署名生成装置１１０の情報（識別情報と公開情報のリスト）を受信する（ステップＳ２８０１）。次に、入出力部２０９は、署名者テーブル２６０１をメモリ２１２から読み出してダミー署名生成装置を（Ｌ−１）人取得する（ステップＳ２８０２）。そして、入出力部２０９によってダミー署名者としての署名生成装置１１０に署名生成依頼を送信し（ステップＳ２８０３）、署名生成装置１１０から拘束情報ａ'kを受信するまで待機状態となる。これ以降の処理は、実施の形態１における署名要求処理（ステップＳ６０５〜Ｓ６１９）と同様に行われる。
【０２１６】
このように実施の形態５にかかる署名システムでは、署名者テーブルによってダミー署名者としての署名生成装置１１０とその順序づけが予め定められているので、署名生成時にその都度ダミー署名者としての署名生成装置１１０とその順序づけを行う必要がなくなり、署名要求装置における署名要求処理の効率化を図ることができる。
【０２１７】
（実施の形態６）
実施の形態１〜５にかかる署名システムでは、署名生成装置１１０が署名要求装置１００から署名生成依頼を受信した時点で、署名要求装置１００に送信する拘束情報をその都度計算していたが、この実施の形態６にかかる署名システムは、署名生成装置が予め拘束情報を計算してメモリに保持しておき、署名要求装置１００から署名生成依頼を受信した場合、メモリに保持されている拘束情報を署名要求装置に送信するものである。
【０２１８】
本実施の形態にかかる署名システムのネットワーク構成、署名要求装置、署名検証装置の機能的構成は実施の形態１と同様である。また、本実施の形態にかかる署名システムに実施の形態２のように攪乱除去装置を加えた構成としてもよい。
【０２１９】
図２９は、実施の形態６にかかる署名生成装置２９００の機能的構成を示すブロック図である。本実施の形態にかかる署名生成装置２９００は、図２９に示すように、拘束情報演算部２９０１と、署名演算部３０２と、乱数発生器３０４と、入出力部３０３と、乱数メモリ３０６と、秘密鍵メモリ３０５と、メモリ３０７とを主に備えている。ここで、署名演算部３０２、乱数発生器３０４、入出力部３０３、乱数メモリ３０６、秘密鍵メモリ３０５、メモリ３０７については実施の形態１の署名生成装置１１０と同様の機能および構成となっている。
【０２２０】
拘束情報演算部２９０１は、署名要求装置１００から署名生成依頼を受信する以前に、乱数メモリ３０６に保存されている乱数を利用して拘束情報を計算して、拘束情報を予めメモリ３０７に保存する処理部である。本実施の形態における拘束情報演算部２９０１は、拘束情報を予め生成してメモリ３０７に保存しておく点が、署名要求装置１００から署名生成依頼を受信した時点で拘束情報を計算する実施の形態１における拘束情報演算部と異なっている。
【０２２１】
次に、本実施の形態にかかる署名生成装置２９００による署名生成処理について説明する。図３０は、実施の形態６にかかる署名生成装置１１０による署名生成処理の手順を示すフローチャートである。
【０２２２】
署名生成装置２９００は、乱数発生器３０４によって乱数ｒ’∈Ｚｑｋを生成し（ステップＳ３００１）、拘束情報演算部２９０１によって、この乱数ｒ’を使用して、拘束情報ａ’kを実施の形態１と同様の（８）式により算出する（ステップＳ３００２）。そして、拘束情報演算部２９０１によって、算出された拘束情報ａ’kと乱数ｒ’の組をメモリ３０７に保存しておく（ステップＳ３００３）。なお、拘束情報ａ’kと乱数ｒ’は複数の組が算出され、メモリ３０７に保存される。
【０２２３】
そして、署名要求装置１００から署名生成依頼を受信すると（ステップＳ３００４）、入出力部３０３は、メモリ３０７から拘束情報ａ’kと乱数ｒ’の組を読み出す（ステップＳ３００５）。そして、入出力部３０３は、読み出した拘束情報ａ’kを署名要求装置１００に送信し（ステップＳ３００６）、署名要求装置１００からブラインド化されたリング情報ｃ’kを受信するまで待機状態となる。
【０２２４】
これ以降の処理は、実施の形態１における署名生成処理（ステップＳ９０５〜Ｓ９０７）と同様に行われる。
【０２２５】
このように実施の形態６にかかる署名システムでは、署名生成装置２９００が予め拘束情報を計算してメモリに保持しておき、署名要求装置１００から署名生成依頼を受信した場合、メモリに保持されている拘束情報を署名要求装置に送信することで、署名生成装置２９００における署名生成処理の効率化を図ることができる。
【０２２６】
実施の形態１〜６の署名生成装置、署名要求装置、署名検証装置、実施の形態２の攪乱除去装置は、ＣＰＵなどの制御装置と、演算器と、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。ここで、演算器は、暗号化処理や復号化処理などにおいて多倍長の演算を実行する部分であり、具体的には四則演算、排他的論理和の計算、ビット連結・分割，ビットの比較などを行う。
【０２２７】
実施の形態１〜６の署名生成装置で実行される署名生成プログラム、実施の形態１〜６の署名要求装置で実行される署名要求プログラム、実施の形態１〜６の署名検証装置で実行される署名検証プログラム、実施の形態２の攪乱除去装置で実行される攪乱除去プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０２２８】
また、実施の形態１〜６の署名生成装置で実行される署名生成プログラム、実施の形態１〜６の署名要求装置で実行される署名要求プログラム、実施の形態１〜６の署名検証装置で実行される署名検証プログラム、実施の形態２の攪乱除去装置で実行される攪乱除去プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の〜装置で実行される〜プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２２９】
また、実施の形態１〜６の署名生成装置で実行される署名生成プログラム、実施の形態１〜６の署名要求装置で実行される署名要求プログラム、実施の形態１〜６の署名検証装置で実行される署名検証プログラム、実施の形態２の攪乱除去装置で実行される攪乱除去プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０２３０】
実施の形態１〜６の署名生成装置で実行される署名生成プログラム、実施の形態１〜６の署名要求装置で実行される署名要求プログラム、実施の形態１〜６の署名検証装置で実行される署名検証プログラム、実施の形態２の攪乱除去装置で実行される攪乱除去プログラムは、上述した各部（署名要求装置：ダミー署名者選択部、整列部、関数演算部、公開鍵演算部、リング情報演算部、リング情報ブラインド部、署名情報ブラインド除去部、入出力部、ブラインド情報暗号化部、署名生成装置：拘束情報演算部、署名演算部、入出力部、署名検証装置：関数演算部、リング情報演算部、検証部、公開鍵演算部、入出力部、攪乱除去装置：復号演算部、ブラインド除去部と、入出力部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【０２３１】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【図面の簡単な説明】
【０２３２】
【図１】実施の形態１にかかる署名システムのネットワーク構成を示す説明図である。
【図２】実施の形態１にかかる署名要求装置の機能的構成を示すブロック図である。
【図３】実施の形態１にかかる署名生成装置の機能的構成を示すブロック図である。
【図４】実施の形態１にかかる署名検証装置の機能的構成を示すブロック図である。
【図５】実施の形態１にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【図６】実施の形態１にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図７】実施の形態１にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図８】実施の形態１にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図９】実施の形態１にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図１０】実施の形態１にかかる署名検証装置による署名検証処理の手順を示すフローチャートである。
【図１１】実施の形態２にかかる署名システムのネットワーク構成を示す説明図である。
【図１２】実施の形態２にかかる署名要求装置の機能的構成を示すブロック図である。
【図１３】実施の形態２にかかる攪乱除去装置の機能的構成を示すブロック図である。
【図１４】実施の形態２にかかる署名システムにおけるブラインド署名の全体処理の手順を示すフローチャートである。
【図１５】実施の形態２にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図１６】実施の形態２にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図１７】実施の形態２にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図１８】実施の形態２にかかる攪乱除去装置による攪乱除去処理の手順を示すフローチャートである。
【図１９】実施の形態３にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２０】実施の形態３にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２１】実施の形態３にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図２２】実施の形態４にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２３】実施の形態４にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２４】実施の形態４にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２５】実施の形態４にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図２６】実施の形態５にかかる署名要求装置の機能的構成を示すブロック図である。
【図２７】実施の形態５にかかる署名要求装置で使用する署名者テーブルの内容の一例を示す説明図である。
【図２８】実施の形態５にかかる署名要求装置による署名要求処理の手順を示すフローチャートである。
【図２９】実施の形態６にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【図３０】実施の形態６にかかる署名生成装置による署名生成処理の手順を示すフローチャートである。
【符号の説明】
【０２３３】
１００，１１００，２６００  署名要求装置
１１０，１１１０，２９００  署名生成装置
１２０  署名検証装置
１３０  ネットワーク
２０１  ダミー署名者選択部
２０２  整列部
２０３，４０１  関数演算部
２０４，４０３  公開鍵演算部
２０５，４０２  リング情報演算部
２０６  リング情報ブラインド部
２０７  署名情報ブラインド除去部
２０８，３０４  乱数発生器
２０９，３０３，４０４，１３０３  入出力部
２１０，４０５  公開鍵メモリ
２１１，３０６  乱数メモリ
２１２，３０７，４０６，１３０５  メモリ
３０１，２９０１  拘束情報演算部
３０２  署名演算部
３０５  秘密鍵メモリ
４０７  検証部４０７
１１２０  攪乱除去装置
１２０１  ブラインド情報暗号化部
１２０２，１３０４  鍵メモリ
１３０１  復号演算部
１３０２  ブラインド除去部
２６０１  署名者テーブル
【図１】
2006101225.tif 000003
【図２】
2006101225.tif 000004
【図３】
2006101225.tif 000005
【図４】
2006101225.tif 000006
【図５】
2006101225.tif 000007
【図６】
2006101225.tif 000008
【図７】
2006101225.tif 000009
【図８】
2006101225.tif 000010
【図９】
2006101225.tif 000011
【図１０】
2006101225.tif 000012
【図１１】
2006101225.tif 000013
【図１２】
2006101225.tif 000014
【図１３】
2006101225.tif 000015
【図１４】
2006101225.tif 000016
【図１５】
2006101225.tif 000017
【図１６】
2006101225.tif 000018
【図１７】
2006101225.tif 000019
【図１８】
2006101225.tif 000020
【図１９】
2006101225.tif 000021
【図２０】
2006101225.tif 000022
【図２１】
2006101225.tif 000023
【図２２】
2006101225.tif 000024
【図２３】
2006101225.tif 000025
【図２４】
2006101225.tif 000026
【図２５】
2006101225.tif 000027
【図２６】
2006101225.tif 000028
【図２７】
2006101225.tif 000029
【図２８】
2006101225.tif 000030
【図２９】
2006101225.tif 000031
【図３０】
2006101225.tif 000032