We handle message encryption and metadata privacy separately. The message encryption part uses libsignal directly, which means it only uses curve25519. Message metadata privacy is achieved by separating the sending and receiving addresses from the ID and continuously updating them. The sending address is generated completely randomly. The receiving address… Keychat May 14, 2024, 10:22 AM
Alice sends a message to a new address A1, not to Bob's ID key. This new address is derived from the DH ratchet, known only to Alice and Bob. Bob pulls messages sent to A1 from the relay and then decrypts them.… Keychat May 14, 2024, 10:04 AM
Bob will send letter to Alice’s old address. Alice will still listen to several old addresses in case.… Keychat May 14, 2024, 8:25 AM
Perhaps you can understand Keychat's continual updating of sending addresses as akin to Signal's sealed sender feature. “When you send a traditional piece of physical mail, the outside of the package typically includes the address of both the sender and the recipient. The same basic components Keychat May 14, 2024, 7:49 AM
The idea with giftwrapping is that the relay/server can't know who the real sender is. The approach of updating both the sending and receiving addresses can protect not only the sender but also the receiver of the message.… Keychat May 14, 2024, 7:40 AM
Yes. We recommend adding friends by scanning QR codes or copying and pasting them. Adding friends through a method similar to NIP4 offers less privacy.… Keychat May 14, 2024, 7:30 AM