| /* |
| 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}}} |
| |