(57)【特許請求の範囲】
【請求項１】
署名者装置は、乱数を秘匿するコミット値を作成する作成手段と、コミット作成に使用した乱数及びチャレンジ値に基づいて署名を生成する署名手段とを有し、署名要求者装置は、乱数でコミット値を撹乱するコミット撹乱手段と、コミット値及び署名対象文書に基づいてチャレンジ値を作成するチャレンジ生成手段と、乱数でチャレンジ値を撹乱するチャレンジ撹乱手段と、署名から乱数成分を除去する撹乱除去手段と、署名を検証する署名検証手段とを有し、署名者装置が、署名対象の文書を知ることなく署名を実行するブラインド署名方式であって、
署名対象の文書は公開共通文書Ｄと秘匿文書ｍの二つの部分からなり、
署名者装置は、公開共通文書からランダムな公開鍵を生成するランダム公開鍵生成手段と、ランダムに選んだチャレンジ値に対する署名を生成する疑似署名手段と、署名要求者装置より受信したチャレンジ値から疑似署名手段で用いたランダム値を分離して別のチャレンジ値を生成するチャレンジ分離手段とを有し、
署名要求者装置は、チャレンジ値からも乱数成分を除去する撹乱除去手段と、署名者装置と同様のランダム公開鍵生成手段とを有し、
署名者装置が、ランダム公開鍵生成手段によってランダム公開鍵ｙ1を生成するステップと、
署名者装置が、コミット作成手段によって乱数ｋに対応するコミット値ｒ0を生成するステップと、
署名者装置が、疑似署名手段によってｙ1に基づく疑似署名ｓ1、ランダムなチャレンジ値ｃ1及びランダムなコミット値ｒ1を得るステップと、
署名要求者装置が、ランダム公開鍵生成手段によってランダム公開鍵ｙ1を生成するステップと、
署名要求者装置が、コミット撹乱手段によってｒ0及びｒ1を撹乱し、撹乱されたコミット値γ0，γ1を得るステップと、
署名要求者装置が、撹乱したコミット値γ0，γ1及び署名対象文書に基づいて、チャレンジ生成手段によってチャレンジ値εを得るステップと、
署名要求者装置が、チャレンジ撹乱手段によって撹乱されたチャレンジ値ｅを得るステップと、
署名者装置が、チャレンジ分離手段によってｅからｃ1を分離してｃ0を生成するステップと、
署名者装置が、ｋ，ｃ0及び秘密の署名鍵に基づいて、署名手段によって署名ｓ0を生成するステップと、
署名要求者装置が、撹乱除去手段によってｃ0，ｓ0からε0，σ0を生成するステップと、
署名要求者装置が、撹乱除去手段によってｃ1，ｓ1からε1，σ1を生成するステップと、
署名要求者装置が、γ0，ε0，σ0，γ1，ε1，σ1、公開共通文書及び秘匿文書に基づいて、署名検証手段によって署名を検証するステップとを実行する
ことを特徴とする部分ブラインド署名方式。
【請求項２】
ｐ，ｑを大きな素数とし（ｑはｐ−１を割り切るものとする。）、ｇをＺpの位数ｑの元とし、署名者装置が、秘密鍵ｘ及びｙ0＝ｇx mod ｐを満たす公開鍵ｙ0を保持するものとした時、Ｓｃｈｎｏｒｒ署名に基づき、
疑似署名手段を、
（ａ）ｓ1，ｃ1を｛０，……，ｑ−１｝からランダムに選ぶ、
（ｂ）ｒ1：＝ｇs1ｙ0c1 mod ｐの計算、
で実現し、
チャレンジ分離手段を、
ｃ0：＝ｅ−ｃ1 mod ｑ
の計算で実現し、
署名手段を、
ｓ0：＝ｋ−ｃ0ｘ mod ｑ
の計算で実現し、
コミット撹乱手段を、
α0，α1，β0，β1を｛０，……，ｑ−１｝からランダムに選ぶとともに、
【数１】
0003691726.tif 000016
及び
【数２】
0003691726.tif 000017
の計算で実現し、
チャレンジ撹乱手段を、
ｅ：＝ε−β0−β1 mod ｑ
の計算で実現し、
撹乱除去手段を、
ε0：＝ｃ0＋β0 mod ｑ、
σ0：＝ｓ0＋α0 mod ｑ、
ε1：＝ｃ1＋β1 mod ｑ
及び
σ1：＝ｓ1＋α1 mod ｑ
の計算で実現し、
署名検証手段を、Ｈ1及びＨ2をハッシュ関数として、
【数３】
0003691726.tif 000018
が成り立つならばＯＫ、成り立たなければＮＧで実現した
ことを特徴とする請求項１記載の部分ブラインド署名方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子情報に対して署名を付与するディジタル署名方式に関するものである。
【０００２】
【従来の技術】
ブラインド署名は、署名者に文書の内容を秘密にしたままで署名を付けてもらう技術である。ＲＳＡ法に基づく方式が、例えばＤ．Ｃｈａｕｍ，”Ｓｅｃｕｒｉｔｙ  ｗｉｔｈｏｕｔ  Ｉｄｅｎｔｉｔｉｃａｔｉｏｎ：Ｔｒａｎｓａｃｔｉｏｎ  Ｓｙｓｔｅｍｓ  ｔｏ  Ｍａｋｅ  Ｂｉｇ  Ｂｒｏｔｈｅｒ  Ｏｂｓｏｌｅｔｅ”，Ｃｏｍｍ．ｏｆ  ｔｈｅ  ＡＣＭ，Ｖｏｌ．２８，Ｎｏ．１０，１９８５，ｐｐ．１０３０−１０４４に示されている。
【０００３】
署名の要求者は、ブラインド署名前処理によって文書ｍを乱数αで撹乱してブラインドメッセージｅを作成する。署名者は、秘密鍵を用いてｅに対応する仮の署名ｓを計算する。この時、ｅはαによって撹乱されているため、署名者は文書ｍを知ることはできない。要求者は、ブラインド署名後処理によって、ｓから乱数αの影響を除去して、本来の文書ｍに対する署名σを求め、ｍとσの対を署名検証者に送信する。署名検証者は、署名者の公開鍵を用いてσがｍの署名であることを確認する。ここで、署名検証者は、乱数αを知らないため、ｓとσの対応関係を知ることはできない。
【０００４】
Ｓｃｈｎｏｒｒ署名に基づくブラインド署名の手順を以下に示す。ｐ，ｑを大きな素数とし、ｑはｐ−１を割り切るものとする。ｇをＺpの位数ｑの元とする。署名者は秘密鍵ｘ及びｙ＝ｇx mod ｐを満たす公開鍵ｙを保持する。Ｈをハッシュ関数とする。ｐ，ｑ，ｇ，Ｈ及びｙは公開されているものとする。
【０００５】
（Ｓｔｅｐ−１）署名者は乱数ｋ∈Ｚqを生成し、ｒ：＝ｇk mod ｑを計算してｒを署名要求者へ送信する。
【０００６】
（Ｓｔｅｐ−２）署名要求者は乱数α，βを生成し、ｒを
【０００７】
【数１】
0003691726.tif 000002
【０００８】
と撹乱する。次に、チャレンジ値εをε：＝Ｈ（ｍ，γ）のように計算し、このチャレンジ値をｃ＝ε−β mod ｑのように撹乱する。最後に、ｃを署名者へ送信する。
【０００９】
（Ｓｔｅｐ−３）署名者はｓ＝ｋ−ｃｘ mod ｑを計算し、ｓを署名要求者へ送信する。
【００１０】
（Ｓｔｅｐ−４）署名要求者はσ：＝ｓ＋α mod ｑを計算し、（ε，σ）を文書ｍに対する署名として出力する。
【００１１】
文書ｍに対する署名（ε，σ）は、
【００１２】
【数２】
0003691726.tif 000003
【００１３】
が成り立つ時、正しい文書−署名対として認められ、成り立たないならば、不正な署名であると見なされる。
【００１４】
署名生成手順が正しく実行された場合、出力される（ε，σ）は、
【００１５】
【数３】
0003691726.tif 000004
【００１６】
となり、検証式
【００１７】
【数４】
0003691726.tif 000005
【００１８】
を満たす。
【００１９】
【発明が解決しようとする課題】
前述のブラインド署名方式では、署名対象の文書ｍが完全にランダム化されているため、署名者は必要な情報が文書に正しく含まれているか否かを署名時に確かめることができない。例えば、署名者が、署名に有効期限を付けたい場合、前述の方式では、署名要求者が署名対象文書ｍの中に有効期限が正しく挿入しているかどうかを、署名者は確認することができない。
【００２０】
本発明の目的は、署名対象文書中に、必要な情報が正しく含まれていることを署名者及び署名要求者が相互に確認可能である部分ブラインド署名方式を提供することにある。
【００２１】
【課題を解決するための手段】
署名対象文書Ｍを、確認すべき情報を含む共通公開文書Ｄと、秘匿とすべき情報を含む秘匿文書ｍとの二つの部分に分割する。署名者ＡはＤに基づいて、公開された公開鍵生成手段で公開鍵ｙ1を生成する。但し、この公開鍵生成手段は、対応する秘密鍵を求めることが困難であるようなｙ1を生成するものとする。署名者は、元々保持している公開鍵ｙ0と、新たに生成したｙ1の少なくとも一方に対応する秘密鍵を保持していることを証明するゼロ知識証明プコトコルに基づいてｍに対するブラインド署名を発行する。そのようなゼロ知識証明は、ｙ0に対応する秘密鍵に対するゼロ知識証明を実際に行う一方で、ｙ1に対応する秘密鍵に対するゼロ知識証明をシミュレーションで擬似的に行うことで実行する。署名要求者が、ｙ1あるいはｙ0に対応する秘密鍵を偽造できない限り、生成された署名は、Ｄ及びｍに基づいていることが保証される。
【００２２】
署名要求者及び署名検証者は、署名者と同様の手順でＤから公開鍵ｙ1を作成し、ｙ0とｙ1の両方を用いて署名を検証する。検証に合格すれば、その署名は、公開部分Ｄ及び秘匿部分ｍの両方に対する署名であることを確認することができる。
【００２３】
【発明の実施の形態】
［実施の形態１］
図１は本発明方式のシステム構成を示すもので、図中、１０は署名者（センタ）、２０は署名要求者、３０は署名検証者である。
【００２４】
署名者１０は、ランダム公開鍵生成手段１１と、コミット作成手段１２と、疑似署名手段１３と、チャレンジ分離手段１４と、署名手段１５とを備えている。署名要求者２０は、ランダム公開鍵生成手段２１と、コミット撹乱手段２２と、チャレンジ生成手段２３と、チャレンジ撹乱手段２４と、撹乱除去手段２５と、署名検証手段２６とを備えている。署名検証者３０は、ランダム公開鍵生成手段３１と、署名検証手段３２とを備えている。
【００２５】
図２は乃至図１０は本発明方式の第１の実施の形態、ここではＥｌＧａｍａｌ署名に基づく実施の形態（但し、特許請求の範囲には含まれない。）を示すもので、図２は署名者１０の処理フロー、図３は署名要求者２０の処理フローをそれぞれ示す。
【００２６】
ｐを大きな素数とし、ｑをｐ−１を割り切る大きな整数とする。ｇを位数がｑであるＺpの元とする。署名者１０は｛１，……，ｑ−１｝の範囲に入る秘密鍵ｘ0及びｙ0＝ｇx0 mod ｐを満たす公開鍵ｙ0を保持する。Ｈ1及びＨ2をハッシュ関数とする。ｐ，ｑ，ｇ，Ｈ1，Ｈ2及びｙ0は公開されているものとする。
【００２７】
まず、公開部分Ｄを署名者１０が決定する場合について説明する。署名要求があった場合、署名者１０は以下の手順に従ってブラインド署名を発行する。
【００２８】
（Ａ１−１）Ｄを選ぶ。
【００２９】
（Ａ１−２）ｙ1：＝Ｈ1（Ｄ） mod ｐを計算する（ランダム公開鍵生成手段１１の実行）。
【００３０】
（Ａ１−３）ｋを｛１，……，ｑ−１｝からランダムに選び、ｒ0：＝ｇk modｐを計算する（コミット作成手段１２の実行）。
【００３１】
（Ａ１−４）疑似署名手段１３（ｙ1，ｇ，ｐ，ｑ）を実行する。その結果を（ｒ1，ｓ1，ｃ1）とする。
【００３２】
（Ａ１−５）ｒ0，ｒ1，Ｄを署名要求者２０へ送信する。
【００３３】
（Ａ１−６）署名要求者２０からｅを受信する。
【００３４】
（Ａ１−７）ｅでなく、ＮＧを受信した場合、異常終了する。ＮＧでない場合、次のステップへ進む。
【００３５】
（Ａ１−８）チャレンジ分離手段１４（ｅ，ｃ1，ｑ）を実行する。その結果をｃ0とする。
【００３６】
（Ａ１−９）署名手段１５（ｘ，ｋ，ｃ0，ｑ）を実行する。その結果をｓ0とする。
【００３７】
（Ａ１−１０）ｓ0，ｓ1，ｃ0，ｃ1を署名要求者２０へ送信する。
【００３８】
署名要求者２０は、署名者１０に要求を出した後、以下の手順に従って、署名を得る。
【００３９】
（Ｂ１−１）ｒ0，ｒ1，Ｄを署名者１０から受信する。
【００４０】
（Ｂ１−２，−３）Ｄを署名に含めることを認めるならば、次のステップへ進む。拒否するならば、ＮＧを署名者１０へ送付し、異常終了する。
【００４１】
（Ｂ１−４）ｙ1：＝Ｈ1（Ｄ） mod ｑを計算する（ランダム公開鍵生成手段２１の実行）。
【００４２】
（Ｂ１−５）α0，β0，α1，β1を｛０，……，ｑ−１｝からランダムに選ぶ。
【００４３】
（Ｂ１−６）コミット撹乱手段２２（ｙ，ｇ，ｒ0，α0，β0，ｐ）を実行し、結果γ0を得る。
【００４４】
（Ｂ１−７）コミット撹乱手段２２（ｙ，ｇ，ｒ1、α1，β1，ｐ）を実行し、結果γ1を得る。
【００４５】
（Ｂ１−８）ε：＝Ｈ2（ｍ‖Ｄ‖ｙ0‖γ0‖ｙ1‖γ1） mod ｑを計算する（チャレンジ生成手段２３の実行）。
【００４６】
（Ｂ１−９）チャレンジ撹乱手段２４（α0，β0，γ0，ｒ0，α1，β1，γ1，ｒ1，ε，ｑ）を実行し、結果ｅを得る。
【００４７】
（Ｂ１−１０）署名者１０へｅを送信する。
【００４８】
（Ｂ１−１１）署名者１０からｓ0，ｓ1，ｃ0，ｃ1を受信する。
【００４９】
（Ｂ１−１２）撹乱除去手段２５（α0，β0，γ0，ｒ0，ｃ0，ｓ0，ｑ）を実行し、結果（σ0，ε0）を得る。
【００５０】
（Ｂ１−１３）撹乱除去手段２５（α1，β1，γ1，ｒ1，ｃ1，ｓ1，ｑ）を実行し、結果（σ1，ε1）を得る。
【００５１】
（Ｂ１−１４）署名検証手段２６（γ0，ε0，σ0，γ1，ε1，σ1，Ｄ，ｍ，ｙ0，ｐ，ｑ）を実行し、ＯＫならば、次のステップへ進む。ＮＧならば、異常終了する。
【００５２】
（Ｂ１−１５）γ0，ε0，σ0，γ1，ε1，σ1を出力する。
【００５３】
署名検証者３０は、署名者１０あるいは署名要求者２０と同様にランダム公開鍵生成手段３１を実行してｙ1を求めるとともに、署名−文書対（γ0，ε0，σ0，γ1，ε1，σ1，ｍ，Ｄ）に対して、署名要求者２０と同様に署名検証手段３２（γ0，ε0，σ0，γ1，ε1，σ1，Ｄ，ｍ，ｙ0，ｐ，ｑ）がＯＫとなることを検証する。ＯＫならば、その署名を正しいとし、そうでなければ、不正な署名と見なす。
【００５４】
例えばＰ．Ｈｏｒｓｔｅｒ，Ｍ．Ｍｉｃｈｅｌｓ，Ｈ．Ｐｅｔｅｒｓｅｎ，”ｍｅｔａ−Ｍｅｓｓａｇｅ  Ｒｅｃｏｖｅｒｙ  ａｎｄ  Ｍｅｔａ−ＢｌｉｎｄＳｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅｓ  Ｂａｓｅｄ  ｏｎ  ｔｈｅ  Ｄｉｓｃｒｅｔｅ  Ｌｏｇａｒｉｔｈｍ  Ｐｒｏｂｌｅｍ  ａｎｄ  Ｔｈｅｉｒ  Ａｐｐｌｉｃａｔｉｏｎｓ”，Ａｉｓａｃｒｙｐｔ’９２，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，１９９２，ｐｐ．２２４−２３７に示される通り、ブラインドＥｌＧａｍａｌ署名には、多数の変形版が存在し、どの変形方式を用いるかによって、上記各手段の具体的内容が決まる。以下にその一例を示す。ここで、記号「＊」は０または１を表すものとする。
【００５５】
0003691726.tif 000006
【００５６】
【数５】
0003691726.tif 000007
【００５７】
0003691726.tif 000008
かつ
【００５８】
【数６】
0003691726.tif 000009
【００５９】
かつ
【００６０】
【数７】
0003691726.tif 000010
【００６１】
の時
ＮＧ：それ以外
図４、図５、図６、図７、図８、図９、図１０にそれぞれ、疑似署名手段１３、チャレンジ分離手段１４、署名手段１５、コミット撹乱手段２２、チャレンジ撹乱手段２４、撹乱除去手段２５、署名検証手段２６，３２を実現する処理フローの一例を示す。
【００６２】
各手段の具体的内容によっては、入力変数の幾つかを使用しない場合もある。
【００６３】
ステップＡ−３及びＡ−４で、ｒ0 mod ｑ＝０あるいはｒ1 mod ｑ＝０となるか否かを検査し、そうなる場合には、これらのステップを乱数を変えて再度実行する、という手順を加えても良い。
【００６４】
公開部分Ｄを署名要求者が決定する場合は、Ｄに関する選択と不合意（ＮＧ）時の通知の役割を入れ換えれば良い。
【００６５】
Ｄがその日の日付である等、署名者と署名要求者との間で独立に取得可能な値である場合には、Ｄを送付したり、不合意通知をする必要はない。
【００６６】
ハッシュ関数Ｈ2へ入力する変数の順序は、署名要求者と署名検証者の手順で同一ならば、どのような順序であっても良い。
【００６７】
上記の実施の形態は、乗法群Ｚp*上で構成されたＥｌＧａｍａｌ署名を用いた例であるが、ＥｌＧａｍａｌ署名は離散対数問題が困難であるようなあらゆる群の上で実現できることが既知であり、例えば本実施の形態の趣旨に沿って、楕円曲線上の有限群でのＥｌＧａｍａｌ署名を用いても良い。
【００６８】
［実施の形態２］
図１１及び図１２は本発明方式の第２の実施の形態、ここではＳｃｈｎｏｒｒ署名に基づく実施の形態を示すもので、図１１は署名者１０の処理フロー、図１２は署名要求者２０の処理フローをそれぞれ示す。
【００６９】
ｐ，ｑを大きな素数とし、ｑはｐ−１を割り切るものとする。ｇをＺpの位数ｑの元とする。署名者１０は秘密鍵ｘ及びｙ0＝ｇx mod ｐを満たす公開鍵ｙ0を保持する。Ｈ1及びＨ2をハッシュ関数とする。ｐ，ｑ，ｇ，Ｈ1，Ｈ2及びｙ0は公開されているものとする。
【００７０】
まず、公開部分Ｄを署名者１０が決定する場合について説明する。署名要求があった場合、署名者１０は以下の手順に従ってブラインド署名を発行する。
【００７１】
（Ａ２−１）Ｄを選ぶ。
【００７２】
（Ａ２−２）ｙ1：＝Ｈ1（Ｄ） mod ｐを計算する（ランダム公開鍵生成手段１１の実行）。
【００７３】
（Ａ２−３）ｋを｛１，……，ｑ−１｝からランダムに選び、ｒ0：＝ｇk modｐを計算する（コミット作成手段１２の実行）。
【００７４】
（Ａ２−４）（疑似署名手段１３の実行）
（ａ）ｓ1，ｃ1を｛０，……，ｑ−１｝からランダムに選ぶ。
【００７５】
（ｂ）ｒ1：＝ｇs1ｙ0c1 mod ｐを計算する。
【００７６】
（Ａ２−５）ｒ0，ｒ1，Ｄを署名要求者２０へ送信する。
【００７７】
（Ａ２−６）署名要求者２０からｅを受信する。
【００７８】
（Ａ２−７）ｅでなく、ＮＧを受信した場合、異常終了する。ＮＧでない場合、次のステップへ進む。
【００７９】
（Ａ２−８）ｃ0：＝ｅ−ｃ1 mod ｑを求める（チャレンジ分離手段１４の実行）。
【００８０】
（Ａ２−９）ｓ0：＝ｋ−ｃ0ｘ mod ｑを求める（署名手段１５の実行）。
【００８１】
（Ａ２−１０）ｓ0，ｓ1，ｃ0，ｃ1を署名者要求２０へ送信する。
【００８２】
署名要求者２０は、署名者１０に要求を出した後、以下の手順に従って、署名を得る。
【００８３】
（Ｂ２−１）ｒ0，ｒ1，Ｄを署名者１０から受信する。
【００８４】
（Ｂ２−２，−３）Ｄを署名に含めることを認めるならば、次のステップへ進む。拒否するならば、ＮＧを署名者１０へ送付し、異常終了する。
【００８５】
（Ｂ２−４）ｙ1：＝Ｈ1（Ｄ） mod ｑを計算する（ランダム公開鍵生成手段２１の実行）。
【００８６】
（Ｂ２−５）α0，β0，α1，β1を｛０，……，ｑ−１｝からランダムに選び、
【００８７】
【数８】
0003691726.tif 000011
【００８８】
及び
【００８９】
【数９】
0003691726.tif 000012
【００９０】
を求める（コミット撹乱手段２２の実行）。
【００９１】
（Ｂ２−６）ε：＝Ｈ2（ｍ‖Ｄ‖ｙ0‖γ0‖ｙ1‖γ1）を求める（チャレンジ生成手段２３の実行）。
【００９２】
（Ｂ２−７）ｅ：＝ε−β0−β1 mod ｑを求める（チャレンジ撹乱手段２４の実行）。
【００９３】
（Ｂ２−８）署名者１０へｅを送信する。
【００９４】
（Ｂ２−９）署名者１０からｓ0，ｓ1，ｃ0，ｃ1を受信する。
【００９５】
（Ｂ２−１０）ε0：＝ｃ0＋β0 mod ｑ、σ0：＝ｓ0＋α0 mod ｑ、ε1：＝ｃ1＋β1 mod ｑ及びσ1：＝ｓ1＋α1 mod ｑを求める（撹乱除去手段２５の実行）。
【００９６】
（Ｂ２−１１）（署名検証手段２６の実行）
【００９７】
【数１０】
0003691726.tif 000013
【００９８】
が成り立つならば、次のステップへ進む。成り立たなければ、異常終了する。
【００９９】
（Ｂ２−１２）ε0，σ0，ε1，σ1を出力する。
【０１００】
署名検証者３０は、署名者１０あるいは署名要求者２０と同様にランダム公開鍵生成手段３１を実行してｙ1を求めるとともに、署名−文書対（ε0，σ0，ε1，σ1，ｍ，Ｄ）に対して、署名要求者２０と同様に署名検証手段３２を実行し、
【０１０１】
【数１１】
0003691726.tif 000014
【０１０２】
が成り立つことを検証する。成り立つならば、その署名を正しいとし、そうでなければ、不正な署名と見なす。
【０１０３】
署名生成が正しく行われた場合、
【０１０４】
【数１２】
0003691726.tif 000015
【０１０５】
となり、ε0，σ0，ε1，σ1，ｍ，Ｄは検証式を満足する。
【０１０６】
公開部分Ｄを署名要求者が決定する場合は、Ｄに関する選択と不合意（ＮＧ）時の通知の役割を入れ換えれば良い。
【０１０７】
Ｄがその日の日付である等、署名者と署名要求者との間で独立に取得可能な値である場合には、Ｄを送付したり、不合意通知をする必要はない。
【０１０８】
ハッシュ関数Ｈ2へ入力する変数の順序は、署名要求者と署名検証者の手順で同一ならば、どのような順序であっても良い。
【０１０９】
上記の実施の形態は、乗法群Ｚp*上で構成されたＳｃｈｎｏｒｒ署名を用いた例であるが、ＥｌＧａｍａｌ署名と同様、Ｓｃｈｎｏｒｒ署名も離散対数問題が困難であるような群の上で実現できるので、例えば、本実施の形態の趣旨に沿って、楕円曲線上の有限群でのＳｃｈｎｏｒｒ署名を用いても良い。
【０１１０】
【発明の効果】
以上説明したように、本発明によれば、署名対象文書の中に、必要な情報が正しく含まれていることを署名者と署名要求者が相互に確認できるブラインド署名の発行が可能となる。即ち、署名者は、発行した署名に有効期限やその他の条件等、必要な情報を含めることによって、その署名が署名者の意に沿わない条件で使用されることを防止することが可能となる。
【図面の簡単な説明】
【図１】本発明方式のシステムの概要図
【図２】第１の実施の形態における署名者の処理フローを示す図
【図３】第１の実施の形態における署名要求者の処理フローを示す図
【図４】疑似署名手段を実現する処理フローの一例を示す図
【図５】チャレンジ分離手段を実現する処理フローの一例を示す図
【図６】署名手段を実現する処理フローの一例を示す図
【図７】コミット撹乱手段を実現する処理フローの一例を示す図
【図８】チャレンジ撹乱手段を実現する処理フローの一例を示す図
【図９】撹乱除去手段を実現する処理フローの一例を示す図
【図１０】署名検証手段を実現する処理フローの一例を示す図
【図１１】第２の実施の形態における署名者の処理フローを示す図
【図１２】第２の実施の形態における署名要求者の処理フローを示す図
【符号の説明】
１０：署名者、１１，２１，３１：ランダム公開鍵生成手段、１２：コミット作成手段、１３：疑似署名手段、１４：チャレンジ分離手段、１５：署名手段、２０：署名要求者、２２：コミット撹乱手段、２３：チャレンジ生成手段、２４：チャレンジ撹乱手段、２５：撹乱除去手段、２６，３２：署名検証手段、３０：署名検証者。
【図１】
0003691726.tif 000019
【図２】
0003691726.tif 000020
【図３】
0003691726.tif 000021
【図４】
0003691726.tif 000022
【図５】
0003691726.tif 000023
【図６】
0003691726.tif 000024
【図７】
0003691726.tif 000025
【図８】
0003691726.tif 000026
【図９】
0003691726.tif 000027
【図１０】
0003691726.tif 000028
【図１１】
0003691726.tif 000029
【図１２】
0003691726.tif 000030