upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/44.md
diff options
context:
space:
mode:
Diffstat (limited to '44.md')
-rw-r--r--44.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/44.md b/44.md
index f3071ea..8f781b8 100644
--- a/44.md
+++ b/44.md
@@ -1,5 +1,5 @@
1NIP-44 1NIP-44
2===== 2======
3 3
4Encrypted Payloads (Versioned) 4Encrypted Payloads (Versioned)
5------------------------------ 5------------------------------
@@ -142,6 +142,8 @@ validation rules, refer to BIP-340.
142 The operation produces a shared point, and we encode the shared point's 32-byte x coordinate, using method 142 The operation produces a shared point, and we encode the shared point's 32-byte x coordinate, using method
143 `bytes(P)` from BIP340. Private and public keys must be validated as per BIP340: pubkey must be a valid, 143 `bytes(P)` from BIP340. Private and public keys must be validated as per BIP340: pubkey must be a valid,
144 on-curve point, and private key must be a scalar in range `[1, secp256k1_order - 1]`. 144 on-curve point, and private key must be a scalar in range `[1, secp256k1_order - 1]`.
145 NIP44 doesn't do hashing of the output: keep this in mind, because some libraries hash it using sha256.
146 As an example, in libsecp256k1, unhashed version is available in `secp256k1_ec_pubkey_tweak_mul`
145- Operators 147- Operators
146 - `x[i:j]`, where `x` is a byte array and `i, j <= 0` returns a `(j - i)`-byte array with a copy of the 148 - `x[i:j]`, where `x` is a byte array and `i, j <= 0` returns a `(j - i)`-byte array with a copy of the
147 `i`-th byte (inclusive) to the `j`-th byte (exclusive) of `x`. 149 `i`-th byte (inclusive) to the `j`-th byte (exclusive) of `x`.