Professional Offline Cryptographic & HSM Simulation Platform
KeyLock is a comprehensive cryptographic calculator and Hardware Security Module (HSM) command simulator designed for:
- Payments Engineers
- Cryptography Specialists
- Security Professionals
- HSM Operators
- Payment Card Industry (PCI) Teams
β
100% Offline Operation - No cloud, no telemetry, no analytics
β
Comprehensive Crypto Tools - AES, DES, RSA, ECC, hashing, MAC
β
HSM Simulation - Thales, Atalla, SafeNet command sets
β
Payments Focused - CVV, PIN, MAC, DUKPT, EMV operations
β
Secure by Design - Encrypted storage, memory zeroization, auto-lock
β
Professional UI - Dark green theme, expert-focused workflow
Complete cryptographic operations suite with 7 main categories:
- Main - AES/DES encryption, modes (ECB, CBC, CFB, OFB), KCV
- Generic - Hashes, encoding, BCD, Base64, UUID
- Cipher - AES, DES, RSA, ECC, ECDSA, FPE
- Keys - Key generation, HSM keys, key blocks (Thales, TR-31)
- Payments - CVV, MAC, PIN, DUKPT, card validation
- EMV - Cryptograms, SDA, DDA, secure messaging, ATR/APDU parsing
- Development - Padding, trace parsing, bit operations
Offline HSM command simulation engine supporting:
- Thales - 100+ commands (NO, A0, A6, CA, BK, etc.)
- Atalla - Core PIN, key, and MAC commands
- SafeNet - Encryption and key management commands
Features:
- Command console with history
- Structured request/response parsing
- Encrypted audit logging
- Load testing capability
- Master password authentication
- Auto-lock on inactivity
- AES-256-GCM encrypted storage
- Secure memory zeroization
- Future: Biometric authentication
| Component | Technology |
|---|---|
| Language | Kotlin 2.0.21 |
| UI Framework | Jetpack Compose |
| Architecture | MVVM + Clean Architecture |
| Cryptography | Java Cryptography Architecture (JCA) |
| Platform | Android (iOS/Desktop planned) |
| Build | Gradle with Kotlin DSL |
Coming soon: Screenshots of Crypto Calculator, HSM Commander, and Console output
- Android Studio Ladybug or later
- JDK 21
- Android SDK 26+ (minimum)
- Android SDK 36 (target)
- Clone the repository:
git clone https://github.com/yourusername/keylock.git
cd keylock-
Open in Android Studio
-
Sync Gradle dependencies
-
Build and run:
./gradlew assembleDebugOr use Android Studio's Run button.
No configuration needed - the app is 100% offline and requires no API keys or external services.
- Launch KeyLock
- Enter master password (minimum 8 characters)
- Navigate to Crypto Calculator
- Select algorithm: AES-256, mode: CBC
- Input:
- Key (64 hex characters)
- Data (hex or ASCII)
- IV (32 hex characters)
- Click ENCRYPT
- View result in console
- Navigate to HSM Commander
- Select Thales vendor
- Enter command:
NO00(diagnostics) - Click EXECUTE
- View response:
NP00SIM-KEYLOCK-001
See KEYLOCK_PRO_DOCUMENTATION.md for:
- Complete feature documentation
- Architecture details
- API reference
- Security considerations
- Implementation roadmap
βββββββββββββββββββββββββββββββββββββββββββ
β UI Layer (Compose) β
β ββββββββββββββ¬βββββββββββ¬βββββββββββββ β
β β Crypto β HSM β Security β β
β β Calculator βCommander β Vault β β
β ββββββββββββββ΄βββββββββββ΄βββββββββββββ β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββββββββ
β Domain Layer (Business Logic) β
β ββββββββββββββ¬βββββββββββ¬βββββββββββββ β
β β Crypto β HSM β Security β β
β β Engine β Engine β Manager β β
β ββββββββββββββ΄βββββββββββ΄βββββββββββββ β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββββββββ
β Data Layer (Storage) β
β Encrypted SharedPreferences β
βββββββββββββββββββββββββββββββββββββββββββ
β
Master password authentication
β
Encrypted local storage (AES-256-GCM)
β
Memory zeroization for sensitive data
β
No network connectivity
β
Auto-lock on inactivity
β³ Biometric authentication (fingerprint, face)
β³ Hardware device binding
β³ Tamper detection
β³ Screen capture prevention
Automated Build Workflow:
Build KeyLock - Builds APK artifacts
- Triggers: Push to dev/qa/main
- Creates: APK files for installation
- Artifacts:
keylock-{branch}-{timestamp}-apk
APK Downloads:
| Branch | Artifact Name | Build Type | Retention |
|---|---|---|---|
| dev | keylock-dev-{timestamp}-apk |
Debug APK | 30 days |
| qa | keylock-qa-{timestamp}-apk |
Release APK | 30 days |
| main | keylock-main-{timestamp}-release |
Signed APK + AAB | 90 days |
Timestamp format: ddmmyyyyhhmmss (e.g., 24022026143000)
Getting the APK:
- Go to GitHub β Actions tab
- Click Build KeyLock workflow (not Code Quality)
- Scroll to Artifacts section
- Download the timestamped APK
Workflow:
- Develop on
devbranch (automatic debug builds) - Merge to
qafor QA team testing (automatic release builds) - Merge to
mainfor production (automatic signing & Play Store artifacts)
Version Number: Each build gets a unique version based on build time (ddmmyyyyhhmmss)
- Complete Payment menu tools (CVV, DUKPT, PIN)
- Complete EMV menu tools (cryptograms, SDA/DDA)
- Full RSA implementation
- Settings screen
- Compose Multiplatform (Desktop support)
- Biometric authentication
- Import/export encrypted backups
- Real HSM integration
- Smartcard reader support
- Advanced scripting
Proprietary - All Rights Reserved
This is professional software for cryptography and payments engineers.
This is a proprietary project. For collaboration inquiries, please contact the maintainer.
This software is for professional use only. It provides cryptographic operations for:
- Development and testing
- HSM simulation and training
- Cryptographic validation
- Payment system integration testing
Not intended for:
- Production payment processing
- Real financial transactions
- Replacement for certified HSM hardware
Always use certified, audited cryptographic solutions for production systems.
For professional support and inquiries:
- Email: support@keylock.pro (coming soon)
- CI/CD Setup: See CI_CD.md
KeyLock - Professional Cryptographic Tools for Payments Engineers
100% Offline β’ Zero Telemetry β’ Secure Local Storage