-
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
cryptographyUtility related to cryptographyUtility related to cryptographyenhancementNew feature or requestNew feature or requestrustPull requests that update rust codePull requests that update rust codetauriWorking with tauri frameworkWorking with tauri framework
Description
Description
Implement a comprehensive HOTP (HMAC-based One-Time Password) tool based on RFC 4226 standard. This tool will provide HOTP generation, validation, counter management, and synchronization features for event-based one-time password authentication systems.
HOTP is a counter-based OTP algorithm where the moving factor is an incrementing counter rather than time. Each generated password remains valid until the next password is requested and validated, making counter synchronization between client and server critical for proper operation.
Feature Requirements
Core HOTP Functionality
- Generate HOTP codes based on shared secret and counter value
- Validate HOTP codes with counter synchronization
- Support multiple hash algorithms (SHA-1, SHA-256, SHA-512)
- Configurable code lengths (4, 6, 7, 8 digits)
- Counter management and increment operations
- Look-ahead window for counter synchronization
Counter Management
- Counter initialization and configuration
- Counter increment and decrement operations
- Counter synchronization with tolerance windows
- Counter backup and restoration
- Bulk counter operations
- Counter drift detection and correction
Key Management
- Generate cryptographically secure random secrets
- Base32 encoding/decoding for secret keys
- Import/export HOTP configurations
- Secret validation and format conversion
- Multiple HOTP profile management
QR Code Integration
- Generate QR codes for HOTP setup (otpauth:// URLs)
- Parse and import from QR codes
- Support standard HOTP URL format with counter parameter
- Custom QR code styling and export
Advanced Features
- Counter synchronization analysis
- HOTP configuration backup/restore
- Batch HOTP operations with counter management
- Historical counter validation
- Counter resynchronization utilities
Metadata
Metadata
Assignees
Labels
cryptographyUtility related to cryptographyUtility related to cryptographyenhancementNew feature or requestNew feature or requestrustPull requests that update rust codePull requests that update rust codetauriWorking with tauri frameworkWorking with tauri framework
Projects
Status
No status