| /* |
| 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. |
| */ |
| |
| /* Fixed Data in ROM - Field and Curve parameters */ |
| |
| package FP512BN |
| |
| |
| // Base Bits= 60 |
| var Modulus= [...]Chunk {0x4EB280922ADEF33,0x6A55CE5F4C6467B,0xC65DEAB236FE191,0xCF1EACBE98B8E48,0x3C111B0EF455146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF} |
| var R2modp= [...]Chunk {0x1FA6DCEF99812E9,0xAB3452895A0B74E,0xC53EA988C079E1E,0x1E90E033BA630B9,0xF1EA41C0714D8B0,0xE72785387509E28,0xD86794F834DAB00,0x9757C2ACCD342A1,0x44ECB079} |
| const MConst Chunk=0x692A189FCCC5C05 |
| |
| const CURVE_Cof_I int= 1 |
| const CURVE_A int= 0 |
| const CURVE_B_I int= 3 |
| var CURVE_B= [...]Chunk {0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0} |
| var CURVE_Order= [...]Chunk {0x6A64A5F519A09ED,0x10313E04F9A2B40,0xC65DEAB2679A34A,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF} |
| var CURVE_Gx= [...]Chunk {0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0} |
| var CURVE_Gy= [...]Chunk {0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0} |
| |
| var Fra= [...]Chunk {0x49617B1F4B73AB2,0x71514F6202AED1F,0xF6080D3BD8681E1,0xF8AA9E852CBBB59,0xC8CF2E2068398E9,0x8A5296F791AB26B,0x196A8C7C68B4EA1,0xCF5BBF9095A1B79,0x1EF71AA9} |
| var Frb= [...]Chunk {0x5510572DF6B481,0xF9047EFD49B595C,0xD055DD765E95FAF,0xD6740E396BFD2EE,0x7341ECEE8C1B85C,0x1786345B7615952,0xE695124B876776A,0x30A4406F6A5E486,0xE108E556} |
| var CURVE_Bnx= [...]Chunk {0xB306BB5E1BD80F,0x82F5C030B0F7F01,0x68,0x0,0x0,0x0,0x0,0x0,0x0} |
| var CURVE_Cof= [...]Chunk {0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0} |
| var CURVE_Cru= [...]Chunk {0xB0716209C79298A,0xCEE6799B8B17C14,0x78966BE526092AE,0x20089C27507ACD8,0xF8EF7611FA3074B,0x6146B86B378EA2C,0xFFFF9EC7DC83D2A,0xFFFFFFFFFFFFFFF,0xFFFFFFFF} |
| var CURVE_Pxa= [...]Chunk {0xF07A96E0DB646B5,0x18F87319072FFE8,0x7BE21BCBBC78F22,0x537863514DC6DC5,0xDA57CC78CD0B024,0xD29B358F0DB9B57,0x7412F3CEA1E4BBB,0xE138648958801BA,0x3B165339} |
| var CURVE_Pxb= [...]Chunk {0xDB5CBEFDA8AE0E9,0xCA411CD88911B3,0xD6E1383D5ADCE4,0x227285526E0D5E5,0xB02566B94D9781E,0x56DC6C6EF2476A8,0x680ABE8B4825EA6,0xF85067E6C89B4C4,0x481C13CB} |
| var CURVE_Pya= [...]Chunk {0x2480312ADDE67A1,0xDA17AD615EFB85E,0x312542808B7BC5C,0x18BDEC153E8EDD2,0xE5C158699D4B6CD,0xB1DF660AFCDD03E,0xB0CBA374F277085,0xC827C7B8292EF5A,0x6F01EC84} |
| var CURVE_Pyb= [...]Chunk {0x58B7186C84F8E8B,0xF05C2224BF76168,0x10AD7EE279C08DF,0x7FC3E2E50714A43,0x3D04961941DA289,0x38C118867B0C9B6,0xC315F75D91F0214,0x8B04E7831AC3640,0x51A3BCEC} |
| var CURVE_W=[2][9]Chunk {{0x110F89749834583,0x65FB911D16A173F,0xFFFFFFFFCF63FE9,0xFFFFFFFFFFFFFFF,0xFFFF,0x0,0x0,0x0,0x0},{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0}} |
| var CURVE_SB=[2][2][9]Chunk {{{0xFAAEB208D4B9564,0x601010BBB4B193C,0xFFFFFFFFCF63F18,0xFFFFFFFFFFFFFFF,0xFFFF,0x0,0x0,0x0,0x0},{0x5403CE8956259CE,0xA45BDA397B2D3E,0xC65DEAB2679A279,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF}},{{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x110F89749834583,0x65FB911D16A173F,0xFFFFFFFFCF63FE9,0xFFFFFFFFFFFFFFF,0xFFFF,0x0,0x0,0x0,0x0}}} |
| var CURVE_WB=[4][9]Chunk {{0x6DAB36AB55A29F0,0xFC42C60583D30C1,0x5555555545215FB,0x555555555555555,0x5555,0x0,0x0,0x0,0x0},{0xEEB012BA2355D4B,0xF20FC1FD7F84F17,0x892FA9DE2BB5E5C,0x74B96064DAD40F5,0xD76BC3535163152,0x806161EFE021660,0xD105EB,0x0,0x0},{0x7CF03F380289AAD,0xBA82C117183E70C,0xC497D4EF15DAF62,0x3A5CB0326D6A07A,0x6BB5E1A9A8B18A9,0xC030B0F7F010B30,0x6882F5,0x0,0x0},{0x574A5F3F92279D1,0xF65745A421E32BF,0x55555555452152A,0x555555555555555,0x5555,0x0,0x0,0x0,0x0}} |
| var CURVE_BB=[4][4][9]Chunk {{{0xB306BB5E1BD810,0x82F5C030B0F7F01,0x68,0x0,0x0,0x0,0x0,0x0,0x0},{0xB306BB5E1BD80F,0x82F5C030B0F7F01,0x68,0x0,0x0,0x0,0x0,0x0,0x0},{0xB306BB5E1BD80F,0x82F5C030B0F7F01,0x68,0x0,0x0,0x0,0x0,0x0,0x0},{0x5403CE8956259CF,0xA45BDA397B2D3E,0xC65DEAB2679A279,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF}},{{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x5F343A3F37E31DE,0x8D3B7DD448AAC3F,0xC65DEAB2679A2E1,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF},{0x5F343A3F37E31DD,0x8D3B7DD448AAC3F,0xC65DEAB2679A2E1,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF},{0x5F343A3F37E31DE,0x8D3B7DD448AAC3F,0xC65DEAB2679A2E1,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF}},{{0x1660D76BC37B01E,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x1660D76BC37B01F,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0}},{{0x5F343A3F37E31DF,0x8D3B7DD448AAC3F,0xC65DEAB2679A2E1,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF},{0x3DA2F71D92AA9AF,0x45A3D4235C2F3C,0xC65DEAB2679A1A8,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF},{0x1660D76BC37B01D,0x5EB806161EFE02,0xD1,0x0,0x0,0x0,0x0,0x0,0x0},{0x5F343A3F37E31DF,0x8D3B7DD448AAC3F,0xC65DEAB2679A2E1,0xCF1EACBE98B8E48,0x3C111B0EF445146,0xA1D8CB5307C0BBE,0xFFFF9EC7F01C60B,0xFFFFFFFFFFFFFFF,0xFFFFFFFF}}} |
| |
| const USE_GLV bool=true |
| const USE_GS_G2 bool=true |
| const USE_GS_GT bool=true |
| const GT_STRONG bool=false |