@unknownncat/curve25519-node
v2.1.2
Published
Node.js X25519 + Ed25519 via node:crypto with Rust-accelerated axlsign compatibility
Maintainers
Readme
@unknownncat/curve25519-node
English version: README.en.md
Implementacao para Node.js com API limpa:
x25519eed25519vianode:crypto(OpenSSL)axlsigncompativel com legado, acelerado por backend Rust/WASM interno- sem namespace
wasm - sem namespace
napi
Instalar
npm i @unknownncat/curve25519-nodeUso rapido
import { randomBytes } from "node:crypto";
import { asBytes32, x25519, ed25519, axlsign } from "@unknownncat/curve25519-node";
const seedA = asBytes32(randomBytes(32));
const seedB = asBytes32(randomBytes(32));
const alice = x25519.generateKeyPair(seedA);
const bob = x25519.generateKeyPair(seedB);
const shared = x25519.sharedKey(alice.private, bob.public);
const msg = new TextEncoder().encode("hello");
const sig = ed25519.sign(seedA, msg);
const ok = ed25519.verify(ed25519.publicKey(seedA), msg, sig);
const axlSig = axlsign.sign(alice.private, msg, randomBytes(64));
const axlOk = axlsign.verify(alice.public, msg, axlSig);CommonJS:
const { x25519, ed25519, axlsign } = require("@unknownncat/curve25519-node");Exports
x25519ed25519axlsign- aliases top-level:
sharedKey,sharedKeyStrict,generateKeyPair,sign,verify,signMessage,openMessage - tipos/helpers:
Bytes32,Bytes64,asBytes32,asBytes64
Observacoes
sign/verifytop-level seguem semantica Ed25519 e rejeitamopt_random.- Para fluxo legado compativel com
curve25519-js, useaxlsign.*. - Se voce precisa de WASM no navegador, use
@unknownncat/curve25519-browser.
