Name | sudarshan-engine JSON |
Version |
1.0.0b7
JSON |
| download |
home_page | None |
Summary | Python bindings for Sudarshan Engine - A high-performance cryptographic library providing post-quantum secure algorithms including KEM, signatures, symmetric encryption, and hashing. |
upload_time | 2025-09-05 11:39:42 |
maintainer | None |
docs_url | None |
author | Sudarshan Team |
requires_python | None |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Sudarshan Engine - Python Bindings
## What is Sudarshan Engine?
Sudarshan Engine is a high-performance, post-quantum secure cryptographic library written in C, designed to provide robust cryptographic primitives for modern applications. It implements state-of-the-art cryptographic algorithms including:
- **Post-Quantum Key Encapsulation Mechanisms (KEM)**: Kyber768 for quantum-resistant key exchange
- **Digital Signatures**: Dilithium for quantum-secure signatures
- **Symmetric Encryption**: AES-GCM for fast, secure data encryption
- **Hash Functions**: SHA3-512 for cryptographic hashing
- **Key Derivation**: HKDF for secure key derivation
- **Random Number Generation**: Cryptographically secure random bytes
The library is built with security, performance, and ease of use in mind, providing both low-level C APIs and high-level Python bindings.
## Python Bindings Overview
The Python bindings (`sudarshan-engine`) provide a user-friendly interface to the Sudarshan Engine C library, allowing Python developers to easily integrate post-quantum cryptography into their applications.
**Key Features:**
- Complete ctypes-based bindings to the C library
- Pythonic API with automatic error handling
- Support for all major cryptographic operations
- Cross-platform compatibility (Linux, macOS, Windows)
- No external dependencies beyond the C library
## Installation
```bash
pip install sudarshan-engine
```
**Requirements:**
- Python 3.6+
- The Sudarshan Engine shared library (`libsudarshan.so` on Linux, `libsudarshan.dylib` on macOS, `sudarshan.dll` on Windows)
## Quick Start
```python
from sudarshan.crypto import create_engine, generate_kem_keypair, encrypt, decrypt
# Initialize the crypto engine
engine = create_engine()
# Generate a keypair for key encapsulation
public_key, secret_key = generate_kem_keypair(engine)
# Encrypt data
ciphertext = encrypt(engine, public_key, b"Hello, World!")
# Decrypt data
plaintext = decrypt(engine, secret_key, ciphertext)
print(plaintext) # b"Hello, World!"
```
## API Reference
### Core Functions
- `create_engine()`: Initialize a new crypto engine instance
- `cleanup_engine(engine)`: Clean up engine resources
- `generate_kem_keypair(engine)`: Generate Kyber768 keypair
- `kem_encapsulate(engine, public_key)`: Encapsulate shared secret
- `kem_decapsulate(engine, secret_key, ciphertext)`: Decapsulate shared secret
- `generate_sig_keypair(engine)`: Generate Dilithium signature keypair
- `sign(engine, secret_key, message)`: Sign a message
- `verify(engine, public_key, message, signature)`: Verify a signature
- `sym_encrypt(engine, key, plaintext)`: Symmetric encryption
- `sym_decrypt(engine, key, ciphertext)`: Symmetric decryption
- `hash_sha3_512(data)`: Compute SHA3-512 hash
- `kdf_hkdf(salt, ikm, info, length)`: Key derivation using HKDF
- `random_bytes(length)`: Generate cryptographically secure random bytes
## Project Structure
```
sudarshan_engine/
├── CMakeLists.txt # Main C build system
├── src/ # C core library source
│ ├── crypto.c
│ ├── crypto.h
│ └── ...
├── include/ # Public C headers
├── bindings/
│ └── python/ # Python bindings
│ ├── sudarshan/
│ │ ├── __init__.py
│ │ ├── crypto.py # High-level Python API
│ │ └── _bindings.py # Low-level ctypes bindings
│ ├── tests/
│ │ └── test_crypto.py
│ ├── setup.py
│ └── pyproject.toml
├── tests/ # C library tests
├── docs/ # Documentation
└── examples/ # Usage examples
```
## Security Considerations
- All cryptographic operations are performed in the C library for maximum security
- Keys are handled securely with proper memory management
- The library uses post-quantum algorithms resistant to quantum attacks
- Regular security audits and updates are recommended
## GitHub Repository
The complete source code, documentation, and examples are available at:
**https://github.com/yourusername/sudarshan_engine**
## Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Add tests for new functionality
4. Ensure all tests pass
5. Submit a pull request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Support
For questions, issues, or contributions:
- Open an issue on GitHub
- Check the documentation in the `docs/` directory
- Review the examples in the `examples/` directory
## Roadmap
- Additional post-quantum algorithms
- Hardware acceleration support
- WebAssembly bindings
- Integration with popular Python frameworks
- Performance optimizations
The Sudarshan Engine Python bindings provide a powerful, secure, and easy-to-use interface for integrating post-quantum cryptography into Python applications.
Raw data
{
"_id": null,
"home_page": null,
"name": "sudarshan-engine",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Sudarshan Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4b/2e/1a2b3013aae027a4c55101241d7ef20ffe470babfaa159eb3a1581a1d492/sudarshan_engine-1.0.0b7.tar.gz",
"platform": null,
"description": "# Sudarshan Engine - Python Bindings\n\n## What is Sudarshan Engine?\n\nSudarshan Engine is a high-performance, post-quantum secure cryptographic library written in C, designed to provide robust cryptographic primitives for modern applications. It implements state-of-the-art cryptographic algorithms including:\n\n- **Post-Quantum Key Encapsulation Mechanisms (KEM)**: Kyber768 for quantum-resistant key exchange\n- **Digital Signatures**: Dilithium for quantum-secure signatures\n- **Symmetric Encryption**: AES-GCM for fast, secure data encryption\n- **Hash Functions**: SHA3-512 for cryptographic hashing\n- **Key Derivation**: HKDF for secure key derivation\n- **Random Number Generation**: Cryptographically secure random bytes\n\nThe library is built with security, performance, and ease of use in mind, providing both low-level C APIs and high-level Python bindings.\n\n## Python Bindings Overview\n\nThe Python bindings (`sudarshan-engine`) provide a user-friendly interface to the Sudarshan Engine C library, allowing Python developers to easily integrate post-quantum cryptography into their applications.\n\n**Key Features:**\n- Complete ctypes-based bindings to the C library\n- Pythonic API with automatic error handling\n- Support for all major cryptographic operations\n- Cross-platform compatibility (Linux, macOS, Windows)\n- No external dependencies beyond the C library\n\n## Installation\n\n```bash\npip install sudarshan-engine\n```\n\n**Requirements:**\n- Python 3.6+\n- The Sudarshan Engine shared library (`libsudarshan.so` on Linux, `libsudarshan.dylib` on macOS, `sudarshan.dll` on Windows)\n\n## Quick Start\n\n```python\nfrom sudarshan.crypto import create_engine, generate_kem_keypair, encrypt, decrypt\n\n# Initialize the crypto engine\nengine = create_engine()\n\n# Generate a keypair for key encapsulation\npublic_key, secret_key = generate_kem_keypair(engine)\n\n# Encrypt data\nciphertext = encrypt(engine, public_key, b\"Hello, World!\")\n\n# Decrypt data\nplaintext = decrypt(engine, secret_key, ciphertext)\n\nprint(plaintext) # b\"Hello, World!\"\n```\n\n## API Reference\n\n### Core Functions\n\n- `create_engine()`: Initialize a new crypto engine instance\n- `cleanup_engine(engine)`: Clean up engine resources\n- `generate_kem_keypair(engine)`: Generate Kyber768 keypair\n- `kem_encapsulate(engine, public_key)`: Encapsulate shared secret\n- `kem_decapsulate(engine, secret_key, ciphertext)`: Decapsulate shared secret\n- `generate_sig_keypair(engine)`: Generate Dilithium signature keypair\n- `sign(engine, secret_key, message)`: Sign a message\n- `verify(engine, public_key, message, signature)`: Verify a signature\n- `sym_encrypt(engine, key, plaintext)`: Symmetric encryption\n- `sym_decrypt(engine, key, ciphertext)`: Symmetric decryption\n- `hash_sha3_512(data)`: Compute SHA3-512 hash\n- `kdf_hkdf(salt, ikm, info, length)`: Key derivation using HKDF\n- `random_bytes(length)`: Generate cryptographically secure random bytes\n\n## Project Structure\n\n```\nsudarshan_engine/\n\u251c\u2500\u2500 CMakeLists.txt # Main C build system\n\u251c\u2500\u2500 src/ # C core library source\n\u2502 \u251c\u2500\u2500 crypto.c\n\u2502 \u251c\u2500\u2500 crypto.h\n\u2502 \u2514\u2500\u2500 ...\n\u251c\u2500\u2500 include/ # Public C headers\n\u251c\u2500\u2500 bindings/\n\u2502 \u2514\u2500\u2500 python/ # Python bindings\n\u2502 \u251c\u2500\u2500 sudarshan/\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 crypto.py # High-level Python API\n\u2502 \u2502 \u2514\u2500\u2500 _bindings.py # Low-level ctypes bindings\n\u2502 \u251c\u2500\u2500 tests/\n\u2502 \u2502 \u2514\u2500\u2500 test_crypto.py\n\u2502 \u251c\u2500\u2500 setup.py\n\u2502 \u2514\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 tests/ # C library tests\n\u251c\u2500\u2500 docs/ # Documentation\n\u2514\u2500\u2500 examples/ # Usage examples\n```\n\n## Security Considerations\n\n- All cryptographic operations are performed in the C library for maximum security\n- Keys are handled securely with proper memory management\n- The library uses post-quantum algorithms resistant to quantum attacks\n- Regular security audits and updates are recommended\n\n## GitHub Repository\n\nThe complete source code, documentation, and examples are available at:\n**https://github.com/yourusername/sudarshan_engine**\n\n## Contributing\n\nContributions are welcome! Please:\n1. Fork the repository\n2. Create a feature branch\n3. Add tests for new functionality\n4. Ensure all tests pass\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\nFor questions, issues, or contributions:\n- Open an issue on GitHub\n- Check the documentation in the `docs/` directory\n- Review the examples in the `examples/` directory\n\n## Roadmap\n\n- Additional post-quantum algorithms\n- Hardware acceleration support\n- WebAssembly bindings\n- Integration with popular Python frameworks\n- Performance optimizations\n\nThe Sudarshan Engine Python bindings provide a powerful, secure, and easy-to-use interface for integrating post-quantum cryptography into Python applications.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python bindings for Sudarshan Engine - A high-performance cryptographic library providing post-quantum secure algorithms including KEM, signatures, symmetric encryption, and hashing.",
"version": "1.0.0b7",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "54dc8b22012db8af17c6022f55e618fdb207034a1ef7837070b28a04ea8a0333",
"md5": "ea82d68e7a879164b7788087b44ae14e",
"sha256": "8536f10ff6682b445391faf7ba8af37345e50551d1ff13a1791477cb16e96397"
},
"downloads": -1,
"filename": "sudarshan_engine-1.0.0b7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea82d68e7a879164b7788087b44ae14e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6777,
"upload_time": "2025-09-05T11:39:40",
"upload_time_iso_8601": "2025-09-05T11:39:40.896196Z",
"url": "https://files.pythonhosted.org/packages/54/dc/8b22012db8af17c6022f55e618fdb207034a1ef7837070b28a04ea8a0333/sudarshan_engine-1.0.0b7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4b2e1a2b3013aae027a4c55101241d7ef20ffe470babfaa159eb3a1581a1d492",
"md5": "80d8223e1f8a1b9ba7c478eca288f867",
"sha256": "1ae84562c6527da6492393b450993a4a29ebe5c62d9f91e453a26292d3d3268f"
},
"downloads": -1,
"filename": "sudarshan_engine-1.0.0b7.tar.gz",
"has_sig": false,
"md5_digest": "80d8223e1f8a1b9ba7c478eca288f867",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8462,
"upload_time": "2025-09-05T11:39:42",
"upload_time_iso_8601": "2025-09-05T11:39:42.474162Z",
"url": "https://files.pythonhosted.org/packages/4b/2e/1a2b3013aae027a4c55101241d7ef20ffe470babfaa159eb3a1581a1d492/sudarshan_engine-1.0.0b7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-05 11:39:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "sudarshan-engine"
}