[DESIGN]: Group E2EE with sender keys: distribution and rotation

Abierto
#191 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
72/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
dart, flutter

Línea de trabajo

Read docs/API_CONTRACTS.md under “Message content format”, then inspect mobile/lib/core/message_envelope.dart and mobile/lib/services/signal_service.dart, along with the Signal Protocol sender-key documentation. Write docs/GROUP_E2EE.md to cover key distribution, rotation, new-member history visibility, mixed-version behavior, and server-visible metadata, then discuss the design in the issue.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area: e2ee difficulty: hard documentation help wanted

Part of the group E2EE epic.

What to do

Write docs/GROUP_E2EE.md (and discuss it here) covering:

  • How each member's SenderKeyDistributionMessage reaches every other member (over existing 1:1 Signal sessions, as a new envelope type).
  • Rotation: when someone leaves or is removed, every remaining member creates a new sender key.
  • New members: they can't read history from before they joined. Say how the app shows that.
  • Old app versions: how a group behaves while some members still send plaintext (e.g. a per-group "encrypted" flag set once every member supports it).
  • What the server can still see (membership, timing, sizes).

Where to look

docs/API_CONTRACTS.md (Message content format), mobile/lib/core/message_envelope.dart, mobile/lib/services/signal_service.dart, and the Signal Protocol's sender-key documentation.

Lenguaje dominante
Dart
Estrellas
9
Forks
5
Merge medio
49 min
PR fusionados (30 d)
34

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CommandLineCoding/Elephant

Todos los issues de CommandLineCoding/Elephant

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.