diff options
| author | Jeff Thibault <jdthibault2@gmail.com> | 2023-02-10 08:18:40 -0500 |
|---|---|---|
| committer | fiatjaf <fiatjaf@gmail.com> | 2023-02-10 10:34:45 -0300 |
| commit | ffe6a49557253a1f6227793787c6fcf58565a980 (patch) | |
| tree | 15b7a3bb6f0ebc0eb9032c1d63f48237443b2cbb /04.md | |
| parent | 9d0b59d381a3d70dcf9947fd6bb194b259b05f9e (diff) | |
NIP-04: clarify how shared secret is computed
Diffstat (limited to '04.md')
| -rw-r--r-- | 04.md | 2 |
1 files changed, 2 insertions, 0 deletions
| @@ -14,6 +14,8 @@ A special event with kind `4`, meaning "encrypted direct message". It is suppose | |||
| 14 | 14 | ||
| 15 | **`tags`** MAY contain an entry identifying the previous message in a conversation or a message we are explicitly replying to (such that contextual, more organized conversations may happen), in the form `["e", "<event_id>"]`. | 15 | **`tags`** MAY contain an entry identifying the previous message in a conversation or a message we are explicitly replying to (such that contextual, more organized conversations may happen), in the form `["e", "<event_id>"]`. |
| 16 | 16 | ||
| 17 | **Note**: By default in the [libsecp256k1](https://github.com/bitcoin-core/secp256k1) ECDH implementation, the secret is the SHA256 hash of the shared point (both X and Y coorinates). In Nostr, only the X coordinate of the shared point is used as the secret and it is NOT hashed. If using libsecp256k1, a custom function that copies the X coordinate must be passed as the `hashfp` argument in `secp256k1_ecdh`. See [here](https://github.com/bitcoin-core/secp256k1/blob/master/src/modules/ecdh/main_impl.h#L29). | ||
| 18 | |||
| 17 | Code sample for generating such an event in JavaScript: | 19 | Code sample for generating such an event in JavaScript: |
| 18 | 20 | ||
| 19 | ```js | 21 | ```js |