Nostrduino
Loading...
Searching...
No Matches
UBitcoinBackend.h
Go to the documentation of this file.
1#ifndef NOSTR_UBITCOIN_BACKEND_H
2#define NOSTR_UBITCOIN_BACKEND_H
3
4#include <stddef.h>
5#include <stdint.h>
6#include <functional>
7
8namespace nostr {
9namespace crypto {
10
12 public:
13 using RandomProvider = std::function<bool(uint8_t *, size_t)>;
14
15 static bool initialize(const RandomProvider &randomProvider);
16 static void shutdown();
17 static bool isInitialized();
18 static bool publicKey(const uint8_t privateKey[32], uint8_t xOnlyPublicKey[32]);
19 static bool sign(const uint8_t privateKey[32], const uint8_t *message, size_t messageSize,
20 const uint8_t auxiliaryRandomness[32], uint8_t signature[64]);
21 static bool verify(const uint8_t xOnlyPublicKey[32], const uint8_t *message, size_t messageSize,
22 const uint8_t signature[64]);
23 static bool verifyRecoverableEcdsa(const uint8_t digest[32], const uint8_t signature[64],
24 uint8_t recoveryId,
25 const uint8_t compressedPublicKey[33] = nullptr);
26 static bool ecdhRawX(const uint8_t privateKey[32], const uint8_t xOnlyPublicKey[32],
27 uint8_t sharedX[32]);
28};
29
30} // namespace crypto
31} // namespace nostr
32
33#endif
Definition UBitcoinBackend.h:11
static void shutdown()
Definition UBitcoinBackend.cpp:119
static bool isInitialized()
Definition UBitcoinBackend.cpp:125
static bool sign(const uint8_t privateKey[32], const uint8_t *message, size_t messageSize, const uint8_t auxiliaryRandomness[32], uint8_t signature[64])
Definition UBitcoinBackend.cpp:144
static bool verifyRecoverableEcdsa(const uint8_t digest[32], const uint8_t signature[64], uint8_t recoveryId, const uint8_t compressedPublicKey[33]=nullptr)
Definition UBitcoinBackend.cpp:230
std::function< bool(uint8_t *, size_t)> RandomProvider
Definition UBitcoinBackend.h:13
static bool publicKey(const uint8_t privateKey[32], uint8_t xOnlyPublicKey[32])
Definition UBitcoinBackend.cpp:130
static bool verify(const uint8_t xOnlyPublicKey[32], const uint8_t *message, size_t messageSize, const uint8_t signature[64])
Definition UBitcoinBackend.cpp:203
static bool initialize(const RandomProvider &randomProvider)
Definition UBitcoinBackend.cpp:112
static bool ecdhRawX(const uint8_t privateKey[32], const uint8_t xOnlyPublicKey[32], uint8_t sharedX[32])
Definition UBitcoinBackend.cpp:257
Definition CryptoLock.h:6