sudarshan-engine


Namesudarshan-engine JSON
Version 1.0.0b7 PyPI version JSON
download
home_pageNone
SummaryPython bindings for Sudarshan Engine - A high-performance cryptographic library providing post-quantum secure algorithms including KEM, signatures, symmetric encryption, and hashing.
upload_time2025-09-05 11:39:42
maintainerNone
docs_urlNone
authorSudarshan Team
requires_pythonNone
licenseMIT
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"
}
        
Elapsed time: 0.65242s