crypto/ed25519 — validation proof

Go’s own crypto/ed25519 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/ed25519 row in Validated Test Packages.

Validated 2026-08-25 · converter a338d351d

8 matched · 1 disclosed — Go 1.23.12, windows/amd64, converted package src/core/crypto/ed25519.

Verdicts

Test go test go2cs
TestAllocations pass fail (disclosed)
TestCryptoSigner pass pass
TestEd25519Vectors pass pass
TestEqual pass pass
TestGolden pass pass
TestMalleability pass pass
TestSignVerify pass pass
TestSignVerifyContext pass pass
TestSignVerifyHashed pass pass

Disclosed divergences

A disclosed divergence is a specific Go assertion the managed CLR provably cannot satisfy — not a skipped test and not a tolerance. Each one is pinned by exact failure signature in the package’s hand-owned go2cs_test_disclosures.json; a disclosed test that fails any other way is still a hard mismatch.

Test Class Pinned reason
TestAllocations alloc-profile want-zero AllocsPerRun assert: the run loop builds seed/message slices, derives a key, signs and verifies – every step allocates in the managed model (golib slices, ж boxes, edwards25519 scalar/point state) where Go’s escape analysis and fixed-size arrays keep the whole round on the stack

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.