remove all external crypto libraries

This commit is contained in:
2025-08-10 08:47:17 -04:00
parent 4b822962bb
commit f521349cc0
4 changed files with 147 additions and 153 deletions

View File

@@ -25,10 +25,11 @@ Current version can be viewed with: `./otp --help` or by running the interactive
### Prerequisites
- GCC compiler
- OpenSSL development libraries (`libssl-dev` on Ubuntu/Debian)
- Git (for version tracking)
- Make
**Note: OpenSSL is no longer required! This implementation is now completely self-contained.**
### Build Commands
Use the included build script for automatic versioning:
@@ -125,10 +126,11 @@ These files are excluded from git (.gitignore) and regenerated on each build.
## Security Features
- Uses `/dev/urandom` for cryptographically secure random number generation
- Optional keyboard entropy mixing using HKDF (Hash-based Key Derivation Function)
- SHA-256 pad integrity verification
- Optional keyboard entropy mixing using simple XOR operations
- Custom 256-bit XOR checksum for pad identification (encrypted with pad data)
- Read-only pad files to prevent accidental modification
- State tracking to prevent pad reuse
- **Zero external crypto dependencies** - completely self-contained implementation
## File Structure