diff --git a/test/unit/test_p256.ml b/test/unit/test_p256.ml index d5c262d..2eb0515 100644 --- a/test/unit/test_p256.ml +++ b/test/unit/test_p256.ml @@ -65,7 +65,10 @@ let scalar_mult = let test ~scalar ~point ~expected = let scalar = scalar_of_hex scalar in let point = Hex.to_cstruct point in - ( "Scalar mult" + (scalar, point, expected) + in + let run i (scalar, point, expected) = + ( Printf.sprintf "Scalar mult (#%d)" i , `Quick , fun () -> Fiat_p256.key_exchange scalar point @@ -76,54 +79,56 @@ let scalar_mult = `Hex "046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5" in - [ test - ~scalar: - (`Hex - "0000000000000000000000000000000000000000000000000000000000000001") - ~point - ~expected: - "96c298d84539a1f4a033eb2d817d0377f240a463e5e6bcf847422ce1f2d1176b" - ; test - ~scalar: - (`Hex - "0000000000000000000000000000000000000000000000000000000000000002") - ~point - ~expected: - "78996647fc480ba6351bf277e26989c0c31ab5040338528a7e4f038d187bf27c" - ; test - ~scalar: - (`Hex - "0000000000000000000000000000000000000000000000000000000000000004") - ~point - ~expected: - "5208036b44029350ef965578dbe21f03d02be69e65de2da0bb8fd032354a53e2" - ; test - ~scalar: - (`Hex - "0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346") - ~point: - (`Hex - "0462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf") - ~expected: - "854271e19508bc935ab22b95cd2be13a0e78265f528b658b3219028b900d0253" - ; test - ~scalar: - (`Hex - "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a") - ~point: - (`Hex - "043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503") - ~expected: - "ffffffffffffffffffffffffffffffff3022cfeeffffffffffffffffffffff7f" - ; test - ~scalar: - (`Hex - "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48") - ~point: - (`Hex - "04000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4") - ~expected: - "48e82c9b82c88cb9fc2a5cff9e7c41bc4255ff6bd3814538c9b130877c07e4cf" ] + List.mapi run + [ test + ~scalar: + (`Hex + "0000000000000000000000000000000000000000000000000000000000000001") + ~point + ~expected: + "96c298d84539a1f4a033eb2d817d0377f240a463e5e6bcf847422ce1f2d1176b" + ; test + ~scalar: + (`Hex + "0000000000000000000000000000000000000000000000000000000000000002") + ~point + ~expected: + "78996647fc480ba6351bf277e26989c0c31ab5040338528a7e4f038d187bf27c" + ; test + ~scalar: + (`Hex + "0000000000000000000000000000000000000000000000000000000000000004") + ~point + ~expected: + "5208036b44029350ef965578dbe21f03d02be69e65de2da0bb8fd032354a53e2" + ; test + ~scalar: + (`Hex + "0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346") + ~point: + (`Hex + "0462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf") + ~expected: + "854271e19508bc935ab22b95cd2be13a0e78265f528b658b3219028b900d0253" + ; test + ~scalar: + (`Hex + "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a") + ~point: + (`Hex + "043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503") + ~expected: + "ffffffffffffffffffffffffffffffff3022cfeeffffffffffffffffffffff7f" + ; test + ~scalar: + (`Hex + "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48") + ~point: + (`Hex + "04000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4") + ~expected: + "48e82c9b82c88cb9fc2a5cff9e7c41bc4255ff6bd3814538c9b130877c07e4cf" + ] let to_ok_or_error = function | Ok _ -> Ok ()