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

Aberta
#191 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
72/100
Tipo de issue
Documentação
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
dart, flutter

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Dart
Estrelas
9
Forks
5
Merge médio
49min
PRs com merge (30d)
34

Preparar o ambiente

  • Inclui um Dockerfile ou arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CommandLineCoding/Elephant

Todas as issues de CommandLineCoding/Elephant

Issues semelhantes

Mais issues de Dart

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.