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.