crypto/ecdsa — validation proof

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

Validated 2026-10-25 · converter b5fc1294d

125 matched · 0 disclosed — Go 1.26.10, windows/amd64, converted package src/core/crypto/ecdsa.

Measured at Release (tiered JIT off), oracle go version go1.26.10 windows/amd64.

Both runtimes skip 1 of the matched tests identically.

Verdicts

Test go test go2cs
TestEqual pass pass
TestEqual/P224 pass pass
TestEqual/P256 pass pass
TestEqual/P384 pass pass
TestEqual/P521 pass pass
TestINDCCA pass pass
TestINDCCA/P224 pass pass
TestINDCCA/P256 pass pass
TestINDCCA/P256/Generic pass pass
TestINDCCA/P384 pass pass
TestINDCCA/P521 pass pass
TestInvalidPrivateKeys pass pass
TestInvalidPrivateKeys/P224 pass pass
TestInvalidPrivateKeys/P224/Length pass pass
TestInvalidPrivateKeys/P224/Overflow pass pass
TestInvalidPrivateKeys/P224/Zero pass pass
TestInvalidPrivateKeys/P256 pass pass
TestInvalidPrivateKeys/P256/Generic pass pass
TestInvalidPrivateKeys/P256/Generic/Length pass pass
TestInvalidPrivateKeys/P256/Generic/Overflow pass pass
TestInvalidPrivateKeys/P256/Generic/Zero pass pass
TestInvalidPrivateKeys/P256/Length pass pass
TestInvalidPrivateKeys/P256/Overflow pass pass
TestInvalidPrivateKeys/P256/Zero pass pass
TestInvalidPrivateKeys/P384 pass pass
TestInvalidPrivateKeys/P384/Length pass pass
TestInvalidPrivateKeys/P384/Overflow pass pass
TestInvalidPrivateKeys/P384/Zero pass pass
TestInvalidPrivateKeys/P521 pass pass
TestInvalidPrivateKeys/P521/Length pass pass
TestInvalidPrivateKeys/P521/Overflow pass pass
TestInvalidPrivateKeys/P521/Zero pass pass
TestInvalidPublicKeys pass pass
TestInvalidPublicKeys/P224 pass pass
TestInvalidPublicKeys/P224/Compressed pass pass
TestInvalidPublicKeys/P224/Infinity pass pass
TestInvalidPublicKeys/P224/NotOnCurve pass pass
TestInvalidPublicKeys/P256 pass pass
TestInvalidPublicKeys/P256/Compressed pass pass
TestInvalidPublicKeys/P256/Generic pass pass
TestInvalidPublicKeys/P256/Generic/Compressed pass pass
TestInvalidPublicKeys/P256/Generic/Infinity pass pass
TestInvalidPublicKeys/P256/Generic/NotOnCurve pass pass
TestInvalidPublicKeys/P256/Infinity pass pass
TestInvalidPublicKeys/P256/NotOnCurve pass pass
TestInvalidPublicKeys/P384 pass pass
TestInvalidPublicKeys/P384/Compressed pass pass
TestInvalidPublicKeys/P384/Infinity pass pass
TestInvalidPublicKeys/P384/NotOnCurve pass pass
TestInvalidPublicKeys/P521 pass pass
TestInvalidPublicKeys/P521/Compressed pass pass
TestInvalidPublicKeys/P521/Infinity pass pass
TestInvalidPublicKeys/P521/NotOnCurve pass pass
TestKeyGeneration pass pass
TestKeyGeneration/P224 pass pass
TestKeyGeneration/P256 pass pass
TestKeyGeneration/P256/Generic pass pass
TestKeyGeneration/P384 pass pass
TestKeyGeneration/P521 pass pass
TestNegativeInputs pass pass
TestNegativeInputs/P224 pass pass
TestNegativeInputs/P256 pass pass
TestNegativeInputs/P256/Generic pass pass
TestNegativeInputs/P384 pass pass
TestNegativeInputs/P521 pass pass
TestNegativeSignature pass pass
TestNegativeSignature/P224 pass pass
TestNegativeSignature/P256 pass pass
TestNegativeSignature/P256/Generic pass pass
TestNegativeSignature/P384 pass pass
TestNegativeSignature/P521 pass pass
TestNonceSafety pass pass
TestNonceSafety/P224 pass pass
TestNonceSafety/P256 pass pass
TestNonceSafety/P256/Generic pass pass
TestNonceSafety/P384 pass pass
TestNonceSafety/P521 pass pass
TestParseAndBytesRoundTrip pass pass
TestParseAndBytesRoundTrip/P224 pass pass
TestParseAndBytesRoundTrip/P256 pass pass
TestParseAndBytesRoundTrip/P256/Generic skip skip
TestParseAndBytesRoundTrip/P384 pass pass
TestParseAndBytesRoundTrip/P521 pass pass
TestRFC6979 pass pass
TestRFC6979/P-224 pass pass
TestRFC6979/P-256 pass pass
TestRFC6979/P-384 pass pass
TestRFC6979/P-521 pass pass
TestRMinusNSignature pass pass
TestRMinusNSignature/P224 pass pass
TestRMinusNSignature/P256 pass pass
TestRMinusNSignature/P256/Generic pass pass
TestRMinusNSignature/P384 pass pass
TestRMinusNSignature/P521 pass pass
TestRPlusNSignature pass pass
TestRPlusNSignature/P224 pass pass
TestRPlusNSignature/P256 pass pass
TestRPlusNSignature/P256/Generic pass pass
TestRPlusNSignature/P384 pass pass
TestRPlusNSignature/P521 pass pass
TestSignAndVerify pass pass
TestSignAndVerify/P224 pass pass
TestSignAndVerify/P256 pass pass
TestSignAndVerify/P256/Generic pass pass
TestSignAndVerify/P384 pass pass
TestSignAndVerify/P521 pass pass
TestSignAndVerifyASN1 pass pass
TestSignAndVerifyASN1/P224 pass pass
TestSignAndVerifyASN1/P256 pass pass
TestSignAndVerifyASN1/P256/Generic pass pass
TestSignAndVerifyASN1/P384 pass pass
TestSignAndVerifyASN1/P521 pass pass
TestVectors pass pass
TestZeroHashSignature pass pass
TestZeroHashSignature/P224 pass pass
TestZeroHashSignature/P256 pass pass
TestZeroHashSignature/P256/Generic pass pass
TestZeroHashSignature/P384 pass pass
TestZeroHashSignature/P521 pass pass
TestZeroSignature pass pass
TestZeroSignature/P224 pass pass
TestZeroSignature/P256 pass pass
TestZeroSignature/P256/Generic pass pass
TestZeroSignature/P384 pass pass
TestZeroSignature/P521 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.