

CESSを評価する暗号学者や真剣な実装者は、通常、散文を読む前にvectors/とtestdata/を開きます。テストスイートが成果物です。これは、ナラティブだけでは代替できないドメイン知識をエンコードしています。
だからといって、他の人から要点を隠す理由にはなりません。調達目的でプロジェクトを評価している人、貢献するかどうかを決めている人、ポリシーを作成している人、または暗号テスト手法の深い訓練なしにコードを出荷している人でも、具体的な証拠へのポインタが必要です。リポジトリはすでに監査ルールとアルゴリズム除外を述べています。そのストーリーを公開テストベクタにリンクすることで、「ページ上の主張」と「実行できる成果物」の間のギャップを埋めます。
何を見るべきか: 適合性資料には、RFC 8439 の ChaCha20-Poly1305(このプロジェクトが規範的に参照するIETF AEAD)の実例と、testdata/wycheproof/ 以下の ChaCha20-Poly1305 のエッジケース用の ベンダリングされた Wycheproof JSON が含まれています。これらは、プロジェクト独自の TOML ベクタ(vectors/)とともに、ランナーとレビュー担当者が実行できるグラウンドトゥルースです。
RFC 8439 は、インターネットの相互運用性の多くを標準化する組織である Internet Engineering Task Force (IETF) によって公開されています。RFC(Request for Comments)は、プロトコルおよび多くの暗号仕様の通常の形式です。RFC 8439 は ChaCha20-Poly1305 認証暗号を定義し(Daniel Bernstein の設計に基づく)、特定の入力と期待される出力を含む具体的な実例を提供して、独立した実装が標準とバイト単位で一致することを確認できるようにします。広く再現されている平文(Ladies and Gentlemen of the class of '99: wear sunscreen で始まる)は RFC の付録の例にあります。コードが AEAD 出力を正確に再現すれば、正しく実装したことを強力にチェックできます。これは公式の解答キーの暗号版です。(以前の RFC 7539 は、他の IETF コンテキスト向けに ChaCha20 と Poly1305 を文書化していました。RFC 8439 は、このプロジェクトおよび spec/CESS-v0.2.md で使用されるこの AEAD の通常のリファレンスです。)
Wycheproof は、Google のセキュリティチーム(2017年)によってリリースされたテストコーパスです。名前はオーストラリアの Mount Wycheproof に由来します。これは、世界最小の山としてよく引用されます。このプロジェクトは、小さいが致命的なハードル(整数オーバーフロー、境界ケース、不正な入力、改ざんされた認証タグ)のクリアに焦点を当てており、実際のデプロイされた暗号で繰り返し現れる障害です。これは RFC スタイルのベクタを補完します。RFC 8439 スタイルの例は公開された AEAD に対する正確性を示し、Wycheproof は歴史的に実装が破綻する箇所での堅牢性を強調します。
それがこの標準について何を意味するかは、知識のある読者に委ねられます。
また、PR がクローズされたら、以下のリンクでクレートの整合性を確認できます: https://github.com/rust-lang/cargo/issues/16850
バージョン: 0.2
ステータス: 仕様のみ(規範的なテキストとテストベクタ)
このプロジェクトは、Linux 関連のオープンソースソフトウェアを保護する防御的パテントプールである Open Invention Network(OIN)に登録されています。オープンプレプリント公開(先行技術の確立)、OIN メンバーシップ、GPL-3.0 ライセンスの組み合わせにより、この技術が自由に利用可能であり、いかなる国家や商業主体によっても独占化や制限が行われないようにすることを意図しています。
CESS は、閾値秘密分散と暗号方式非依存の認証暗号、パスワードベースのシェアラッピング、およびオプションの耐量子ハイブリッド鍵交換を組み合わせたオープンな暗号標準です。長期間の機密性、エアギャップ環境でのエンロールメント、ハードウェアトークンバインディング、およびNSA/NISTのみのアルゴリズムベースラインに依存しない調達経路を必要とするデプロイメント向けに設計されています。
非技術的な読者は、用語集(平易な言葉によるA-Z)から始めると良いでしょう。
既存のエコシステムはこの問題の一部を扱っていますが、ギャップを残しています:
CESS は標準を定義します。SplitDisk(および類似の製品)は参照シナリオおよびデプロイメント例であり、標準自体ではありません。
CESS は GF(2^8)上のシャミアの秘密分散といくつかの監査済みの必須の整合性およびパスワードプリミティブを固定します。すべてのバルク暗号化、KEM、KDF、MAC レイヤーは、2 つの独立した監査人ルールとハード除外リスト(spec/CESS-v0.2.md および ALGORITHM-REGISTRY.md を参照)に従い、監査済みのレジストリから選択可能です。
米国政府および業界で広く使用されている NIST 素数体曲線(P-256、P-384、P-521)は、NSA が文書化された役割を果たしたプロセスを通じて選択されました。CESS はこれらの曲線が弱いという単一の数学的証明に依存するのではなく、ポリシー除外を適用して、NSA/NIST のみのベースライン外で正当化された暗号を必要とし、独立してレビューされたプリミティブを好む調達、連絡、エンジニアリング経路に役立つようにします(spec/CESS-v0.2.md セクション 3 および ALGORITHM-REGISTRY.md を参照)。
CESS における古典的 ECDH は、代わりに Brainpool 曲線(RFC 5639) を使用します。そのパラメータは公開された生成ルールによって生成され、BSI 準拠およびEU 中心の議論に自然に適合し、同等の強度ターゲット(例:BrainpoolP384r1 対 P-384 クラスのセキュリティ)をカバーしますが、除外された NIST 曲線ファミリーを採用しません。
詳細:spec/CESS-v0.2.md セクション 3、spec/CRYPTO.md、および ALGORITHM-REGISTRY.md。
貢献者は、PATENTS.md の特許非主張誓約に同意するものとします。このプロジェクトは、Linux 関連オープンソースソフトウェアのための防御的パテントプールである Open Invention Network(OIN)に登録されています。OIN を通じたクロスライセンスは、それ自体ではそのエコシステム外の当事者をカバーしません。誓約は、適合実装向けにそのギャップを埋めることを目的としています。
CONTRIBUTING.md を参照してください。プルリクエストは PATENTS.md への同意として扱われます。仕様変更には異なる国の 2 名のレビューアが必要です。新しいアルゴリズムは ALGORITHM-REGISTRY.md を使用します(レジストリに対する PR を開き、必要に応じて spec/CESS-v0.2.md の相互参照を更新します)。
ALGORITHM-REGISTRY.md を編集する PR を開きます(エビデンステーブル、識別子の割り当て)。vectors/ に追加または拡張します。CONTRIBUTING.md に従い、2 名のメンテナーによるレビューを取得します。CESS は標準です。SplitDisk は実装シナリオの例です(例:ディスク暗号化とシェア配布)。ツールの仕様はそのリポジトリにあります。製品は、SplitDisk の名前を使用せずに、CONFORMANCE.md に従って CESS-CORE、CESS-FULL、または CESS-PQ 適合性を主張できます。
| パス | 役割 |
|---|
spec/CESS-v0.2.md | メインの規範的標準(RFC 2119 キーワード) |
spec/CRYPTO.md | 暗号の根拠と証明のスケッチ |
spec/GOVERNMENT.md | 政府および高セキュリティデプロイメントの注意事項 |
ALGORITHM-REGISTRY.md | 承認および除外されたアルゴリズムの生きたレジストリ |
GLOSSARY.md | 暗号および CESS 用語の平易な用語集(A-Z) |
vectors/ | 機械可読なテストベクタ(TOML:ChaCha/Serpent/Twofish バルク、統合など); CC0 |
testdata/wycheproof/ | ベンダリングされた Wycheproof ChaCha20-Poly1305 JSON(アップストリーム Apache-2.0); testdata/wycheproof/README.md を参照 |
scripts/ | ベクタ生成ヘルパー(コード部分は GPL-3.0) |
runner/ | 適合性テストランナー(Rust、GPL-3.0) |
LICENSE-SPEC | CC0 1.0 — 仕様とベクタ |
LICENSE-CODE | GPL-3.0 — コード |
PATENTS.md | OIN コンテキストと貢献者の特許非主張誓約 |
CONTRIBUTING.md | 貢献ルールとレビューポリシー |
CONFORMANCE.md | 適合性を主張および文書化する方法 |
IMPLEMENTATIONS.md | 適合製品のオプションリスト |
| コンテンツ | ライセンス |
|---|
仕様散文(spec/*.md)、README.md、ALGORITHM-REGISTRY.md、GLOSSARY.md、vectors/*.toml | CC0 1.0 Universal(パブリックドメイン専念) — LICENSE-SPEC を参照 |
Rust ランナー、リファレンス実装、scripts/serpent_helper/ | GNU GPL v3.0 — LICENSE-CODE を参照 |