Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cECPGroupDef.cpp File Reference
#include "pch.h"
#include "Key/cECPGroupDef.h"
#include "Key/cECPGroupTypes.tbl"

Namespaces

 GrayLib
 

Macros

#define SetBlocksLiteral(v)   SetBlocksStatic( _countof(v), v )
 
#define GROUPDEF_X()   g.m_P.SetBlocksLiteral(k_p); g.m_B.SetBlocksLiteral(k_b); g.m_G.m_X.SetBlocksLiteral(k_gx); g.m_G.m_Y.SetBlocksLiteral(k_gy); g.m_N.SetBlocksLiteral(k_n); g.InjectCommon();
 
#define GROUPDEF_A0()   GROUPDEF_X(); g.m_A.SetBlocksStatic(cBitArrayStatic::k_Zero);
 
#define GROUPDEF_A()   GROUPDEF_X(); g.m_A.SetBlocksLiteral(k_a)
 
#define ECPGROUPTYPEDEF(a, b, c, d, e)   const cECPGroupDef* cECPGroupMgr::Load_##a() { static const cECPGroup_##a k_group; return &k_group; }
 
#define ECPGROUPTYPEDEF(a, b, c, d, e)   if ((b) < 99) AddECPGroupDef(Load_##a());
 

Detailed Description

Elliptic curves over GF(p): curve-specific data and functions

Macro Definition Documentation

◆ ECPGROUPTYPEDEF [1/2]

#define ECPGROUPTYPEDEF (   a,
  b,
  c,
  d,
 
)    const cECPGroupDef* cECPGroupMgr::Load_##a() { static const cECPGroup_##a k_group; return &k_group; }

◆ ECPGROUPTYPEDEF [2/2]

#define ECPGROUPTYPEDEF (   a,
  b,
  c,
  d,
 
)    if ((b) < 99) AddECPGroupDef(Load_##a());

◆ GROUPDEF_A

#define GROUPDEF_A ( )    GROUPDEF_X(); g.m_A.SetBlocksLiteral(k_a)

◆ GROUPDEF_A0

#define GROUPDEF_A0 ( )    GROUPDEF_X(); g.m_A.SetBlocksStatic(cBitArrayStatic::k_Zero);

◆ GROUPDEF_X

#define GROUPDEF_X ( )    g.m_P.SetBlocksLiteral(k_p); g.m_B.SetBlocksLiteral(k_b); g.m_G.m_X.SetBlocksLiteral(k_gx); g.m_G.m_Y.SetBlocksLiteral(k_gy); g.m_N.SetBlocksLiteral(k_n); g.InjectCommon();

◆ SetBlocksLiteral

#define SetBlocksLiteral (   v)    SetBlocksStatic( _countof(v), v )