{ "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "GOST cryptographic test vectors for Wine CSP validation", "version": "1.0.0", "generated": "2025-12-07T00:00:00Z", "warning": "FOR TEST VECTOR VALIDATION ONLY - NOT FOR PRODUCTION USE", "hashVectors": { "streebog256": [ { "id": "streebog256-empty", "description": "GOST R 34.11-2012 (256-bit) hash of empty message", "input": "", "inputBase64": "", "expectedHash": "3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bb", "reference": "GOST R 34.11-2012 specification" }, { "id": "streebog256-m1", "description": "GOST R 34.11-2012 (256-bit) test message M1", "input": "012345678901234567890123456789012345678901234567890123456789012", "inputBase64": "MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy", "expectedHash": "9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500", "reference": "GOST R 34.11-2012 specification Appendix A.1" }, { "id": "streebog256-hello", "description": "GOST R 34.11-2012 (256-bit) hash of 'Hello'", "input": "Hello", "inputBase64": "SGVsbG8=", "note": "Common test case for implementation validation" }, { "id": "streebog256-abc", "description": "GOST R 34.11-2012 (256-bit) hash of 'abc'", "input": "abc", "inputBase64": "YWJj", "note": "Standard test vector" } ], "streebog512": [ { "id": "streebog512-empty", "description": "GOST R 34.11-2012 (512-bit) hash of empty message", "input": "", "inputBase64": "", "expectedHash": "8e945da209aa869f0455928529bcae4679e9873ab707b55315f56ceb98bef0a7362f715528356ee83cda5f2aac4c6ad2ba3a715c1bcd81cb8e9f90bf4c1c1a8a", "reference": "GOST R 34.11-2012 specification" }, { "id": "streebog512-m1", "description": "GOST R 34.11-2012 (512-bit) test message M1", "input": "012345678901234567890123456789012345678901234567890123456789012", "inputBase64": "MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy", "expectedHash": "1b54d01a4af5b9d5cc3d86d68d285462b19abc2475222f35c085122be4ba1ffa00ad30f8767b3a82384c6574f024c311e2a481332b08ef7f41797891c1646f48", "reference": "GOST R 34.11-2012 specification Appendix A.2" }, { "id": "streebog512-hello", "description": "GOST R 34.11-2012 (512-bit) hash of 'Hello'", "input": "Hello", "inputBase64": "SGVsbG8=", "note": "Common test case for implementation validation" } ] }, "signatureVectors": { "gost2012_256": [ { "id": "gost2012-256-test1", "description": "GOST R 34.10-2012 (256-bit) signature test", "algorithm": "GOST12-256", "message": "Test message for signing", "messageBase64": "VGVzdCBtZXNzYWdlIGZvciBzaWduaW5n", "note": "Signature will vary due to random k parameter; verify deterministic hash first" } ], "gost2012_512": [ { "id": "gost2012-512-test1", "description": "GOST R 34.10-2012 (512-bit) signature test", "algorithm": "GOST12-512", "message": "Test message for signing", "messageBase64": "VGVzdCBtZXNzYWdlIGZvciBzaWduaW5n", "note": "Signature will vary due to random k parameter; verify deterministic hash first" } ] }, "determinismVectors": [ { "id": "determinism-1", "description": "Determinism test - same input should produce same hash", "algorithm": "STREEBOG-256", "input": "Determinism test data 12345", "inputBase64": "RGV0ZXJtaW5pc20gdGVzdCBkYXRhIDEyMzQ1", "iterations": 10, "expectation": "All iterations should produce identical hash" }, { "id": "determinism-2", "description": "Determinism test with binary data", "algorithm": "STREEBOG-512", "inputBase64": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=", "iterations": 10, "expectation": "All iterations should produce identical hash" } ], "errorVectors": [ { "id": "error-invalid-algo", "description": "Invalid algorithm should return 400", "endpoint": "/hash", "request": {"algorithm": "INVALID-ALGO", "data": "SGVsbG8="}, "expectedStatus": 400 }, { "id": "error-missing-data", "description": "Missing data field should return 400", "endpoint": "/hash", "request": {"algorithm": "STREEBOG-256"}, "expectedStatus": 400 }, { "id": "error-invalid-base64", "description": "Invalid base64 should return 400", "endpoint": "/hash", "request": {"algorithm": "STREEBOG-256", "data": "not-valid-base64!!!"}, "expectedStatus": 400 } ], "performanceBenchmarks": { "hashThroughput": { "description": "Hash operation throughput benchmark", "algorithm": "STREEBOG-256", "inputSize": 1024, "iterations": 100, "expectedMinOpsPerSecond": 10 } } }