Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

暗号プロトコル

この部は、投票の検証可能性を支える暗号プリミティブを説明します。

公開データに対する投票の秘匿性(hiding)と束縛性(binding)は、コミットメントスキームで扱います。 追記専用の掲示板は、RFC 6962 に基づく CT スタイルの Merkle ツリーで扱います。 zkVM 入力のうち対象となる公開フィールドの束縛は、正準エンコーディングと入力コミットメントで扱います。

本書で「コミットメント」は、投票コミットメント(個々の投票の束縛)と 入力コミットメント(zkVM 公開入力のうち正準エンコーディング対象フィールドの束縛)の 2 種を指します。 両者は対象とドメイン分離タグが異なるため、それぞれ独立した章で説明します。

プロトコル章の構成

想定読者と前提

  • 想定読者:暗号プリミティブの仕様を実装または監査する技術者
  • 前提:SHA-256 ハッシュ計算と Merkle ツリーの基本概念を把握していること

扱わない範囲

  • SHA-256 や Pedersen コミットメントなど暗号プリミティブの数学的安全性証明
  • RFC 6962 / CT エコシステムの運用詳細(証明書ログ、Monitor 役割など)
  • 暗号ライブラリ実装の詳細(定数時間実装、サイドチャネル対策)

関連する章