Made some advancements on the cryptographic primitives implementation

This commit is contained in:
Gu://em_ 2026-07-03 21:56:17 +02:00
parent cb72a9cdc9
commit 0eae5818a0
8 changed files with 69 additions and 17 deletions

View file

@ -9,21 +9,34 @@ pub const Implementation = struct {
};
// TODO
pub const defaultImplementation = struct {
pub fn defaultImplementation() type {
pub fn generateKeys(privkey_buffer: *[32]u8) !void {
_ = privkey_buffer;
}
pub fn sign(key: *const [32]u8, data: *const []const u8, signature_out: *const [64]u8) !void {
_ = key;
_ = data;
_ = signature_out;
}
const Ed25519 = @import("std").crypto.sign.Ed25519;
_ = Ed25519;
pub fn verify(signature: *const [64]u8, data: *const []const u8) !void {
_ = signature;
_ = data;
}
// Again, some Ed25519 functions seem to rely on the io module that is not necessarily available on embedded systems
// It may need some custom implementation or other library
return struct {
pub fn generateKeys(pubkey_buffer: *[32]u8, privkey_buffer: *[32]u8) !void {
_ = pubkey_buffer;
_ = privkey_buffer;
return error.NotImplemented;
}
};
pub fn sign(key: *const [32]u8, data: *const []const u8, signature_out: *const [64]u8) !void {
_ = key;
_ = data;
_ = signature_out;
return error.NotImplemented;
}
pub fn verify(signature: *const [64]u8, data: *const []const u8) !void {
_ = signature;
_ = data;
return error.NotImplemented;
}
};
}