anza-cryptography-source/syscall/bls12-381-syscall/benches/test_vectors.rs
Sam Kim 77b39b268d
[bls12-381-syscall] Add solana-bls12-381-syscall crate (#11)
* add `bls12-381-syscall` crate

* add benchmark check in the CI

* cargo fmt

* remove 16 pair bench since the maximum bound is set to 8
2026-04-22 09:33:15 +09:00

81 lines
10 KiB
Rust

use hex_literal::hex;
// --- G1 Operations ---
pub const INPUT_BE_G1_ADD_WORST_CASE: &[u8] = &hex!(
"0408fcfce79d55404c279812a8bdfc02525f215e70f717cbf9f97c305f6845d6661f3a5a46c513a24cf706410e878a2c12aca07fea5564f2bdcf28ba9f12f2d88c85ae28b1a2c33f965cad4a1af3c796ee6d33fc7e322cc8954b223f53febd330eea76a913985d932eea073ebf8e86d21c6e4d4c8bfbef927c006abe860b51282629eea7b197385deb9057e603aa9c6e1104b5ffaabfe1d55de81f8acc668c913479611296668293535b602ab8cf24797522ad15ca4a2e8f898855d94d0a58fe"
);
pub const INPUT_LE_G1_ADD_WORST_CASE: &[u8] = &hex!(
"2c8a870e4106f74ca213c5465a3a1f66d645685f307cf9f9cb17f7705e215f5202fcbda81298274c40559de7fcfc080433bdfe533f224b95c82c327efc336dee96c7f31a4aad5c963fc3a2b128ae858cd8f2129fba28cfbdf26455ea7fa0ac126e9caa03e65790eb5d3897b1a7ee292628510b86be6a007c92effb8b4c4d6e1cd2868ebf3e07ea2e935d9813a976ea0efe580a4dd95588898f2e4aca15ad22757924cfb82a605b539382669612617934918c66cc8a1fe85dd5e1bfaaffb50411"
);
pub const INPUT_BE_G1_SUB_WORST_CASE: &[u8] = &hex!(
"0408fcfce79d55404c279812a8bdfc02525f215e70f717cbf9f97c305f6845d6661f3a5a46c513a24cf706410e878a2c12aca07fea5564f2bdcf28ba9f12f2d88c85ae28b1a2c33f965cad4a1af3c796ee6d33fc7e322cc8954b223f53febd330eea76a913985d932eea073ebf8e86d21c6e4d4c8bfbef927c006abe860b51282629eea7b197385deb9057e603aa9c6e1104b5ffaabfe1d55de81f8acc668c913479611296668293535b602ab8cf24797522ad15ca4a2e8f898855d94d0a58fe"
);
pub const INPUT_LE_G1_SUB_WORST_CASE: &[u8] = &hex!(
"2c8a870e4106f74ca213c5465a3a1f66d645685f307cf9f9cb17f7705e215f5202fcbda81298274c40559de7fcfc080433bdfe533f224b95c82c327efc336dee96c7f31a4aad5c963fc3a2b128ae858cd8f2129fba28cfbdf26455ea7fa0ac126e9caa03e65790eb5d3897b1a7ee292628510b86be6a007c92effb8b4c4d6e1cd2868ebf3e07ea2e935d9813a976ea0efe580a4dd95588898f2e4aca15ad22757924cfb82a605b539382669612617934918c66cc8a1fe85dd5e1bfaaffb50411"
);
pub const INPUT_BE_G1_MUL_WORST_CASE: &[u8] = &hex!(
"0408fcfce79d55404c279812a8bdfc02525f215e70f717cbf9f97c305f6845d6661f3a5a46c513a24cf706410e878a2c12aca07fea5564f2bdcf28ba9f12f2d88c85ae28b1a2c33f965cad4a1af3c796ee6d33fc7e322cc8954b223f53febd3373eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000"
);
pub const INPUT_LE_G1_MUL_WORST_CASE: &[u8] = &hex!(
"2c8a870e4106f74ca213c5465a3a1f66d645685f307cf9f9cb17f7705e215f5202fcbda81298274c40559de7fcfc080433bdfe533f224b95c82c327efc336dee96c7f31a4aad5c963fc3a2b128ae858cd8f2129fba28cfbdf26455ea7fa0ac1200000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73"
);
pub const INPUT_BE_G1_DECOMPRESS_WORST_CASE: &[u8] = &hex!(
"a408fcfce79d55404c279812a8bdfc02525f215e70f717cbf9f97c305f6845d6661f3a5a46c513a24cf706410e878a2c"
);
pub const INPUT_LE_G1_DECOMPRESS_WORST_CASE: &[u8] = &hex!(
"2c8a870e4106f74ca213c5465a3a1f66d645685f307cf9f9cb17f7705e215f5202fcbda81298274c40559de7fcfc08a4"
);
pub const INPUT_BE_G1_VALIDATE_WORST_CASE: &[u8] = &hex!(
"0408fcfce79d55404c279812a8bdfc02525f215e70f717cbf9f97c305f6845d6661f3a5a46c513a24cf706410e878a2c12aca07fea5564f2bdcf28ba9f12f2d88c85ae28b1a2c33f965cad4a1af3c796ee6d33fc7e322cc8954b223f53febd33"
);
pub const INPUT_LE_G1_VALIDATE_WORST_CASE: &[u8] = &hex!(
"2c8a870e4106f74ca213c5465a3a1f66d645685f307cf9f9cb17f7705e215f5202fcbda81298274c40559de7fcfc080433bdfe533f224b95c82c327efc336dee96c7f31a4aad5c963fc3a2b128ae858cd8f2129fba28cfbdf26455ea7fa0ac12"
);
// --- G2 Operations ---
pub const INPUT_BE_G2_ADD_WORST_CASE: &[u8] = &hex!(
"03bd018dadd58e94c755ae7e3ca3a2359582282475a85ad70d94d051298f2cbcc86d5440032e927e432f2c7b2f28dcb90169a750864019b9aaaf37c7e5a005a525b70e3e52d04ea58874a79af8b835b68eba547558e9627d6e2051f080b560d307a3d35f55ddb9732ee23283533f7aed5b6b702f932ef3cad72cc79d31cb953700d0bd3fe12230c989e9d199ef580989119af50a55aeedc4b0a7972bbcb2d4a1da1a53f469b49f89458271bb84d341065afca90fae7b9cabf2245622cc2e08730377679657a9200ab2be940cb280e114de3ec7ba85bd35f33b7abb97844ae37d4dc01f39cbb981e6ca64b561c42e28b8074753c2c1ae0f67b96f5eccee6db19581a8d8d72d736929e1126970d0dfb62c64022f37b10fb65328ceb8282d56afc10457daadf9144fb306599b420c3787b5d388ea5eb48d997873a5c0316a71564132fa3c08122f85948c926b98e5074a2f048865ccd58cf6e3afc55b59b382ff03df30d63fa09f1622f3f62663e0ff5203c370fb2019e5caa9eeba9d29b17470ed"
);
pub const INPUT_LE_G2_ADD_WORST_CASE: &[u8] = &hex!(
"d360b580f051206e7d62e9587554ba8eb635b8f89aa77488a54ed0523e0eb725a505a0e5c737afaab919408650a76901b9dc282f7b2c2f437e922e0340546dc8bc2c8f2951d0940dd75aa8752428829535a2a33c7eae55c7948ed5ad8d01bd0373082ecc225624f2ab9c7bae0fa9fc5a0641d384bb718245899fb469f4531adaa1d4b2bc2b97a7b0c4edae550af59a11890958ef99d1e989c93022e13fbdd0003795cb319dc72cd7caf32e932f706b5bed7a3f538332e22e73b9dd555fd3a307c1af562d28b8ce2853b60fb1372f02642cb6dfd0706912e12969732dd7d8a88195b16deecc5e6fb9670faec1c2534707b8282ec461b564cae681b9cb391fc04d7de34a8497bb7a3bf335bd85bac73ede14e180b20c94beb20a20a95796677703ed7074b1299dbaeea9cae51920fb70c30352ffe06326f6f322169fa03fd630df03ff82b3595bc5afe3f68cd5cc6588042f4a07e5986b928c94852f12083cfa324156716a31c0a57378998db45eea88d3b587370c429b5906b34f14f9adda5704"
);
pub const INPUT_BE_G2_SUB_WORST_CASE: &[u8] = &hex!(
"03bd018dadd58e94c755ae7e3ca3a2359582282475a85ad70d94d051298f2cbcc86d5440032e927e432f2c7b2f28dcb90169a750864019b9aaaf37c7e5a005a525b70e3e52d04ea58874a79af8b835b68eba547558e9627d6e2051f080b560d307a3d35f55ddb9732ee23283533f7aed5b6b702f932ef3cad72cc79d31cb953700d0bd3fe12230c989e9d199ef580989119af50a55aeedc4b0a7972bbcb2d4a1da1a53f469b49f89458271bb84d341065afca90fae7b9cabf2245622cc2e08730377679657a9200ab2be940cb280e114de3ec7ba85bd35f33b7abb97844ae37d4dc01f39cbb981e6ca64b561c42e28b8074753c2c1ae0f67b96f5eccee6db19581a8d8d72d736929e1126970d0dfb62c64022f37b10fb65328ceb8282d56afc10457daadf9144fb306599b420c3787b5d388ea5eb48d997873a5c0316a71564132fa3c08122f85948c926b98e5074a2f048865ccd58cf6e3afc55b59b382ff03df30d63fa09f1622f3f62663e0ff5203c370fb2019e5caa9eeba9d29b17470ed"
);
pub const INPUT_LE_G2_SUB_WORST_CASE: &[u8] = &hex!(
"d360b580f051206e7d62e9587554ba8eb635b8f89aa77488a54ed0523e0eb725a505a0e5c737afaab919408650a76901b9dc282f7b2c2f437e922e0340546dc8bc2c8f2951d0940dd75aa8752428829535a2a33c7eae55c7948ed5ad8d01bd0373082ecc225624f2ab9c7bae0fa9fc5a0641d384bb718245899fb469f4531adaa1d4b2bc2b97a7b0c4edae550af59a11890958ef99d1e989c93022e13fbdd0003795cb319dc72cd7caf32e932f706b5bed7a3f538332e22e73b9dd555fd3a307c1af562d28b8ce2853b60fb1372f02642cb6dfd0706912e12969732dd7d8a88195b16deecc5e6fb9670faec1c2534707b8282ec461b564cae681b9cb391fc04d7de34a8497bb7a3bf335bd85bac73ede14e180b20c94beb20a20a95796677703ed7074b1299dbaeea9cae51920fb70c30352ffe06326f6f322169fa03fd630df03ff82b3595bc5afe3f68cd5cc6588042f4a07e5986b928c94852f12083cfa324156716a31c0a57378998db45eea88d3b587370c429b5906b34f14f9adda5704"
);
pub const INPUT_BE_G2_MUL_WORST_CASE: &[u8] = &hex!(
"03bd018dadd58e94c755ae7e3ca3a2359582282475a85ad70d94d051298f2cbcc86d5440032e927e432f2c7b2f28dcb90169a750864019b9aaaf37c7e5a005a525b70e3e52d04ea58874a79af8b835b68eba547558e9627d6e2051f080b560d307a3d35f55ddb9732ee23283533f7aed5b6b702f932ef3cad72cc79d31cb953700d0bd3fe12230c989e9d199ef580989119af50a55aeedc4b0a7972bbcb2d4a1da1a53f469b49f89458271bb84d341065afca90fae7b9cabf2245622cc2e087373eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000"
);
pub const INPUT_LE_G2_MUL_WORST_CASE: &[u8] = &hex!(
"d360b580f051206e7d62e9587554ba8eb635b8f89aa77488a54ed0523e0eb725a505a0e5c737afaab919408650a76901b9dc282f7b2c2f437e922e0340546dc8bc2c8f2951d0940dd75aa8752428829535a2a33c7eae55c7948ed5ad8d01bd0373082ecc225624f2ab9c7bae0fa9fc5a0641d384bb718245899fb469f4531adaa1d4b2bc2b97a7b0c4edae550af59a11890958ef99d1e989c93022e13fbdd0003795cb319dc72cd7caf32e932f706b5bed7a3f538332e22e73b9dd555fd3a30700000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73"
);
pub const INPUT_BE_G2_DECOMPRESS_WORST_CASE: &[u8] = &hex!(
"83bd018dadd58e94c755ae7e3ca3a2359582282475a85ad70d94d051298f2cbcc86d5440032e927e432f2c7b2f28dcb90169a750864019b9aaaf37c7e5a005a525b70e3e52d04ea58874a79af8b835b68eba547558e9627d6e2051f080b560d3"
);
pub const INPUT_LE_G2_DECOMPRESS_WORST_CASE: &[u8] = &hex!(
"d360b580f051206e7d62e9587554ba8eb635b8f89aa77488a54ed0523e0eb725a505a0e5c737afaab919408650a76901b9dc282f7b2c2f437e922e0340546dc8bc2c8f2951d0940dd75aa8752428829535a2a33c7eae55c7948ed5ad8d01bd83"
);
pub const INPUT_BE_G2_VALIDATE_WORST_CASE: &[u8] = &hex!(
"02298dc5b07ca647c4f87741130b540b7c2410f40bc644ffb5de3f85c6b116f09323fdd675774b9507e1898a5e32ae990a01305b6d86169d57048a21f8144f4a7706eadc687e81b2cd47bea2152ca6c467be4fdb4a7ce8038deede79b40e7d9a0e83c50a4e6f3cfb1333cea38add85a7ca08a351ca2e208f9282e6a224081fa16343263da17e1f37132209f399c5b915140a85dd41147c0346f6bae0719c2ad94a1893901e99ea3a493c57e1827bb65db214b403de77e52d050b17f46f8fe2f1"
);
pub const INPUT_LE_G2_VALIDATE_WORST_CASE: &[u8] = &hex!(
"9a7d0eb479deee8d03e87c4adb4fbe67c4a62c15a2be47cdb2817e68dcea06774a4f14f8218a04579d16866d5b30010a99ae325e8a89e107954b7775d6fd2393f016b1c6853fdeb5ff44c60bf410247c0b540b134177f8c447a67cb0c58d2902f1e28f6ff4170b052de577de03b414b25db67b82e1573c493aea991e9093184ad92a9c71e0baf646037c1441dd850a1415b9c599f3092213371f7ea13d264363a11f0824a2e682928f202eca51a308caa785dd8aa3ce3313fb3c6f4e0ac5830e"
);
// --- Pairing Operations ---
pub const INPUT_BE_PAIRING_WORST_CASE: &[u8] = &hex!(
"023d85d0663f73ae66687d68dc64927752a9ca27de3b1118ba0aaeaa4a6ecb03907530f12c79f8bf2859b6c286f9a93315e8ef5d9d9d224906d22a13683e4419e2463b728ade94b1569e4210c0f6d50765062d57c92027148db03e245d52a57f19dbe2d5c1b709b81868241ce0a838a2ad95c5f3f85f9f619bc5f542f8ec518af5d15ee6b0bcabb81f926ea9b314afdf13df5d30b648ce7429bfc057710c5e936fcfe5330188512344fad45797d34dd278c0ee96353cafec4435eedd5bc0c08508fa6979ce323b0172f90cb94ed927011860bc41e3be0ff6db84427cc750432281f3903f57b291faec6ca7fc438eeb1012ec3ae72921a2fd455262e7e26f3c20f47c2f83a4fffce5d2a562b9e9f35cbb5a689217fa6a18c7e2337f59d4be0876"
);
pub const INPUT_LE_PAIRING_WORST_CASE: &[u8] = &hex!(
"33a9f986c2b65928bff8792cf130759003cb6e4aaaae0aba18113bde27caa952779264dc687d6866ae733f66d0853d027fa5525d243eb08d142720c9572d066507d5f6c010429e56b194de8a723b46e219443e68132ad20649229d9d5defe81585c0c05bddee3544ecaf3c3596eec078d24dd39757d4fa442351880133e5cf6f935e0c7157c0bf2974ce48b6305ddf13dfaf14b3a96e921fb8abbcb0e65ed1f58a51ecf842f5c59b619f5ff8f3c595ada238a8e01c246818b809b7c1d5e2db197608bed4597f33e2c7186afa1792685abb5cf3e9b962a5d2e5fcffa4832f7cf4203c6fe2e7625245fda22129e73aec1210eb8e43fca76cecfa91b2573f90f381224350c77c4284dbf60fbee341bc60180127d94eb90cf972013b32ce7969fa08"
);