このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

  • 追加された行はこの色です。
  • 削除された行はこの色です。
*目次 [#fa1cf9a8]

#contents

*宣伝 [#sc6f85f7]

 当サイトにおける暗号に関するページでは、説明が足りなかったり、誤った記述をしていたりするところがあります。今後、少しずつ修正する予定です。~

 暗号理論の『暗号技術のすべて』が発売されています。初心者向けの暗号本です。これまで暗号本に何度か挑戦しつつも挫折してしまった方、学校の課題で悩んでいる方、資格試験にて暗号の問題が苦手な方などにお勧めです。

[[&ref(http://s-akademeia.sakura.ne.jp/main/books/cipher/img/cover_mini.jpg,nolink,『暗号技術のすべて』宣伝サイト);>http://s-akademeia.sakura.ne.jp/main/books/cipher/]]

 興味がある方は[[宣伝サイト:http://s-akademeia.sakura.ne.jp/main/books/cipher/]]を参照してください。[[Amazon:https://www.amazon.co.jp/dp/4798148814/securityakade-22]]でも発売中です。


*ゼロ知識非対話署名 [#ubeb4b2c]
 ゼロ知識対話証明における証明者と検証者の通信を一方通行(非対話)にすることで、署名が実現できる。これを''ゼロ知識対話署名''と呼ぶ。
 ([[ゼロ知識証明]])ゼロ知識対話証明における証明者と検証者の通信を一方通行(非対話)にすることで、署名が実現できる。これを''ゼロ知識対話署名''と呼ぶ。

「Pは(p,g,y)に対して、y=gx mod pとなるxを知っている」という知識、平文に対応する署名が正しいかVが確かめる。

 ちなみに、qとは、gの位数。即ち、|g|=pである。

#img(http://s-akademeia.sakura.ne.jp/main/image9/hitaiwa1.jpg)
#img(,clear)

 次のようにすると、データ量が減るので、効率がよくなる。

#img(http://s-akademeia.sakura.ne.jp/main/image9/hitaiwa2.jpg)
#img(,clear)

 プロトコルを見てみると、典型的な例としてy=gSUP{x}; mod pを公開鍵としていることがわかる。

 知識の署名(証明)を構成できるのは、秘密xを知っている人のみ。そして、知識の署名(証明)を構成した人は、文書Mに対して処理を行ったことがわかる。知識の署名の一部(hashの入力)に文書Mが使われているからである。

 これで普通の署名ができたことになる。公開鍵に対応する秘密鍵の知識の証明をした。秘密鍵の情報は漏れないが、公開鍵の情報はもちろん既知である。

[考察]Schnorr署名もこれとほぼ同じ。数ヶ所変形するだけ。
[考察][[Schnorr署名]]もこれとほぼ同じ。数ヶ所変形するだけ。