Developer-friendly SDKs for quantum-safe cryptographic operations using post-quantum algorithms.
- 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
npm install qsuiteimport { 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);pip install qsuitefrom 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']}")# 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- Kyber512 - NIST Level 1 security
- Kyber768 - NIST Level 3 security (recommended)
- Kyber1024 - NIST Level 5 security
- Dilithium2 - NIST Level 1 security
- Dilithium3 - NIST Level 3 security (recommended)
- Dilithium5 - NIST Level 5 security
- Hybrid Kyber + X25519 - Post-quantum + classical encryption
- Hybrid Dilithium + Ed25519 - Post-quantum + classical signatures
- Node.js 16.0.0 or higher
- TypeScript 5.0+ (for development)
- Python 3.8 or higher
- Required packages:
pydantic,structlog,PyJWT
git clone https://github.com/your-org/qsuite-sdk.git
cd qsuite-sdk/nodejs
npm install
npm run build
npm testcd qsuite-sdk/python
pip install -r requirements.txt
python -m pytest tests/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.
We welcome contributions! Please see our Contributing Guidelines for details.
- π Documentation
- π Issue Tracker
- π¬ Discussions
- π§ Security Contact
Note: This SDK requires a compatible Quantum-Safe KMS backend. Contact us for enterprise deployment and support options.