Short: Password manager for AmigaOS 3.2 Author: lumipass@amigaworld.de (Matthias Muench) Uploader: lumipass amigaworld de (Matthias Muench) Type: util/misc Version: 1.2 Replaces: util/misc/LumiPass* Requires: MUI 3.8, NList.mcc, BetterString.mcc, TextEditor.mcc Architecture: m68k-amigaos >= 3.2 Distribution: Aminet LumiPass is a native password manager for AmigaOS 3.2 with a full MUI 3.8 (v19) graphical interface. It uses modern ChaCha20-Poly1305 authenticated encryption (RFC 8439) for its native database format and can import and export KeePass files, so you can seamlessly use it alongside KeePassXC and other KeePass-compatible password managers on modern platforms. FEATURES -------- - Native .lumi database format (ChaCha20-Poly1305 AEAD, RFC 8439; optional Argon2id key derivation) - Versioned .bak backups before each save (configurable depth, 1-9) - Full CRUD: title, username, password, URL, multi-line notes - Hierarchical group tree - Trash for deleted entries: restore or purge permanently, persisted inside the .lumi database - Real-time password strength indicator with a 16,792-word common-password dictionary - Password generator (length, character classes, ambiguous-character exclusion) - Diceware passphrase generator (EFF long word list) - Clipboard copy with configurable auto-clear timer - Full-text search across all fields - Auto-lock after configurable idle time - Minimise to AppIcon on the Workbench - Import: KeePass 1.x (.kdb), KeePass 2.x and 4.0 (.kdbx, with key files), CSV, 2FAS Pass, Bitwarden, 1Password (.1pux) and Proton Pass (all unencrypted exports) - Export: KeePass 1.x (.kdb), KeePass 2.x (.kdbx v3.1), KeePass 4.0 (.kdbx v4), CSV, XML, HTML - Merge two .lumi databases locally (with the import conflict dialog) -- reconcile two machines without cloud sync - Atomic save (.tmp + rename) of the database protects against data loss on power-cut or crash - Single-instance check (Workbench double-click brings the running instance to front) - Full ARexx scripting interface (port LUMIPASS) - Automatic update check via signature verification, optionally silent on program start - Optional online pwned-check (Have I Been Pwned k-anonymity API): only the first 5 hex characters of the SHA-1 leave the Amiga; plain password and full hash stay local - Password audit report: finds reused, weak, old and empty passwords offline, with an optional breach check (+ HIBP) - AmigaGuide documentation (incl. ARexx reference) - Localisation: English, German CRYPTOGRAPHY ------------ Primary cipher: ChaCha20-Poly1305 AEAD (RFC 8439) Key derivation: PBKDF2-HMAC-SHA256 (default) or, optionally, the memory-hard Argon2id (.lumi format v2) Additional ciphers: AES-256, Salsa20, BLAKE2b, Argon2d/id, SHA-1, SHA-256, SHA-512, HMAC-SHA-256 All primitives are implemented in pure C, byte-portable, with no external crypto library. Verified against RFC test vectors and round-trip tested with KeePassXC and pykeepass. The master password is never kept in memory -- only the derived key plus salt are cached while the database is unlocked. Password comparisons use a constant-time memcmp to avoid timing attacks. REQUIREMENTS ------------ - AmigaOS 3.2 or compatible - Motorola 68020 or higher - 2 MB RAM free (8 MB recommended) - MUI 3.8 (v19) or higher - NList.mcc, BetterString.mcc, TextEditor.mcc - AmiSSL 5.x - TCP/IP stack (optional -- only for the automatic update check) INSTALLATION ------------ Recommended: open the archive, double-click the "Install" icon in the LumiPass/ drawer and follow the AmigaOS Installer (English or German). It copies the binary, the localisation catalogs and the AmigaGuide help files to the location you choose. Manual install: copy the LumiPass binary and its .info icon wherever you like, e.g. SYS:Tools/, place the catalogs in LOCALE:Catalogs// and the guides in HELP:/. Without catalogs, the built-in English strings are used. TOOLTYPES --------- DEFAULTDB= Open this file on startup AUTOLOCK= Auto-lock interval (0 = disabled) CLIPCLEAR= Clipboard timeout (0 = disabled) KDFITER= KDF cost: HIGH / NORMAL / FAST or 1000-1000000 LANGUAGE= Force catalog (deutsch/english) NOUPDATECHECK=1 Disable automatic update check on start ICONIFY=YES Start iconified (AppIcon only, no window) CX_PRIORITY= Commodity priority (default 0) CX_POPUP=YES|NO Open main window on launch (default YES) CX_POPKEY= Override Commodity hotkey (default: ctrl alt p) DOCUMENTATION ------------- Help/English/LumiPass.guide AmigaGuide (English) Help/Deutsch/LumiPass.guide AmigaGuide (German) CHANGELOG --------- 1.2 (Build 306, 5 July 2026) - Optional Argon2id key derivation for .lumi databases (memory-hard, selectable per database); PBKDF2 stays the default and existing databases remain compatible. - Password audit report: reused, weak, old and empty passwords offline, with an optional Have I Been Pwned check. - Trash for deleted entries -- deletion is recoverable (restore or purge permanently), stored in the database. - Versioned .bak backups with a configurable number of generations (1-9). - Merge a second .lumi database locally via the import conflict dialog (reconcile two machines without any cloud). - New importers: Bitwarden JSON, 1Password (.1pux) and Proton Pass, plus unencrypted 2FAS Pass backups (.2faspass); login items only. - Various bugfixes and improvements 1.1 (Build 305, 27 May 2026) - Online Pwned-Check (Have I Been Pwned, k-anonymity API): optional, opt-in only. Per-entry button in the edit form, batch check across the whole database with a result list. - Locked database is held in memory only as a ChaCha20- Poly1305 encrypted snapshot. Plaintext entries are no longer visible in a memory dump while LumiPass is locked. - ARexx interface (port LUMIPASS) for scripting and automation: scripts can list, search and read entries, create new logins (PUTLOGIN), copy username/password to the clipboard and open/save/lock the database. Master password and import conflicts are handled via response codes; commands that mutate the database are busy-gated against concurrent workers. - TLS certificates are now fully verified (peer + hostname) for both update check and pwned-check. - Crash-safe save: atomic .tmp/.bak rename. If power is lost mid-save, the .tmp is automatically adopted on the next load (if it carries the LumiPass magic). SetProtection() runs before Delete/Rename so .tmp never gets stuck when the previous file had the Pure bit set. - Various bugfixes and improvements 1.0 (Build 254, 29 April 2026) - Initial release. BUILD INFORMATION ----------------- Version: 1.2 (Build 306) Binary size: ~753 KB (stripped) Source code: ~33,202 lines (C + H) Compiler: m68k-amigaos-gcc 6.5.0b Target CPU: m68020+ LICENSE ------- LumiPass is freeware. You may use, copy and redistribute unmodified binaries freely. Redistribution on Aminet and other archives is explicitly permitted. The software is provided "as is", without warranty of any kind. The author is not liable for any damage, data loss, or security breach resulting from the use of this software. Your database is protected only by your master password. There is NO recovery mechanism. If you forget your master password, your data cannot be decrypted. Keep a secure backup of your master password. REGISTRATION ------------ Registration is optional and does not affect functionality. All features are available without limits, with or without a key. A registration is a friendly gesture towards the author and helps plan further development. Two ways to register: 1. With the LumiReg tool (available separately on Aminet) - enter name and email, click "Register". 2. Manually by e-mail to register@amigaworld.de. Please include: Name Name the registration should be issued to Email Address the licence key will be sent to Program Name of the program to register (LumiPass) CONTACT ------- E-mail: lumipass@amigaworld.de Web: https://www.amigaworld.de/ CREDITS ------- Author Matthias Münch Concept, implementation, testing Built with help from Claude Code (Anthropic) AI assistant for pair programming Third-party components Stefan Stuntz MUI 3.8 Gilles Masson, Laurin Woitok, Nick Blackburn NList.mcc (amiga-mui project) Allan Odgaard et al. BetterString.mcc, TextEditor.mcc Olaf Barthel & Oliver Roberts AmiSSL Cryptography authors Daniel J. Bernstein ChaCha20, Poly1305, Salsa20 Joan Daemen, Vincent Rijmen AES/Rijndael Alex Biryukov, Daniel Dinu, Dmitry Khovratovich Argon2 Jean-Philippe Aumasson et al. BLAKE2 Phil Katz DEFLATE Dominik Reichl KeePass Greetings Eisman, lokiist, Fossi, yelworC, cappin, Cego, McFly, LoneRaider, evil4dmin, jdb78 ================================================================ DEUTSCHE VERSION / GERMAN VERSION ================================================================ LumiPass ist ein nativer Passwortmanager für AmigaOS 3.2 mit vollständiger MUI-3.8-Oberfläche (v19). Das native Dateiformat nutzt moderne ChaCha20-Poly1305 authentifizierte Verschlüsselung (RFC 8439); Import und Export im KeePass-Format erlauben die parallele Nutzung mit KeePassXC und anderen KeePass-kompatiblen Programmen auf modernen Systemen. FUNKTIONEN ---------- - Eigenes .lumi-Datenformat (ChaCha20-Poly1305 AEAD, RFC 8439; optionale Argon2id-Schlüsselableitung) - Versionierte .bak-Backups vor jedem Speichern (Tiefe 1-9 einstellbar) - Volles CRUD: Titel, Benutzername, Passwort, URL, mehrzeilige Notizen - Hierarchischer Gruppenbaum - Papierkorb für gelöschte Einträge: wiederherstellen oder endgültig löschen, in der .lumi-Datenbank gespeichert - Echtzeit-Stärkeanzeige mit 16.792-Wort-Wörterbuch gängiger Passwörter - Passwortgenerator (Länge, Zeichenklassen, Ausschluss mehrdeutiger Zeichen) - Diceware-Passphrasen-Generator (EFF-Langwortliste) - Zwischenablage-Kopie mit konfigurierbarem Auto-Clear-Timer - Volltextsuche über alle Felder - Automatisches Sperren nach konfigurierbarer Leerlaufzeit - Minimieren als AppIcon auf der Workbench - Import: KeePass 1.x (.kdb), KeePass 2.x und 4.0 (.kdbx, mit Schlüsseldateien), CSV, 2FAS Pass, Bitwarden, 1Password (.1pux) und Proton Pass (alle unverschlüsselt) - Export: KeePass 1.x (.kdb), KeePass 2.x (.kdbx v3.1), KeePass 4.0 (.kdbx v4), CSV, XML, HTML - Zwei .lumi-Datenbanken lokal zusammenführen (mit dem Import- Konfliktdialog) -- zwei Rechner ohne Cloud abgleichen - Atomares Speichern (.tmp + Rename) der Datenbank schützt vor Datenverlust bei Stromausfall oder Absturz - Single-Instance-Check (Workbench-Doppelklick holt die laufende Instanz nach vorn) - Volle ARexx-Schnittstelle (Port LUMIPASS) - Automatischer Update-Check über Signaturprüfung, optional auch still beim Programmstart - Optionaler Online-Pwned-Check (Have I Been Pwned, k-Anonymity- API): nur die ersten 5 Hex-Zeichen des SHA-1 verlassen den Amiga; das volle Passwort und der volle Hash bleiben lokal - Passwort-Audit-Report: findet wiederverwendete, schwache, alte und leere Passwörter offline, optional mit Leak-Check (+ HIBP) - AmigaGuide-Dokumentation inkl. ARexx-Referenz - Lokalisierung: Deutsch und Englisch KRYPTOGRAPHIE ------------- Primäres Verfahren: ChaCha20-Poly1305 AEAD (RFC 8439) Schlüsselableitung: PBKDF2-HMAC-SHA256 (Standard) oder, optional das speicher-harte Argon2id (.lumi v2) Weitere Verfahren: AES-256, Salsa20, BLAKE2b, Argon2d/id, SHA-1, SHA-256, SHA-512, HMAC-SHA-256 Alle Primitive sind in reinem C implementiert, byte-portabel und ohne externe Krypto-Bibliothek. Verifiziert gegen die RFC-Testvektoren und Roundtrip-getestet gegen KeePassXC und pykeepass. Das Master-Passwort bleibt nicht im Speicher -- nur der davon abgeleitete Schlüssel plus Salt werden zwischengespeichert, solange die Datenbank entsperrt ist. Passwortvergleiche laufen zeitkonstant, um Timing-Angriffe zu vermeiden. SYSTEMVORAUSSETZUNGEN --------------------- - AmigaOS 3.2 oder kompatibel - Motorola 68020 oder höher - 2 MB RAM frei (8 MB empfohlen) - MUI 3.8 (v19) oder höher - NList.mcc, BetterString.mcc, TextEditor.mcc - AmiSSL 5.x - TCP/IP-Stack (optional -- nur für die automatische Update-Prüfung) INSTALLATION ------------ Empfohlen: Archiv öffnen, im Verzeichnis LumiPass/ auf "Install" doppelklicken und dem AmigaOS-Installer folgen (deutsche oder englische Sprache). Er kopiert das Binary, die Sprachkataloge und die AmigaGuide-Dokumentation an den gewählten Ort. Manuelle Installation: das LumiPass-Binary und das zugehörige Piktogramm an einen beliebigen Ort kopieren (z.B. SYS:Tools/), die Kataloge nach LOCALE:Catalogs// und die Guides nach HELP:/. Ohne Kataloge werden die eingebauten englischen Texte verwendet. TOOLTYPES --------- DEFAULTDB= Diese Datei beim Start öffnen AUTOLOCK= Auto-Sperr-Intervall (0 = aus) CLIPCLEAR= Zwischenablage-Timeout (0 = aus) KDFITER= KDF-Kosten: HIGH / NORMAL / FAST oder 1000-1000000 LANGUAGE= Katalog erzwingen (deutsch/english) NOUPDATECHECK=1 Automatische Update-Prüfung abschalten ICONIFY=YES Direkt iconifiziert starten (nur AppIcon) CX_PRIORITY= Commodity-Priorität (Default 0) CX_POPUP=YES|NO Hauptfenster beim Start öffnen (Default YES) CX_POPKEY= Commodity-Hotkey überschreiben (Default: ctrl alt p) DOKUMENTATION ------------- Help/Deutsch/LumiPass.guide AmigaGuide (Deutsch) Help/English/LumiPass.guide AmigaGuide (Englisch) VERSIONSHISTORIE ---------------- 1.2 (Build 306, 5. Juli 2026) - Optionale Argon2id-Schlüsselableitung für .lumi-Datenbanken (speicher-hart, pro Datenbank wählbar); PBKDF2 bleibt Standard, bestehende Datenbanken bleiben kompatibel. - Passwort-Audit: wiederverwendete, schwache, alte und leere Passwörter offline, optional mit Have-I-Been-Pwned-Check. - Papierkorb für gelöschte Einträge -- Löschen ist wiederher- stellbar (zurückholen oder endgültig löschen), in der Datenbank gespeichert. - Versionierte .bak-Backups mit konfigurierbarer Generationenzahl (1-9). - Zweite .lumi-Datenbank lokal über den Import-Konfliktdialog zusammenführen (zwei Rechner ohne Cloud). - Neue Importer: Bitwarden JSON, 1Password (.1pux) und Proton Pass, dazu unverschlüsselte 2FAS-Pass-Sicherungen (.2faspass); nur Login-Einträge. - Allgemeine Fehlerbeseitigungen und Verbesserungen 1.1 (Build 305, 27. Mai 2026) - Online-Pwned-Check (Have I Been Pwned, k-Anonymity-API): optional, nur opt-in. Pro-Eintrag-Button im Edit-Formular, Batch-Prüfung über die ganze Datenbank mit Ergebnisliste. - Im gesperrten Zustand wird die Datenbank nur noch als ChaCha20-Poly1305-verschlüsselter Snapshot im Speicher gehalten. Klartext-Einträge sind in einem RAM-Dump nicht mehr sichtbar, solange LumiPass gesperrt ist. - ARexx-Schnittstelle (Port LUMIPASS) zur Automatisierung: Skripte können Einträge auflisten, suchen und lesen, neue Logins anlegen (PUTLOGIN), Benutzername und Passwort in die Zwischenablage kopieren sowie die Datenbank öffnen, speichern oder sperren. Master-Passwort und Import- Konflikte werden über Antwortcodes abgehandelt; DB- mutierende Befehle sind gegen parallele Worker gegated. - TLS-Zertifikate werden bei Update-Prüfung und Pwned-Check vollständig verifiziert (Peer und Hostname). - Crash-sicheres Speichern: atomares .tmp/.bak-Rename. Bei Stromausfall während des Speicherns wird die .tmp beim nächsten Laden automatisch übernommen (sofern sie die LumiPass-Magic trägt). SetProtection() vor Delete/Rename, damit .tmp nicht liegen bleibt, wenn die vorherige Datei das Pure-Bit hatte. - Allgemeine Fehlerbeseitigungen und Verbesserungen 1.0 (Build 254, 29. April 2026) - Erstveröffentlichung. BUILD-INFORMATIONEN ------------------- Version: 1.2 (Build 306) Binary-Größe: ~753 KB (gestrippt) Quelltext: ~33.202 Zeilen (C + H) Compiler: m68k-amigaos-gcc 6.5.0b Ziel-CPU: m68020+ LIZENZ ------ LumiPass ist Freeware. Unveränderte Binärdateien dürfen frei genutzt, kopiert und weiterverbreitet werden. Die Verbreitung über Aminet und andere Archive ist ausdrücklich erlaubt. Die Software wird "wie sie ist" ohne jegliche Garantie bereitgestellt. Der Autor haftet nicht für Schäden, Datenverlust oder Sicherheitsvorfälle, die durch die Nutzung dieser Software entstehen. Ihre Datenbank ist ausschließlich durch Ihr Master-Passwort geschützt. Es gibt KEINE Wiederherstellung. Wenn Sie Ihr Master-Passwort vergessen, lassen sich Ihre Daten nicht mehr entschlüsseln. Bewahren Sie eine sichere Kopie Ihres Master-Passworts auf. REGISTRIERUNG ------------- Die Registrierung ist optional und beeinflusst die Funktionalität nicht. Alle Funktionen stehen ohne Einschränkung zur Verfügung, mit oder ohne Lizenzschlüssel. Eine Registrierung ist eine freundliche Geste an den Autor und hilft bei der Planung weiterer Entwicklung. Zwei Wege zur Registrierung: 1. Mit dem Tool LumiReg (separat auf Aminet verfügbar) - Namen und E-Mail eingeben, "Registrieren" klicken. 2. Manuell per E-Mail an register@amigaworld.de mit: Name Name, auf den die Registrierung lauten soll Email Adresse, an die der Lizenzschlüssel geht Programm Name des Programms (LumiPass) KONTAKT ------- E-Mail: lumipass@amigaworld.de Web: https://www.amigaworld.de/ MITWIRKENDE ----------- Autor Matthias Münch Konzept, Umsetzung, Tests Unterstützt durch Claude Code (Anthropic) KI-Assistent für Pair-Programming Fremdkomponenten Stefan Stuntz MUI 3.8 Gilles Masson, Laurin Woitok, Nick Blackburn NList.mcc (amiga-mui-Projekt) Allan Odgaard u. a. BetterString.mcc, TextEditor.mcc Olaf Barthel & Oliver Roberts AmiSSL Kryptographie-Autoren Daniel J. Bernstein ChaCha20, Poly1305, Salsa20 Joan Daemen, Vincent Rijmen AES/Rijndael Alex Biryukov, Daniel Dinu, Dmitry Khovratovich Argon2 Jean-Philippe Aumasson u. a. BLAKE2 Phil Katz DEFLATE Dominik Reichl KeePass Grüße Eisman, lokiist, Fossi, yelworC, cappin, Cego, McFly, LoneRaider, evil4dmin, jdb78