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

@iota-big3/sdk-quantum

v1.0.0

Published

Quantum-ready architecture with post-quantum cryptography

Downloads

10

Readme

@iota-big3/sdk-quantum

Quantum-ready architecture with post-quantum cryptography and future-proof security.

Features

  • ⚛️ Post-Quantum Cryptography: NIST-approved algorithms
  • 🔐 Hybrid Encryption: Classical + quantum protection
  • 🔄 Migration Tools: Smooth transition to quantum-safe
  • 🌀 Quantum Simulator: Test quantum algorithms
  • 💾 Quantum Storage: Secure data with PQ crypto
  • 🚀 Crypto Agility: Switch algorithms seamlessly

Installation

npm install @iota-big3/sdk-quantum

Quick Start

import { createQuantumArchitecture } from '@iota-big3/sdk-quantum';

// Initialize quantum architecture
const quantum = createQuantumArchitecture({
  mode: 'hybrid',
  algorithms: {
    kem: 'kyber',
    signature: 'dilithium'
  },
  securityLevel: 3 // 192-bit security
});

await quantum.initialize();

// Generate quantum-safe keys
const keyPair = await quantum.getCrypto().generateKeyPair('kyber', ['keyEncapsulation']);

Post-Quantum Algorithms

Key Encapsulation (KEM)

// Kyber - NIST standardized
const keys = await crypto.generateKeyPair('kyber', ['keyEncapsulation']);

// Encapsulate (sender)
const { ciphertext, sharedSecret } = await crypto.encapsulate(keys.publicKey);

// Decapsulate (receiver)
const recovered = await crypto.decapsulate(ciphertext, keys.privateKey);

Digital Signatures

// Dilithium - Lattice-based
const sigKeys = await crypto.generateKeyPair('dilithium', ['sign', 'verify']);

// Sign
const signature = await crypto.sign(message, sigKeys.privateKey);

// Verify
const valid = await crypto.verify(message, signature, sigKeys.publicKey);

Alternative Algorithms

// SPHINCS+ - Hash-based (stateless)
const sphincs = await crypto.generateKeyPair('sphincs+', ['sign']);

// FrodoKEM - Conservative choice
const frodo = await crypto.generateKeyPair('frodo', ['keyEncapsulation']);

Hybrid Cryptography

Dual Protection

// Encrypt with both classical and quantum
const result = await crypto.hybridEncrypt(
  data,
  quantumPublicKey,
  classicalPublicKey // Optional
);

// Both must succeed to decrypt
const plaintext = await crypto.hybridDecrypt(
  result.quantumCiphertext,
  result.encapsulatedKey,
  quantumPrivateKey,
  result.classicalCiphertext,
  classicalPrivateKey
);

Migration Tools

Plan Migration

const migration = quantum.getMigration();

// Create migration path
const path = migration.planMigration('rsa-2048', 'kyber');

console.log(`Steps: ${path.steps.length}`);
console.log(`Time: ${path.estimatedTime} hours`);

Execute Migration

// Start migration
const migrationId = await migration.startMigration('system-1', path);

// Monitor progress
const progress = await migration.getProgress(migrationId);
console.log(`Status: ${progress.status}`);
console.log(`Current step: ${progress.currentStep}/${progress.totalSteps}`);

Test Readiness

const ready = await migration.testQuantumReadiness();

if (!ready.ready) {
  console.log('Issues:', ready.issues);
  console.log('Recommendations:', ready.recommendations);
}

Quantum Simulator

Create Circuit

const simulator = quantum.createSimulator(3); // 3 qubits
const circuit = simulator.createCircuit(3);

// Add gates
simulator.addGate(circuit, { type: 'H', qubits: [0] }); // Hadamard
simulator.addGate(circuit, { type: 'CNOT', qubits: [0, 1] }); // Entangle

// Measure
simulator.addMeasurement(circuit, 0, 0);
simulator.addMeasurement(circuit, 1, 1);

Execute Circuit

const results = await simulator.execute(circuit, 1024); // 1024 shots

// Analyze results
for (const [state, count] of Object.entries(results.counts)) {
  console.log(`|${state}⟩: ${count} times`);
}

console.log(`Entanglement: ${results.state.entanglement}`);

Quantum-Safe Storage

Initialize Storage

const storage = quantum.getStorage();
await storage.initialize('strong-password');

Store Encrypted Data

const id = await storage.store('api-key', {
  key: 'sk_live_...',
  permissions: ['read', 'write']
});

Create Backup

const backup = await storage.createBackup(
  ['api-key', 'private-key'],
  'Critical keys backup'
);

// Save backup securely
await saveToSecureLocation(backup);

Secret Sharing

// Split secret into shares
const secret = crypto.getRandomValues(new Uint8Array(32));
const shares = await storage.createSecretShares(
  secret,
  3, // threshold
  5  // total shares
);

// Reconstruct with any 3 shares
const recovered = await storage.reconstructSecret(
  [shares[0], shares[2], shares[4]],
  3
);

Security Levels

NIST Security Levels

  • Level 1: 128-bit security (AES-128 equivalent)
  • Level 3: 192-bit security (AES-192 equivalent)
  • Level 5: 256-bit security (AES-256 equivalent)

Choose Security Level

const config = {
  securityLevel: quantum.recommendSecurityLevel(20) // 20 years protection
};

Performance Optimization

Enable Caching

{
  performance: {
    cacheKeys: true,
    parallelOperations: 4,
    optimizeFor: 'speed' // or 'size', 'balanced'
  }
}

Benchmark Operations

const metrics = await quantum.getMetrics();

console.log(`Key gen: ${metrics.keyGenerationTime}ms`);
console.log(`Ops/sec: ${metrics.operationsPerSecond}`);

Best Practices

  1. Start Migration Now

    • Inventory crypto usage
    • Identify long-term data
    • Plan transition timeline
  2. Use Hybrid Mode

    mode: 'hybrid' // Not 'quantum-only' yet
  3. Monitor Quantum Progress

    const years = quantum.timeToQuantumThreat();
    console.log(`${years} years until threat`);
  4. Test Thoroughly

    • Benchmark performance
    • Verify compatibility
    • Test migration paths

API Reference

See API Documentation for detailed reference.

Examples

Resources