MastersThesis/PQ_TIIGER_TLS/sal/miracl-ubuntu22-11-04-24/includes/rom_curve_BLS12443.cpp

98 lines
28 KiB
C++
Raw Normal View History

2024-04-15 09:53:30 +00:00
/*
* Copyright (c) 2012-2020 MIRACL UK Ltd.
*
* This file is part of MIRACL Core
* (see https://github.com/miracl/core).
*
* Licensed 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 "ecp_BLS12443.h"
namespace BLS12443 {
/* Curve BLS12443 - Pairing friendly BLS curve */
#if CHUNK==16
#error Not supported
#endif
#if CHUNK==32
using namespace B448_29;
// Base Bits= 29
const int CURVE_Cof_I= 0;
const BIG CURVE_Cof= {0x11FFFFFF,0x1F800000,0x100FF,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const int CURVE_B_I= 4;
const BIG CURVE_B= {0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Order= {0x1,0x15E00000,0x8FFFFF,0x330FEE0,0x5A3E808,0x1A0482EE,0x174DC4C0,0x6E9E59B,0x1062F694,0x2F9E86,0x41,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Gx= {0x18ABC574,0x13652D93,0xF8A9B4B,0x18DD91D9,0x40BFDDF,0xDEBE0C3,0x1CA5E24A,0x29B37A3,0x9049E88,0x11415BE7,0x1C4F9EAE,0x2569C1B,0x1681E434,0x8BDF6ED,0x19B12D89,0x73};
const BIG CURVE_Gy= {0x17A9CE3F,0xCA0ABAC,0x710C772,0x120BAD6D,0x900742F,0x3B52AB4,0x1D0A758D,0x13CBE7A7,0x15769DB0,0xC676B97,0x7EF77EB,0x30FC21B,0x43B2B19,0x21C2EEA,0x1887E1D4,0x24};
const BIG CURVE_HTPC= {0x911B6DF,0xA620224,0x155D68,0xBAE768,0x43A6AA,0xCE9FFD0,0x14EAAC40,0x19772A08,0x10074A9D,0xC451CC1,0xE84AE3C,0xDED8262,0x9680088,0x1A07DE19,0x19648C8F,0x9E};
const BIG CURVE_Bnx= {0x12000000,0x1F800000,0x100FF,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Pxa= {0x1F3AF148,0x12812AAB,0x11B9D6E1,0x1E9B7A3E,0x4DD695A,0x19843AAA,0x15D8C5C5,0xF509C60,0x139FC8E3,0x1060B671,0x11CFC89D,0x1F708C93,0x2219258,0x167260A8,0x117B1177,0x5};
const BIG CURVE_Pxb= {0x136279B6,0x27B735D,0xB60056F,0x61C6492,0x19E29515,0x18B4393A,0x9480BCF,0x9596877,0x9BD13DD,0x370B284,0x1FEBABF8,0x12D6CB9C,0x164C9DA2,0x9DA997,0x192E45BB,0x1E};
const BIG CURVE_Pya= {0x11C0B975,0x1FE07513,0x1C67EDF6,0xE36130E,0x1A91EFB9,0x1AC39A4,0x1316E89E,0x4DC3C2C,0x1122B65B,0x173710A4,0x10067CD2,0x1C58269E,0x1BD2F919,0x16A8822B,0x1A81C011,0x8B};
const BIG CURVE_Pyb= {0x82464AD,0x1F70FF80,0x3C33C6C,0x10AAF915,0x77B77F,0x3152868,0x1BBD7AD8,0xDADC2F9,0x17218280,0xAECA451,0x103E4E3E,0x1BD9B92,0xB9E9169,0x1F547AC3,0x577AC6,0x68};
const BIG CURVE_Ad= {0x98E3466,0x15BE78D9,0x12B6D628,0xD93FCB0,0x1D091D0,0x130C6222,0x14B30AEB,0x13910DCD,0xCA78F64,0xD0F66FC,0xEEC9DEF,0x7F9B01B,0x1760C9FC,0x78FCB94,0x1A839D35,0x33};
const BIG CURVE_Bd= {0x10F780D9,0xE65C309,0x1D294680,0x1AB4F80F,0x101A1BB2,0xD28DB7E,0x9192026,0x1C25665C,0x14D2890A,0xE458245,0x14A22C11,0x963FDB1,0x8F5BAD7,0x19106B58,0x146889DA,0x53};
const BIG PC[53]= {{0x3F34E48,0x651745D,0xE259428,0x1383ECF5,0x7BA3300,0x27D38ED,0x1D7FF700,0x9431A4,0x1689CD1,0x545B0E1,0x187C27A6,0x1969C0B2,0xA0C6C03,0x1BF55844,0xA442AE5,0x1E},{0x604D319,0x6D5B3BB,0x1FC7CA7A,0x1C6674A9,0x4CBF065,0x35A66CF,0x159ADD2C,0x1B552927,0x19CC61F8,0x9D5A2C5,0xC0A549B,0x1F40B1BF,0x10CB5BAC,0xFCEF9F5,0x1F238FE7,0x7B},{0x1EA1F60A,0x1A99A439,0x1F84EA1B,0xA936DD8,0x4E25589,0xEA2C846,0x1DE6DCE9,0x1AE6724D,0x191243E0,0x10C3978C,0x134B2B37,0x1BDC07A,0x8D2C8E0,0x7A49BE0,0x14F4B45A,0xA7},{0x17499741,0x260A801,0x7616D51,0x17AEAADD,0x521E193,0x5A429A4,0x1BD4909C,0x19D689BE,0x138A814D,0x101764AE,0xE5495FD,0xD6862F8,0x6EABD3B,0x139CBE79,0x102FAAE0,0x1E},{0x8A9B7DD,0xBC06177,0xE848FDB,0x17FA150F,0x56E9B75,0x1820A4D3,0x5A69ED,0x7B1B04A,0x1B5A80FB,0x17F1C270,0x8B8B6E,0x1CDB6D31,0xD4D2E33,0x1EAB98E9,0x18FD46B7,0x4F},{0x41C4477,0x170C7C9E,0x1A7CEED7,0x104562CB,0x151713B8,0xDE756B,0x100E4CFE,0x1FAAEA0A,0x16BAE1F3,0x1D349BB5,0xC6D2950,0x18311C0F,0x39A42E2,0x182C5CBC,0x4853E91,0x25},{0x10815090,0x2323376,0x20A1BDB,0x5508EE7,0x5B59C38,0xA0AFD37,0x165A6095,0x19B7465E,0x6474F,0x15D05C5C,0x1F4B70EF,0xFDBD849,0x6F8D806,0x1AEA48A0,0xC688DC,0x4E},{0x1500BAD1,0x11B8B8DE,0x169485E4,0x9CBB577,0x18400475,0x1CF76B6C,0xF9C2EC0,0xC5678B7,0x60B689F,0x14149AEA,0x1904CD6D,0x19952882,0x169C5E37,0xDBAA643,0x1C756EAA,0x9E},{0x1E8081C0,0x4410E14,0xAC7DCFD,0x1621F086,0x135547E8,0x199A0DEF,0xB5938FC,0x1B1450DE,0x5AFD544,0x79F9A9F,0x199ED81F,0x17543471,0x126B077C,0x1CE6BCD,0x1DF891D0,0x2B},{0x17226171,0x1C950142,0x16E104BB,0xE1B0949,0x92190E6,0x3F99D6,0x354C7D3,0xF8472E3,0x118257FE,0x1F5B17E4,0x16FD305B,0x1EBF4465,0x63A6551,0x115C8EEB,0xEE9A889,0xA2},{0x7A91954,0x9CA1080,0x12A3E384,0x112E1137,0x18E69E7C,0x1CB385BF,0x10F0213C,0x1AB981F5,0xD5D73EC,0x1172365C,0x1E0EB929,0xB0CA35E,0xE794D69,0x6BF5788,0x73D5885,0x94},{0x192801A5,0x81AFAC5,0x15B7E81,0x1BA422EB,0x39F6E89,0x2A238D6,0x1A3E1907,0x9488AB6,0x7933000,0x1F9A227A,0x1ABA3F3A,0x12DD9604,0x1BB10A18,0xC5456C7,0xD84DE,0x8},{0xF9D1C0A,0x92C9E14,0xD40ECC4,0x1CA779A4,0x14378709,0x7F8AF5E,0x1400B55D,0x9A45554,0x2C03381,0x6B22956,0x1606538F,0x14ED05D5,0x77F1CED,0xCA45FB0,0x1858F2A3,0x96},{0x1F0A734C,0x14ABBA56,0x62122B9,0x149E1F5E,0x11502173,0x194DC7FF,0xCB2DB28,0x1497703A,0x1BF898CF,0x1A9F7152,0x133A7119,0x1EE3FFE6,0x1D9A176F,0xEB09FF5,0x18EC7E61,0x95},{0x11F37A8D,0x137B967F,0x7ED1992,0x112A56C,0xB74C59C,0xF981054,0x1B16179D,0x6FDEA23,0x7CFCEF8,0x170947AC,0x165FEEB3,0x17304126,0x4045C68,0x1EAC0CF1,0x16C0476,0x26},{0x1124740B,0x56CC8D1,0x11A7A71A,0x374C848,0x8B0336B,0x828068D,0x17B3591B,0x12F676CC,0xC2A2446,0x8945941,0x79445E2,0x1FD486BC,0x1D89A7C5,0xCC0BCD2,0x150AFD2,0x6E},{0xD27D311,0x175A4D55,0x68B0D25,0x89656E1,0x18EEF0CC,0x1ECB7F5C,0x141F2E5,0x1FC71B9D,0xB3FF9ED,0x1816DAFB,0x124875C,0x8ECB03B,0x152F5A8E,0xE62A638,0x944C294,0x8F},{0x1F1FC577,0x171D678,0xAE5DEF,0x1033B90B,0x82CAB80,0x558A914,0x1CF59E4B,0x12019535,0x171CE7C8,0xACC9CB1,0x16CD1D1E,0x1C4BE058,0x1BE1ACDC,0xC595284,0x1342A963,0x5F},{0x9150A48,0x12B944D7,0x1D088301,0x118D6111,0xD0F4583,0x1A41F59C,0x5E0D400,0x12013D5F,0x1235B458,0x1DC12203,0xC5391FA,0x14E54599,0xDCCF56C,0x17E1395E,0x770FA99,0x87},{0x1357D628,0x1311EF7C,0x178C48D1,0x1AF751CF,0xDB9E8BF,0xE02049C,0x14F36DA6,0x1FC80D93,0x11A703B0,0x7B2DF3A,0x11F7AF4E,0x6E20944,0x169657CA,0x12D90851,0xCB4DFB2,0x72},{0x117D6EEC,0x111FF17D,0xDCAAB9E,0xF57E6E9,0x877F70,0x1615F8C3,0x15089BD8,0x8C6A10B,0x768CC8C,0xD87AB83,0x1AC4BCA5,0x192138F5,0xEC4C227,0xBB626C5,0x1EAD484,0x59},{0x180B7137,0x17C45952,0xF72FD01,0x14038FD8,0x1BC6906,0x1D30FF2A,0x272EF9D,0x3DDAEBC,0xEF123C2,0x36325B3,0xE4BD355,0x1CA82937,0x11E3AE9B,0x1F3E2015,0x10AA89CD,0x4A},{0x5BEFD8,0x1AC19637,0xCEC24BD,0x1BF4B873,0x39C9045,0x60B6244,0x113A2DBA,0x5DEED3D,0x5F23CCD,0x7AB2FD,0x1C6860B2,0x24F6E9B,0x1B1866E9,0x1CB93691,0x1834BE14,0x2},{0xACA5AD9,0xCDA044,0x1F06B705,0x60D70E0,0x16099A07,0x6B0FFD7,0xA3D226B,0x3BDE7A2,0x76F4EC5,0x1B842F45,0x3EC2206,0x1673113C,0x7E552D3,0x18F5183E,0x1CF7F587,0x97},{0x12C72185,0x141B8D52,0x14B678E2,0x1D6934AB,0x17932E98,0x16339B40,0x1590A131,0x17E6E0AE,0x1943949D,0x1D0E5D2D,0xD2A9510,0x15EB21C4,0x1D89
const BIG CURVE_HTPC2= {0x152C1DFF,0x99DA487,0x18C185A2,0x6546AF3,0x144EC7F8,0xEF3797,0x1994DD57,0x179C04E7,0x57CDB0F,0x2585126,0x49E8583,0xCA412D5,0x6BFAFF3,0x14C442E4,0xBD9A0,0x1B};
const BIG CURVE_Adr= {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Adi= {0xF0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Bdr= {0x3F4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG CURVE_Bdi= {0x3F4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
const BIG PCR[13]= {{0xB425ED1,0xA84BDA1,0x81DED55,0x1E8897B4,0x73D0AA2,0x1D575C73,0x3B6AF6,0xBF03B37,0x19D6C70F,0x14E85262,0x3AB4A64,0x1D1426CB,0x12C9C7B1,0x121291F5,0x967F827,0x9B},{0x71C71E,0x1FE38E39,0x61671FF,0x6E671C7,0xD6DC7FA,0x6018556,0x82C9039,0x10F42C69,0x361154B,0xFAE3DCA,0xAC077CB,0xDCF1D18,0x61755C5,0x158DED78,0xF0DFA1D,0x74},{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0xAD097D6,0xAA12F68,0x2077B55,0x17A225ED,0x19CF42A8,0x1755D71C,0x180EDABD,0x1AFC0ECD,0x1675B1C3,0x53A1498,0x18EAD299,0xF4509B2,0xCB271EC,0x1C84A47D,0x1A59FE09,0x26},{0xC,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0xEDD3C0D,0x18BA7819,0x8CB1671,0x6694F03,0x1A8220DB,0x1A73F97C,0x1D95B3E0,0x14EEEAD0,0xBFE0250,0x16A65940,0xBF99097,0xCD5D4B1,0x1AFEDAB,0x63EC8CA,0x785F780,0xA8},{0x1038E38F,0x1FF1C71C,0x130B38FF,0x37338E3,0x6B6E3FD,0x1300C2AB,0x1416481C,0x187A1634,0x1B08AA5,0x17D71EE5,0x5603BE5,0x16E78E8C,0x30BAAE2,0x1AC6F6BC,0x786FD0E,0x3A},{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x974F017,0x369E065,0x17C758C7,0x1A983C0C,0xD9A7F86,0x1EC90DEE,0x18E4681,0x1770E36A,0xC3296E,0x4094EF4,0x1F84274B,0x5334FD7,0xB56B4B5,0x7FC768B,0x1A58F87B,0x94},{0x12,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x10AAA8FB,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE}};
const BIG PCI[13]= {{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x1038E38D,0x1FF1C71C,0x130B38FF,0x37338E3,0x6B6E3FD,0x1300C2AB,0x1416481C,0x187A1634,0x1B08AA5,0x17D71EE5,0x5603BE5,0x16E78E8C,0x30BAAE2,0x1AC6F6BC,0x786FD0E,0x3A},{0x71C71A,0x1FE38E39,0x61671FF,0x6E671C7,0xD6DC7FA,0x6018556,0x82C9039,0x10F42C69,0x361154B,0xFAE3DCA,0xAC077CB,0xDCF1D18,0x61755C5,0x158DED78,0xF0DFA1D,0x74},{0xAD097D6,0xAA12F68,0x2077B55,0x17A225ED,0x19CF42A8,0x1755D71C,0x180EDABD,0x1AFC0ECD,0x1675B1C3,0x53A1498,0x18EAD299,0xF4509B2,0xCB271EC,0x1C84A47D,0x1A59FE09,0x26},{0x10AAAA9F,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE},{0x10AAAA63,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE},{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},{0x71C71C,0x1FE38E39,0x61671FF,0x6E671C7,0xD6DC7FA,0x6018556,0x82C9039,0x10F42C69,0x361154B,0xFAE3DCA,0xAC077CB,0xDCF1D18,0x61755C5,0x158DED78,0xF0DFA1D,0x74},{0x5DA12ED,0x153425ED,0x171A2FAA,0x12B784BD,0x1A55694E,0x1AC70E4,0x433FD98,0xE7233D0,0xE9BEE2D,0x24B4816,0x1735E118,0x1571A1F1,0x1C708EBB,0x13D03FB6,0x1C3AF922,0x87},{0x974F017,0x369E065,0x17C758C7,0x1A983C0C,0xD9A7F86,0x1EC90DEE,0x18E4681,0x1770E36A,0xC3296E,0x4094EF4,0x1F84274B,0x5334FD7,0xB56B4B5,0x7FC768B,0x1A58F87B,0x94},{0x10AAAA99,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE},{0x10AAA9D3,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE},{0x10AAA8FB,0x1FD55555,0x1921AAFF,0xA59AAAA,0x1424ABF7,0x19024801,0x1C42D855,0x96E429D,0x5119FF1,0x7855CAF,0x1020B3B1,0x4B6ABA4,0x92300A8,0x1054E434,0x1694F72C,0xAE}};
#endif
#if CHUNK==64
using namespace B448_60;
// Base Bits= 60
const int CURVE_Cof_I= 0;
const BIG CURVE_Cof= {0xFF0000011FFFFFFL,0x403FL,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const int CURVE_B_I= 4;
const BIG CURVE_B= {0x4L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG CURVE_Order= {0xEBC000000000001L,0x81987F70023FFFFL,0x340905DC5A3E80L,0x94374F2CDDD3713L,0x10405F3D0D062F6L,0x0L,0x0L,0x0L};
const BIG CURVE_Gx= {0xE6CA5B278ABC574L,0xFC6EC8ECBE2A6D2L,0x29BD7C18640BFDDL,0x8814D9BD1F29789L,0xABA282B7CE9049EL,0x43412B4E0DF13E7L,0xB62517BEDDB681EL,0x39E6C4L};
const BIG CURVE_Gy= {0x994157597A9CE3FL,0xF905D6B69C431DCL,0x3476A5568900742L,0xB09E5F3D3F429D6L,0xFAD8CED72F5769DL,0xB19187E10D9FBDDL,0x87504385DD443B2L,0x12621FL};
const BIG CURVE_HTPC= {0x14C40448911B6DFL,0xA05D73B4005575AL,0x19D3FFA0043A6AL,0x9DCBB950453AAB1L,0x8F188A39830074AL,0x886F6C1313A12BL,0x323F40FBC329680L,0x4F6592L};
const BIG CURVE_Bnx= {0xFF0000012000000L,0x403FL,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG CURVE_Pxa= {0x65025557F3AF148L,0xAF4DBD1F46E75B8L,0x1730875544DD695L,0xE37A84E30576317L,0x2760C16CE339FC8L,0x258FB84649C73F2L,0x45DECE4C1502219L,0x2C5ECL};
const BIG CURVE_Pxb= {0xC4F6E6BB36279B6L,0x530E32492D8015BL,0x3F16872759E2951L,0xDD4ACB43BA5202FL,0xFE06E165089BD13L,0xDA296B65CE7FAEAL,0x16EC13B532F64C9L,0xF64B9L};
const BIG CURVE_Pya= {0xBFC0EA271C0B975L,0x971B0987719FB7DL,0x783587349A91EFBL,0x5B26E1E164C5BA2L,0x34AE6E2149122B6L,0x919E2C134F4019FL,0x46D510457BD2FL,0x45EA07L};
const BIG CURVE_Pyb= {0x3EE1FF0082464ADL,0xF8557C8A8F0CF1BL,0x6062A50D0077B77L,0x806D6E17CEEF5EBL,0x8F95D948A372182L,0x1690DECDC940F93L,0xEB1BEA8F586B9E9L,0x34015DL};
const BIG CURVE_Ad= {0x2B7CF1B298E3466L,0x6C9FE584ADB58AL,0xAE618C4441D091DL,0x649C886E6D2CC2BL,0x7BDA1ECDF8CA78FL,0x9FC3FCD80DBBB27L,0x74D4F1F9729760CL,0x19EA0EL};
const BIG CURVE_Bd= {0x1CCB86130F780D9L,0x2D5A7C07F4A51A0L,0x99A51B6FD01A1BBL,0xAE12B32E246480L,0x45C8B048B4D289L,0xAD74B1FED8D288BL,0x276B220D6B08F5BL,0x29D1A2L};
const BIG PC[53]= {{0xCA2E8BA3F34E48L,0x9C1F67AB89650AL,0x4FA71DA7BA330L,0xD104A18D275FFDCL,0xE98A8B61C21689CL,0xC03CB4E05961F09L,0xAB977EAB088A0C6L,0xF2910L},{0x8DAB6776604D319L,0x5E333A54FF1F29EL,0xB06B4CD9E4CBF06L,0xF8DAA9493D66B74L,0x26D3AB458B9CC61L,0xBACFA058DFB0295L,0x3F9DF9DF3EB0CB5L,0x3DFC8EL},{0xF5334873EA1F60AL,0x9549B6EC7E13A86L,0xA5D45908C4E2558L,0xE0D733926F79B73L,0xCDE1872F1991243L,0x8E00DEE03D4D2CAL,0xD168F4937C08D2CL,0x53D3D2L},{0x44C150037499741L,0x3BD7556E9D85B54L,0x70B485348521E19L,0x4DCEB44DF6F5242L,0x7F602EC95D38A81L,0xD3B6B4317C39525L,0xAB827397CF26EABL,0xF40BEL},{0xD780C2EE8A9B7DDL,0x5BFD0A87BA123F6L,0xB704149A656E9B7L,0xFB3D8D8250169A7L,0xDBAFE384E1B5A80L,0xE33E6DB698822E2L,0x1ADFD5731D2D4D2L,0x27E3F5L},{0xEE18F93C41C4477L,0x8822B165E9F3BB5L,0xF81BCEAD751713BL,0xF3FD57505403933L,0x543A69376B6BAE1L,0x2E2C188E07B1B4AL,0xFA47058B97839A4L,0x129214L},{0xC46466ED0815090L,0x82A8477388286F6L,0x55415FA6E5B59C3L,0x4FCDBA32F596982L,0x3BEBA0B8B800647L,0x8067EDEC24FD2DCL,0x23735D491406F8DL,0x27031AL},{0x237171BD500BAD1L,0x54E5DABBDA52179L,0x39EED6D9840047L,0x9F62B3C5BBE70BBL,0x5B682935D460B68L,0xE37CCA944164133L,0xBAA9B754C8769C5L,0x4F71D5L},{0x48821C29E8081C0L,0x8B10F8432B1F73FL,0xF33341BDF35547EL,0x44D8A286F2D64E3L,0x7CF3F353E5AFD5L,0x77CBAA1A38E67B6L,0x474039CD79B26B0L,0x15F7E2L},{0xF92A02857226171L,0x670D84A4DB8412EL,0x4C07F33AC92190EL,0xFE7C239718D531FL,0x16FEB62FC918257L,0x551F5FA232DBF4CL,0xA2262B91DD663A6L,0x513BA6L},{0x139421007A91954L,0xC897089BCA8F8E1L,0xF39670B7F8E69E7L,0xECD5CC0FAC3C084L,0x4A62E46CB8D5D73L,0xD6958651AF783AEL,0x6214D7EAF10E794L,0x4A1CF5L},{0x5035F58B92801A5L,0x9DD21175856DFA0L,0x1C54471AC39F6E8L,0x4A4455B68F864L,0xCEBF3444F479330L,0xA1896ECB026AE8FL,0x13798A8AD8FBB10L,0x40036L},{0x12593C28F9D1C0AL,0x9E53BCD23503B31L,0x74FF15EBD437870L,0x814D22AAA5002D5L,0xE3CD6452AC2C033L,0xCEDA7682EAD8194L,0xCA8D948BF6077F1L,0x4B6163L},{0x695774ADF0A734CL,0x3A4F0FAF18848AEL,0xA329B8FFF150217L,0xCFA4BB81D32CB6CL,0x46753EE2A5BF898L,0x76FF71FFF34CE9CL,0xF985D613FEBD9A1L,0x4AE3B1L},{0xA6F72CFF1F37A8DL,0xC08952B61FB4664L,0x75F3020A8B74C59L,0xF837EF511EC585EL,0xACEE128F587CFCEL,0xC68B982093597FBL,0x11DBD5819E24045L,0x1305B0L},{0x8AD991A3124740BL,0xB1BA6424469E9C6L,0x6D0500D1A8B0336L,0x4697B3B665ECD64L,0x789128B282C2A24L,0x7C5FEA435E1E511L,0xBF4998179A5D89AL,0x370542L},{0x6EB49AAAD27D311L,0xC44B2B709A2C349L,0x97D96FEB98EEF0CL,0xEDFE38DCE8507CBL,0xD7302DB5F6B3FF9L,0xA8E476581D84921L,0xA51CC54C7152F5L,0x47A513L},{0xC2E3ACF1F1FC577L,0x819DC8582B977BL,0x2CAB1522882CAB8L,0xC8900CA9AF3D679L,0x479599396371CE7L,0xCDCE25F02C5B347L,0xA58D8B2A509BE1AL,0x2FCD0AL},{0x657289AE9150A48L,0x38C6B088F4220C0L,0x3483EB38D0F458L,0x589009EAF978350L,0x7EBB824407235B4L,0x56CA72A2CCB14E4L,0xEA66FC272BCDCCFL,0x439DC3L},{0x6623DEF9357D628L,0xFD7BA8E7DE31234L,0x99C040938DB9E8BL,0xB0FE406C9D3CDB6L,0xD38F65BE751A703L,0x7CA37104A247DEBL,0x7ECA5B210A36965L,0x3932D3L},{0xA23FE2FB17D6EECL,0x7ABF374B72AAE7L,0x62C2BF1860877F7L,0x8C4635085D4226FL,0x295B0F5706768CCL,0x227C909C7AEB12FL,0x521176C4D8AEC4CL,0x2C87ABL},{0x6F88B2A580B7137L,0x6A01C7EC3DCBF40L,0x77A61FE541BC690L,0xC21EED75E09CBBEL,0xD546C64B66EF123L,0xE9BE54149BB92F4L,0x2737E7C402B1E3AL,0x2542AAL},{0x75832C6E05BEFD8L,0x5DFA5C39B3B092FL,0xE8C16C48839C904L,0xCD2EF769EC4E8B6L,0x2C80F565FA5F23CL,0x6E9127B74DF1A18L,0xF8539726D23B186L,0x160D2L},{0x419B4088ACA5AD9L,0x7306B8707C1ADC1L,0xACD61FFAF6099A0L,0xC51DEF3D128F489L,0x81B7085E8A76F4EL,0x2D3B39889E0FB08L,0xD61F1EA307C7E55L,0x4BF3DFL},{0xA8371AA52C72185L,0x8EB49A55D2D9E38L,0xC6C6736817932E9L,0x9DBF37057564284L,0x443A1CBA5B94394L,0xD87AF590E234AA5L,0x7D1FCAC035D89CL,0x2FC680L},{0xFEA149BAEFEE0EAL,0x3CF4640E446D388L,0x1E4CE07FE5EDC2CL,0x5F90A3F48CF058EL,0x9F19E019EED6342L,0xF4E2F3EB5891E98L,0x7D7EECC281EEE08L,0x4B2EE5L},{0x3F500EED6887410L,0x10F5106924F0215L,0x5AF361F0BCBCC51L,0xBA469C2DA94E589L,0xD831D9B3D39CDF1L,0xCB5839282F3E02DL,0x2DE045F7C285BD4L,0x3DFAA0L},{0xFEE121340DD0AA9L,0xC80E715435565F5L,0xC9BDDB418617757L,0x9008A702AC7A865L,0x7B352BC03C0F76AL,0xDB9BAD304E54DE7L,0x20262A2ADBD4C8FL,0x4B32FDL},{0x2DE43411E428BFDL,0xA41124E28EB
const BIG CURVE_HTPC2= {0x933B490F52C1DFFL,0x832A3579E306168L,0x5C1DE6F2F44EC7FL,0xFBCE0273E65375L,0x60C4B0A24C57CDBL,0xFF3652096A927A1L,0x668298885C86BFAL,0xD802FL};
const BIG CURVE_Adr= {0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG CURVE_Adi= {0xF0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG CURVE_Bdr= {0x3F4L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG CURVE_Bdi= {0x3F4L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L};
const BIG PCR[13]= {{0x55097B42B425ED1L,0x2F444BDA2077B55L,0xDBAAEB8E673D0AAL,0xF5F81D9B80EDABL,0x9929D0A4C59D6C7L,0x7B1E8A13658EAD2L,0xE09E42523EB2C9CL,0x4DA59FL},{0xFFC71C72071C71EL,0xA37338E39859C7FL,0xE4C030AACD6DC7FL,0x4B87A1634A0B240L,0xF2DF5C7B9436115L,0x5C56E78E8C2B01DL,0xE876B1BDAF06175L,0x3A3C37L},{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0x55425ED0AD097D6L,0x8BD112F6881DED5L,0xF6EABAE399CF42AL,0xC3D7E0766E03B6AL,0xA64A742931675B1L,0x1EC7A284D963AB4L,0xF82790948FACB27L,0x136967L},{0xCL,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0x7174F032EDD3C0DL,0xB334A781A32C59CL,0x834E7F2F9A8220DL,0x50A7775687656CFL,0x25ED4CB280BFE02L,0xDAB66AEA58AFE64L,0xDE00C7D91941AFEL,0x541E17L},{0xFFE38E39038E38FL,0xD1B99C71CC2CE3FL,0x7260185566B6E3FL,0xA5C3D0B1A505920L,0xF96FAE3DCA1B08AL,0xAE2B73C7461580EL,0xF43B58DED7830BAL,0x1D1E1BL},{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0xC6D3C0CA974F017L,0x6D4C1E065F1D631L,0x7D921BDCD9A7F8L,0x6EBB871B506391AL,0xD2C8129DE80C329L,0x4B5299A7EBFE109L,0xE1ECFF8ED16B56BL,0x4A6963L},{0x12L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0xFFAAAAAB0AAA8FBL,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L}};
const BIG PCI[13]= {{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0xFFE38E39038E38DL,0xD1B99C71CC2CE3FL,0x7260185566B6E3FL,0xA5C3D0B1A505920L,0xF96FAE3DCA1B08AL,0xAE2B73C7461580EL,0xF43B58DED7830BAL,0x1D1E1BL},{0xFFC71C72071C71AL,0xA37338E39859C7FL,0xE4C030AACD6DC7FL,0x4B87A1634A0B240L,0xF2DF5C7B9436115L,0x5C56E78E8C2B01DL,0xE876B1BDAF06175L,0x3A3C37L},{0x55425ED0AD097D6L,0x8BD112F6881DED5L,0xF6EABAE399CF42AL,0xC3D7E0766E03B6AL,0xA64A742931675B1L,0x1EC7A284D963AB4L,0xF82790948FACB27L,0x136967L},{0xFFAAAAAB0AAAA9FL,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L},{0xFFAAAAAB0AAAA63L,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L},{0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L,0x0L},{0xFFC71C72071C71CL,0xA37338E39859C7FL,0xE4C030AACD6DC7FL,0x4B87A1634A0B240L,0xF2DF5C7B9436115L,0x5C56E78E8C2B01DL,0xE876B1BDAF06175L,0x3A3C37L},{0xAA684BDA5DA12EDL,0xE95BC25EDC68BEAL,0x60358E1C9A55694L,0x2D73919E810CFF6L,0x460496902CE9BEEL,0xEBBAB8D0F8DCD78L,0xE48A7A07F6DC708L,0x43F0EBL},{0xC6D3C0CA974F017L,0x6D4C1E065F1D631L,0x7D921BDCD9A7F8L,0x6EBB871B506391AL,0xD2C8129DE80C329L,0x4B5299A7EBFE109L,0xE1ECFF8ED16B56BL,0x4A6963L},{0xFFAAAAAB0AAAA99L,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L},{0xFFAAAAAB0AAA9D3L,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L},{0xFFAAAAAB0AAA8FBL,0x752CD5556486ABFL,0x572049003424ABFL,0xF14B7214EF10B61L,0xEC4F0AB95E5119FL,0xA825B55D24082CL,0xDCB20A9C8689230L,0x575A53L}};
#endif
}