/* * 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_MDC.h" namespace MDC { /* Million Dollar Curve */ #if CHUNK==16 #error Not supported #endif #if CHUNK==32 using namespace B256_28; const int CURVE_Cof_I= 4; const BIG CURVE_Cof= {0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; const int CURVE_B_I= 0; const BIG CURVE_B= {0x300CF89,0x9309250,0x1F041EE,0x70F63F2,0x9625F12,0xCCFB0CB,0xA7CDFBF,0x1965B68,0x7130452,0x5}; const BIG CURVE_Order= {0x1B0F7FB,0x8552F42,0x974BB58,0x8975FAF,0xF534FB3,0xBF75E97,0xD14CBE4,0x7515ABE,0xC4EDA2E,0x3}; const BIG CURVE_Gx= {0xE68363B,0x2C25BFE,0x713E223,0x2ABB8D2,0xF6350D7,0x1E03CBC,0x3D85B42,0x7F903B8,0x681886A,0xB}; const BIG CURVE_Gy= {0xD2864B5,0x73C355B,0x93A3A7E,0xBC3D81A,0xA421DA8,0xCF6563D,0x359814D,0xB59C0B0,0xA6734E1,0xC}; const BIG CURVE_HTPC= {0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; #endif #if CHUNK==64 using namespace B256_56; const int CURVE_Cof_I= 4; const BIG CURVE_Cof= {0x4L,0x0L,0x0L,0x0L,0x0L}; const int CURVE_B_I= 0; const BIG CURVE_B= {0x9309250300CF89L,0x70F63F21F041EEL,0xCCFB0CB9625F12L,0x1965B68A7CDFBFL,0x57130452L}; const BIG CURVE_Order= {0x8552F421B0F7FBL,0x8975FAF974BB58L,0xBF75E97F534FB3L,0x7515ABED14CBE4L,0x3C4EDA2EL}; const BIG CURVE_Gx= {0x2C25BFEE68363BL,0x2ABB8D2713E223L,0x1E03CBCF6350D7L,0x7F903B83D85B42L,0xB681886AL}; const BIG CURVE_Gy= {0x73C355BD2864B5L,0xBC3D81A93A3A7EL,0xCF6563DA421DA8L,0xB59C0B0359814DL,0xCA6734E1L}; const BIG CURVE_HTPC= {0x1L,0x0L,0x0L,0x0L,0x0L}; #endif }