reticulum-zero/src/crypto/ed25519.zig

30 lines
857 B
Zig
Raw Normal View History

pub const Implementation = struct {
pub const KEY_SIZE = 32;
pub const SIGNATURE_SIZE = 64;
generateKey: *const fn (privkey_buffer: *[KEY_SIZE]u8) void,
sign: *const fn (key: *const [KEY_SIZE]u8, data: *const []const u8, signature_out: *const [SIGNATURE_SIZE]u8) void,
verify: *const fn (key: *const [KEY_SIZE]u8, data: *const []const u8, signature: *const [SIGNATURE_SIZE]u8) void,
};
// TODO
pub const defaultImplementation = struct {
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;
}
pub fn verify(signature: *const [64]u8, data: *const []const u8) !void {
_ = signature;
_ = data;
}
};