1 #ifndef NDNPH_PORT_EC_NULL_HPP
2 #define NDNPH_PORT_EC_NULL_HPP
4 #include "../../core/common.hpp"
7 namespace port_ec_null {
15 using PvtLen = std::integral_constant<size_t, 32>;
18 using PubLen = std::integral_constant<size_t, 65>;
21 using MaxSigLen = std::integral_constant<size_t, 73>;
31 bool import(
const uint8_t[Curve::PubLen::value]) {
40 uint8_t sig[Curve::MaxSigLen::value])
const {
54 bool import(
const uint8_t[Curve::PubLen::value]) {
76 static bool generateKey(uint8_t pvt[Curve::PvtLen::value], uint8_t pub[Curve::PubLen::value]) {
85 #ifdef NDNPH_PORT_EC_NULL
87 using Ec = port_ec_null::Ec;
Private key.
Definition: null.hpp:25
ssize_t sign(const uint8_t digest[NDNPH_SHA256_LEN], uint8_t sig[Curve::MaxSigLen::value]) const
Perform signing on a SHA256 digest.
Definition: null.hpp:39
Public key.
Definition: null.hpp:48
bool verify(const uint8_t digest[NDNPH_SHA256_LEN], const uint8_t *sig, size_t sigLen) const
Perform verification on a SHA256 digest against a given signature.
Definition: null.hpp:62
Stub ECDSA algorithm implementation.
Definition: null.hpp:10
static bool generateKey(uint8_t pvt[Curve::PvtLen::value], uint8_t pub[Curve::PubLen::value])
Generate key pair.
Definition: null.hpp:76
#define NDNPH_SHA256_LEN
SHA256 digest length.
Definition: common.hpp:34
Give information about the curve.
Definition: null.hpp:13
std::integral_constant< size_t, 65 > PubLen
Public key length.
Definition: null.hpp:18
std::integral_constant< size_t, 32 > PvtLen
Private key length.
Definition: null.hpp:15
std::integral_constant< size_t, 73 > MaxSigLen
Maximum signature length.
Definition: null.hpp:21