{"id":27000079,"url":"https://github.com/arec1b0/quantum_cryptographic_toolkit","last_synced_at":"2025-10-18T12:02:58.374Z","repository":{"id":253040154,"uuid":"842282789","full_name":"arec1b0/quantum_cryptographic_toolkit","owner":"arec1b0","description":"The Quantum Cryptographic Toolkit (QCT) is a comprehensive framework designed to facilitate the development, testing, and deployment of quantum-resistant cryptographic algorithms. ","archived":false,"fork":false,"pushed_at":"2024-09-04T00:22:10.000Z","size":74,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T23:33:59.388Z","etag":null,"topics":["algorithms-included","modular-design","security-analysis"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arec1b0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-14T03:21:45.000Z","updated_at":"2024-11-29T13:42:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1b34914-5c21-46a9-a5f3-67465c743ab8","html_url":"https://github.com/arec1b0/quantum_cryptographic_toolkit","commit_stats":null,"previous_names":["dkrizhanovskyi/quantum_cryptographic_toolkit","arec1b0/quantum_cryptographic_toolkit"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arec1b0%2Fquantum_cryptographic_toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arec1b0%2Fquantum_cryptographic_toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arec1b0%2Fquantum_cryptographic_toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arec1b0%2Fquantum_cryptographic_toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arec1b0","download_url":"https://codeload.github.com/arec1b0/quantum_cryptographic_toolkit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247112849,"owners_count":20885617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms-included","modular-design","security-analysis"],"created_at":"2025-04-04T03:18:44.876Z","updated_at":"2025-10-18T12:02:58.279Z","avatar_url":"https://github.com/arec1b0.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantum Cryptographic Toolkit\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13317139.svg)](https://doi.org/10.5281/zenodo.13317139)\n\n## Description\n\nThe Quantum Cryptographic Toolkit is a collection of tools and libraries written in Rust, designed to develop, test, and deploy quantum-resistant cryptographic algorithms. It supports several well-known quantum-safe algorithms, making it a powerful resource for post-quantum cryptography.\n\n## Project Structure\n\nThe project is structured as follows:\n\n- **src/algorithms/**: Contains implementations of various quantum-resistant cryptographic algorithms, including:\n  - **NewHope**: Lattice-based key exchange.\n  - **SPHINCS+**: Stateless hash-based digital signature scheme.\n  - **McEliece**: Code-based cryptosystem.\n  - **SIKE**: Supersingular isogeny-based key encapsulation mechanism.\n  - **FrodoKEM** and **Kyber** (located in `experimental`): Lattice-based key encapsulation algorithms.\n  \n- **src/profiling/**: Contains tools for profiling the performance of cryptographic algorithms.\n  \n- **src/core.rs**: Core library functionality providing the main interface for interacting with the algorithms and profiling tools.\n  \n- **src/main.rs**: Entry point for running algorithm demonstrations and profiling.\n\n## Usage\n\nTo use the toolkit, you can initialize the core library and run demonstrations or profiling as shown below:\n\n```rust\nuse quantum_cryptographic_toolkit::core::CryptoToolkit;\n\nfn main() {\n    let toolkit = CryptoToolkit::new();\n    toolkit.run_algorithm_demo();\n    toolkit.profile_algorithms();\n}\n```\n\n### Example - Using NewHope Algorithm\n\nHere’s a simple example that demonstrates how to use the NewHope algorithm for key exchange:\n\n```rust\nuse quantum_cryptographic_toolkit::algorithms::newhope::NewHope;\n\nfn main() {\n    let newhope = NewHope::new();\n    let public_key = vec![1, 2, 3, 4];\n    let shared_secret = newhope.exchange(\u0026public_key);\n    println!(\"Shared secret: {:?}\", shared_secret);\n}\n```\n\n## Installation\n\nTo include the Quantum Cryptographic Toolkit in your Rust project, add the following to your `Cargo.toml`:\n\n```toml\n[dependencies]\nquantum_cryptographic_toolkit = { path = \"path/to/quantum_cryptographic_toolkit\" }\n```\n\nEnsure that you have all the necessary dependencies installed, and run `cargo build` to compile the project.\n\n## Running with Docker\n\nYou can also use Docker to containerize and run the toolkit. To build and run the Docker image:\n\n```bash\npodman build -t quantum_cryptographic_toolkit .\npodman run --rm -it quantum_cryptographic_toolkit\n```\n\nThis will build the Docker container and run the project inside an isolated environment.\n\n## Examples\n\nThe repository contains several examples that demonstrate how to use the various cryptographic algorithms. You can run them by using `cargo run --example \u003cexample_name\u003e`. Examples include:\n\n- **NewHope Example**:\n  ```bash\n  cargo run --example newhope_example\n  ```\n\n- **SPHINCS+ Example**:\n  ```bash\n  cargo run --example sphincs_example\n  ```\n\n## Contributing\n\nContributions are welcome! Please follow the guidelines outlined in the [CONTRIBUTING.md](CONTRIBUTING.md) file. Contributions can include bug reports, feature requests, or even improvements to the cryptographic algorithms implemented.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farec1b0%2Fquantum_cryptographic_toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farec1b0%2Fquantum_cryptographic_toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farec1b0%2Fquantum_cryptographic_toolkit/lists"}