mirror of
https://github.com/luxfi/zwing.git
synced 2026-09-24 00:24:38 +00:00
Add canonical Python and TypeScript ports of the IETF X-Wing combiner
under py/ and js/ inside this repo. Both implement
shared_secret = SHA3-256("\./X-Wing" || ss_M || ss_X || ct_X || pk_X)
byte-for-byte and pin the same KAT as the Go (kat_test.go) and Rust
(zap-protocol/zap zap::zwing) ports:
inputs: ssM=0x01..x32, ssX=0x02..x32, ctX=0x03..x32, pkX=0x04..x32
output: 72df2088314a73de80c21d9593f13fcd5629c800c70b1507f0dd918fde5fe4ed
Layout:
py/ pyproject.toml + zwing.py + test_zwing.py (stdlib hashlib)
js/ package.json + zwing.ts + zwing.test.ts (@noble/hashes ^2.2.0)
Z-Wing now has 4 byte-compatible implementations under one canonical
roof (luxfi/zwing). The Rust port lives at zap-protocol/zap as
zap::zwing because that's the canonical Rust home for the schema +
runtime. All four pin the same hex.
32 lines
1016 B
TOML
32 lines
1016 B
TOML
[project]
|
|
name = "zwing"
|
|
version = "0.2.2"
|
|
description = "Z-Wing — Lux post-quantum secure channel (Python). IETF X-Wing KEM combiner."
|
|
readme = "README.md"
|
|
license = { text = "MIT OR Apache-2.0" }
|
|
authors = [{ name = "Lux Industries", email = "[email protected]" }]
|
|
requires-python = ">=3.10"
|
|
keywords = ["post-quantum", "kem", "x-wing", "ml-kem", "zwing", "lux"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"Topic :: Security :: Cryptography",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/luxfi/zwing"
|
|
Repository = "https://github.com/luxfi/zwing"
|
|
Issues = "https://github.com/luxfi/zwing/issues"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["zwing.py"]
|