2019-12-07 04:00:57 +00:00
|
|
|
module filippo.io/age
|
2019-08-03 22:42:59 +00:00
|
|
|
|
cmd/age,tag: implement age1tagpq1.../p256mlkem768tag recipients
Test vectors generated from hpkewg/hpke-pq@19adaeb (hpkewg/hpke-pq#28 +
hpkewg/hpke-pq#32) and cfrg/draft-irtf-cfrg-concrete-hybrid-kems@1bbca40
(cfrg/draft-irtf-cfrg-concrete-hybrid-kems#16), plus the following diff:
diff --git a/reference-implementation/src/bin/generate.rs b/reference-implementation/src/bin/generate.rs
index 25e32e5..bc8f209 100644
--- a/reference-implementation/src/bin/generate.rs
+++ b/reference-implementation/src/bin/generate.rs
@@ -26,6 +26,15 @@ fn generate_test_vectors() -> TestVectors {
// 5. QSF-P384-MLKEM1024 + SHAKE256 + AES-256-GCM
vectors.push(TestVector::new::<QsfP384MlKem1024, Shake256, Aes256Gcm>());
+ vectors = TestVectors::new();
+
+ // age1pq - xwing
+ vectors.push(TestVector::new::<QsfX25519MlKem768, HkdfSha256, ChaChaPoly>());
+ // age1tag - p256tag
+ vectors.push(TestVector::new::<DhkemP256HkdfSha256, HkdfSha256, ChaChaPoly>());
+ // age1tagpq - p256mlkem768tag
+ vectors.push(TestVector::new::<QsfP256MlKem768, HkdfSha256, ChaChaPoly>());
+
vectors
}
diff --git a/reference-implementation/src/test_vectors.rs b/reference-implementation/src/test_vectors.rs
index 24335aa..4134fb5 100644
--- a/reference-implementation/src/test_vectors.rs
+++ b/reference-implementation/src/test_vectors.rs
@@ -369,6 +369,10 @@ impl TestVector {
(0x0051, 0x0011, 0x0002) => self.v::<QsfP384MlKem1024, Shake256, Aes256Gcm>(),
(0x0051, 0x0011, 0xffff) => self.v::<QsfP384MlKem1024, Shake256, ExportOnly>(),
+ // age pq combinations
+ (0x647a, 0x0001, 0x0003) => self.v::<QsfX25519MlKem768, HkdfSha256, ChaChaPoly>(),
+ (0x0050, 0x0001, 0x0003) => self.v::<QsfP256MlKem768, HkdfSha256, ChaChaPoly>(),
+
_ => Err(format!(
"Unsupported algorithm combination: KEM={:#x}, KDF={:#x}, AEAD={:#x}",
self.kem_id, self.kdf_id, self.aead_id
2025-08-17 19:23:59 +00:00
|
|
|
go 1.24.0
|
2019-10-07 01:19:04 +00:00
|
|
|
|
2021-04-05 13:22:51 +00:00
|
|
|
require (
|
2024-06-16 09:41:15 +00:00
|
|
|
filippo.io/edwards25519 v1.1.0
|
2025-09-07 12:11:07 +00:00
|
|
|
filippo.io/hpke v0.4.0
|
2025-12-07 20:38:44 +00:00
|
|
|
filippo.io/nistec v0.0.4
|
2025-09-07 12:11:07 +00:00
|
|
|
golang.org/x/crypto v0.45.0
|
|
|
|
|
golang.org/x/sys v0.38.0
|
|
|
|
|
golang.org/x/term v0.37.0
|
2021-04-05 13:22:51 +00:00
|
|
|
)
|
2022-12-26 21:09:03 +00:00
|
|
|
|
|
|
|
|
// Test dependencies.
|
|
|
|
|
require (
|
2025-12-08 01:55:37 +00:00
|
|
|
c2sp.org/CCTV/age v0.0.0-20251208015420-e9274a7bdbfd
|
2025-12-07 20:38:44 +00:00
|
|
|
github.com/rogpeppe/go-internal v1.14.1
|
|
|
|
|
golang.org/x/tools v0.39.0 // indirect
|
2022-12-26 21:09:03 +00:00
|
|
|
)
|