Compromiseless Offline Communication. Forensically Hardened.
Kompromisslose Offline-Kommunikation. Forensisch gehärtet.
The OTP Communicator is a purely educational open-source project and a technical proof of concept. The goal of this software is to demonstrate how information-theoretic security (One-Time-Pad) and strict air-gapping protocols can be uncompromisingly implemented in source code on standard Android devices.
This project is aimed exclusively at IT security experts, network technicians, and cryptography enthusiasts who want to explore the mathematical and operational limits (OPSEC) of secure offline communication. It is intentionally not an everyday communication tool.
Cryptography is a neutral, mathematical tool to protect legitimate privacy. The developer explicitly distances himself from any illegal use. The publication of the full source code under the GPLv3 license serves academic transparency and independent verifiability (Kerckhoffs' Principle). Use of the software is strictly at your own risk.
Der OTP-Kommunikator ist ein rein edukatives Open-Source-Projekt und eine technische Machbarkeitsstudie (Proof of Concept). Das Ziel dieser Software ist es, zu demonstrieren, wie informationstheoretische Sicherheit (One-Time-Pad) und strikte Air-Gapping-Protokolle auf handelsüblichen Android-Geräten kompromisslos in Quellcode umgesetzt werden können.
Dieses Projekt richtet sich ausschließlich an IT-Sicherheitsexperten, Netzwerktechniker und Kryptografie-Interessierte, die die mathematischen sowie operativen Grenzen (OPSEC) sicherer Offline-Kommunikation erforschen wollen. Es handelt sich bewusst nicht um ein alltagstaugliches Kommunikationsmittel.
Kryptografie ist ein neutrales, mathematisches Werkzeug zum Schutz der legitimen Privatsphäre. Der Entwickler distanziert sich ausdrücklich von jeglicher rechtswidriger Nutzung. Die Veröffentlichung des vollständigen Quellcodes unter der GPLv3-Lizenz dient der akademischen Transparenz und der unabhängigen Überprüfbarkeit (Kerckhoffs’ Prinzip). Die Anwendung der Software erfolgt in absoluter Eigenverantwortung.
The OTP Communicator is an isolated offline app for high-risk environments. It enables intercept-proof message exchange via optical air-gapping. No servers, no cloud, no network permissions. Data is transmitted exclusively via QR codes.
System Requirement: Android 8.0 (API 26) or higher. This ensures modern security standards and a robust Hardware Keystore (TEE) implementation.
Der OTP-Kommunikator ist eine isolierte Offline-App für Hochrisikoumgebungen. Er ermöglicht den abhörsicheren Nachrichtenaustausch über optisches Air-Gapping. Keine Server, keine Cloud, keine Netzwerkberechtigungen. Die Übermittlung erfolgt ausschließlich über QR-Codes.
Systemvoraussetzung: Android 8.0 (API 26) oder höher. Dies garantiert moderne Sicherheitsstandards und eine robuste Hardware-Keystore (TEE) Implementierung.
The system does not trust the smartphone's internal random number generators. To achieve information-theoretic security (a true One-Time-Pad), the app strictly requires external physical randomness (e.g., generated via an air-gapped TAILS system) imported as a raw binary file (entropy.bin). Key generation without external TRNG is technically impossible.
The app never displays existing contacts on startup. A neutral "System Access" screen requires a password. Depending on the input, it unlocks the real Master index, a fully functional Decoy (Fake) container, or triggers a global wipe. Cryptographic noise (TRNG data) ensures an investigator cannot mathematically prove the existence of hidden containers.
Enter a contact-specific Panic PIN to silently and physically destroy only that specific conversation. Alternatively, use the Global Panic PIN directly at the Blind Login to instantly wipe the entire application, all databases, and the hardware keystore. The app silently resets to a clean "Tabula Rasa" setup state without crashing.
Each encrypted message is signed with a cryptographic HMAC. The HMAC key is individually derived for each message from the unique OTP material. Any modification to the QR code during transmission is detected immediately.
Each key operates with a 16-character cryptographic hex index (over 18 quintillion combinations). Incoming data is mathematically verified for structure and expected byte length. Blind guessing or flooding attacks bounce off this barrier without consuming valuable key material.
Upon scanning a code, the OTP key is retrieved within an atomic database transaction. The cryptographic HMAC check is performed strictly inside this locked state. If the seal is manipulated (e.g., forged QR code), the transaction safely rolls back, preserving the key. Only upon 100% valid verification is the key physically destroyed. This definitively prevents both replay attacks and Denial of Service (DoS) key-burning sabotage.
The application completely avoids immutable Java strings for sensitive data. All passwords and message plaintexts are captured via native inputs and processed strictly as CharArrays and ByteArrays. Buffers are actively overwritten with zeros immediately after use.
The primary Argon2 key material is never used directly. Instead, a mathematically isolated set of keys is derived via HKDF (HMAC-based Key Derivation Function) to strictly separate database encryption from login verification, fully eliminating internal collision vectors.
Das System vertraut den internen Zufallsgeneratoren des Smartphones nicht. Um informationstheoretische Sicherheit (ein echtes One-Time-Pad) zu erreichen, erzwingt die App zwingend echten physikalischen Zufall von außen (z.B. generiert über ein externes TAILS-System), der als rohe Binärdatei (entropy.bin) importiert wird. Eine Schlüsselerzeugung ohne externe Entropie ist technisch unmöglich.
Die App zeigt beim Start niemals Kontakte an. Ein neutraler "Systemzugriff" verlangt ein Passwort. Je nach Eingabe wird der echte Master-Index, ein voll funktionsfähiger Decoy-Container (Fake) geöffnet oder ein globaler Wipe ausgelöst. Physisches kryptografisches Rauschen (aus der TRNG-Datei) macht es unmöglich, die Existenz ungenutzter, versteckter Container zu beweisen.
Gib den kontaktspezifischen Panic-Pin ein, um nur diese eine Unterhaltung lautlos und physisch zu vernichten. Nutze alternativ das Globale Panic-Passwort direkt im blinden Startbildschirm, um das gesamte System in Millisekunden restlos zu löschen. Die App setzt sich selbst lautlos auf einen sauberen "Tabula Rasa"-Zustand zurück, ohne abzustürzen.
Jede verschlüsselte Nachricht wird mit einem kryptografischen HMAC signiert. Der HMAC-Schlüssel wird für jede Nachricht individuell aus dem OTP-Material abgeleitet. Jede Veränderung am QR-Code wird sofort erkannt und die Nachricht abgewiesen.
Jeder Schlüssel besitzt einen 16-stelligen kryptografischen Hex-Index (über 18 Trillionen Kombinationen). Eingehende Daten werden mathematisch auf Struktur und geforderte Byte-Länge geprüft. Blindes Raten oder Flooding-Angriffe prallen an dieser Barriere ab, ohne wertvolles Schlüsselmaterial zu verbrauchen.
Beim Einlesen eines Codes wird der OTP-Schlüssel in einer atomaren Datenbank-Transaktion aufgerufen. Die kryptografische HMAC-Prüfung findet strikt innerhalb dieses gesperrten Zustands statt. Ist das Siegel manipuliert (z. B. durch gefälschte QR-Codes), greift ein sicheres Rollback und der Schlüssel bleibt erhalten. Nur bei 100%iger Gültigkeit wird der Schlüssel physisch vernichtet. Dies verhindert Replay-Angriffe und Denial-of-Service (DoS) Sabotage durch Schlüsselverbrennung endgültig.
Die Applikation verzichtet bei sensiblen Daten vollständig auf unveränderliche Java-Strings. Alle Passwörter und Nachrichten-Klartexte werden über native Eingaben abgefangen und strikt als CharArray und ByteArray verarbeitet. Speicherpuffer werden nach Nutzung sofort aktiv mit Nullen überschrieben.
Das durch Argon2 abgeleitete Schlüsselmaterial wird niemals direkt verwendet. Stattdessen werden über HKDF (HMAC-based Key Derivation Function) mathematisch völlig isolierte Einzelschlüssel für die Datenbankverschlüsselung und die Login-Verifikation generiert, was interne Angriffsvektoren strukturell ausschließt.
While the OTP Communicator protects the content of a message with mathematical certainty, the fact that communication took place (metadata) can still be a risk. For maximum operational security, we provide a concept for a digital "Dead Drop" via the Tor network.
Using deterministic, password-based LSB (Least Significant Bit) scattering, ciphertexts are invisibly embedded within the natural noise of everyday image files on a TAILS system.
View Steganography Concept & ScriptWährend der OTP-Kommunikator den Inhalt einer Nachricht mathematisch sicher schützt, kann allein die Tatsache, dass kommuniziert wurde (Metadaten), ein Risiko darstellen. Für maximale operative Sicherheit stellen wir ein Konzept für einen digitalen "Toten Briefkasten" über das Tor-Netzwerk bereit.
Mittels deterministischer, passwortbasierter LSB-Streuung (Least Significant Bit) werden Chiffretexte unsichtbar im natürlichen Rauschen alltäglicher Bilddateien auf einem TAILS-System eingebettet.
Zum Steganografie-Konzept & Python-SkriptIn accordance with the GPLv3, the entire source code is available for review and independent compilation:
Gemäß der GPLv3 steht der gesamte Quellcode zur Prüfung und unabhängigen Kompilierung bereit:
SHA256 Hash (APK):
SHA256 Hash (Source ZIP):
Check via Terminal: certutil -hashfile <filename> SHA256
SHA256 Hash (APK):
SHA256 Hash (Source ZIP):
Prüfung via Terminal: certutil -hashfile <dateiname> SHA256
Imprint (German) | Privacy Policy
Disclaimer: Use at your own risk. The developer is not liable for data loss or compromised communication.
Haftungsausschluss: Die Nutzung erfolgt auf eigene Gefahr. Der Entwickler haftet nicht für Datenverlust oder kompromittierte Kommunikation.