Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Quantum-Worm
Quantum-Worm is a Rust crate that implements a secure, quantum-resistant file transfer system. By leveraging post-quantum cryptographic algorithms, it ensures robust security for file transfers, protecting against potential future threats from quantum computing.
Features
- Quantum-Resistant Cryptography: Utilizes state-of-the-art post-quantum cryptographic algorithms for key encapsulation.
- Secure File Transfer: Facilitates the secure transfer of files of any size and type.
- Efficient Serialization: Employs
serdeandbincodefor fast and compact serialization of file metadata. - Asynchronous Operations: Implements non-blocking file transfers using the
tokioruntime. - Symmetric Encryption: Uses AES-GCM for efficient and secure symmetric encryption of file contents.
Installation
Add Quantum-Worm to your Cargo.toml:
[]
= "0.1.0"
Usage
Here's a basic example demonstrating how to use the Quantum-Worm crate for file transfer:
use ;
use tokio;
async
API Reference
send_file
pub async
Encrypts and sends a file to the specified destination.
destination: The path where the encrypted file will be saved.data: The file contents to be sent.
receive_file
pub async
Receives and decrypts a file from the specified source.
source: The path of the encrypted file to be received.- Returns the decrypted file contents.
Security Considerations
Quantum-Worm uses the following cryptographic primitives:
- Kyber: A lattice-based key encapsulation mechanism (KEM) for quantum-resistant key exchange.
- AES-GCM: For symmetric encryption of file contents.
- Secure random number generation: Provided by the
randcrate.
While these algorithms are considered secure against known quantum attacks, it's important to keep the crate updated and follow best practices for key management and secure coding.
Error Handling
The crate uses a custom Error type that encompasses various error conditions:
- IO errors
- Serialization/deserialization errors
- Encryption/decryption errors
- Key generation errors
Always handle potential errors when using the crate's functions.
Performance Considerations
- File transfers are performed asynchronously, allowing for efficient handling of multiple transfers.
- The use of
bincodefor serialization provides a good balance between speed and compact representation. - For large files, consider implementing chunked transfers to manage memory usage.
Contributing
Contributions to Quantum-Worm are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
While Quantum-Worm uses post-quantum cryptographic algorithms, the security landscape is constantly evolving. Always stay informed about the latest developments in cryptography and update your security practices accordingly.