[FEAT]: App: encrypt and decrypt group messages with sender keys

Offen
#193 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
dart, flutter

Rechercherichtung

Start with the group E2EE design note, which this issue says is a blocker, then read mobile/lib/services/signal_service.dart and mobile/lib/services/sqlite_signal_store.dart for sender key storage. Trace message handling through mobile/lib/core/message_envelope.dart and mobile/lib/controllers/chat/. Done means group sender keys are distributed and rotated on membership changes, encryption and decryption work, the notice and group info screen are updated, and round-trip and rotation tests pass.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area: e2ee area: mobile blocked difficulty: hard enhancement

Part of the group E2EE epic. Blocked by the design note.

What to do

  • Create and distribute your sender key per group (GroupSessionBuilder), and process incoming distribution messages.
  • Encrypt and decrypt group messages with GroupCipher.
  • Rotate keys on membership changes, as the design describes.
  • Update the in-app notice ("Group messages are not end-to-end encrypted yet") and the group info screen.
  • Tests for encrypt/decrypt round-trips and rotation.

Where to look

mobile/lib/services/signal_service.dart, mobile/lib/services/sqlite_signal_store.dart (SenderKeyStore), mobile/lib/core/message_envelope.dart, mobile/lib/controllers/chat/.

Vorherrschende Sprache
Dart
Sterne
9
Forks
5
Ø Merge
49 Min.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandLineCoding/Elephant

Alle Issues in CommandLineCoding/Elephant

Ähnliche Issues

Weitere Issues zu Dart

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.