| /* |
| 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. |
| */ |
| |
| use bls48::big::NLEN; |
| use arch::Chunk; |
| |
| // Base Bits= 58 |
| // bls48 Modulus |
| |
| pub const MODULUS:[Chunk;NLEN]=[0x2F6E60FFCF6AC0B,0x259C02699877E7B,0x37A9870D4228402,0x80821A1DACBB04,0x13016A7C025A415,0x2BB355ACDE6E250,0x20536F405DA950,0x295B219C54AB351,0x3FCFC5B23729047,0x3F45F610B]; |
| pub const R2MODP:[Chunk;NLEN]=[0x25E03FA0D59D0FA,0x6B55DC2DE8FD41,0xA0E01D0B937F48,0x20336279F50EFCE,0x2212822A3470A2F,0xD5A21C4F9FB72D,0x89E8F0A1CFD9F8,0x2291DA62B48793,0x3DC6978EF609E61,0x1735D29E]; |
| pub const MCONST:Chunk=0x21BFCBCA9DA805D; |
| pub const FRA:[Chunk;NLEN]=[0x2623CFD9325BF89,0x341FA8DCCD0A56F,0x1952FBA0E83BCCA,0xBE3C26F8D1D297,0x27F84ABE7AB9F2C,0x13BDE945C9DECEB,0x3B3213C83C0F60B,0x3B7F0411FF27FF7,0x80089C089BB36C,0xA62E01EE]; |
| pub const FRB:[Chunk;NLEN]=[0x2623CFD9325BF89,0x341FA8DCCD0A56F,0x1952FBA0E83BCCA,0xBE3C26F8D1D297,0x27F84ABE7AB9F2C,0x13BDE945C9DECEB,0x3B3213C83C0F60B,0x3B7F0411FF27FF7,0x80089C089BB36C,0xA62E01EE]; |
| |
| pub const CURVE_COF_I:isize = 0; |
| pub const CURVE_A:isize = 0; |
| pub const CURVE_B_I:isize = 17; |
| pub const CURVE_B:[Chunk;NLEN]=[0x11,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]; |
| pub const CURVE_ORDER:[Chunk;NLEN]=[0x2FFFF0000000001,0x11550278A769C21,0x14D1EB162029C21,0x2309B4A2B6307F4,0x34790BD26DFED78,0x2C6FE3F2571037B,0x1306A973C465FB0,0x28446ABB18DF17A,0xC43BF73E,0x0]; |
| pub const CURVE_GX:[Chunk;NLEN]=[0x3286D2F65D71D33,0x3601553F8CB783F,0xFF01647711EE0B,0x268BC07F29FD8CC,0xE0702E69A80F66,0x285003EAC056511,0x35E130D242B2C3A,0x107024C87924166,0x17595DB8957EDD7,0x26A27A4A1]; |
| pub const CURVE_GY:[Chunk;NLEN]=[0x29A5B3FEA6ED83A,0x3712E552A29C33D,0x3391EA8E6958677,0x29F3C7B9DED7E3E,0x4E2E3818FB7229,0x1CC30999551E32D,0xE67A4086260E3C,0x2A68CCB8579C437,0x62C5FAE2B3349D,0x2B634253]; |
| |
| pub const CURVE_BNX:[Chunk;NLEN]=[0x7DE40020,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]; |
| pub const CURVE_COF:[Chunk;NLEN]=[0xA2D10F7F12ABEB,0x5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]; |
| pub const CURVE_CRU:[Chunk;NLEN]=[0x364E7E6CBBA429,0x338C28A4D3DD160,0x28DC3C68308093A,0x230B290AE0E768,0x127B0AB9B73BC2D,0x23192337B1A639C,0x1E399AEEFF04AE3,0x20C88F0091318E5,0x37CEF23203A79F7,0x3F45F60F3]; |
| pub const CURVE_PXAAA:[Chunk;NLEN]=[0x28D2E8E8923CE4A,0x2F5C40B4AE04F4A,0x2165D8A1313A20C,0x2BFC7FD18DF074F,0x12B37F0A7C90B98,0x286ED92CE57BD37,0x1C416C4ABF57375,0x39779D0B2EE2172,0x1A1C0497A5D9487,0x3995E3602]; |
| pub const CURVE_PXAAB:[Chunk;NLEN]=[0x271CDC5AC0A1BE1,0x2A3F8EC01DF5FDC,0xAD5478433972C5,0x22B73FAE2491D8C,0x30E75C6B40A11FA,0xE960C8FF259C26,0x8CE48632D18B04,0x39549A6BC27F419,0x274A97B58DB48B6,0xA5080497]; |
| pub const CURVE_PXABA:[Chunk;NLEN]=[0x23A724C770C5DC4,0x2A592B776B3BCB6,0x110934259BEC736,0x18E2C5A649AB2A8,0x2B84CB2C58CD55,0x168195F91EE8B90,0xF7D917CE233167,0x2A38FB7729335BD,0x36D71DDA78B689B,0x2D4BFBE3D]; |
| pub const CURVE_PXABB:[Chunk;NLEN]=[0xD629669A64B740,0x47F52632481578,0x40D7054323ADD1,0x3F9F4CCCD789E1B,0x1E3C73C41F4EEA7,0x15E7D7A61968610,0x1B4186B40590D3B,0x19F3BA577306AAF,0x12DFE5F23F63B1A,0x24E102A76]; |
| pub const CURVE_PXBAA:[Chunk;NLEN]=[0x1BB0C6172F1E01F,0x30C4734D2C29802,0x990FA39218788,0xEEB80ED6AE2501,0x34728852870C80B,0x94841D1637D478,0x21CBCE27C3AD4D4,0xA29F9E111E6AD5,0x18CF1447CC49D3,0x37787BDFD]; |
| pub const CURVE_PXBAB:[Chunk;NLEN]=[0x30A38238637383D,0x288094FE661F866,0x135C51ED5D3D212,0x3C39C57E8051F25,0x164639D737D882F,0x312AEC8AA8DB8FC,0x3FE838885E54DA8,0x2FC3978BA297414,0x850556F014F91F,0x20B6CE9E3]; |
| pub const CURVE_PXBBA:[Chunk;NLEN]=[0x1683DB3D711939C,0x26F9475A69066BA,0xBCDB572CF2F6C0,0x128DC8902CE1323,0x29B3233EF353D1C,0x342402A46B7046,0x3187D1A403D6070,0x3E3466F9F23BA45,0xD943BE2435A9CC,0x2A08A9CE1]; |
| pub const CURVE_PXBBB:[Chunk;NLEN]=[0x32D410A856F4899,0x7147AE4A959750,0x28AEA57990BC9BC,0x2807F11E9E26DA,0x282C5EBA71895E3,0x2832162D9FEC5FF,0x33479E30007597C,0x227A376C26A4B00,0x1C16F1567857A32,0x37DD51E0F]; |
| pub const CURVE_PYAAA:[Chunk;NLEN]=[0x2E097CFB4137844,0x313B1927FD3CCDD,0x1EB86FABC768851,0x4156382E29C659,0x3C10CC7CF8896E0,0x22FC388FD1D539C,0x2C3E202F56CDD39,0x2E9645FB43E8C72,0x93548FD8706190,0x1D9BB42E1]; |
| pub const CURVE_PYAAB:[Chunk;NLEN]=[0x25E3248EDC83190,0x2BAABD11AA26424,0x161D23BAC418D32,0x5B3258247CBFF7,0xED295CADE03C1F,0x3A84758C5C741A2,0x3D207E205E02B9E,0x86743E24EA6513,0x1DAA8E268EFA1C4,0x9E72CE4F]; |
| pub const CURVE_PYABA:[Chunk;NLEN]=[0x1DC5FD041985C0D,0x2350136864770FA,0x3179A5F5483ACE9,0x2C25AB1A171F32C,0x397C4403E658341,0xE7E1C2186E971,0x15921F60B0A5F40,0x46E9317635E008,0x17EF1353F3140D6,0x35166F259]; |
| pub const CURVE_PYABB:[Chunk;NLEN]=[0x36FE0A8159D42F8,0x290EBF4445895D7,0x20273B0FE9E7F2B,0x23A6E2FF0F3FD7D,0x1F37678869E5006,0x2CA2DB53C9ED8D,0x4E4BFD902F51DE,0x1FF8649F125B66,0x382D89BED80731,0x28383AAA8]; |
| pub const CURVE_PYBAA:[Chunk;NLEN]=[0xD512B39F38039F,0x23BA255F3C68984,0x390AA14058093CF,0x1FF0B2F2FFA1622,0x310C5CC5F2ABB75,0x3D9016C9EB6A2C9,0x1CF7EE268EC2F18,0x338BBB12C36B65A,0x1EEE591B8A1D1AB,0xAC11927C]; |
| pub const CURVE_PYBAB:[Chunk;NLEN]=[0x269E06F295F7865,0x2FC1D5BA1CE9A0E,0x3631F3F1DACADD7,0x30CCF3581D3943,0x3FBE3B902505BB0,0x23C4A9D31B36A49,0x2056135CA438576,0x2B78046739984F4,0x12C0AC57B6F180E,0xC48CA65B]; |
| pub const CURVE_PYBBA:[Chunk;NLEN]=[0x1D83A9F67CC1979,0x12ABE71DD89E6F0,0x247B1C21635FDA9,0x92880950076209,0x2ECF179E0D733D7,0x20D2DFFB53841F9,0x3441B1645BC9FE8,0x3089222CE22EC9D,0x3699AE4108C86C5,0x320034967]; |
| pub const CURVE_PYBBB:[Chunk;NLEN]=[0xFC89562FC9F25B,0xB13E01AE9AB5D3,0x18E8F169C9D264F,0x3A5828D76B24A13,0x1E8FD9BCEF84D9A,0x36D20E3DBFEE16A,0x17D3B3DF1AB4C1C,0xF190510390F005,0x12640E61B9BF549,0x283D84D97]; |
| pub const CURVE_W:[[Chunk;NLEN];2]=[[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0],[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]]; |
| pub const CURVE_SB:[[[Chunk;NLEN];2];2]=[[[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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]]]; |
| pub const CURVE_WB:[[Chunk;NLEN];4]=[[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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]]; |
| pub const CURVE_BB:[[[Chunk;NLEN];4];4]=[[[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,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,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,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,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,0x0,0x0,0x0,0x0,0x0]]]; |
| |
| pub const USE_GLV:bool = true; |
| pub const USE_GS_G2:bool = true; |
| pub const USE_GS_GT:bool = true; |
| pub const GT_STRONG:bool = true; |