Tsotchke Quantum Random Number Generator (QRNG)
This project is a Rust library that implements Tsotchkes Quantum Random Number Generator (QRNG) along with various functionalities related to cryptography, finance, games, and statistical analysis. The library leverages quantum mechanics principles to generate random numbers, which can be used in various applications requiring high-quality randomness.
Features
- Core Functionality: Implements the quantum random number generation logic.
- Cryptography: Provides key exchange and key derivation algorithms utilizing quantum RNG.
- Finance: Includes Monte Carlo simulations and options pricing models based on quantum RNG.
- Games: Implements the logic for a quantum dice game.
- Statistical Analysis: Contains statistical tests and validation functions to ensure the quality of randomness.
Getting Started
Prerequisites
- Rust (version 1.60 or higher)
- Cargo (Rust's package manager and build system)
Installation
To use this library in your project, add the following to your Cargo.toml:
[]
= { = "../path_to_rust_qrng" }
Usage
Here is a simple example of how to use the QRNG library:
use quantum_rng;
Running Tests
To run the tests for this library, use the following command:
Examples
Examples of how to use the various functionalities of the library can be found in the examples directory. You can run an example using:
Packaging and Publishing
Building for Release
After development, build the optimized release version:
Packaging the Crate
Before publishing, package the crate to verify everything is included:
To see what files will be included in the package:
Publishing to Crates.io
- Get an API token from crates.io
- Login with your token:
- Publish the crate:
Dry Run Publishing
To test publishing without actually uploading:
Troubleshooting Packaging Issues
If you encounter packaging errors:
- Check required metadata - Ensure all fields in
Cargo.tomlare present - Verify file permissions - Make sure all files are readable
- Check for missing files - Ensure LICENSE, README.md, and src/ exist
- Clean and retry:
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for any suggestions or improvements.
License
This project is licensed under the MIT License - see the LICENSE file for details.