ブラインド署名


Blind_signature
で暗号ブラインド署名により導入されるように、デイビット・ショーン、の形式でデジタル署名、メッセージの内容が(偽装された盲検それが署名される前)。結果として得られるブラインド署名は、通常のデジタル署名の方法で、元のブラインドされていないメッセージに対して公的に検証できます。ブラインド署名は通常、署名者とメッセージ作成者が異なる当事者であるプライバシー関連のプロトコルで使用されます。例としては、暗号化選挙システムやデジタルキャッシュスキームが
暗号化されたブラインド署名によく使用される類似点は、投票者の資格情報が外側に事前に印刷された特別なカーボン紙で裏打ちされた封筒に、完成した匿名投票用紙を同封する投票者の物理的行為です。職員は資格情報を確認し、封筒に署名します。これにより、カーボンペーパーを介して内部の投票用紙に署名が転送されます。署名されると、パッケージは投票者に返されます。投票者は、署名された投票用紙を新しいマークのない通常の封筒に転送します。したがって、署名者はメッセージコンテンツを表示しませんが、サードパーティは後で署名を検証し、基になる署名スキームの制限内で署名が有効であることを知ることができます。
作品におけるブラインド署名の例
ブラインド署名を使用してリンク解除機能を提供することもできます。これにより、署名者は、署名したブラインドメッセージを、検証を求められる可能性のある後のブラインドされていないバージョンにリンクできなくなります。この場合、署名者の応答は、署名が非ブラインドメッセージに対して有効なままであるように、検証の前に最初に「非ブラインド」になります。これは、匿名性が必要なスキームで役立ちます。
ブラインド署名スキームは、RSAやDSAなどの多くの一般的な公開鍵署名スキームを使用して実装できます。このような署名を実行するには、メッセージを最初に「ブラインド」します。通常、メッセージを何らかの方法でランダムな「ブラインドファクター」と組み合わせます。ブラインドされたメッセージは署名者に渡され、署名者は標準の署名アルゴリズムを使用して署名します。結果のメッセージは、ブラインドファクターとともに、後で署名者の公開鍵と照合して検証できます。RSAなどの一部のブラインド署名スキームでは、検証前に署名からブラインド係数を削除することも可能です。これらのスキームでは、ブラインド署名スキームの最終出力(メッセージ/署名)は、通常の署名プロトコルの出力と同じです。

コンテンツ
1 用途
2 ブラインド署名スキーム
2.1 ブラインドRSA署名
3 RSAブラインド署名の危険性
4 も参照してください
5 参考文献
6 外部リンク

用途
ブラインド署名スキームは、送信者のプライバシーが重要なアプリケーションで多く使用されています。これには、さまざまな「デジタルキャッシュ」スキームと投票プロトコルが含まれます。
たとえば、一部の電子投票システムの整合性では、各投票用紙がカウントのために受け入れられる前に、選挙当局による認証が必要になる場合がこれにより、権限は投票者の資格情報をチェックして、投票が許可されていること、および投票用紙を複数提出していないことを確認できます。同時に、この当局が有権者の選択を学習しないことが重要です。リンクできないブラインド署名は、当局が署名した投票用紙の内容を確認できず、署名したブラインド投票用紙を、カウントのために受け取った非ブラインド投票用紙にリンクできないため、この保証を提供します。

ブラインド署名スキーム
ブラインド署名スキームは、多くの公開鍵署名プロトコルに存在します。より正式には、ブラインド署名スキームは、メッセージの署名を取得したいユーザーのアリスと、秘密の署名キーを所有している署名者のボブの2者が関与する暗号化プロトコルです。プロトコルの最後に、アリスはボブがメッセージについて何も学習することなく、mでボブの署名を取得します。何も学ばないというこの直感は、数学的に捉えるのは難しいです。通常のアプローチは、すべての(敵対的な)署名者に対して、署名者と同じ情報を出力できるシミュレーターが存在することを示すことです。これは、ゼロ知識証明システムでゼロ知識を定義する方法に似ています。

ブラインドRSA署名 :235  最も単純なブラインド署名スキームの1つは、RSA署名に基づいています。従来のRSA署名は、メッセージmをパブリックモジュラスNを法とする秘密指数dに上げることによって計算されます。ブラインドバージョンは、乱数使用Rをするように、Rがである互いに素のN(すなわち、GCD(R、N)= 1)。rはNを法とする公開指数eに上げられ、結果の値は e
モッド {r ^ {e} { bmod {N}}}

 目隠し要因として使用されます。メッセージの作成者は、メッセージとブラインドファクターの積を計算します。 ′
≡ e(( o  )。
{m ‘ equiv mr ^ {e} ( mathrm {mod} N)}
  結果の値を送信します ′
{m ‘}

 署名機関に。のでrはランダムな値とマッピングです ↦ e
モッド {r mapsto r ^ {e} { bmod {N}}}

  順列であり、次のようになります e
モッド {r ^ {e} { bmod {N}}}

 ランダムでもこれは、 ′
{m ‘}

 mに関する情報を漏らしません。次に、署名機関はブラインド署名s ‘を次のように計算します。 ′ ≡ (( ′
)。 (( o  )。 {s ‘ equiv(m’)^ {d} ( mathrm {mod} N)。}
  s ‘はメッセージの作成者に返送され、作成者はブラインドファクターを削除して、mの有効なRSA署名であるsを明らかにすることができます。 ≡ ′
⋅ − 1 (( o  )。
{s equiv s ‘ cdot r ^ {-1} ( mathrm {mod} N)}
  これは、RSAキーが方程式を満たすために機能します e≡(( モッド )。
{r ^ {ed} equiv r { pmod {N}}}

  したがって ≡ ′
⋅ −1 ≡(( ′
)。 − 1 ≡e − 1 ≡− 1 ≡ (( モッド )。 {s equiv s ‘ cdot r ^ {-1} equiv(m’)^ {d} r ^ {-1} equiv m ^ {d} r ^ {ed} r ^ {-1} equiv m ^ {d} rr ^ {-1} equiv m ^ {d} { pmod {N}}、}