Übersicht
S.E.B.O. Encrypt ist eine Android-App zur Ende-zu-Ende-verschlüsselten Kommunikation über beliebige Messenger (z. B. WhatsApp, Telegram). Nachrichten werden lokal verschlüsselt und können als Text geteilt werden – der Messenger selbst sieht nur unlesbaren Chiffretext.
NEU: Integrierte Custom-Tastatur S.E.B.O. E-Board – verschlüsseln und entschlüsseln Sie Texte direkt in jeder App, systemweit!
Funktionsweise
Die App nutzt ein robustes ECDH-Schlüsselaustausch-Protokoll:
- Jede Instanz generiert beim ersten Start ein EC-Schlüsselpaar (secp256r1) im Android Keystore – der private Schlüssel verlässt das Gerät nie.
- Der öffentliche Schlüssel wird als QR-Code angezeigt und kann mit dem Kommunikationspartner geteilt werden.
- Durch Scannen des gegenseitigen QR-Codes wird über ECDH ein gemeinsames Secret berechnet, aus dem via HKDF (RFC 5869 / SHA-256) ein 256-Bit-AES-Schlüssel abgeleitet wird.
- Nachrichten werden mit AES-256-GCM verschlüsselt (zufälliger 12-Byte-IV, 128-Bit-Auth-Tag) und als Base64-String übertragen.
Features
Haupt-App Features
🔒 Verschlüsseln
Text eingeben, mit aktivem Kontakt verschlüsseln, kopieren oder direkt teilen
Entschlüsselung
Verschlüsselten Text einfügen oder aus Zwischenablage lesen
📱 QR-Scan
Öffentlichen Schlüssel des Kontakts per QR-Code scannen
Share-Intent
Verschlüsselte Texte direkt aus WhatsApp in die App teilen
✏️ Text Processing
Markieren Sie Text und wählen Sie "Entschlüsseln" aus dem Menü
Einstellungen
Anpassung von Design, Tastatur-Layout und Feedback
S.E.B.O. E-Board Tastatur-Features
Verschlüsselung
Text in jeder App tippen und direkt mit der 🔒-Taste verschlüsselung
Entschlüsselung
Empfangene Nachrichten direkt entschlüsseln
Clipboard-Entschlüsselung
Schnelle Entschlüsselung von kopiertem Text
Systemweit
Funktioniert in WhatsApp, Telegram, Signal, SMS, E-Mail – überall!
Auto-Sync
SessionKeys werden automatisch zwischen App und Tastatur synchronisiert
QWERTZ-Layout
Deutsches Tastaturlayout mit Shift/Caps Lock Support
Verwendungsbeispiele
Verschlüsselung mit der Tastatur:
- Öffnen Sie WhatsApp
- Wählen Sie S.E.B.O. E-Board als Tastatur
- Tippen Sie Ihre Nachricht
- Drücken Sie 🔒 → Text wird verschlüsselt
- Senden Sie die Nachricht wie gewohnt
Entschlüsselung aus der Zwischenablage:
- Kopieren Sie eine verschlüsselte Nachricht aus WhatsApp
- Öffnen Sie eine beliebige App mit Textfeld
- Aktivieren Sie S.E.B.O. E-Board als Tastatur
- Drücken Sie 📋 "Entschlüsseln" Button
- Der entschlüsselte Text wird direkt eingefügt
Entschlüsselung via Textauswahl-Menü:
- Markieren Sie einen verschlüsselten Text in einer beliebigen App
- Das Kontextmenü erscheint
- Tippen Sie auf "Entschlüsseln"
- Der Text wird in der S.E.B.O. Encrypt App entschlüsselt
Technische Details
Stack & Technologien
| Komponente | Technologie |
|---|---|
| Sprache | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Architektur | MVVM (AndroidViewModel) |
| Verschlüsselung | AES-256-GCM (javax.crypto) |
| Schlüsselaustausch | ECDH secp256r1 (Android Keystore) |
| Schlüsselableitung | HKDF-SHA256 (Bouncy Castle) |
| QR-Code | ZXing Android Embedded |
| Kontaktspeicherung | EncryptedSharedPreferences (Jetpack Security) |
| Min. Android-Version | Android 7.0 (API 24) |
| Target SDK | Android 16 (API 36) |
Projektstruktur
Sicherheit
- Private Schlüssel verlassen das Gerät nicht: Sie werden im Android Keystore gespeichert und sind nicht exportierbar. Auf unterstützten Geräten wird StrongBox (Hardware-Security-Modul) verwendet.
- Kontakt-spezifische Verschlüsselung: Jeder Kontakt hat ein eigenes ECDH-Session-Secret. Verschlüsselte Nachrichten sind nur mit dem richtigen Kontakt entschlüsselbar.
- Sichere Kontaktspeicherung: Kontaktdaten (inkl. Session Keys) werden in EncryptedSharedPreferences gespeichert.
- Tastatur-Sicherheit: Die S.E.B.O. E-Board Tastatur greift nur auf SessionKeys zu, die von der Haupt-App bereitgestellt werden. Der private ECDH-Schlüssel bleibt im Android Keystore.
- Kein Internet-Zugriff: Die Tastatur benötigt keine Netzwerkberechtigung und sendet keine Daten.
⚠️ Wichtig bei Custom Keyboards:
Android zeigt beim Aktivieren einer Custom Keyboard eine Sicherheitswarnung, da Tastaturen theoretisch alle Eingaben mitlesen können. S.E.B.O. E-Board ist Open Source – Sie können den Code überprüfen und selbst kompilieren.
📦 Installation
Voraussetzungen
- Android Studio Ladybug oder neuer
- JDK 11+
- Android SDK 36
Tastatur aktivieren
- App öffnen
- Button "S.E.B.O. E-Board aktivieren" drücken
- In den Android-Einstellungen "S.E.B.O. E-Board" aktivieren
- Sicherheitswarnung bestätigen
Tastatur verwenden
- In beliebiger App ein Textfeld antippen
- Leertaste gedrückt halten oder Tastatur-Symbol (🌐) drücken
- "S.E.B.O. E-Board" auswählen
- Text tippen und mit 🔒 verschlüsseln oder mit 🔓 entschlüsseln
Intent-Integrationen
Text Processing Intent
Die App registriert sich als Handler für PROCESS_TEXT Intent:
- Markieren Sie Text in jeder App (Browser, Mail, Nachrichten, etc.)
- Das Kontextmenü zeigt einen "Entschlüsseln" Punkt
- Tippen Sie darauf → Text wird in S.E.B.O. Encrypt entschlüsselt
- Funktioniert auf Android 6.0+
Share Intent
Verschlüsselte Texte können direkt aus anderen Apps geteilt werden:
- ACTION_SEND für Text
- Text wird automatisch im Entschlüsseln-Tab geladen
- Perfekt für WhatsApp, Telegram und andere Messenger
📄 Lizenz
Dieses Projekt ist privat und nicht zur öffentlichen Verbreitung freigegeben.