Elligator added

This commit is contained in:
orignal 2019-12-04 15:37:24 -05:00
parent 39300a5bbf
commit 29f0e10411
3 changed files with 56 additions and 0 deletions

View File

@ -82,6 +82,7 @@ set (LIBI2PD_SRC
"${LIBI2PD_SRC_DIR}/Ed25519.cpp"
"${LIBI2PD_SRC_DIR}/NTCP2.cpp"
"${LIBI2PD_SRC_DIR}/Blinding.cpp"
"${LIBI2PD_SRC_DIR}/Elligator.cpp"
)
if (WITH_WEBSOCKETS)

30
libi2pd/Elligator.cpp Normal file
View File

@ -0,0 +1,30 @@
#include "Elligator.h"
namespace i2p
{
namespace crypto
{
Elligator2::Elligator2 ()
{
}
Elligator2::~Elligator2 ()
{
}
static std::unique_ptr<Elligator2> g_Elligator;
std::unique_ptr<Elligator2>& GetElligator ()
{
if (!g_Elligator)
{
auto el = new Elligator2();
if (!g_Elligator) // make sure it was not created already
g_Elligator.reset (el);
else
delete el;
}
return g_Elligator;
}
}
}

25
libi2pd/Elligator.h Normal file
View File

@ -0,0 +1,25 @@
#ifndef ELLIGATOR_H__
#define ELLIGATOR_H__
#include <memory>
namespace i2p
{
namespace crypto
{
class Elligator2
{
public:
Elligator2 ();
~Elligator2 ();
};
std::unique_ptr<Elligator2>& GetElligator ();
}
}
#endif