[EPIC]: End-to-end encrypted group messages
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Domaine
- mobile-dev, security
Piste de recherche
Read the design sub-issue first and comment there before writing code. The starting point named here is mobile/lib/services/sqlite_signal_store.dart, which implements SenderKeyStore and defines the signal_sender_keys table; review it alongside the existing 1:1 Signal session flow. Done means the server relays encrypted group payloads and sender-key distribution, while the app encrypts and decrypts with GroupCipher and rotates keys when membership changes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Goal
Group messages are currently sent as plaintext envelopes (protected in transit by TLS, but readable by the server). Encrypt them end to end with Signal sender keys, so the server only relays ciphertext.
Starting point
- The app's Signal store already implements
SenderKeyStore(mobile/lib/services/sqlite_signal_store.dart), with asignal_sender_keystable. - 1:1 Signal sessions already exist, and are the usual way to deliver sender keys to each member.
Steps (sub-issues)
- Design note: the distribution and rotation rules.
- Server: route sender-key distribution messages and encrypted group payloads.
- App: encrypt and decrypt with
GroupCipher, distribute keys, rotate on membership changes.
Please read the design sub-issue first and comment there before writing code.
- Langage dominant
- Dart
- Étoiles
- 9
- Forks
- 5
- Merge moyen
- 49 min
- PR mergées (30 j)
- 34
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CommandLineCoding/Elephant
-
area: mobile chore good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
CommandLineCoding/Elephant#247 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CommandLineCoding/Elephant#245 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CommandLineCoding/Elephant#183 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile difficulty: medium enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
CommandLineCoding/Elephant#249 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile chore difficulty: medium testing
Difficulté 4/5 3-5 jours Accessibilité débutants 66/100
CommandLineCoding/Elephant#248 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de CommandLineCoding/Elephant
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 76/100
livekit/client-sdk-flutter#1281 ·
Les mainteneurs répondent en général sous 4 jours
-
android bug priority: P1 qa
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
GHRik/bielik_oneclick_launcher#55 ·
Les mainteneurs répondent en général sous 1 jour
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
carp demo apps enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
carp-dk/carp.sensing-flutter#670 ·
-
[BUG] IP 质量类型误判:ISP 静态段被显示为机房Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100