ndn-embeds 0.1.0
Lightweight NDN protocol stack for embedded systems
Loading...
Searching...
No Matches
crypto.hpp
Go to the documentation of this file.
1
9#pragma once
10
11#include "ndn/common.hpp"
12
13namespace ndn::crypto {
14
23Error sha256(const uint8_t* data, size_t len, uint8_t* out);
24
35Error hmacSha256(const uint8_t* key, size_t keyLen, const uint8_t* data, size_t dataLen,
36 uint8_t* out);
37
48bool constantTimeCompare(const uint8_t* lhs, const uint8_t* rhs, size_t len);
49
57Error ecdsaP256GenerateKeyPair(uint8_t* privKey, uint8_t* pubKey);
58
72Error ecdsaP256Sign(const uint8_t* privKey, const uint8_t* data, size_t dataLen, uint8_t* sig,
73 size_t* sigLen);
74
85bool ecdsaP256Verify(const uint8_t* pubKey, const uint8_t* data, size_t dataLen, const uint8_t* sig,
86 size_t sigLen);
87
88} // namespace ndn::crypto
Common definitions for the NDN protocol stack.
Error
Error codes.
Definition common.hpp:24
Error ecdsaP256GenerateKeyPair(uint8_t *privKey, uint8_t *pubKey)
Generate an ECDSA P-256 key pair.
Definition crypto.cpp:72
Error hmacSha256(const uint8_t *key, size_t keyLen, const uint8_t *data, size_t dataLen, uint8_t *out)
Compute HMAC-SHA256.
Definition crypto.cpp:45
bool ecdsaP256Verify(const uint8_t *pubKey, const uint8_t *data, size_t dataLen, const uint8_t *sig, size_t sigLen)
Verify an ECDSA P-256 signature.
Definition crypto.cpp:181
bool constantTimeCompare(const uint8_t *lhs, const uint8_t *rhs, size_t len)
Compare two buffers in constant time.
Definition crypto.cpp:60
Error ecdsaP256Sign(const uint8_t *privKey, const uint8_t *data, size_t dataLen, uint8_t *sig, size_t *sigLen)
Sign with ECDSA P-256.
Definition crypto.cpp:126
Error sha256(const uint8_t *data, size_t len, uint8_t *out)
Compute SHA-256 hash.
Definition crypto.cpp:19