Client shared encryption key work #978

Open
opened 2025-03-11 10:28:33 +13:00 by mikedilger · 1 comment
mikedilger commented 2025-03-11 10:28:33 +13:00 (Migrated from github.com)

https://github.com/nostr-protocol/nips/pull/1647

  1. Gossip should generate a client key, store it as an ncryptsec under the user's same password, next time they use that password to login. This eventually becomes a device key in the keychains NIP too (rather than their current npub/nsec which will eventually be revoked).
  2. Gossip search for 10044 events to see if an encryption key already exists.
  3. If a 10044 exists, gossip publishes a 4454 and subscribes to the matching 4455. This has to persist across gossip sessions. Eventually if a 4455 comes in, gossip unwraps it and saves the encryption key.
  4. If a 10044 does not exist, gossip generates an encryption keypair (saving it under the same password ncryptsec) and publishes a 10044.
  5. Once an encryption keypair is achieved, gossip uses it to do DMs --- this part is not specified anywhere yet.
https://github.com/nostr-protocol/nips/pull/1647 1. Gossip should generate a client key, store it as an ncryptsec under the user's same password, next time they use that password to login. This eventually becomes a device key in the keychains NIP too (rather than their current npub/nsec which will eventually be revoked). 3. Gossip search for 10044 events to see if an encryption key already exists. 4. If a 10044 exists, gossip publishes a 4454 and subscribes to the matching 4455. This has to persist across gossip sessions. Eventually if a 4455 comes in, gossip unwraps it and saves the encryption key. 5. If a 10044 does not exist, gossip generates an encryption keypair (saving it under the same password ncryptsec) and publishes a 10044. 6. Once an encryption keypair is achieved, gossip uses it to do DMs --- this part is not specified anywhere yet.
mikedilger commented 2025-03-21 09:40:33 +13:00 (Migrated from github.com)

While #1647 is still a draft I can only do 1, which is done, so this is on hold

While #1647 is still a draft I can only do 1, which is done, so this is on hold
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nostr/gossip#978
No description provided.