Implemented the Ed25519 verify function and changed the sign and verify function signatures

This commit is contained in:
Gu://em_ 2026-07-08 17:37:55 +02:00
parent 7d86c901e3
commit c292832280

View file

@ -5,8 +5,8 @@ pub const Implementation = struct {
signature_size: comptime_int,
generateKeys: *const fn (pubkey_buffer: *[Implementation.public_key_size]u8, privkey_buffer: *[Implementation.secret_key_size]u8) void,
sign: *const fn (key: *const [Implementation.private_key_size]u8, data: *const []const u8, signature_out: *const [Implementation.signature_size]u8) void,
verify: *const fn (key: *const [Implementation.public_key_size]u8, data: *const []const u8, signature: *const [Implementation.signature_size]u8) void,
sign: *const fn (key: *const [Implementation.private_key_size]u8, data: []const u8, signature_out: *const [Implementation.signature_size]u8) void,
verify: *const fn (key: *const [Implementation.public_key_size]u8, signature: *const [Implementation.signature_size]u8, data: []const u8) void,
};
// Random number generation
@ -33,17 +33,18 @@ pub fn defaultImplementation(comptime random: rngProvider) type {
@memcpy(privkey_buffer[0..secret_key_size], keypair.secret_key.bytes);
}
pub fn sign(key: *const [secret_key_size]u8, data: *const []const u8, signature_out: *const [signature_size]u8) !void {
pub fn sign(key: *const [secret_key_size]u8, data: []const u8, signature_out: *const [signature_size]u8) !void {
_ = key;
_ = data;
_ = signature_out;
return error.NotImplemented;
}
pub fn verify(signature: *const [signature_size]u8, data: *const []const u8) !void {
_ = signature;
_ = data;
return error.NotImplemented;
pub fn verify(key: *const [public_key_size]u8, signature: *const [signature_size]u8, data: []const u8) !void {
const sig = Ed25519.Signature.fromBytes(signature);
const pubkey = Ed25519.PublicKey.fromBytes(key);
return sig.verify(sig, data, pubkey);
}
};