CRYSTAL is a secure storage prototype ensuring data integrity and confidentiality through reversible encryption, data fragmentation, dynamic compression, and zero-knowledge verification. Prototype considered ideal for small-to-medium sized datasets (<1 GB).
- Reversible Encryption: Enables data integrity checks and recovery without full decryption.
- Data Fragmentation: Splits data into encrypted fragments for distribution across nodes.
- Dynamic Compression: Reduces storage overhead while maintaining data fidelity.
- Zero-Knowledge Verification: Verifies data integrity without exposing the actual data.
-
Clone the repository:
git clone https://github.com/yourusername/crystal.git cd crystal
-
Install dependencies:
pip install -r requirements.txt
-
Generate Encryption Keys:
Run the following Python script to generate and save encryption keys:
from crystal_storage.encryption import EncryptionManager manager = EncryptionManager() manager.serialize_keys()
Configure the system by editing the config/config.yaml
file:
fragment_size: 1024 # Size in bytes
node_paths:
- ../data/node1
- ../data/node2
- ../data/node3
encryption_keys:
private_key: ../config/private_key.pem
public_key: ../config/public_key.pem
logging:
level: INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
python scripts/store_data.py
python scripts/verify_integrity.py
python scripts/recover_data.py
python benchmarks/benchmark_test.py
We welcome contributions to enhance CRYSTAL! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description of your changes.
- For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE
file for details.
Ensure that you keep your encryption keys secure. Use version control systems responsibly, avoiding the accidental inclusion of sensitive data.
CRYSTAL provides an innovative, secure, and efficient way to manage and safeguard data. We look forward to your feedback and contributions!