Skip to content

Conversation

@ChronoCoders
Copy link
Owner

No description provided.

- Update imports to use crate::commands::shamir instead of crate::shamir
- Add proper trait imports for RSA PKCS8 operations (DecodePrivateKey, EncodePrivateKey)
- Fix Share field references: use 'id' instead of non-existent 'index' and 'key_id'
- Fix HermesError::DecryptionFailed to use unit variant (no arguments)
- Add shamir module export to commands/mod.rs
- Remove duplicate shamir module declaration from lib.rs
- Implement inline key saving logic to replace missing save_private_key function
- Prefix unused prime parameter with underscore
- Remove redundant bounds check (u8 cannot exceed 255)
The prime parameter was not being used in the function, so it has been
removed from the signature entirely rather than suppressing the warning.
- Moved src/commands/shamir.rs to src/shamir.rs
- Updated src/lib.rs to export shamir module
- Removed shamir from src/commands/mod.rs
- Updated imports in key_recover.rs, key_split.rs, and share_verify.rs
- Remove unnecessary borrows for hasher.update() calls
- Use enumerate() with iter() instead of range loops
- Use += operator instead of manual assignment
- Add key-split, key-recover, and share-verify CLI commands to main.rs
- Fix u8 overflow bug by using u16 for share y-values (prime 257 needs 0-256)
- Fix modular arithmetic in Lagrange interpolation for negative intermediates
- Add comprehensive unit tests for secret sharing
- All byte values (0-255) now correctly split and recover
Major release adding hybrid RSA + Kyber encryption for quantum-safe security:

- Add pqc_kyber dependency for ML-KEM 1024
- Create src/crypto/pqc.rs module with Kyber key generation, encryption, decryption
- Update EncryptedPackage format to version 0x02 with PQC fields
- Implement hybrid encryption (RSA-4096 + Kyber-1024) for multi-recipient mode
- Add --pqc flag to keygen command for hybrid keypair generation
- Add --pqc flag to send-file for post-quantum encryption
- Maintain backward compatibility with v1.3.1 packages
- Add comprehensive tests (11 tests: Kyber, serialization, backward compatibility)
- Zero clippy warnings

Security features:
- Both RSA AND Kyber must be broken to decrypt (hybrid security)
- Automatic version detection for backward compatibility
- Keys stored in PEM format with clear labels
Complete the v2.0.0 PQC feature set with:
- import-kyber-pubkey: Import recipient's Kyber public key
- export-kyber-pubkey: Export your Kyber public key

This enables sharing of PQC keys for hybrid encryption workflows.
- Add pqcrypto-dilithium dependency for NIST PQC signatures
- Implement Dilithium-5 key generation, signing, and verification
- Add sign-file command for creating post-quantum signatures
- Add verify-signature command with automatic key extraction
- Update keygen with --sign flag for Dilithium keypair generation
- Store Dilithium keys in PEM format with SHA-256 fingerprints
- Include comprehensive test suite for signature operations
- Implement key-rotate command for secure key rotation
- Support archiving old keys with timestamped backups
- Allow rotation of RSA, Kyber (PQC), and Dilithium keys
- Add list-archived-keys command to view rotation history
- Create rotation metadata tracking for audit purposes
- Maintain backward compatibility with old encrypted files
- Implement LSB steganography for hiding data in PNG images
- Add stego-hide command for embedding encrypted files in images
- Add stego-reveal command for extracting hidden data from images
- Add stego-capacity command for checking image capacity
- Support password and recipient-based encryption for hidden data
- Include analysis tools for detecting steganographic content
- Add magic header verification for data integrity
- Comprehensive test suite with roundtrip and capacity tests
- Add comprehensive documentation for Post-Quantum Cryptography (v2.0.0)
- Document Dilithium digital signatures feature (v2.1.0)
- Document key rotation mechanism (v2.2.0)
- Document steganography support (v2.3.0)
- Include Shamir's Secret Sharing notes (v1.3.1)
- Add usage examples and migration guides
- Update version links for GitHub releases
Change &PathBuf to &Path in archive_key_file function signature
Remove unused PathBuf import and use or_default() idiom
- Full-featured browser-based interface at http://localhost:8080
- Key management (generate, rotate, archive, list)
- Message/file encryption and decryption
- Digital signatures with Dilithium-5
- Steganography analysis
- REST API with 13 endpoints
- Dark theme with military-grade aesthetic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants