NIP-04: Mensagens Diretas Criptografadas (Obsoleto)
NIP-04 define mensagens diretas criptografadas usando criptografia AES-256-CBC. Foi o método original para mensagens privadas no Nostr, mas foi descontinuado em favor do NIP-17 devido a limitações significativas de privacidade.
Como funciona
As mensagens usam eventos de kind 4 com o seguinte esquema de criptografia:
- Um segredo compartilhado é gerado usando ECDH com a chave pública do destinatário e a chave privada do remetente
- A mensagem é criptografada com AES-256-CBC
- O texto cifrado é codificado em base64 com o vetor de inicialização anexado
- Uma tag
pidentifica a chave pública do destinatário
Limitações de segurança
NIP-04 tem deficiências significativas de privacidade:
- Vazamento de metadados - A pubkey do remetente é publicamente visível em cada mensagem
- Sem privacidade do remetente - Qualquer um pode ver quem está enviando mensagens para quem
- Carimbos de tempo exatos - O tempo das mensagens não é randomizado
- Implementação não padrão - Usa apenas a coordenada X do ponto ECDH em vez do hash SHA256 padrão
A especificação adverte explicitamente que “não chega nem perto do estado da arte em comunicação criptografada”.
Status de descontinuação
NIP-04 está descontinuado em favor do NIP-17, que usa o empacotamento de presente (gift wrapping) do NIP-59 para ocultar a identidade do remetente. Novas implementações devem usar NIP-17 para mensagens privadas.
Fontes principais:
Mencionado em:
Veja também: