Old Nostr DM (NIP-4) integrates four capabilities into a single Nostr keyβit serves as an ID, an encryption key, a receiving address, and a sending address.
The encryption key in NIP-4 does not change, so NIP-4 messages lack both forward secrecy and backward secrecy.
Consequently, if the private key is compromised, both historical and future messages can be exposed.
The receiving and sending addresses remain constant, which poses a severe issue for metadata privacy in NIP-4 messages;
Everyone can see who (ID) is sending messages to whom (ID).
Currently, most Nostr apps use NIP-4 for DM functionalities, such as Damus and Primal.
ββββββββββββββββββββββββββββββββββββββ
New Nostr DM (NIP-17) integrates three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
Kind-17 separates the sending address from the ID, making the sending address random and concealing the sender's real ID, thus improving metadata privacy.
The encryption key in NIP-17 does not change, so NIP-17 messages also lack forward secrecy and backward secrecy. Once the private key is leaked, both historical and future messages will be compromised.
The receiving address remains constant, so there is still a slight issue with metadata privacy in NIP-17 messages; everyone can see who (ID) is receiving messages.
Apps like 0xchat and Amethyst use NIP-17 to implement DM functionalities.
ββββββββββββββββββββββββββββββββββββββ
In Keychat, the ID, encryption key, receiving address, and sending address are separated.
The encryption key, the receiving address, and the sending address are updated independently and continuously.
Keychat's encryption key is derived using the Signal protocol, and each message uses a unique encryption key, which is deleted after use.
Thus, Keychat messages have both forward secrecy and backward secrecy. Even if an encryption key is compromised, only the current message can be leaked, and historical and future messages remain secure.
Keychat's sending address is randomly generated for each message.
Therefore, external parties do not know the sender's ID.
Keychat's receiving address is derived using the Signal protocol, with almost every message using a unique receiving address.
Thus, external parties do not know the receiver's ID.
ββββββββββββββββββββββββββββββββββββββ
However, it's important to emphasize that NIP-4 and NIP-17 offer superior multi-device synchronization capabilities because they integrate three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
Thread
Login to reply
Replies (8)
So has anyone messed with this? Anyone wanna give it a try?
Keychat
Old Nostr DM (NIP-4) integrates four capabilities into a single Nostr keyβit serves as an ID, an encryption key, a receiving address, and a sending address.
The encryption key in NIP-4 does not change, so NIP-4 messages lack both forward secrecy and backward secrecy.
Consequently, if the private key is compromised, both historical and future messages can be exposed.
The receiving and sending addresses remain constant, which poses a severe issue for metadata privacy in NIP-4 messages;
Everyone can see who (ID) is sending messages to whom (ID).
Currently, most Nostr apps use NIP-4 for DM functionalities, such as Damus and Primal.
ββββββββββββββββββββββββββββββββββββββ
New Nostr DM (NIP-17) integrates three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
Kind-17 separates the sending address from the ID, making the sending address random and concealing the sender's real ID, thus improving metadata privacy.
The encryption key in NIP-17 does not change, so NIP-17 messages also lack forward secrecy and backward secrecy. Once the private key is leaked, both historical and future messages will be compromised.
The receiving address remains constant, so there is still a slight issue with metadata privacy in NIP-17 messages; everyone can see who (ID) is receiving messages.
Apps like 0xchat and Amethyst use NIP-17 to implement DM functionalities.
ββββββββββββββββββββββββββββββββββββββ
In Keychat, the ID, encryption key, receiving address, and sending address are separated.
The encryption key, the receiving address, and the sending address are updated independently and continuously.
Keychat's encryption key is derived using the Signal protocol, and each message uses a unique encryption key, which is deleted after use.
Thus, Keychat messages have both forward secrecy and backward secrecy. Even if an encryption key is compromised, only the current message can be leaked, and historical and future messages remain secure.
Keychat's sending address is randomly generated for each message.
Therefore, external parties do not know the sender's ID.
Keychat's receiving address is derived using the Signal protocol, with almost every message using a unique receiving address.
Thus, external parties do not know the receiver's ID.
ββββββββββββββββββββββββββββββββββββββ
However, it's important to emphasize that NIP-4 and NIP-17 offer superior multi-device synchronization capabilities because they integrate three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
View quoted note →
That's a great explanation. Do you also have plans to make a version for desktops (linux) ? For privacy, I try to limit my use of phones.
We use the Flutter framework, so we should be able to build a Linux version.
That's great news. Thank you!
gift wrap your dm's (NIP-17)
Keychat
Old Nostr DM (NIP-4) integrates four capabilities into a single Nostr keyβit serves as an ID, an encryption key, a receiving address, and a sending address.
The encryption key in NIP-4 does not change, so NIP-4 messages lack both forward secrecy and backward secrecy.
Consequently, if the private key is compromised, both historical and future messages can be exposed.
The receiving and sending addresses remain constant, which poses a severe issue for metadata privacy in NIP-4 messages;
Everyone can see who (ID) is sending messages to whom (ID).
Currently, most Nostr apps use NIP-4 for DM functionalities, such as Damus and Primal.
ββββββββββββββββββββββββββββββββββββββ
New Nostr DM (NIP-17) integrates three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
Kind-17 separates the sending address from the ID, making the sending address random and concealing the sender's real ID, thus improving metadata privacy.
The encryption key in NIP-17 does not change, so NIP-17 messages also lack forward secrecy and backward secrecy. Once the private key is leaked, both historical and future messages will be compromised.
The receiving address remains constant, so there is still a slight issue with metadata privacy in NIP-17 messages; everyone can see who (ID) is receiving messages.
Apps like 0xchat and Amethyst use NIP-17 to implement DM functionalities.
ββββββββββββββββββββββββββββββββββββββ
In Keychat, the ID, encryption key, receiving address, and sending address are separated.
The encryption key, the receiving address, and the sending address are updated independently and continuously.
Keychat's encryption key is derived using the Signal protocol, and each message uses a unique encryption key, which is deleted after use.
Thus, Keychat messages have both forward secrecy and backward secrecy. Even if an encryption key is compromised, only the current message can be leaked, and historical and future messages remain secure.
Keychat's sending address is randomly generated for each message.
Therefore, external parties do not know the sender's ID.
Keychat's receiving address is derived using the Signal protocol, with almost every message using a unique receiving address.
Thus, external parties do not know the receiver's ID.
ββββββββββββββββββββββββββββββββββββββ
However, it's important to emphasize that NIP-4 and NIP-17 offer superior multi-device synchronization capabilities because they integrate three capabilities into a single Nostr keyβit serves as an ID, an encryption key, and a receiving address.
View quoted note →
I'm learning more
nevent1qqs0cvqrmp9t78f3f59k5sg99pl8037cfz0wwkvq99yfprwr3whtfsgpr3mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmqwj8fsp
Great info! Thank you. I wonder if there might be a place for two kinds of encrypted chat, a more ephemeral one that cannot be recovered with just an nsec, and a more historical version that remains accessible with an nsec?
