crypto/hpke — validation proof
Go’s own crypto/hpke test suite, converted to C# by go2cs, built against the converted standard
library, run under the Go-semantics test host, and compared verdict for verdict against a clean
go test -json baseline of the same sources. This page is generated by the converter from that
comparison — it is the evidence behind the crypto/hpke row in
Validated Test Packages.
Validated 2026-10-25 · converter b5fc1294d
231 matched · 0 disclosed — Go 1.26.10, windows/amd64, converted package
src/core/crypto/hpke.
Measured at Release (tiered JIT off), oracle go version go1.26.10 windows/amd64.
Both runtimes skip 4 of the matched tests identically.
Verdicts
| Test | go test |
go2cs |
|---|---|---|
TestRoundTrip |
pass | pass |
TestRoundTrip/KEM_0010 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0010/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0011 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0011/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0012 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0012/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0020 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0020/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0041 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0041/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0042 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0042/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0050 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0050/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0051 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_0051/KDF_0011/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_647a |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0001/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0001/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0001/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0002/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0002/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0002/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0003 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0003/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0003/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0003/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0010 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0010/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0010/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0010/AEAD_0003 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0011 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0011/AEAD_0001 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0011/AEAD_0002 |
pass | pass |
TestRoundTrip/KEM_647a/KDF_0011/AEAD_0003 |
pass | pass |
TestSingletons |
pass | pass |
TestVectors |
pass | pass |
TestVectors/hpke-pq |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0010_kdf_0010_aead_0001 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0011_kdf_0011_aead_0002 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0020_kdf_0012_aead_0003 |
skip | skip |
TestVectors/hpke-pq/mode_0000_kem_0021_kdf_0013_aead_0003 |
skip | skip |
TestVectors/hpke-pq/mode_0000_kem_0040_kdf_0001_aead_0001 |
skip | skip |
TestVectors/hpke-pq/mode_0000_kem_0041_kdf_0001_aead_0001 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0042_kdf_0002_aead_0002 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0042_kdf_0013_aead_0001 |
skip | skip |
TestVectors/hpke-pq/mode_0000_kem_0050_kdf_0001_aead_0001 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0050_kdf_0010_aead_0002 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_0051_kdf_0002_aead_0002 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_647a_kdf_0001_aead_0003 |
pass | pass |
TestVectors/hpke-pq/mode_0000_kem_647a_kdf_0011_aead_0003 |
pass | pass |
TestVectors/rfc9180 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0001_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0001_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0001_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0001_aead_ffff |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0003_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0003_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0003_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0010_kdf_0003_aead_ffff |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0001_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0001_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0001_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0001_aead_ffff |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0003_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0003_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0003_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0012_kdf_0003_aead_ffff |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0001_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0001_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0001_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0001_aead_ffff |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0003_aead_0001 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0003_aead_0002 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0003_aead_0003 |
pass | pass |
TestVectors/rfc9180/mode_0000_kem_0020_kdf_0003_aead_ffff |
pass | pass |
Excluded declarations
Declarations filtered from both sides of the comparison, and therefore not claimed above:
Benchmark, Fuzz and Example declarations the converted host does not execute, plus any
test requiring a capability the managed runtime does not provide — a testing member the host
has not implemented, or a platform behavior it provably cannot reproduce. Each is named with
the capability it needs.
- Example (example): example execution is deferred to Phase 4D