From 4d9aaa261900a65663b8356724cd946979330932 Mon Sep 17 00:00:00 2001 From: Pascal Perrenoud Date: Thu, 6 Jun 2024 01:50:26 +0200 Subject: [PATCH] Implement signature --- src/signature.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/signature.ts diff --git a/src/signature.ts b/src/signature.ts new file mode 100644 index 0000000..e2abae2 --- /dev/null +++ b/src/signature.ts @@ -0,0 +1,21 @@ +import logger from 'log' +import * as ed from '@noble/ed25519' + +const log = logger('crypto:signature') + +export async function gen_privkey() : Promise { + log.trace("generate keypair") + return ed.utils.randomPrivateKey() +} +export async function get_pubkey(privkey: Uint8Array) : Promise { + log.trace("derive pubky") + return ed.getPublicKeyAsync(privkey) +} +export async function sign(message: Uint8Array, privkey: Uint8Array) : Promise { + log.trace("sign") + return ed.signAsync(message, privkey) +} +export async function verify(message: Uint8Array, pubkey: Uint8Array, signature: Uint8Array) : Promise { + log.trace("verify") + return ed.verifyAsync(signature, message, pubkey) +}