npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

zetrix-encryption-nodejs

v1.1.0

Published

zetrix-encryption

Readme

zetrix-encryption-nodejs

zetrix-encryption-nodejs Installation

npm install zetrix-encryption-nodejs --save

zetrix-encryption-nodejs Test

npm test

zetrix-encryption-nodejs Usage

'use strict';

const encryption = require('zetrix-encryption-nodejs');

const KeyPair = encryption.keypair;
const signature = encryption.signature;
const keystore = encryption.keystore;

let kp = new KeyPair();
// Get encPrivateKey, encPublicKey, address
let encPrivateKey = kp.getEncPrivateKey();
let encPublicKey = kp.getEncPublicKey();
let address = kp.getAddress();


console.log('============= bof: ==============');
console.log(`EncPrivateKey is : ${encPrivateKey}`);
console.log(`EncPublicKey is : ${encPublicKey}`);
console.log(`Address hash is : ${address}`);
console.log('============= eof: ==============');

// Get keypair
let keypair = KeyPair.getKeyPair();

// Get encPublicKey
let encPublicKey = KeyPair.getEncPublicKey(encPrivateKey);

// Get address
let address = KeyPair.getAddress(encPublicKey);

// check encPrivateKey
KeyPair.checkEncPrivateKey(encPrivateKey);

// check encPublicKey
KeyPair.checkEncPublicKey(encPublicKey);

// check address
KeyPair.checkAddress(address);

// signature sign and verify
let sign = signature.sign('test', encPrivateKey);
let verify = signature.verify('test', sign, encPublicKey);

// keystore
keystore.encrypt(encPrivateKey, 'test', function(encData) {
  keystore.decrypt(encData, 'test', function(descData) {
    console.log(descData);
  });
});

Supported algorithms

Pass one of the following strings to new KeyPair(signType) or KeyPair.getKeyPair(signType):

| signType | Sign-type byte | Address-type byte | Address prefix | |--------------|----------------|-------------------|----------------| | ed25519 (default) | 0x01 | 0x01 | ZTX3 | | sm2 | 0x02 | 0x02 | ZTX3 | | dilithium3 | 0x05 | 0x04 | ZTX4 | | hybrid (ED25519 + Dilithium3) | 0x06 | 0x06 | ZTX5 |

Notes on the Dilithium3 variant

The bundled Dilithium3 implementation (lib/vendor/dilithium3-fips204/) uses FIPS 204 / ML-DSA-65 parameter sizes (private key 4032 B, public key 1952 B, signature 3309 B) but omits the FIPS 204 message-domain-separation prefix. Signatures produced by this library are interoperable with the deployed Zetrix blockchain but are not interoperable with spec-compliant ML-DSA-65 verifiers.

The sign-type byte (0x05) and address-type byte (0x04) intentionally differ for Dilithium3. The mismatch preserves a stable ZTX4 address prefix while keeping the 0x04 sign-type slot reserved (it was previously used for CFCA and is no longer valid — see lib/constants.js).

Hybrid mode

hybrid keys sign twice (ED25519 + Dilithium3) and verification requires both signatures to pass. This provides defence-in-depth: classical forgery requires breaking ED25519, and post-quantum forgery requires breaking Dilithium3.

License

MIT