- Split embedded OpenCL kernel_source into kernel_parts[] array so no single string literal exceeds MSVC's 65535-byte limit. clCreateProgramWithSource now receives multiple source strings. - Added batch-inversion kernels (field_inv, affine_add, jac_to_affine) using per-workgroup Montgomery's trick with __local memory. - OpenCL BIP352 benchmark scaffold and kernel stubs. - Source graph kit for indexed codebase exploration. - Assorted doc, benchmark, and audit report updates.
56 lines
4.7 KiB
JSON
56 lines
4.7 KiB
JSON
{
|
|
"framework_version": "2.0.0",
|
|
"backend": "OpenCL",
|
|
"device": {
|
|
"name": "NVIDIA GeForce RTX 5060 Ti",
|
|
"vendor": "NVIDIA Corporation",
|
|
"version": "OpenCL 3.0 CUDA",
|
|
"driver_version": "580.126.09",
|
|
"memory_mb": 15844,
|
|
"compute_units": 36
|
|
},
|
|
"platform": {
|
|
"os": "Linux",
|
|
"arch": "x86-64",
|
|
"compiler": "GCC 14.2.0",
|
|
"build_type": "Release"
|
|
},
|
|
"summary": {
|
|
"total": 27,
|
|
"passed": 27,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"total_seconds": 0.673606,
|
|
"verdict": "AUDIT-READY"
|
|
},
|
|
"modules": [
|
|
{ "id": "selftest_core", "name": "OpenCL Selftest (23+ kernel tests)", "section": "math_invariants", "result": "PASS", "time_ms": 137.571479, "error_code": 0 },
|
|
{ "id": "field_add_sub", "name": "Field add/sub roundtrip", "section": "math_invariants", "result": "PASS", "time_ms": 0.335681, "error_code": 0 },
|
|
{ "id": "field_mul_comm", "name": "Field mul commutativity", "section": "math_invariants", "result": "PASS", "time_ms": 0.215808, "error_code": 0 },
|
|
{ "id": "field_inv", "name": "Field inverse roundtrip (a * a^-1 = 1)", "section": "math_invariants", "result": "PASS", "time_ms": 0.280040, "error_code": 0 },
|
|
{ "id": "field_sqr", "name": "Field square == mul(a,a)", "section": "math_invariants", "result": "PASS", "time_ms": 0.129584, "error_code": 0 },
|
|
{ "id": "field_negate", "name": "Field negate roundtrip (a + (-a) = 0)", "section": "math_invariants", "result": "PASS", "time_ms": 0.131630, "error_code": 0 },
|
|
{ "id": "gen_mul_vec", "name": "Generator mul known vectors", "section": "math_invariants", "result": "PASS", "time_ms": 0.062463, "error_code": 0 },
|
|
{ "id": "scalar_roundtrip", "name": "Scalar/Point consistency", "section": "math_invariants", "result": "PASS", "time_ms": 0.121435, "error_code": 0 },
|
|
{ "id": "add_dbl_consist", "name": "Point add vs double consistency", "section": "math_invariants", "result": "PASS", "time_ms": 0.219232, "error_code": 0 },
|
|
{ "id": "scalar_mul_lin", "name": "Scalar mul linearity (a+b)*G = aG+bG", "section": "math_invariants", "result": "PASS", "time_ms": 0.330590, "error_code": 0 },
|
|
{ "id": "group_order", "name": "Group order basic checks", "section": "math_invariants", "result": "PASS", "time_ms": 0.199699, "error_code": 0 },
|
|
{ "id": "batch_inv", "name": "Batch inversion (Montgomery trick)", "section": "math_invariants", "result": "PASS", "time_ms": 0.353371, "error_code": 0 },
|
|
{ "id": "ecdsa_roundtrip", "name": "ECDSA sign + verify roundtrip", "section": "signatures", "result": "PASS", "time_ms": 7.218292, "error_code": 0 },
|
|
{ "id": "schnorr_roundtrip", "name": "Schnorr/BIP-340 sign + verify roundtrip", "section": "signatures", "result": "PASS", "time_ms": 5.841064, "error_code": 0 },
|
|
{ "id": "ecdsa_wrong_key", "name": "ECDSA verify rejects wrong pubkey", "section": "signatures", "result": "PASS", "time_ms": 6.111775, "error_code": 0 },
|
|
{ "id": "batch_smul", "name": "Batch scalar mul generator", "section": "batch_advanced", "result": "PASS", "time_ms": 0.093349, "error_code": 0 },
|
|
{ "id": "batch_j2a", "name": "Batch Jacobian to Affine", "section": "batch_advanced", "result": "PASS", "time_ms": 0.083400, "error_code": 0 },
|
|
{ "id": "diff_smul", "name": "OpenCL-host differential scalar mul", "section": "differential", "result": "PASS", "time_ms": 0.020089, "error_code": 0 },
|
|
{ "id": "rfc6979_determ", "name": "RFC-6979 ECDSA deterministic nonce", "section": "standard_vectors", "result": "PASS", "time_ms": 6.313681, "error_code": 0 },
|
|
{ "id": "bip340_vectors", "name": "BIP-340 Schnorr known-key roundtrip", "section": "standard_vectors", "result": "PASS", "time_ms": 7.330723, "error_code": 0 },
|
|
{ "id": "ecdsa_multi_key", "name": "ECDSA multi-key (10 keys) sign+verify", "section": "protocol_security", "result": "PASS", "time_ms": 59.571898, "error_code": 0 },
|
|
{ "id": "schnorr_multi_key", "name": "Schnorr multi-key (10 keys) sign+verify", "section": "protocol_security", "result": "PASS", "time_ms": 47.122783, "error_code": 0 },
|
|
{ "id": "fuzz_edge_scalar", "name": "Edge-case scalars (0*G, 1*G, G+G=2G)", "section": "fuzzing", "result": "PASS", "time_ms": 0.078238, "error_code": 0 },
|
|
{ "id": "fuzz_ecdsa_zero", "name": "ECDSA rejects zero private key", "section": "fuzzing", "result": "PASS", "time_ms": 0.042447, "error_code": 0 },
|
|
{ "id": "fuzz_schnorr_zero", "name": "Schnorr rejects zero private key", "section": "fuzzing", "result": "PASS", "time_ms": 0.045454, "error_code": 0 },
|
|
{ "id": "perf_ecdsa_50", "name": "ECDSA 50-iteration stress", "section": "performance", "result": "PASS", "time_ms": 282.603579, "error_code": 0 },
|
|
{ "id": "perf_schnorr_25", "name": "Schnorr 25-iteration stress", "section": "performance", "result": "PASS", "time_ms": 111.053794, "error_code": 0 }
|
|
]
|
|
}
|