Skip to content

PyroSoftPro/QSuite-Public-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

QSuite SDK - Quantum-Safe Cryptography

npm version PyPI version License: MIT

Developer-friendly SDKs for quantum-safe cryptographic operations using post-quantum algorithms.

πŸ›‘οΈ Features

  • Post-Quantum Algorithms: Kyber (encryption), Dilithium (signatures), and hybrid implementations
  • Multi-Language Support: Node.js/TypeScript and Python SDKs
  • Type Safety: Full TypeScript interfaces and Python type hints
  • Authentication: JWT, OAuth, and API key support with automatic token refresh
  • Retry Logic: Built-in exponential backoff for network resilience
  • CLI Tools: Command-line interface for Python SDK
  • Comprehensive Examples: Real-world usage patterns and best practices

πŸš€ Quick Start

Node.js/TypeScript

npm install qsuite
import { QSuite, AlgorithmType, KeyUsage } from 'qsuite';

const qsuite = new QSuite({
  kmsUrl: 'https://your-kms-server.com',
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret'
});

// Create a quantum-safe key
const key = await qsuite.createKey({
  keyId: 'my-secure-key',
  algorithm: AlgorithmType.KYBER768,
  usage: [KeyUsage.ENCRYPT, KeyUsage.DECRYPT],
  description: 'My first quantum-safe key'
});

// Encrypt a message
const encrypted = await qsuite.encryptMessage({
  keyId: 'my-secure-key',
  message: 'Secret quantum-safe message',
  encoding: 'utf8'
});

console.log('Encrypted:', encrypted.ciphertext);

Python

pip install qsuite
from qsuite import QSuite, QSuiteConfig, AlgorithmType, KeyUsage

# Configure the client
config = QSuiteConfig(
    kms_url="https://your-kms-server.com",
    client_id="your-client-id",
    client_secret="your-client-secret"
)

qsuite = QSuite(config)

# Create a quantum-safe key
key = qsuite.create_key({
    'key_id': 'my-secure-key',
    'algorithm': AlgorithmType.KYBER768,
    'usage': [KeyUsage.ENCRYPT, KeyUsage.DECRYPT],
    'description': 'My first quantum-safe key'
})

# Encrypt a message
encrypted = qsuite.encrypt_message({
    'key_id': 'my-secure-key', 
    'message': 'Secret quantum-safe message',
    'encoding': 'utf8'
})

print(f"Encrypted: {encrypted['ciphertext']}")

CLI Usage

# Create a quantum-safe key
qsuite create-key my-key kyber768 --description "Production encryption key"

# Encrypt a message
echo "Secret message" | qsuite encrypt my-key

# List all keys
qsuite list-keys --output json

# Check KMS health
qsuite health

πŸ“š Documentation

πŸ” Supported Algorithms

Post-Quantum Encryption (KEM)

  • Kyber512 - NIST Level 1 security
  • Kyber768 - NIST Level 3 security (recommended)
  • Kyber1024 - NIST Level 5 security

Post-Quantum Signatures

  • Dilithium2 - NIST Level 1 security
  • Dilithium3 - NIST Level 3 security (recommended)
  • Dilithium5 - NIST Level 5 security

Hybrid Algorithms

  • Hybrid Kyber + X25519 - Post-quantum + classical encryption
  • Hybrid Dilithium + Ed25519 - Post-quantum + classical signatures

πŸ”§ Requirements

Node.js SDK

  • Node.js 16.0.0 or higher
  • TypeScript 5.0+ (for development)

Python SDK

  • Python 3.8 or higher
  • Required packages: pydantic, structlog, PyJWT

πŸ› οΈ Development

Building from Source

Node.js SDK

git clone https://github.com/your-org/qsuite-sdk.git
cd qsuite-sdk/nodejs
npm install
npm run build
npm test

Python SDK

cd qsuite-sdk/python
pip install -r requirements.txt
python -m pytest tests/

πŸ”’ Security

This SDK implements quantum-safe cryptographic operations following NIST Post-Quantum Cryptography standards. Key security considerations:

  • No Private Keys: The SDK never stores or transmits private keys
  • Secure Authentication: Supports JWT, OAuth, and API key authentication
  • Transport Security: All communications use HTTPS/TLS
  • Input Validation: Comprehensive input sanitization and validation
  • Audit Logging: Detailed operation logging for security monitoring

For security issues, please see our Security Policy.

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

πŸ“ž Support


Note: This SDK requires a compatible Quantum-Safe KMS backend. Contact us for enterprise deployment and support options.

About

Developer-friendly SDKs for quantum-safe cryptographic operations using post-quantum algorithms.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors