Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[FEATURE] Vendor PQCP and Ed448-Goldilocks for Post-Quantum WAMP

オープン
#1,847 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
c, python

調査の方向性

まず、src/autobahn/vendor/ に対して提案されているソースと、リポジトリ内の既存の CFFI 統合ポイントを確認します。次に、cibuildwheel パイプラインと、リンクされている wamp-proto/wamp-proto#564 の議論を調査します。提案に沿って、vendored の PQCP および libdecaf ソース、CFFI ラッパー、要求されている manylinux および musllinux の wheel ビルドが一貫して統合されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

enhancement wamp XBR
Description

Following the discussion in wamp-proto/wamp-proto#564, this issue proposes the vendoring of the PQ Code Package (PQCP) and Mike Hamburg’s libdecaf (Ed448-Goldilocks) into autobahn-python.

The goal is to provide a "Defense-Grade," zero-dependency, and high-performance implementation of Post-Quantum Cryptography (PQC) and High-Strength Classical ECC for the WAMP ecosystem, specifically targeting ML-KEM (FIPS 203) and ML-DSA (FIPS 204).

Motivation

As we move toward a Quantum-Resistant WAMP (WAMP-PQC), the protocol requires hybrid cryptographic schemes that combine classical security (Ed25519/Ed448) with lattice-based security (ML-KEM/ML-DSA).

While libraries like libsodium provide excellent support for Ed25519, they lack Ed448 and NIST-finalized PQC algorithms. To maintain Autobahn's standard of "Zero-Config" installation and high portability, we must internalize these primitives.

Proposed Implementation Strategy
1. Direct Upstream Vendoring

We will vendor the following sources directly into src/autobahn/vendor/:

  • PQCP (PQ Code Package): Utilizing mlkem-native and mldsa-native. This is the Linux Foundation-backed successor to PQClean, providing C90-compliant, formally verified, and SIMD-optimized PQC.
  • libdecaf (Ed448-Goldilocks): Sourced from Mike Hamburg’s upstream (SourceForge) - using git://git.code.sf.net/p/ed448goldilocks/code - and verified against Debian's security patches. This fills the gap for 256-bit security level signatures that libsodium does not address.
2. CFFI Wrapping

Consistent with our performance goals:

  • We will wrap these C libraries using CFFI rather than CPyExt.
  • This ensures optimal performance on PyPy via JIT-inlining while remaining highly efficient on CPython.
  • It avoids the maintenance burden of the CPython C API and the performance penalties of ctypes.
3. High-Performance Multi-Arch Wheels

We will update our cibuildwheel pipelines to publish manylinux and musllinux wheels for:

  • x86-64: Leveraging AVX2 optimizations for NTT (Number Theoretic Transform).
  • ARM64 (aarch64): Leveraging Neon instructions for high-speed PQC on ARM-based servers and high-end IoT (like Cortex-A).
Proposed Security Tiers
Tier Hybrid Combination Use Case
Standard Ed25519 + ML-DSA-65 General Purpose WAMP-Cryptosign
High-Strength Ed448 + ML-DSA-87 Defense / U.S. DoD CUI / Critical Infrastructure
Key Exchange X25519 + ML-KEM-768 Encrypted Payloads / Session Keys
Benefits
  • Zero Dependencies: No requirement for users to install liboqs, openssl-dev, or cmake.
  • Defense-Grade: Aligns with NIST FIPS 203/204 and NSA CNSA 2.0 requirements.
  • Embedded-Ready: By vendoring the native C source, we pave the way for cross-compilation to restricted environments (e.g., Cortex-M33).
Reference

Checklist

  • I have searched existing issues to avoid duplicates
  • I have described the problem clearly
  • I have provided use cases
  • I have considered alternatives
  • I have assessed impact and breaking changes
主要言語
Python
スター
2.5k
フォーク
769
平均マージ
1日 11時間
マージ済み PR(30日)
16

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

crossbario/autobahn-python のほかの issue

crossbario/autobahn-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。