blob: fdad3806f3a7f8563a7789c612394d63d527d013 [file] [log] [blame]
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#include "arch.h"
#include "fp_BLS381.h"
/* Curve BLS381 - Pairing friendly BLS curve */
#if CHUNK==16
#error Not supported
#endif
#if CHUNK==32
// Base Bits= 29
// Curve parameters of G1 ISO-11: y^2 = x^3 + ax + b
const BIG_384_29 SSWU_A1_BLS381 = {0xd584c1d, 0x07a14041, 0x183e5fd7, 0x06df1b41, 0x081ac989, 0xc0d77ec, 0x1aa363a2, 0x0a707dcc, 0x02b0ea98, 0x164b6a4c, 0x0f5a4e80, 0x0771d286, 0x0144698a, 0x0};
const BIG_384_29 SSWU_B1_BLS381 = {0xe172be0, 0x0e62474c, 0x1b3aa974, 0x0642b462, 0x15ef55a2, 0x0a7e779, 0x01c282e7, 0x1e1e49e8, 0x1b2016c1, 0x03a9f771, 0x0062c4ba, 0x02d10060, 0x0e2908d1, 0x9};
const BIG_384_29 SSWU_Z1_BLS381 = {0x000000b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0};
const BIG_384_29 H_EFF_G1 = {0x10001, 0x10080000, 0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
const BIG_384_29 ISO11_XNUM_BLS381[12] = {
{0x134649b7, 0x1560b313, 0x198b5bab, 0x0185abe5, 0x0e2c8561, 0x1dab66da, 0x017fc989, 0x11145ae0, 0x056b303e, 0x0eccc0ac, 0x0e024407, 0x1d066681, 0x1a05f2b1, 0x8},
{0x13cb83bb, 0x01a7778d, 0x0630d5ba, 0x11e54de6, 0x1e86b483, 0x119e3868, 0x105fd597, 0x0b65ed50, 0x1c7c17e7, 0x110a3d40, 0x01622eac, 0x1287565e, 0x1294ed3e, 0xb},
{0x0c9edcb0, 0x00bcfced, 0x025ca7f8, 0x187c7a54, 0x0e25c958, 0x1280f634, 0x0f95a1e3, 0x0e652b30, 0x1bce0324, 0x0e8854d0, 0x07441231, 0x12ecf1d8, 0x154005db, 0x6},
{0x1d9b6861, 0x0d9c4320, 0x041c64f1, 0x0dc4b9c6, 0x13083533, 0x1944f8d9, 0x1c97c6cc, 0x0cad51b7, 0x12d7f5e4, 0x183f2aa0, 0x13818274, 0x1f98db6e, 0x178e7166, 0xb},
{0x0c8895d9, 0x08aa674d, 0x079df114, 0x1450de60, 0x1ac18985, 0x15b2cc17, 0x0cfc21bb, 0x0b424aff, 0x1499db99, 0x1f208c72, 0x1990ad2c, 0x0333e886, 0x099726a3, 0x7},
{0x0f652983, 0x089e0e33, 0x19cf4673, 0x0e1a5b95, 0x08f90a08, 0x15c84bf3, 0x066e7b4e, 0x0fbb2a4f, 0x15db3cb1, 0x1fbd3a55, 0x00744806, 0x1ae627fe, 0x030c3250, 0xb},
{0x0139ed84, 0x0ebf912d, 0x014bb2b7, 0x04a25182, 0x06b2a8da, 0x110c7ce4, 0x13864023, 0x04c9e1f1, 0x1fb11586, 0x1c573295, 0x1a8dc9b0, 0x1fc89a52, 0x16ed6553, 0x6},
{0x03f0c88e, 0x065ab0c7, 0x1d1d6be7, 0x0f91f191, 0x0753339b, 0x03177879, 0x16c69a0b, 0x1564eb69, 0x13356de5, 0x06888bf2, 0x1a1d0e21, 0x0357b7c5, 0x1b81e770, 0xb},
{0x0497e317, 0x0b8cc354, 0x0dd3a55b, 0x052be52d, 0x1d1de4fa, 0x0b649462, 0x15d28b16, 0x0d9cf3ea, 0x0dc43b75, 0x0b1df4c8, 0x1ee42ccd, 0x134f1f88, 0x00d3cf1f, 0x4},
{0x1e390c9e, 0x1920833d, 0x00c9de5f, 0x12165db8, 0x11b7fa31, 0x0a5d7a5d, 0x12659d8c, 0x1007418b, 0x02dd2ecb, 0x0ae89c79, 0x0b830dd4, 0x179f4f88, 0x09b1f8e1, 0xb},
{0x1605fb7b, 0x133ef9f8, 0x0a177b32, 0x16ee3f18, 0x14866f69, 0x19b001d8, 0x1e5b542b, 0x1bbccf0f, 0x0dfa7dcc, 0x0e92b2d8, 0x1cb63b02, 0x139c0fc4, 0x0321da07, 0x8},
{0x0ba2d229, 0x0e45d174, 0x134e47ea, 0x1637016c, 0x06b68c24, 0x1f8de126, 0x1ef08f02, 0x0fc45906, 0x1d31d79d, 0x1c0f6f71, 0x0f47a588, 0x1c4c1ce1, 0x0e08c248, 0x3}
};
const BIG_384_29 ISO11_XDEN_BLS381[11] = {
{0x00d21b1c, 0x09e7cfd2, 0x0d0f7e26, 0x11ad037c, 0x0ac62b55, 0x0430bfe4, 0x02ea7256, 0x09746b69, 0x0f01d5ef, 0x1a5e9fd3, 0x062cb98b, 0x19fe335c, 0x0ca8d548, 0x4},
{0x082b3bff, 0x0e413b76, 0x0c09ba79, 0x155108d9, 0x0bf5713d, 0x012c4624, 0x0030049b, 0x19419e10, 0x167041e8, 0x14c729b1, 0x122d1c44, 0x16ab3886, 0x0561a5de, 0x9},
{0x1cb83e19, 0x0611cdd2, 0x053fb73f, 0x07a12cf9, 0x0ceacd6a, 0x0700588d, 0x1347f299, 0x0deb4e31, 0x1f6f8941, 0x0dff94c8, 0x004df98a, 0x0f4644bd, 0x12962fe5, 0x5},
{0x0dc62cd8, 0x186f449c, 0x1b3d7104, 0x0daa487d, 0x16fd0497, 0x1455e146, 0x15455332, 0x07e2d62c, 0x145b0824, 0x1be2075a, 0x120eabfb, 0x0b15c5fd, 0x1425581a, 0x1},
{0x1532a21e, 0x1ce9cad9, 0x0d5e0754, 0x0537503e, 0x106da9bd, 0x027419d9, 0x0aee35ad, 0x0b34240c, 0x1dffdfc7, 0x1a1f3d03, 0x029bc757, 0x04522950, 0x1a8e1620, 0x9},
{0x1f6304a5, 0x016fcd14, 0x08a3c470, 0x01a49788, 0x0982f740, 0x1e77925c, 0x1534290e, 0x1d39d395, 0x09395735, 0x18283637, 0x154e43df, 0x09cccf72, 0x07355f8e, 0x7},
{0x0ee84a3a, 0x012ba24b, 0x03781b3b, 0x0766a71e, 0x0de9cea7, 0x03983157, 0x062538b8, 0x1335ea74, 0x01570f57, 0x1f02cb39, 0x03cf8318, 0x02d26c32, 0x172caacf, 0x3},
{0x1dcc5a5e, 0x0fbeccdd, 0x0478b4c4, 0x0b72913a, 0x02c580fa, 0x10e6fcc1, 0x02a0665b, 0x1843794d, 0x196e7f63, 0x03a6780c, 0x0c2cfd6c, 0x1ac95164, 0x0a7ac2a9, 0xa},
{0x19a1d641, 0x1bb761d3, 0x0e90dc11, 0x04cd2557, 0x18835038, 0x06d33f9c, 0x19add040, 0x03ae2c26, 0x0ce07f8d, 0x0d7e3d1e, 0x17a482cf, 0x1b4a9f04, 0x010ecf6a, 0x5},
{0x08ecdd0a, 0x0b1c268b, 0x1e19400b, 0x0e9c9696, 0x11c15931, 0x099cbc79, 0x00dddb7d, 0x1dd2defa, 0x00f682b4, 0x159d2b34, 0x11db5b8f, 0x13d255a8, 0x15fc13ab, 0x4},
{0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0}
};
const BIG_384_29 ISO11_YNUM_BLS381[16] = {
{0x1707bb33, 0x14c22b8c, 0x0ee8f0af, 0x18f5dd36, 0x143d3cd0, 0x17b64ab2, 0x0548ad4a, 0x11c9150d, 0x1a11ad13, 0x0a4c06e7, 0x096747c2, 0x17449dc0, 0x10d97c81, 0x4},
{0x0e41c696, 0x04bf3ad1, 0x0bea2ff8, 0x0ace232c, 0x1ad34d6c, 0x11a1f5b3, 0x00f43e41, 0x0d84a9e7, 0x031223e9, 0x1bb7da34, 0x15440db5, 0x09dcb023, 0x14996a10, 0x9},
{0x072de1f6, 0x06ff1206, 0x0c0148ee, 0x1aa42c51, 0x00da7d26, 0x1f25c8a0, 0x138b0d12, 0x1acb1463, 0x142552e2, 0x0351da4c, 0x1d28e132, 0x152cdccd, 0x0cc786ba, 0x0},
{0x10e5f4cb, 0x11aae3bd, 0x11877b29, 0x00b5753d, 0x11cf9de4, 0x11f60192, 0x04702792, 0x1721dd6f, 0x17d42aa7, 0x16c3a33a, 0x1e261d46, 0x11303842, 0x1f86376e, 0x0},
{0x12e8fedb, 0x0db6d767, 0x04102a10, 0x0ff1b813, 0x11adc2ee, 0x1fe9109a, 0x02e1e60c, 0x1f7c79ca, 0x04195536, 0x1510a94e, 0x172bd3f8, 0x1fc1fe26, 0x0cc03fde, 0x4},
{0x1633a5f0, 0x0d91d589, 0x16a01ca6, 0x1ec64d92, 0x1544e203, 0x0e1e9d6a, 0x1ef5d941, 0x1a95f5b6, 0x0074a7d0, 0x0dc78535, 0x08847847, 0x00c696d4, 0x0603fca4, 0xb},
{0x1fe9d6f2, 0x0b0fc42a, 0x03d057b2, 0x10f5848c, 0x14f3747a, 0x009e26b1, 0x132d48c5, 0x19457c30, 0x1ce75bb8, 0x013bcb59, 0x0cb25df4, 0x1f583779, 0x0ab0b9bc, 0x2},
{0x1870fb29, 0x0af26518, 0x17fa4d68, 0x0c8aa1fd, 0x0842642f, 0x06d36136, 0x007ff40e, 0x17fc77bb, 0x14170a05, 0x09653633, 0x17a649af, 0x067570df, 0x187c8d53, 0x4},
{0x1bdba587, 0x01b872bb, 0x0181e8d8, 0x0ca4038f, 0x0cabe69d, 0x17350f90, 0x09b07a2d, 0x02ccf3b8, 0x1b8f3abd, 0x10f26d0d, 0x1a232788, 0x1b2cd097, 0x1fc4018b, 0x4},
{0x0a731c30, 0x1d7d575e, 0x13ae9bca, 0x1ee0abba, 0x0d43b9b3, 0x0f3f68f2, 0x1bf81a61, 0x14f22b5e, 0x03c42a0c, 0x1d6d0a51, 0x088eaf79, 0x030d7b6a, 0x01bba7a1, 0x7},
{0x1011c132, 0x009b88d6, 0x0feebf3a, 0x1e74b99c, 0x1e61031b, 0x1f20b1c4, 0x04ff4460, 0x196d95e9, 0x13cd2fcb, 0x18ea1fdc, 0x037f42e3, 0x06f9a37c, 0x1713e479, 0xc},
{0x10074d8e, 0x103e4526, 0x113581b3, 0x139be836, 0x1643249d, 0x1f3fc88f, 0x0918b9af, 0x17155e18, 0x0c523559, 0x1ff6976e, 0x0e463050, 0x1e6dedbd, 0x0b46a908, 0xc},
{0x0b971ef8, 0x0a602780, 0x04847c83, 0x10a38323, 0x0633f06c, 0x087403da, 0x023b009c, 0x054684d6, 0x047aa7b1, 0x0027a9fa, 0x14554258, 0x00372733, 0x1182cac1, 0x5},
{0x1b980133, 0x16ce9fae, 0x08ca9910, 0x1f215a38, 0x0659cc6c, 0x11969e20, 0x16004f99, 0x0101a982, 0x1c757b3b, 0x13df18ae, 0x1cbf002b, 0x1a3d9536, 0x045a394a, 0x1},
{0x1475224b, 0x1358f38a, 0x1e6bede1, 0x020936ca, 0x07ce46ba, 0x07ae9cb5, 0x15a366ac, 0x103afd0c, 0x1c5e673d, 0x1a46251f, 0x00a8567d, 0x1c899e22, 0x1c129645, 0x2},
{0x09c8b604, 0x05a2b5f3, 0x10071dc1, 0x0a04fdfd, 0x101b2b66, 0x0a7d4ad7, 0x08e55eb7, 0x11f092cb, 0x15cb181d, 0x1a16f975, 0x13a942ce, 0x121e079c, 0x1e6be4e9, 0xa}
};
const BIG_384_29 ISO11_YDEN_BLS381[16] = {
{0x103663c1, 0x0a3c929d, 0x03081b40, 0x06d11dec, 0x12e7a07f, 0x1195adf3, 0x0f9bbb0c, 0x1caf1301, 0x09601a6d, 0x07d68757, 0x14860450, 0x15393164, 0x0112c4c3, 0xb},
{0x0e49a03d, 0x17b08161, 0x14a78d4c, 0x084c0ec6, 0x1e01f78a, 0x01ab7a29, 0x16729284, 0x1ee6389a, 0x1885c84f, 0x021e1a45, 0x06832f5b, 0x0702403c, 0x162d75c2, 0xc},
{0x1dbf67f2, 0x1129c5a9, 0x1e5be247, 0x0af9ac6d, 0x0d2eca67, 0x12ee93ce, 0x1cc430d6, 0x0aaa35cf, 0x1778c485, 0x0b74758a, 0x1beaab9f, 0x0c81b44e, 0x18df3306, 0x2},
{0x045f5416, 0x06936cc2, 0x00a5eb6a, 0x06c9e585, 0x0af41727, 0x1244f393, 0x0c3848f6, 0x1b7bb79a, 0x11d115c5, 0x1c4f6da6, 0x1c8348ef, 0x131ca72b, 0x0b7d2887, 0xb},
{0x11a5001d, 0x11c8a118, 0x14bb7b76, 0x162bb81f, 0x0c916a20, 0x0d07e4ef, 0x0ec150bb, 0x13e1ed37, 0x1cc6d19c, 0x17c1146e, 0x0c033244, 0x08be87c9, 0x1e0e0795, 0x5},
{0x0af9b7ac, 0x16323bfd, 0x0a733880, 0x071b73bf, 0x15a6449f, 0x0c3db787, 0x020717b3, 0x18caaa1b, 0x02b70152, 0x1563c18c, 0x07ec99ba, 0x030db65b, 0x0d9e5297, 0x4},
{0x126a775c, 0x08d09cc8, 0x02c7ee4f, 0x1538034b, 0x00051d5f, 0x12de2005, 0x03bd774d, 0x1f51a19f, 0x0b5eecfd, 0x05674c12, 0x10eea1cd, 0x1533b65f, 0x06007c08, 0xb},
{0x15812ed9, 0x07720ad0, 0x0077b918, 0x01eb6010, 0x17132b92, 0x07e9031a, 0x1f5ffacd, 0x0bdf43e9, 0x0ee5a437, 0x15dd37fb, 0x00ef377e, 0x1c7d4fd4, 0x0a3ef08b, 0xb},
{0x15535d4a, 0x1919ecea, 0x049220da, 0x1fc5ef77, 0x19b4852c, 0x1a8625f9, 0x0482af15, 0x1c98d5eb, 0x04f9fb0c, 0x1e8eba66, 0x0686f953, 0x06d8c246, 0x066c8ed3, 0xc},
{0x18913f55, 0x0377a45d, 0x0a6cd78d, 0x10bd47aa, 0x1d4fbc73, 0x0c973f53, 0x1eed4c21, 0x0c7c27b0, 0x103216f7, 0x1eca5424, 0x1aa08165, 0x0e14dc39, 0x07a55cda, 0xb},
{0x1a8f6aa8, 0x07c5a4e5, 0x00c18100, 0x0b853e9f, 0x0a5c871a, 0x0d9b731b, 0x18a43964, 0x07376c34, 0x1d9c6dd0, 0x00d69488, 0x123c0428, 0x1d480b7a, 0x0d2f259e, 0x2},
{0x02561092, 0x1425a94f, 0x1faefaa5, 0x12d130de, 0x1913516f, 0x0d446753, 0x0b4a303e, 0x115df9c8, 0x077f94ff, 0x12462862, 0x1d614b07, 0x103a067f, 0x0ccbb674, 0x5},
{0x173345cc, 0x14cd89c2, 0x0e42b047, 0x000ec7c7, 0x19b86930, 0x177cd006, 0x0899f573, 0x1b315be0, 0x16543346, 0x05a2f8a4, 0x10d84c51, 0x18ecffc7, 0x0d6b9514, 0x5},
{0x06ed06f7, 0x0fd6e099, 0x05332034, 0x0a2f7b0e, 0x0480e420, 0x06f93ca1, 0x1f072dd2, 0x129ce524, 0x12bf565b, 0x0a9e6bb7, 0x18a2f743, 0x165c9e76, 0x0660400e, 0x1},
{0x1d634b8f, 0x00aa39d0, 0x0d25e011, 0x05eae1e2, 0x0aa205ca, 0x1e6b1ab6, 0x014cc93b, 0x0cbc4e77, 0x0171c40f, 0x106bc0ce, 0x1ac90957, 0x0dbb807c, 0x00fa1d81, 0x7},
{0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0}
};
// Curve parameters of G2 ISO-3: y^2 = x^3 + ax + b
const BIG_384_29 SSWU_A2re_BLS381 = {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0};
const BIG_384_29 SSWU_A2im_BLS381 = {0x000000f0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0};
const BIG_384_29 SSWU_B2re_BLS381 = {0x000003f4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0};
const BIG_384_29 SSWU_B2im_BLS381 = {0x000003f4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0};
const BIG_384_29 SSWU_Z2re_BLS381 = {0x1fffaaa9, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x9507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd};
const BIG_384_29 SSWU_Z2re_BLS381 = {0x1fffaaaa, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x9507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd};
const BIG_384_29 ISO3_XNUMre_BLS381[4] = {
{0x0aaa97d6, 0x11c55555, 0x1671c718, 0x0c71c687, 0x0e15d5c2, 0x0211e285, 0x10aa22d6, 0x073fa740, 0x0532c52d, 0x123ebf6c, 0x0ed6dea6, 0x1d1c667d, 0x1c759507, 0x2},
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
{0x1fffc71e, 0x154fffff, 0x03555549, 0x05555397, 0x0a418147, 0x0635a790, 0x11fe6882, 0x15bef5c1, 0x0f984f87, 0x16bc3e44, 0x0c849bf3, 0x17553378, 0x1560bf17, 0x8},
{0x0aaa5ed1, 0x07155555, 0x19c71c62, 0x11c71a1e, 0x18575709, 0x08478a15, 0x02a88b58, 0x1cfe9d02, 0x14cb14b4, 0x08fafdb0, 0x1b5b7a9a, 0x147199f5, 0x11d6541f, 0xb}
};
const BIG_384_29 ISO3_XNUMim_BLS381[4] = {
{0x0aaa97d6, 0x11c55555, 0x1671c718, 0x0c71c687, 0x0e15d5c2, 0x0211e285, 0x10aa22d6, 0x073fa740, 0x0532c52d, 0x123ebf6c, 0x0ed6dea6, 0x1d1c667d, 0x1c759507, 0x2},
{0x1fffc71a, 0x154fffff, 0x03555549, 0x05555397, 0x0a418147, 0x0635a790, 0x11fe6882, 0x15bef5c1, 0x0f984f87, 0x16bc3e44, 0x0c849bf3, 0x17553378, 0x1560bf17, 0x8},
{0x1fffe38d, 0x1aa7ffff, 0x11aaaaa4, 0x12aaa9cb, 0x0520c0a3, 0x031ad3c8, 0x18ff3441, 0x1adf7ae0, 0x07cc27c3, 0x1b5e1f22, 0x06424df9, 0x1baa99bc, 0x0ab05f8b, 0x4},
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
};
const BIG_384_29 ISO3_XDENre_BLS381[2] = {
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
{0x0000000c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0}
};
const BIG_384_29 ISO3_XDENim_BLS381[2] = {
{0x1fffaa63, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd},
{0x1fffaa9f, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd}
};
const BIG_384_29 ISO3_YNUMre_BLS381[4] = {
{0x11c6d706, 0x167e38e3, 0x124bda04, 0x184bd7f1, 0x1e500fc8, 0x1cec3e93, 0x126fd510, 0x1a940fec, 0x130f7da5, 0x183b688c, 0x16693062, 0x15682276, 0x130477c7, 0xa},
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
{0x1fffc71c, 0x154fffff, 0x03555549, 0x05555397, 0x0a418147, 0x0635a790, 0x11fe6882, 0x15bef5c1, 0x0f984f87, 0x16bc3e44, 0x0c849bf3, 0x17553378, 0x1560bf17, 0x8},
{0x1c718b10, 0x0d9b8e38, 0x1712f678, 0x1212f4ad, 0x074524e7, 0x1be34d51, 0x0a1ac3a5, 0x06f43c4c, 0x10761b0f, 0x0f1c08d6, 0x1efdc10f, 0x16d9ef37, 0x04c9ad43, 0x9}
};
const BIG_384_29 ISO3_YNUMim_BLS381[4] = {
{0x11c6d706, 0x167e38e3, 0x124bda04, 0x184bd7f1, 0x1e500fc8, 0x1cec3e93, 0x126fd510, 0x1a940fec, 0x130f7da5, 0x183b688c, 0x16693062, 0x15682276, 0x130477c7, 0xa},
{0x0aaa97be, 0x11c55555, 0x1671c718, 0x0c71c687, 0x0e15d5c2, 0x0211e285, 0x10aa22d6, 0x073fa740, 0x0532c52d, 0x123ebf6c, 0x0ed6dea6, 0x1d1c667d, 0x1c759507, 0x2},
{0x1fffe38f, 0x1aa7ffff, 0x11aaaaa4, 0x12aaa9cb, 0x0520c0a3, 0x031ad3c8, 0x18ff3441, 0x1adf7ae0, 0x07cc27c3, 0x1b5e1f22, 0x06424df9, 0x1baa99bc, 0x0ab05f8b, 0x4},
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
};
const BIG_384_29 ISO3_YDENre_BLS381[3] = {
{0x1fffa8fb, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd},
{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
{0x00000012, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0},
};
const BIG_384_29 ISO3_YDENim_BLS381[3] = {
{0x1fffa8fb, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd},
{0x1fffa9d3, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd},
{0x1fffaa99, 0x0ff7ffff, 0x14ffffee, 0x17fffd62, 0x0f6241ea, 0x09507b58, 0x0afd9cc3, 0x109e70a2, 0x1764774b, 0x121a5d66, 0x12c6e9ed, 0x12ffcd34, 0x00111ea3, 0xd}
};
#endif
#if CHUNK==64
// Base Bits= 58
// Curve parameters of G1 ISO-11: y^2 = x^3 + ax + b
const BIG_384_58 SSWU_A1_BLS381 = {0x0f428082d584c1dL, 0xdbe368383e5fd7L, 0x181aefd881ac989L, 0x14e0fb99aa363a2L, 0x2c96d4982b0ea98L, 0xee3a50cf5a4e80L, 0x00144698aL};
const BIG_384_58 SSWU_B1_BLS381 = {0x1cc48e98e172be0L, 0xc8568c5b3aa974L, 0x014fcef35ef55a2L, 0x3c3c93d01c282e7L, 0x0753eee3b2016c1L, 0x5a200c0062c4baL, 0x12e2908d1L};
const BIG_384_58 SSWU_Z1_BLS381 = {0x00000000000000bL, 0x00000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x00000000000000L, 0x000000000L};
const BIG_384_58 H_EFF_G1 = {0x201000000010001L, 0x34L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
const BIG_384_58 ISO11_XNUM_BLS381[12] = {
{0x2ac1662734649b7L, 0x030b57cb98b5babL, 0x3b56cdb4e2c8561L, 0x2228b5c017fc989L, 0x1d99815856b303eL, 0x3a0ccd02e024407L, 0x11a05f2b1L},
{0x034eef1b3cb83bbL, 0x23ca9bcc630d5baL, 0x233c70d1e86b483L, 0x16cbdaa105fd597L, 0x22147a81c7c17e7L, 0x250eacbc1622eacL, 0x17294ed3eL},
{0x0179f9dac9edcb0L, 0x30f8f4a825ca7f8L, 0x2501ec68e25c958L, 0x1cca5660f95a1e3L, 0x1d10a9a1bce0324L, 0x25d9e3b07441231L, 0x0d54005dbL},
{0x1b388641d9b6861L, 0x1b89738c41c64f1L, 0x3289f1b33083533L, 0x195aa36fc97c6ccL, 0x307e55412d7f5e4L, 0x3f31b6dd3818274L, 0x1778e7166L},
{0x1154ce9ac8895d9L, 0x28a1bcc079df114L, 0x2b65982fac18985L, 0x168495fecfc21bbL, 0x3e4118e5499db99L, 0x0667d10d990ad2cL, 0x0e99726a3L},
{0x113c1c66f652983L, 0x1c34b72b9cf4673L, 0x2b9097e68f90a08L, 0x1f76549e66e7b4eL, 0x3f7a74ab5db3cb1L, 0x35cc4ffc0744806L, 0x1630c3250L},
{0x1d7f225a139ed84L, 0x0944a30414bb2b7L, 0x2218f9c86b2a8daL, 0x0993c3e33864023L, 0x38ae652bfb11586L, 0x3f9134a5a8dc9b0L, 0x0d6ed6553L},
{0x0cb5618e3f0c88eL, 0x1f23e323d1d6be7L, 0x062ef0f2753339bL, 0x2ac9d6d36c69a0bL, 0x0d1117e53356de5L, 0x06af6f8ba1d0e21L, 0x17b81e770L},
{0x171986a8497e317L, 0x0a57ca5add3a55bL, 0x16c928c5d1de4faL, 0x1b39e7d55d28b16L, 0x163be990dc43b75L, 0x269e3f11ee42ccdL, 0x080d3cf1fL},
{0x3241067be390c9eL, 0x242cbb700c9de5fL, 0x14baf4bb1b7fa31L, 0x200e83172659d8cL, 0x15d138f22dd2ecbL, 0x2f3e9f10b830dd4L, 0x169b1f8e1L},
{0x267df3f1605fb7bL, 0x2ddc7e30a177b32L, 0x336003b14866f69L, 0x37799e1fe5b542bL, 0x1d2565b0dfa7dccL, 0x27381f89cb63b02L, 0x10321da07L},
{0x1c8ba2e8ba2d229L, 0x2c6e02d934e47eaL, 0x3f1bc24c6b68c24L, 0x1f88b20def08f02L, 0x381edee3d31d79dL, 0x389839c2f47a588L, 0x06e08c248L}
};
const BIG_384_58 ISO11_XDEN_BLS381[10] = {
{0x13cf9fa40d21b1cL, 0x235a06f8d0f7e26L, 0x08617fc8ac62b55L, 0x12e8d6d22ea7256L, 0x34bd3fa6f01d5efL, 0x33fc66b862cb98bL, 0x08ca8d548L},
{0x1c8276ec82b3bffL, 0x2aa211b2c09ba79L, 0x02588c48bf5713dL, 0x32833c20030049bL, 0x298e536367041e8L, 0x2d56710d22d1c44L, 0x12561a5deL},
{0x0c239ba5cb83e19L, 0x0f4259f253fb73fL, 0x0e00b11aceacd6aL, 0x1bd69c63347f299L, 0x1bff2991f6f8941L, 0x1e8c897a04df98aL, 0x0b2962fe5L},
{0x30de8938dc62cd8L, 0x1b5490fbb3d7104L, 0x28abc28d6fd0497L, 0x0fc5ac595455332L, 0x37c40eb545b0824L, 0x162b8bfb20eabfbL, 0x03425581aL},
{0x39d395b3532a21eL, 0x0a6ea07cd5e0754L, 0x04e833b306da9bdL, 0x16684818aee35adL, 0x343e7a07dffdfc7L, 0x08a452a029bc757L, 0x13a8e1620L},
{0x02df9a29f6304a5L, 0x03492f108a3c470L, 0x3cef24b8982f740L, 0x3a73a72b534290eL, 0x30506c6e9395735L, 0x13999ee554e43dfL, 0x0e7355f8eL},
{0x02574496ee84a3aL, 0x0ecd4e3c3781b3bL, 0x073062aede9cea7L, 0x266bd4e862538b8L, 0x3e0596721570f57L, 0x05a4d8643cf8318L, 0x0772caacfL},
{0x1f7d99bbdcc5a5eL, 0x16e52274478b4c4L, 0x21cdf9822c580faL, 0x3086f29a2a0665bL, 0x074cf01996e7f63L, 0x3592a2c8c2cfd6cL, 0x14a7ac2a9L},
{0x376ec3a79a1d641L, 0x099a4aaee90dc11L, 0x0da67f398835038L, 0x075c584d9add040L, 0x1afc7a3cce07f8dL, 0x36953e097a482cfL, 0x0a10ecf6aL},
{0x16384d168ecdd0aL, 0x1d392d2de19400bL, 0x133978f31c15931L, 0x3ba5bdf40dddb7dL, 0x2b3a56680f682b4L, 0x27a4ab511db5b8fL, 0x095fc13abL}
};
const BIG_384_58 ISO11_YNUM_BLS381[16] = {
{0x29845719707bb33L, 0x31ebba6cee8f0afL, 0x2f6c956543d3cd0L, 0x23922a1a548ad4aL, 0x14980dcfa11ad13L, 0x2e893b8096747c2L, 0x090d97c81L},
{0x097e75a2e41c696L, 0x159c4658bea2ff8L, 0x2343eb67ad34d6cL, 0x1b0953ce0f43e41L, 0x376fb46831223e9L, 0x13b960475440db5L, 0x134996a10L},
{0x0dfe240c72de1f6L, 0x354858a2c0148eeL, 0x3e4b91400da7d26L, 0x359628c738b0d12L, 0x06a3b49942552e2L, 0x2a59b99bd28e132L, 0x00cc786baL},
{0x2355c77b0e5f4cbL, 0x016aea7b1877b29L, 0x23ec03251cf9de4L, 0x2e43bade4702792L, 0x2d8746757d42aa7L, 0x22607085e261d46L, 0x01f86376eL},
{0x1b6daecf2e8fedbL, 0x1fe370264102a10L, 0x3fd221351adc2eeL, 0x3ef8f3942e1e60cL, 0x2a21529c4195536L, 0x3f83fc4d72bd3f8L, 0x08cc03fdeL},
{0x1b23ab13633a5f0L, 0x3d8c9b256a01ca6L, 0x1c3d3ad5544e203L, 0x352beb6def5d941L, 0x1b8f0a6a074a7d0L, 0x018d2da88847847L, 0x16603fca4L},
{0x161f8855fe9d6f2L, 0x21eb09183d057b2L, 0x013c4d634f3747aL, 0x328af86132d48c5L, 0x027796b3ce75bb8L, 0x3eb06ef2cb25df4L, 0x04ab0b9bcL},
{0x15e4ca31870fb29L, 0x191543fb7fa4d68L, 0x0da6c26c842642fL, 0x2ff8ef7607ff40eL, 0x12ca6c674170a05L, 0x0ceae1bf7a649afL, 0x0987c8d53L},
{0x0370e577bdba587L, 0x1948071e181e8d8L, 0x2e6a1f20cabe69dL, 0x0599e7709b07a2dL, 0x21e4da1bb8f3abdL, 0x3659a12fa232788L, 0x09fc4018bL},
{0x3afaaebca731c30L, 0x3dc157753ae9bcaL, 0x1e7ed1e4d43b9b3L, 0x29e456bdbf81a61L, 0x3ada14a23c42a0cL, 0x061af6d488eaf79L, 0x0e1bba7a1L},
{0x013711ad011c132L, 0x3ce97338feebf3aL, 0x3e416389e61031bL, 0x32db2bd24ff4460L, 0x31d43fb93cd2fcbL, 0x0df346f837f42e3L, 0x19713e479L},
{0x207c8a4d0074d8eL, 0x2737d06d13581b3L, 0x3e7f911f643249dL, 0x2e2abc30918b9afL, 0x3fed2edcc523559L, 0x3cdbdb7ae463050L, 0x18b46a908L},
{0x14c04f00b971ef8L, 0x214706464847c83L, 0x10e807b4633f06cL, 0x0a8d09ac23b009cL, 0x004f53f447aa7b1L, 0x006e4e674554258L, 0x0b182cac1L},
{0x2d9d3f5db980133L, 0x3e42b4708ca9910L, 0x232d3c40659cc6cL, 0x020353056004f99L, 0x27be315dc757b3bL, 0x347b2a6dcbf002bL, 0x0245a394aL},
{0x26b1e715475224bL, 0x04126d95e6bede1L, 0x0f5d396a7ce46baL, 0x2075fa195a366acL, 0x348c4a3fc5e673dL, 0x39133c440a8567dL, 0x05c129645L},
{0x0b456be69c8b604L, 0x1409fbfb0071dc1L, 0x14fa95af01b2b66L, 0x23e125968e55eb7L, 0x342df2eb5cb181dL, 0x243c0f393a942ceL, 0x15e6be4e9L}
};
const BIG_384_58 ISO11_YDEN_BLS381[15] = {
{0x1479253b03663c1L, 0x0da23bd83081b40L, 0x232b5be72e7a07fL, 0x395e2602f9bbb0cL, 0x0fad0eae9601a6dL, 0x2a7262c94860450L, 0x16112c4c3L},
{0x2f6102c2e49a03dL, 0x10981d8d4a78d4cL, 0x0356f453e01f78aL, 0x3dcc71356729284L, 0x043c348b885c84fL, 0x0e0480786832f5bL, 0x1962d75c2L},
{0x22538b53dbf67f2L, 0x15f358dbe5be247L, 0x25dd279cd2eca67L, 0x15546b9fcc430d6L, 0x16e8eb15778c485L, 0x1903689dbeaab9fL, 0x058df3306L},
{0x0d26d98445f5416L, 0x0d93cb0a0a5eb6aL, 0x2489e726af41727L, 0x36f76f34c3848f6L, 0x389edb4d1d115c5L, 0x26394e57c8348efL, 0x16b7d2887L},
{0x239142311a5001dL, 0x2c57703f4bb7b76L, 0x1a0fc9dec916a20L, 0x27c3da6eec150bbL, 0x2f8228ddcc6d19cL, 0x117d0f92c033244L, 0x0be0e0795L},
{0x2c6477faaf9b7acL, 0x0e36e77ea733880L, 0x187b6f0f5a6449fL, 0x3195543620717b3L, 0x2ac783182b70152L, 0x061b6cb67ec99baL, 0x08d9e5297L},
{0x11a1399126a775cL, 0x2a7006962c7ee4fL, 0x25bc400a0051d5fL, 0x3ea3433e3bd774dL, 0x0ace9824b5eecfdL, 0x2a676cbf0eea1cdL, 0x166007c08L},
{0x0ee415a15812ed9L, 0x03d6c020077b918L, 0x0fd206357132b92L, 0x17be87d3f5ffacdL, 0x2bba6ff6ee5a437L, 0x38fa9fa80ef377eL, 0x16a3ef08bL},
{0x3233d9d55535d4aL, 0x3f8bdeee49220daL, 0x350c4bf39b4852cL, 0x3931abd6482af15L, 0x3d1d74cc4f9fb0cL, 0x0db1848c686f953L, 0x1866c8ed3L},
{0x06ef48bb8913f55L, 0x217a8f54a6cd78dL, 0x192e7ea7d4fbc73L, 0x18f84f61eed4c21L, 0x3d94a84903216f7L, 0x1c29b873aa08165L, 0x167a55cdaL},
{0x0f8b49cba8f6aa8L, 0x170a7d3e0c18100L, 0x1b36e636a5c871aL, 0x0e6ed8698a43964L, 0x01ad2911d9c6dd0L, 0x3a9016f523c0428L, 0x04d2f259eL},
{0x284b529e2561092L, 0x25a261bdfaefaa5L, 0x1a88cea7913516fL, 0x22bbf390b4a303eL, 0x248c50c477f94ffL, 0x20740cffd614b07L, 0x0accbb674L},
{0x299b138573345ccL, 0x001d8f8ee42b047L, 0x2ef9a00d9b86930L, 0x3662b7c0899f573L, 0x0b45f1496543346L, 0x31d9ff8f0d84c51L, 0x0ad6b9514L},
{0x1fadc1326ed06f7L, 0x145ef61c5332034L, 0x0df27942480e420L, 0x2539ca49f072dd2L, 0x153cd76f2bf565bL, 0x2cb93ced8a2f743L, 0x02660400eL},
{0x015473a1d634b8fL, 0x0bd5c3c4d25e011L, 0x3cd6356caa205caL, 0x19789cee14cc93bL, 0x20d7819c171c40fL, 0x1b7700f9ac90957L, 0x0e0fa1d81L}
};
// Curve parameters of G2 ISO-3: y^2 = x^3 + ax + b
const BIG_384_58 SSWU_A2re_BLS381 = {0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L};
const BIG_384_58 SSWU_A2im_BLS381 = {0x0000000000000f0L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L};
const BIG_384_58 SSWU_B2re_BLS381 = {0x0000000000003f4L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L};
const BIG_384_58 SSWU_B2im_BLS381 = {0x0000000000003f4L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L};
const BIG_384_58 SSWU_Z2re_BLS381 = {0x1feffffffffaaa9L, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L};
const BIG_384_58 SSWU_Z2im_BLS381 = {0x1feffffffffaaaaL, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L};
const BIG_384_58 ISO3_XNUMre_BLS381[4] = {
{0x238aaaaaaaa97d6L, 0x18e38d0f671c718L, 0x0423c50ae15d5c2L, 0x0e7f4e810aa22d6L, 0x247d7ed8532c52dL, 0x3a38ccfaed6dea6L, 0x05c759507L},
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L},
{0x2a9ffffffffc71eL, 0x0aaaa72e3555549L, 0x0c6b4f20a418147L, 0x2b7deb831fe6882L, 0x2d787c88f984f87L, 0x2eaa66f0c849bf3L, 0x11560bf17L},
{0x0e2aaaaaaaa5ed1L, 0x238e343d9c71c62L, 0x108f142b8575709L, 0x39fd3a042a88b58L, 0x11f5fb614cb14b4L, 0x28e333ebb5b7a9aL, 0x171d6541fL}
};
const BIG_384_58 ISO3_XNUMim_BLS381[4] = {
{0x238aaaaaaaa97d6L, 0x18e38d0f671c718L, 0x0423c50ae15d5c2L, 0x0e7f4e810aa22d6L, 0x247d7ed8532c52dL, 0x3a38ccfaed6dea6L, 0x05c759507L},
{0x2a9ffffffffc71aL, 0x0aaaa72e3555549L, 0x0c6b4f20a418147L, 0x2b7deb831fe6882L, 0x2d787c88f984f87L, 0x2eaa66f0c849bf3L, 0x11560bf17L},
{0x354ffffffffe38dL, 0x255553971aaaaa4L, 0x0635a790520c0a3L, 0x35bef5c18ff3441L, 0x36bc3e447cc27c3L, 0x375533786424df9L, 0x08ab05f8bL},
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L}
};
const BIG_384_58 ISO3_XDENre_BLS381[2] = {
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L},
{0x00000000000000cL, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L}
};
const BIG_384_58 ISO3_XDENim_BLS381[2] = {
{0x1feffffffffaa63L, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L},
{0x1feffffffffaa9fL, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L}
};
const BIG_384_58 ISO3_YNUMre_BLS381[4] = {
{0x2cfc71c71c6d706L, 0x3097afe324bda04L, 0x39d87d27e500fc8L, 0x35281fd926fd510L, 0x3076d11930f7da5L, 0x2ad044ed6693062L, 0x1530477c7L},
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L},
{0x2a9ffffffffc71cL, 0x0aaaa72e3555549L, 0x0c6b4f20a418147L, 0x2b7deb831fe6882L, 0x2d787c88f984f87L, 0x2eaa66f0c849bf3L, 0x11560bf17L},
{0x1b371c71c718b10L, 0x2425e95b712f678L, 0x37c69aa274524e7L, 0x0de87898a1ac3a5L, 0x1e3811ad0761b0fL, 0x2db3de6fefdc10fL, 0x124c9ad43L}
};
const BIG_384_58 ISO3_YNUMim_BLS381[4] = {
{0x2cfc71c71c6d706L, 0x3097afe324bda04L, 0x39d87d27e500fc8L, 0x35281fd926fd510L, 0x3076d11930f7da5L, 0x2ad044ed6693062L, 0x1530477c7L},
{0x238aaaaaaaa97beL, 0x18e38d0f671c718L, 0x0423c50ae15d5c2L, 0x0e7f4e810aa22d6L, 0x247d7ed8532c52dL, 0x3a38ccfaed6dea6L, 0x05c759507L},
{0x354ffffffffe38fL, 0x255553971aaaaa4L, 0x0635a790520c0a3L, 0x35bef5c18ff3441L, 0x36bc3e447cc27c3L, 0x375533786424df9L, 0x08ab05f8bL},
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L},
};
const BIG_384_58 ISO3_YDENre_BLS381[3] = {
{0x1feffffffffa8fbL, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L},
{0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L},
{0x000000000000012L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000000000L, 0x000000000L}
};
const BIG_384_58 ISO3_YDENim_BLS381[3] = {
{0x1feffffffffa8fbL, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L},
{0x1feffffffffa9d3L, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L},
{0x1feffffffffaa99L, 0x2ffffac54ffffeeL, 0x12a0f6b0f6241eaL, 0x213ce144afd9cc3L, 0x2434bacd764774bL, 0x25ff9a692c6e9edL, 0x1a0111ea3L}
};
#endif