Skip to content

Commit

Permalink
Rename C25519.* to ECC.*
Browse files Browse the repository at this point in the history
  • Loading branch information
adamierymenko committed Sep 15, 2024
1 parent 7647c8e commit 307befa
Show file tree
Hide file tree
Showing 22 changed files with 111 additions and 114 deletions.
8 changes: 4 additions & 4 deletions attic/world/mkworld.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

#include <node/Constants.hpp>
#include <node/World.hpp>
#include <node/C25519.hpp>
#include <node/ECC.hpp>
#include <node/Identity.hpp>
#include <node/InetAddress.hpp>
#include <osdep/OSUtils.hpp>
Expand All @@ -54,7 +54,7 @@ int main(int argc,char **argv)
{
std::string previous,current;
if ((!OSUtils::readFile("previous.c25519",previous))||(!OSUtils::readFile("current.c25519",current))) {
C25519::Pair np(C25519::generate());
ECC::Pair np(ECC::generate());
previous = std::string();
previous.append((const char *)np.pub.data,ZT_C25519_PUBLIC_KEY_LEN);
previous.append((const char *)np.priv.data,ZT_C25519_PRIVATE_KEY_LEN);
Expand All @@ -68,10 +68,10 @@ int main(int argc,char **argv)
fprintf(stderr,"FATAL: previous.c25519 or current.c25519 empty or invalid" ZT_EOL_S);
return 1;
}
C25519::Pair previousKP;
ECC::Pair previousKP;
memcpy(previousKP.pub.data,previous.data(),ZT_C25519_PUBLIC_KEY_LEN);
memcpy(previousKP.priv.data,previous.data() + ZT_C25519_PUBLIC_KEY_LEN,ZT_C25519_PRIVATE_KEY_LEN);
C25519::Pair currentKP;
ECC::Pair currentKP;
memcpy(currentKP.pub.data,current.data(),ZT_C25519_PUBLIC_KEY_LEN);
memcpy(currentKP.priv.data,current.data() + ZT_C25519_PUBLIC_KEY_LEN,ZT_C25519_PRIVATE_KEY_LEN);

Expand Down
2 changes: 1 addition & 1 deletion ext/ed25519-amd64-asm/sign.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ int crypto_sign(
#endif

#if 0
void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPublic,const void *msg,unsigned int len,void *signature)
void ECC::sign(const ECC::Private &myPrivate,const ECC::Public &myPublic,const void *msg,unsigned int len,void *signature)
{
sc25519 sck, scs, scsk;
ge25519 ger;
Expand Down
4 changes: 2 additions & 2 deletions node/Capability.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#include "Constants.hpp"
#include "Credential.hpp"
#include "Address.hpp"
#include "C25519.hpp"
#include "ECC.hpp"
#include "Utils.hpp"
#include "Buffer.hpp"
#include "Identity.hpp"
Expand Down Expand Up @@ -496,7 +496,7 @@ class Capability : public Credential
struct {
Address to;
Address from;
C25519::Signature signature;
ECC::Signature signature;
} _custody[ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH];
};

Expand Down
2 changes: 1 addition & 1 deletion node/CertificateOfMembership.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/****/

#include "CertificateOfMembership.hpp"
#include "C25519.hpp"
#include "ECC.hpp"
#include "RuntimeEnvironment.hpp"
#include "Topology.hpp"
#include "Switch.hpp"
Expand Down
4 changes: 2 additions & 2 deletions node/CertificateOfMembership.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include "Credential.hpp"
#include "Buffer.hpp"
#include "Address.hpp"
#include "C25519.hpp"
#include "ECC.hpp"
#include "Identity.hpp"
#include "Utils.hpp"

Expand Down Expand Up @@ -310,7 +310,7 @@ class CertificateOfMembership : public Credential
Address _signedBy;
_Qualifier _qualifiers[ZT_NETWORK_COM_MAX_QUALIFIERS];
unsigned int _qualifierCount;
C25519::Signature _signature;
ECC::Signature _signature;
};

} // namespace ZeroTier
Expand Down
4 changes: 2 additions & 2 deletions node/CertificateOfOwnership.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

#include "Constants.hpp"
#include "Credential.hpp"
#include "C25519.hpp"
#include "ECC.hpp"
#include "Address.hpp"
#include "Identity.hpp"
#include "Buffer.hpp"
Expand Down Expand Up @@ -243,7 +243,7 @@ class CertificateOfOwnership : public Credential
uint8_t _thingValues[ZT_CERTIFICATEOFOWNERSHIP_MAX_THINGS][ZT_CERTIFICATEOFOWNERSHIP_MAX_THING_VALUE_SIZE];
Address _issuedTo;
Address _signedBy;
C25519::Signature _signature;
ECC::Signature _signature;
};

} // namespace ZeroTier
Expand Down
12 changes: 6 additions & 6 deletions node/C25519.cpp → node/ECC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Derived from public domain code by D. J. Bernstein.
#include <string.h>

#include "Constants.hpp"
#include "C25519.hpp"
#include "ECC.hpp"
#include "SHA512.hpp"
#include "Buffer.hpp"
#include "Hashtable.hpp"
Expand Down Expand Up @@ -2508,7 +2508,7 @@ extern "C" void ed25519_amd64_asm_sign(const unsigned char *sk,const unsigned ch

namespace ZeroTier {

void C25519::agree(const C25519::Private &mine,const C25519::Public &their,void *keybuf,unsigned int keylen)
void ECC::agree(const ECC::Private &mine,const ECC::Public &their,void *keybuf,unsigned int keylen)
{
unsigned char rawkey[32];
unsigned char digest[64];
Expand All @@ -2524,7 +2524,7 @@ void C25519::agree(const C25519::Private &mine,const C25519::Public &their,void
}
}

void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPublic,const void *msg,unsigned int len,void *signature)
void ECC::sign(const ECC::Private &myPrivate,const ECC::Public &myPublic,const void *msg,unsigned int len,void *signature)
{
unsigned char digest[64]; // we sign the first 32 bytes of SHA-512(msg)
SHA512(digest,msg,len);
Expand Down Expand Up @@ -2580,7 +2580,7 @@ void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPubli
#endif
}

bool C25519::verify(const C25519::Public &their,const void *msg,unsigned int len,const void *signature)
bool ECC::verify(const ECC::Public &their,const void *msg,unsigned int len,const void *signature)
{
const unsigned char *const sig = (const unsigned char *)signature;
unsigned char digest[64]; // we sign the first 32 bytes of SHA-512(msg)
Expand Down Expand Up @@ -2611,14 +2611,14 @@ bool C25519::verify(const C25519::Public &their,const void *msg,unsigned int len
return Utils::secureEq(sig,t2,32);
}

void C25519::_calcPubDH(C25519::Pair &kp)
void ECC::_calcPubDH(ECC::Pair &kp)
{
// First 32 bytes of pub and priv are the keys for ECDH key
// agreement. This generates the public portion from the private.
crypto_scalarmult_base(kp.pub.data,kp.priv.data);
}

void C25519::_calcPubED(C25519::Pair &kp)
void ECC::_calcPubED(ECC::Pair &kp)
{
unsigned char extsk[64];
sc25519 scsk;
Expand Down
11 changes: 4 additions & 7 deletions node/C25519.hpp → node/ECC.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
*/
/****/

#ifndef ZT_C25519_HPP
#define ZT_C25519_HPP
#ifndef ZT_ECC_HPP
#define ZT_ECC_HPP

#include "Utils.hpp"

Expand All @@ -22,10 +22,7 @@ namespace ZeroTier {
#define ZT_ECC_PRIVATE_KEY_SET_LEN 64
#define ZT_ECC_SIGNATURE_LEN 96

/**
* A combined Curve25519 ECDH and Ed25519 signature engine
*/
class C25519
class ECC
{
public:
struct Public { uint8_t data[ZT_ECC_PUBLIC_KEY_SET_LEN]; };
Expand All @@ -34,7 +31,7 @@ class C25519
struct Pair { Public pub; Private priv; };

/**
* Generate a C25519 elliptic curve key pair
* Generate an elliptic curve key pair
*/
static inline Pair generate()
{
Expand Down
14 changes: 7 additions & 7 deletions node/Identity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <string.h>
#include <stdint.h>

#include "C25519.hpp"
#include "ECC.hpp"
#include "Constants.hpp"
#include "Identity.hpp"
#include "SHA512.hpp"
Expand Down Expand Up @@ -73,7 +73,7 @@ struct _Identity_generate_cond
{
_Identity_generate_cond() {}
_Identity_generate_cond(unsigned char *sb,char *gm) : digest(sb),genmem(gm) {}
inline bool operator()(const C25519::Pair &kp) const
inline bool operator()(const ECC::Pair &kp) const
{
_computeMemoryHardHash(kp.pub.data,ZT_ECC_PUBLIC_KEY_SET_LEN,digest,genmem);
return (digest[0] < ZT_IDENTITY_GEN_HASHCASH_FIRST_BYTE_LESS_THAN);
Expand All @@ -87,15 +87,15 @@ void Identity::generate()
unsigned char digest[64];
char *genmem = new char[ZT_IDENTITY_GEN_MEMORY];

C25519::Pair kp;
ECC::Pair kp;
do {
kp = C25519::generateSatisfying(_Identity_generate_cond(digest,genmem));
kp = ECC::generateSatisfying(_Identity_generate_cond(digest,genmem));
_address.setTo(digest + 59,ZT_ADDRESS_LENGTH); // last 5 bytes are address
} while (_address.isReserved());

_publicKey = kp.pub;
if (!_privateKey) {
_privateKey = new C25519::Private();
_privateKey = new ECC::Private();
}
*_privateKey = kp.priv;

Expand Down Expand Up @@ -157,7 +157,7 @@ bool Identity::fromString(const char *str)
}

delete _privateKey;
_privateKey = (C25519::Private *)0;
_privateKey = (ECC::Private *)0;

int fno = 0;
char *saveptr = (char *)0;
Expand All @@ -183,7 +183,7 @@ bool Identity::fromString(const char *str)
}
break;
case 3:
_privateKey = new C25519::Private();
_privateKey = new ECC::Private();
if (Utils::unhex(f,_privateKey->data,ZT_ECC_PRIVATE_KEY_SET_LEN) != ZT_ECC_PRIVATE_KEY_SET_LEN) {
_address.zero();
return false;
Expand Down
Loading

0 comments on commit 307befa

Please sign in to comment.