
Meine Kurzantwort: Auf modernen iPhones und High-End-Android-Geräten nehme ich meist AES-GCM. Auf älteren, günstigen oder gemischten Android-Geräten ist ChaCha20-Poly1305 oft die bessere Wahl. Nicht wegen „mehr Sicherheit“, sondern wegen Tempo, CPU-Last, Wärme und Akku.
Wenn ich das Thema auf eine einfache Regel runterbreche, dann diese:
Ein Punkt sticht heraus: Läuft AES ohne Hardware, kann der Aufwand laut Artikel bis zu 10-mal mehr CPU-Zyklen pro Byte kosten. Auf Einsteiger-Android-Geräten kann ChaCha20 etwa 3× flotter sein. Das merkt man bei Foto-Uploads, Sync, Nachrichten und Cache.
Worauf ich achte:
Kurz gesagt: Wenn ich eine App für viele Android-Klassen baue, will ich gleichmäßige Leistung. Wenn ich auf neue Geräte mit AES-Hardware ziele, ist AES-GCM oft mein erster Griff.
| Punkt | AES-GCM | ChaCha20-Poly1305 |
|---|---|---|
| Sicherheit bei sauberer Nutzung | Hoch | Hoch |
| Hardware-Nähe | Stark | Gering |
| Auf neuen iPhones / Flaggschiffen | Oft vorn | Gut |
| Auf alten / günstigen Android-Geräten | Oft schwächer | Oft vorn |
| CPU-Last ohne AES-Hardware | Eher hoch | Eher niedriger |
| Wärme / Akku auf schwachen Geräten | Kann stärker steigen | Oft gleichmäßiger |
| Hauptrisiko | Nonce doppelt, Daten vor Prüfung | Nonce doppelt, Daten vor Prüfung |
| Typische mobile Einsätze | lokale Daten, Backend mit AES-Fokus | Nachrichten, Uploads, gemischter Android-Park |
Ich fasse den Artikel so auf: Nicht „Welcher Algorithmus ist besser?“ ist die Kernfrage, sondern „Auf welchem Gerät läuft meine App, und wo liegen die Daten?“
Am Ende geht es um drei Dinge: Aufbau, Nutzung der Hardware und Fehler bei der Umsetzung. Für mobile Apps zählen im Alltag vor allem die verfügbare Hardware, die Laufzeit in Software und die Frage, was passiert, wenn bei der Implementierung etwas schiefläuft.
AES-GCM ist ein AEAD-Verfahren auf AES-Basis. Auf Geräten mit Hardware-Beschleunigung arbeitet es sehr schnell. Fehlt diese Unterstützung, fällt die Leistung oft deutlich ab.
ChaCha20-Poly1305 ist ein AEAD-Verfahren auf ChaCha20-Basis. Es ist für die Ausführung in Software ausgelegt und deshalb auf älteren oder günstigeren Android-Geräten oft im Vorteil.
Beide Verfahren haben dieselbe heikle Stelle: Eine Nonce darf nie mit demselben Schlüssel wiederverwendet werden. Passiert das doch, bricht die Sicherheit beider Verfahren. Bei AES-GCM können dann sogar Fälschungen möglich werden.
Genauso wichtig: Entschlüsselte Daten dürfen erst nach erfolgreicher Authentifizierung verarbeitet werden. Anders gesagt: erst prüfen, dann anfassen. Alles andere ist, als würde man die Haustür erst nach dem Eintreten abschließen.
| Merkmal | AES-GCM | ChaCha20-Poly1305 |
|---|---|---|
| Chiffretyp | AEAD-Verfahren auf AES-Basis | AEAD-Verfahren auf ChaCha20-Basis |
| Authentifizierung | GCM | Poly1305 |
| Praxisvorteil | Sehr schnell mit Hardware-Beschleunigung | Vorteilhaft auf Geräten ohne AES-Beschleunigung |
| Typische Implementierungsrisiken | Nonce-Wiederverwendung, Verarbeitung vor der Authentifizierung | Nonce-Wiederverwendung, Verarbeitung vor der Authentifizierung |
Wie sich das auf Tempo und Akku auswirkt, zeigt der nächste Abschnitt.
AES-GCM vs. ChaCha20-Poly1305: Mobile Encryption Guide by Device Class
Auf mobilen Geräten macht vor allem die Geräteklasse den Unterschied. AES-GCM profitiert stark von Hardwarebeschleunigung, während ChaCha20-Poly1305 auch dann flott bleibt, wenn alles in Software läuft. Genau da zeigt sich der Abstand zwischen High-End, Mittelklasse und älteren Geräten.
Für Apps mit Fotos, Nachrichten und Auktionsupdates zählt vor allem eines: Wie gut laufen Sync und Verschlüsselung auf älteren Smartphones? Denn dort merkt man Verzögerungen, hohe CPU-Last und leere Akkus am schnellsten.
Auf aktuellen iPhones und High-End-Android-Geräten ist AES-GCM meist schneller. Der Grund ist simpel: Die Hardware übernimmt AES-Operationen direkt und schafft dabei sehr hohe Durchsätze. Gleichzeitig bleiben CPU-Last, Wärmeentwicklung und Akkuverbrauch niedrig. Das macht die Leistung auch über verschiedene Android-Geräte hinweg etwas besser planbar.
Viele ältere oder günstige Android-Geräte ohne ARMv8-Kryptografieerweiterungen müssen AES komplett in Software ausführen. Das kostet spürbar mehr Rechenzeit: Software-AES kann bis zu 10-mal mehr CPU-Zyklen pro Byte verbrauchen als hardwarebeschleunigtes AES. Das Gerät wird dann schneller warm, und der Akku geht merklich schneller runter.
ChaCha20-Poly1305 ist für die Ausführung in Software ausgelegt und hat hier oft klar die Nase vorn. Das merkt man direkt bei Syncs, Foto-Uploads und verschlüsselten lokalen Daten.
Die Tabelle zeigt, wie stark sich die Geräteklasse auf Tempo und Akku auswirken kann.
| Plattform | Geräteklasse | AES-Beschleunigung | Leistung | CPU-Last | Wärme | Akkuverbrauch |
|---|---|---|---|---|---|---|
| iOS | Modernes iPhone (A14+) | Vollständig (Hardware) | AES-GCM schneller* | Sehr gering | Minimal | Vernachlässigbar |
| Android | Flaggschiff | Vollständig (Hardware) | AES-GCM schneller* | Gering | Minimal | Gering |
| Android | Mittelklasse (z. B. SD 6er-Serie) | Teilweise / variabel | ChaCha20 oft schneller* | Mittel | Moderat | Moderat |
| Android | Einsteiger / ältere Geräte | Keine (Software) | ChaCha20 ~3× schneller* | Hoch | Schnelles Aufheizen | Hoch (bei AES) |
Alle Angaben sind benchmarkabhängig und variieren je nach SoC und Bibliotheksimplementierung.
Ein einzelner Geschwindigkeitswert von einem aktuellen Testgerät bringt in der Praxis wenig. Sinnvoller ist es, gezielt auf älteren Geräten zu testen, die noch aktiv genutzt werden.
Miss dabei über 5–10 Minuten unter Last:
Wichtig ist auch: Nutze auf beiden Plattformen dieselbe Bibliothek. Sonst vergleichst du am Ende nicht die Algorithmen, sondern nur Unterschiede in der Implementierung.
Wie stark sich das bei lokalen Daten, Bildern und API-Aufrufen bemerkbar macht, zeigt der nächste Abschnitt.
Für Gunfinder ist vor allem eines wichtig: Werden Daten lokal gespeichert oder übertragen? Genau daran hängt, wo das Risiko liegt und welche Schutzmaßnahme mehr bringt.
Lokal gespeicherte Daten werden oft unterschätzt. Dabei liegt genau dort ein Teil des Problems. Gespeicherte Suchergebnisse, Warenkorb-Inhalte sowie Konto- und Profildaten befinden sich direkt auf dem Gerät. Ist ein Backup nicht geschützt oder das Gerät kompromittiert, können diese Daten zugänglich werden.
Bei lokalen Daten zählt vor allem das Zielgerät. Hat das Gerät AES-Beschleunigung, ist AES-GCM eine starke Wahl. Fehlt diese Unterstützung, läuft ChaCha20-Poly1305 oft effizienter. Der Schlüssel sollte sicher im Android Keystore oder in der Apple Keychain bzw. im Secure Enclave abgelegt werden. Und ein Punkt ist nicht verhandelbar: Jede Datei braucht eine eigene 96-Bit-Nonce. Wird eine Nonce wiederverwendet, bricht das die Sicherheit und die Integrität.
Dasselbe Grundprinzip gilt auch bei Übertragungen. Dort liegt der Schwerpunkt aber an einer anderen Stelle: bei Nutzdaten und Protokollierung.
TLS schützt den Transportweg. Das heißt aber nicht automatisch, dass auch die Nutzdaten selbst geschützt sind. Wenn private Nachrichten zwischen Käufern und Verkäufern oder Gebotsdaten bei Auktionen in Serverprotokollen landen, sind sie ohne extra Verschlüsselung auf App-Ebene im Klartext lesbar. Genau hier kommen AES-GCM und ChaCha20-Poly1305 ins Spiel. Sie ergänzen die Transportverschlüsselung als zweite Schutzschicht.
Der Knackpunkt ist also nicht primär der Algorithmus. Entscheidend ist, ob Daten auf dem Gerät liegen oder durchs Netz gehen.
Bei lokalen Daten ist die Geräteklasse der Hauptpunkt. Bei API-Nutzdaten, Uploads und Nachrichten kommt es vor allem auf sauberes Schlüssel- und Nonce-Management an.
Für Gunfinder zählt am Ende genau das: sauberes Schlüssel- und Nonce-Management. Welche Variante im Alltag besser passt, zeigt der nächste Abschnitt.
Für Gunfinder ist vor allem eines wichtig: Welches Gerät nutzt die App und welche Daten werden verarbeitet? Genau daraus ergibt sich in der Praxis die Wahl des Verfahrens. Die Tabelle unten bringt das auf den Punkt und ordnet typische Gunfinder-Workflows ein.
| App-Anforderung | Geräteumgebung | Priorität | Empfohlener Algorithmus |
|---|---|---|---|
| Verschlüsselte Entwürfe | iOS / Flaggschiff-Android | Hardware-Sicherheit | AES-GCM |
| Gecachte Inserate | Gemischter Android-Gerätepark | Performance-Konsistenz | ChaCha20-Poly1305 |
| Konto- und Transaktionsdaten | Alle Plattformen | Datenintegrität | AES-GCM |
| Foto-Uploads | Ältere oder Einstiegs-Android-Geräte | Akku-Effizienz | ChaCha20-Poly1305 |
| Marktplatz-Nachrichten | Gemischter Android-Gerätepark | Geringe Latenz | ChaCha20-Poly1305 |
| Auktions-Updates | Backend-Verkehr | Bestehende AES-Standardisierung | AES-GCM |
Für alle Fälle gilt dasselbe Grundgerüst: sicherer Schlüsselspeicher über Android Keystore oder Apple Keychain, eindeutige Nonces pro Operation, TLS 1.3 für jede Übertragung und eine regelmäßige Schlüsselrotation. Ohne diese Punkte hilft auch der beste Algorithmus nur halb.
AES-GCM passt gut zu modernen iPhones und Flaggschiff-Android-Geräten, wenn AES-Hardware vorhanden ist und das Backend ohnehin schon darauf aufbaut. Dann spielt das Verfahren seine Stärken dort aus, wo die Geräte es direkt gut unterstützen.
Sobald auch ältere oder günstigere Android-Geräte mit ins Spiel kommen, ist ChaCha20-Poly1305 oft die verlässlichere Wahl. Der Grund ist simpel: Die Leistung bleibt auf solchen Geräten meist konstanter als bei Software-AES.
Beide Algorithmen sind sicher, wenn man sie sauber einsetzt. Kurz gesagt: AES-GCM passt gut zu hardwarelastigen Umgebungen, ChaCha20-Poly1305 eher zu gemischten Android-Flotten.
Ob dein Zielgerät AES-Hardwarebeschleunigung hat, hängt von der verbauten CPU ab. Viele neuere Prozessoren unterstützen AES-NI. Das macht die Verschlüsselung deutlich effizienter.
Bei Android- und iOS-Geräten prüfst du das am besten in den technischen Daten des Prozessors. Bei ARM-basierten Smartphones und Tablets ist die Hardware-Beschleunigung für kryptografische Operationen oft schon eingebaut. Das Betriebssystem nutzt sie in der Regel automatisch.
Wenn du eine Nonce mehr als einmal nutzt, hebelst du die Sicherheit der Verschlüsselung aus.
Dann können Angreifer Muster in den verschlüsselten Daten sehen oder sogar Rückschlüsse auf den genutzten Schlüssel ziehen.
Das trifft die Vertraulichkeit deiner Daten mit voller Wucht. Deshalb gilt: Die Nonce muss bei jedem Verschlüsselungsvorgang neu und eindeutig sein.
Nein. TLS 1.3 schützt Daten während der Übertragung. Lokal gespeicherte App-Daten auf dem Gerät deckt es nicht ab.
Wenn Du Daten durchgängig schützen willst, brauchst Du daher zusätzlich lokale Verschlüsselung. Bei sensiblen Transaktionen kann auch AES-256 sinnvoll sein.
Erst das Zusammenspiel aus sicherer Übertragung und lokaler Verschlüsselung hilft auch dann, wenn es technische Probleme gibt oder jemand unbefugt auf das Endgerät zugreift.