@unicitylabs/nostr-js-sdk 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -5
- package/dist/browser/index.js +1650 -75
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.min.js +7 -6
- package/dist/browser/index.min.js.map +1 -1
- package/dist/browser/index.umd.js +1659 -80
- package/dist/browser/index.umd.js.map +1 -1
- package/dist/browser/index.umd.min.js +7 -6
- package/dist/browser/index.umd.min.js.map +1 -1
- package/dist/cjs/NostrKeyManager.js +57 -0
- package/dist/cjs/NostrKeyManager.js.map +1 -1
- package/dist/cjs/client/NostrClient.js +46 -0
- package/dist/cjs/client/NostrClient.js.map +1 -1
- package/dist/cjs/crypto/index.js +4 -2
- package/dist/cjs/crypto/index.js.map +1 -1
- package/dist/cjs/crypto/nip04.js +14 -3
- package/dist/cjs/crypto/nip04.js.map +1 -1
- package/dist/cjs/crypto/nip44.js +297 -0
- package/dist/cjs/crypto/nip44.js.map +1 -0
- package/dist/cjs/index.js +27 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/messaging/index.js +24 -0
- package/dist/cjs/messaging/index.js.map +1 -0
- package/dist/cjs/messaging/nip17.js +267 -0
- package/dist/cjs/messaging/nip17.js.map +1 -0
- package/dist/cjs/messaging/types.js +20 -0
- package/dist/cjs/messaging/types.js.map +1 -0
- package/dist/cjs/nametag/NametagUtils.js +1 -1
- package/dist/cjs/nametag/NametagUtils.js.map +1 -1
- package/dist/cjs/payment/PaymentRequestProtocol.js +2 -0
- package/dist/cjs/payment/PaymentRequestProtocol.js.map +1 -1
- package/dist/cjs/protocol/EventKinds.js +13 -1
- package/dist/cjs/protocol/EventKinds.js.map +1 -1
- package/dist/esm/NostrKeyManager.js +57 -0
- package/dist/esm/NostrKeyManager.js.map +1 -1
- package/dist/esm/client/NostrClient.js +46 -0
- package/dist/esm/client/NostrClient.js.map +1 -1
- package/dist/esm/crypto/index.js +3 -1
- package/dist/esm/crypto/index.js.map +1 -1
- package/dist/esm/crypto/nip04.js +14 -3
- package/dist/esm/crypto/nip04.js.map +1 -1
- package/dist/esm/crypto/nip44.js +283 -0
- package/dist/esm/crypto/nip44.js.map +1 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/messaging/index.js +8 -0
- package/dist/esm/messaging/index.js.map +1 -0
- package/dist/esm/messaging/nip17.js +229 -0
- package/dist/esm/messaging/nip17.js.map +1 -0
- package/dist/esm/messaging/types.js +16 -0
- package/dist/esm/messaging/types.js.map +1 -0
- package/dist/esm/nametag/NametagUtils.js +1 -1
- package/dist/esm/nametag/NametagUtils.js.map +1 -1
- package/dist/esm/payment/PaymentRequestProtocol.js +2 -0
- package/dist/esm/payment/PaymentRequestProtocol.js.map +1 -1
- package/dist/esm/protocol/EventKinds.js +12 -0
- package/dist/esm/protocol/EventKinds.js.map +1 -1
- package/dist/types/NostrKeyManager.d.ts +36 -0
- package/dist/types/NostrKeyManager.d.ts.map +1 -1
- package/dist/types/client/NostrClient.d.ts +31 -0
- package/dist/types/client/NostrClient.d.ts.map +1 -1
- package/dist/types/crypto/index.d.ts +1 -1
- package/dist/types/crypto/index.d.ts.map +1 -1
- package/dist/types/crypto/nip04.d.ts.map +1 -1
- package/dist/types/crypto/nip44.d.ts +78 -0
- package/dist/types/crypto/nip44.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/messaging/index.d.ts +8 -0
- package/dist/types/messaging/index.d.ts.map +1 -0
- package/dist/types/messaging/nip17.d.ts +42 -0
- package/dist/types/messaging/nip17.d.ts.map +1 -0
- package/dist/types/messaging/types.d.ts +59 -0
- package/dist/types/messaging/types.d.ts.map +1 -0
- package/dist/types/payment/PaymentRequestProtocol.d.ts.map +1 -1
- package/dist/types/protocol/EventKinds.d.ts +6 -0
- package/dist/types/protocol/EventKinds.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -42,6 +42,7 @@ const utils_1 = require("@noble/hashes/utils");
|
|
|
42
42
|
const Bech32 = __importStar(require("./crypto/bech32.js"));
|
|
43
43
|
const Schnorr = __importStar(require("./crypto/schnorr.js"));
|
|
44
44
|
const NIP04 = __importStar(require("./crypto/nip04.js"));
|
|
45
|
+
const NIP44 = __importStar(require("./crypto/nip44.js"));
|
|
45
46
|
/**
|
|
46
47
|
* NostrKeyManager provides a high-level interface for cryptographic operations.
|
|
47
48
|
* It manages a Nostr key pair and provides methods for signing, verification,
|
|
@@ -242,6 +243,62 @@ class NostrKeyManager {
|
|
|
242
243
|
this.ensureNotCleared();
|
|
243
244
|
return NIP04.deriveSharedSecret(this.privateKey, theirPublicKey);
|
|
244
245
|
}
|
|
246
|
+
// ============================================================================
|
|
247
|
+
// NIP-44 Encryption (XChaCha20-Poly1305)
|
|
248
|
+
// ============================================================================
|
|
249
|
+
/**
|
|
250
|
+
* Encrypt a message using NIP-44 encryption.
|
|
251
|
+
* Uses XChaCha20-Poly1305 with HKDF key derivation.
|
|
252
|
+
* @param message Message to encrypt
|
|
253
|
+
* @param recipientPublicKey 32-byte x-only public key of recipient
|
|
254
|
+
* @returns Base64-encoded encrypted content
|
|
255
|
+
*/
|
|
256
|
+
encryptNip44(message, recipientPublicKey) {
|
|
257
|
+
this.ensureNotCleared();
|
|
258
|
+
return NIP44.encrypt(message, this.privateKey, recipientPublicKey);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Encrypt a message using NIP-44 with hex-encoded recipient public key.
|
|
262
|
+
* @param message Message to encrypt
|
|
263
|
+
* @param recipientPublicKeyHex Hex-encoded recipient public key
|
|
264
|
+
* @returns Base64-encoded encrypted content
|
|
265
|
+
*/
|
|
266
|
+
encryptNip44Hex(message, recipientPublicKeyHex) {
|
|
267
|
+
this.ensureNotCleared();
|
|
268
|
+
const recipientPublicKey = (0, utils_1.hexToBytes)(recipientPublicKeyHex);
|
|
269
|
+
return NIP44.encrypt(message, this.privateKey, recipientPublicKey);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Decrypt a NIP-44 encrypted message.
|
|
273
|
+
* @param encryptedContent Base64-encoded encrypted content
|
|
274
|
+
* @param senderPublicKey 32-byte x-only public key of sender
|
|
275
|
+
* @returns Decrypted message
|
|
276
|
+
*/
|
|
277
|
+
decryptNip44(encryptedContent, senderPublicKey) {
|
|
278
|
+
this.ensureNotCleared();
|
|
279
|
+
return NIP44.decrypt(encryptedContent, this.privateKey, senderPublicKey);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Decrypt a NIP-44 message using hex-encoded sender public key.
|
|
283
|
+
* @param encryptedContent Base64-encoded encrypted content
|
|
284
|
+
* @param senderPublicKeyHex Hex-encoded sender public key
|
|
285
|
+
* @returns Decrypted message
|
|
286
|
+
*/
|
|
287
|
+
decryptNip44Hex(encryptedContent, senderPublicKeyHex) {
|
|
288
|
+
this.ensureNotCleared();
|
|
289
|
+
const senderPublicKey = (0, utils_1.hexToBytes)(senderPublicKeyHex);
|
|
290
|
+
return NIP44.decrypt(encryptedContent, this.privateKey, senderPublicKey);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Derive NIP-44 conversation key with another party.
|
|
294
|
+
* Uses ECDH + HKDF with sorted public keys as salt.
|
|
295
|
+
* @param theirPublicKey 32-byte x-only public key
|
|
296
|
+
* @returns 32-byte conversation key
|
|
297
|
+
*/
|
|
298
|
+
deriveConversationKey(theirPublicKey) {
|
|
299
|
+
this.ensureNotCleared();
|
|
300
|
+
return NIP44.deriveConversationKey(this.privateKey, theirPublicKey);
|
|
301
|
+
}
|
|
245
302
|
/**
|
|
246
303
|
* Check if a public key matches this key manager's public key.
|
|
247
304
|
* @param publicKeyHex Hex-encoded public key to check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NostrKeyManager.js","sourceRoot":"","sources":["../../src/NostrKeyManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NostrKeyManager.js","sourceRoot":"","sources":["../../src/NostrKeyManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ exports.NostrClient = void 0;
|
|
|
41
41
|
const Event_js_1 = require("../protocol/Event.js");
|
|
42
42
|
const EventKinds = __importStar(require("../protocol/EventKinds.js"));
|
|
43
43
|
const WebSocketAdapter_js_1 = require("./WebSocketAdapter.js");
|
|
44
|
+
const NIP17 = __importStar(require("../messaging/nip17.js"));
|
|
44
45
|
/** Connection timeout in milliseconds */
|
|
45
46
|
const CONNECTION_TIMEOUT_MS = 30000;
|
|
46
47
|
/** Reconnection delay in milliseconds */
|
|
@@ -524,6 +525,51 @@ class NostrClient {
|
|
|
524
525
|
const event = Event_js_1.Event.create(this.keyManager, data);
|
|
525
526
|
return this.publishEvent(event);
|
|
526
527
|
}
|
|
528
|
+
// ========== NIP-17 Private Messages ==========
|
|
529
|
+
/**
|
|
530
|
+
* Send a private message using NIP-17 gift-wrapping.
|
|
531
|
+
* @param recipientPubkeyHex Recipient's public key (hex)
|
|
532
|
+
* @param message Message content
|
|
533
|
+
* @param options Optional message options (reply-to, etc.)
|
|
534
|
+
* @returns Promise that resolves with the gift wrap event ID
|
|
535
|
+
*/
|
|
536
|
+
async sendPrivateMessage(recipientPubkeyHex, message, options) {
|
|
537
|
+
const giftWrap = NIP17.createGiftWrap(this.keyManager, recipientPubkeyHex, message, options);
|
|
538
|
+
return this.publishEvent(giftWrap);
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Send a private message to a recipient identified by their nametag.
|
|
542
|
+
* Resolves the nametag to a pubkey automatically.
|
|
543
|
+
* @param recipientNametag Recipient's nametag (Unicity ID)
|
|
544
|
+
* @param message Message content
|
|
545
|
+
* @param options Optional message options (reply-to, etc.)
|
|
546
|
+
* @returns Promise that resolves with the gift wrap event ID
|
|
547
|
+
*/
|
|
548
|
+
async sendPrivateMessageToNametag(recipientNametag, message, options) {
|
|
549
|
+
const pubkey = await this.queryPubkeyByNametag(recipientNametag);
|
|
550
|
+
if (!pubkey) {
|
|
551
|
+
throw new Error(`Nametag not found: ${recipientNametag}`);
|
|
552
|
+
}
|
|
553
|
+
return this.sendPrivateMessage(pubkey, message, options);
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Send a read receipt for a message using NIP-17 gift-wrapping.
|
|
557
|
+
* @param recipientPubkeyHex Recipient (original sender) public key
|
|
558
|
+
* @param messageEventId Event ID of the message being acknowledged
|
|
559
|
+
* @returns Promise that resolves with the gift wrap event ID
|
|
560
|
+
*/
|
|
561
|
+
async sendReadReceipt(recipientPubkeyHex, messageEventId) {
|
|
562
|
+
const giftWrap = NIP17.createReadReceipt(this.keyManager, recipientPubkeyHex, messageEventId);
|
|
563
|
+
return this.publishEvent(giftWrap);
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Unwrap a gift-wrapped private message.
|
|
567
|
+
* @param giftWrap Gift wrap event (kind 1059)
|
|
568
|
+
* @returns Parsed private message
|
|
569
|
+
*/
|
|
570
|
+
unwrapPrivateMessage(giftWrap) {
|
|
571
|
+
return NIP17.unwrap(giftWrap, this.keyManager);
|
|
572
|
+
}
|
|
527
573
|
}
|
|
528
574
|
exports.NostrClient = NostrClient;
|
|
529
575
|
//# sourceMappingURL=NostrClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/crypto/index.js
CHANGED
|
@@ -39,11 +39,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.NIP04 = exports.SchnorrSigner = exports.Bech32 = void 0;
|
|
42
|
+
exports.NIP44 = exports.NIP04 = exports.SchnorrSigner = exports.Bech32 = void 0;
|
|
43
43
|
__exportStar(require("./bech32.js"), exports);
|
|
44
44
|
exports.Bech32 = __importStar(require("./bech32.js"));
|
|
45
45
|
__exportStar(require("./schnorr.js"), exports);
|
|
46
46
|
exports.SchnorrSigner = __importStar(require("./schnorr.js"));
|
|
47
|
-
|
|
47
|
+
// NIP-04 and NIP-44 have conflicting function names (encrypt, decrypt, etc.)
|
|
48
|
+
// Export them as namespaces only to avoid ambiguity
|
|
48
49
|
exports.NIP04 = __importStar(require("./nip04.js"));
|
|
50
|
+
exports.NIP44 = __importStar(require("./nip44.js"));
|
|
49
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,sDAAsC;AACtC,+CAA6B;AAC7B,8DAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,sDAAsC;AACtC,+CAA6B;AAC7B,8DAA8C;AAE9C,6EAA6E;AAC7E,oDAAoD;AACpD,oDAAoC;AACpC,oDAAoC"}
|
package/dist/cjs/crypto/nip04.js
CHANGED
|
@@ -47,6 +47,17 @@ exports.decryptHex = decryptHex;
|
|
|
47
47
|
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
48
48
|
const sha256_1 = require("@noble/hashes/sha256");
|
|
49
49
|
const utils_1 = require("@noble/hashes/utils");
|
|
50
|
+
/**
|
|
51
|
+
* Get the Web Crypto API (works in both Node.js and browser)
|
|
52
|
+
*/
|
|
53
|
+
async function getWebCrypto() {
|
|
54
|
+
if (typeof globalThis.crypto?.subtle !== 'undefined') {
|
|
55
|
+
return globalThis.crypto;
|
|
56
|
+
}
|
|
57
|
+
// Node.js environment - import webcrypto
|
|
58
|
+
const nodeCrypto = await Promise.resolve().then(() => __importStar(require('crypto')));
|
|
59
|
+
return nodeCrypto.webcrypto;
|
|
60
|
+
}
|
|
50
61
|
/** Compression threshold in bytes */
|
|
51
62
|
const COMPRESSION_THRESHOLD = 1024;
|
|
52
63
|
/** Prefix for compressed messages */
|
|
@@ -163,7 +174,7 @@ async function decompress(data) {
|
|
|
163
174
|
* Import an AES-256-CBC key for encryption/decryption
|
|
164
175
|
*/
|
|
165
176
|
async function importKey(keyBytes) {
|
|
166
|
-
const crypto =
|
|
177
|
+
const crypto = await getWebCrypto();
|
|
167
178
|
return crypto.subtle.importKey('raw', toBufferSource(keyBytes), { name: 'AES-CBC' }, false, [
|
|
168
179
|
'encrypt',
|
|
169
180
|
'decrypt',
|
|
@@ -173,7 +184,7 @@ async function importKey(keyBytes) {
|
|
|
173
184
|
* AES-256-CBC encrypt
|
|
174
185
|
*/
|
|
175
186
|
async function aesEncrypt(plaintext, key, iv) {
|
|
176
|
-
const crypto =
|
|
187
|
+
const crypto = await getWebCrypto();
|
|
177
188
|
const cryptoKey = await importKey(key);
|
|
178
189
|
const ciphertext = await crypto.subtle.encrypt({ name: 'AES-CBC', iv: toBufferSource(iv) }, cryptoKey, toBufferSource(plaintext));
|
|
179
190
|
return new Uint8Array(ciphertext);
|
|
@@ -182,7 +193,7 @@ async function aesEncrypt(plaintext, key, iv) {
|
|
|
182
193
|
* AES-256-CBC decrypt
|
|
183
194
|
*/
|
|
184
195
|
async function aesDecrypt(ciphertext, key, iv) {
|
|
185
|
-
const crypto =
|
|
196
|
+
const crypto = await getWebCrypto();
|
|
186
197
|
const cryptoKey = await importKey(key);
|
|
187
198
|
const plaintext = await crypto.subtle.decrypt({ name: 'AES-CBC', iv: toBufferSource(iv) }, cryptoKey, toBufferSource(ciphertext));
|
|
188
199
|
return new Uint8Array(plaintext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nip04.js","sourceRoot":"","sources":["../../../src/crypto/nip04.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"nip04.js","sourceRoot":"","sources":["../../../src/crypto/nip04.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* NIP-44 Encryption implementation.
|
|
4
|
+
* ChaCha20-Poly1305 AEAD encryption with HKDF key derivation.
|
|
5
|
+
* Works in both Node.js and browser environments.
|
|
6
|
+
* See: https://github.com/nostr-protocol/nips/blob/master/44.md
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.VERSION = void 0;
|
|
10
|
+
exports.deriveConversationKey = deriveConversationKey;
|
|
11
|
+
exports.deriveConversationKeyHex = deriveConversationKeyHex;
|
|
12
|
+
exports.calcPaddedLen = calcPaddedLen;
|
|
13
|
+
exports.pad = pad;
|
|
14
|
+
exports.unpad = unpad;
|
|
15
|
+
exports.encrypt = encrypt;
|
|
16
|
+
exports.encryptWithKey = encryptWithKey;
|
|
17
|
+
exports.decrypt = decrypt;
|
|
18
|
+
exports.decryptWithKey = decryptWithKey;
|
|
19
|
+
exports.encryptHex = encryptHex;
|
|
20
|
+
exports.decryptHex = decryptHex;
|
|
21
|
+
const chacha_1 = require("@noble/ciphers/chacha");
|
|
22
|
+
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
23
|
+
const hkdf_1 = require("@noble/hashes/hkdf");
|
|
24
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
25
|
+
const utils_1 = require("@noble/hashes/utils");
|
|
26
|
+
/** NIP-44 version byte */
|
|
27
|
+
exports.VERSION = 0x02;
|
|
28
|
+
/** Nonce size for XChaCha20 (24 bytes) */
|
|
29
|
+
const NONCE_SIZE = 24;
|
|
30
|
+
/** MAC size for Poly1305 (16 bytes) */
|
|
31
|
+
const MAC_SIZE = 16;
|
|
32
|
+
/** Minimum padded length */
|
|
33
|
+
const MIN_PADDED_LEN = 32;
|
|
34
|
+
/** Maximum message length */
|
|
35
|
+
const MAX_MESSAGE_LEN = 65535;
|
|
36
|
+
/** HKDF salt for conversation key derivation */
|
|
37
|
+
const HKDF_SALT = new TextEncoder().encode('nip44-v2');
|
|
38
|
+
/**
|
|
39
|
+
* Derive conversation key using ECDH + HKDF.
|
|
40
|
+
* NIP-44 uses sorted public keys as salt for HKDF.
|
|
41
|
+
*
|
|
42
|
+
* @param myPrivateKey 32-byte private key
|
|
43
|
+
* @param theirPublicKey 32-byte x-only public key
|
|
44
|
+
* @returns 32-byte conversation key
|
|
45
|
+
*/
|
|
46
|
+
function deriveConversationKey(myPrivateKey, theirPublicKey) {
|
|
47
|
+
if (myPrivateKey.length !== 32) {
|
|
48
|
+
throw new Error('Private key must be 32 bytes');
|
|
49
|
+
}
|
|
50
|
+
if (theirPublicKey.length !== 32) {
|
|
51
|
+
throw new Error('Public key must be 32 bytes');
|
|
52
|
+
}
|
|
53
|
+
// Get shared X coordinate via ECDH
|
|
54
|
+
const sharedX = computeSharedX(myPrivateKey, theirPublicKey);
|
|
55
|
+
// Get my public key
|
|
56
|
+
const myPublicKey = secp256k1_1.secp256k1.getPublicKey(myPrivateKey, true).slice(1); // Remove prefix
|
|
57
|
+
// Create salt from sorted public keys
|
|
58
|
+
const salt = createSortedKeysSalt(myPublicKey, theirPublicKey);
|
|
59
|
+
// Use HKDF to derive conversation key
|
|
60
|
+
return (0, hkdf_1.hkdf)(sha256_1.sha256, sharedX, salt, HKDF_SALT, 32);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Derive conversation key from hex-encoded keys.
|
|
64
|
+
*/
|
|
65
|
+
function deriveConversationKeyHex(myPrivateKeyHex, theirPublicKeyHex) {
|
|
66
|
+
const myPrivateKey = (0, utils_1.hexToBytes)(myPrivateKeyHex);
|
|
67
|
+
const theirPublicKey = (0, utils_1.hexToBytes)(theirPublicKeyHex);
|
|
68
|
+
return (0, utils_1.bytesToHex)(deriveConversationKey(myPrivateKey, theirPublicKey));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Compute ECDH shared X coordinate.
|
|
72
|
+
*/
|
|
73
|
+
function computeSharedX(myPrivateKey, theirPublicKey) {
|
|
74
|
+
// Reconstruct full public key (add 02 prefix for even y)
|
|
75
|
+
const fullPublicKey = new Uint8Array(33);
|
|
76
|
+
fullPublicKey[0] = 0x02;
|
|
77
|
+
fullPublicKey.set(theirPublicKey, 1);
|
|
78
|
+
// Compute shared point
|
|
79
|
+
const sharedPoint = secp256k1_1.secp256k1.getSharedSecret(myPrivateKey, fullPublicKey);
|
|
80
|
+
// Extract X coordinate (skip 04 prefix, take first 32 bytes)
|
|
81
|
+
return sharedPoint.slice(1, 33);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create salt from lexicographically sorted public keys.
|
|
85
|
+
*/
|
|
86
|
+
function createSortedKeysSalt(pk1, pk2) {
|
|
87
|
+
const cmp = compareBytes(pk1, pk2);
|
|
88
|
+
if (cmp <= 0) {
|
|
89
|
+
return (0, utils_1.concatBytes)(pk1, pk2);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return (0, utils_1.concatBytes)(pk2, pk1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Compare two byte arrays lexicographically.
|
|
97
|
+
*/
|
|
98
|
+
function compareBytes(a, b) {
|
|
99
|
+
const len = Math.min(a.length, b.length);
|
|
100
|
+
for (let i = 0; i < len; i++) {
|
|
101
|
+
const diff = a[i] - b[i];
|
|
102
|
+
if (diff !== 0)
|
|
103
|
+
return diff;
|
|
104
|
+
}
|
|
105
|
+
return a.length - b.length;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Calculate padded length according to NIP-44 spec.
|
|
109
|
+
* Uses power-of-2 chunk padding to hide message length.
|
|
110
|
+
*/
|
|
111
|
+
function calcPaddedLen(unpaddedLen) {
|
|
112
|
+
if (unpaddedLen <= 0) {
|
|
113
|
+
throw new Error('Message too short');
|
|
114
|
+
}
|
|
115
|
+
if (unpaddedLen > MAX_MESSAGE_LEN) {
|
|
116
|
+
throw new Error('Message too long');
|
|
117
|
+
}
|
|
118
|
+
if (unpaddedLen <= 32) {
|
|
119
|
+
return 32;
|
|
120
|
+
}
|
|
121
|
+
// Find next power of 2
|
|
122
|
+
const nextPow2 = 1 << Math.ceil(Math.log2(unpaddedLen));
|
|
123
|
+
const chunk = Math.max(32, nextPow2 >> 3);
|
|
124
|
+
return Math.ceil(unpaddedLen / chunk) * chunk;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Pad message according to NIP-44 spec.
|
|
128
|
+
* Format: length(2 bytes big-endian) || message || padding
|
|
129
|
+
*/
|
|
130
|
+
function pad(message) {
|
|
131
|
+
const len = message.length;
|
|
132
|
+
if (len < 1) {
|
|
133
|
+
throw new Error('Message too short');
|
|
134
|
+
}
|
|
135
|
+
if (len > MAX_MESSAGE_LEN) {
|
|
136
|
+
throw new Error('Message too long');
|
|
137
|
+
}
|
|
138
|
+
const paddedLen = calcPaddedLen(len);
|
|
139
|
+
const result = new Uint8Array(2 + paddedLen);
|
|
140
|
+
// Big-endian length prefix
|
|
141
|
+
result[0] = (len >> 8) & 0xff;
|
|
142
|
+
result[1] = len & 0xff;
|
|
143
|
+
// Copy message
|
|
144
|
+
result.set(message, 2);
|
|
145
|
+
// Remaining bytes are already zero (padding)
|
|
146
|
+
return result;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Unpad message according to NIP-44 spec.
|
|
150
|
+
*/
|
|
151
|
+
function unpad(padded) {
|
|
152
|
+
if (padded.length < 2 + MIN_PADDED_LEN) {
|
|
153
|
+
throw new Error('Padded message too short');
|
|
154
|
+
}
|
|
155
|
+
// Read big-endian length prefix
|
|
156
|
+
const len = (padded[0] << 8) | padded[1];
|
|
157
|
+
if (len < 1 || len > MAX_MESSAGE_LEN) {
|
|
158
|
+
throw new Error(`Invalid message length: ${len}`);
|
|
159
|
+
}
|
|
160
|
+
const expectedPaddedLen = calcPaddedLen(len);
|
|
161
|
+
if (padded.length !== 2 + expectedPaddedLen) {
|
|
162
|
+
throw new Error('Invalid padding');
|
|
163
|
+
}
|
|
164
|
+
return padded.slice(2, 2 + len);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Encrypt a message using NIP-44.
|
|
168
|
+
*
|
|
169
|
+
* @param message Plaintext message
|
|
170
|
+
* @param myPrivateKey Sender's 32-byte private key
|
|
171
|
+
* @param theirPublicKey Recipient's 32-byte x-only public key
|
|
172
|
+
* @returns Base64-encoded encrypted payload
|
|
173
|
+
*/
|
|
174
|
+
function encrypt(message, myPrivateKey, theirPublicKey) {
|
|
175
|
+
const conversationKey = deriveConversationKey(myPrivateKey, theirPublicKey);
|
|
176
|
+
return encryptWithKey(message, conversationKey);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Encrypt a message using a pre-derived conversation key.
|
|
180
|
+
*
|
|
181
|
+
* @param message Plaintext message
|
|
182
|
+
* @param conversationKey 32-byte conversation key
|
|
183
|
+
* @returns Base64-encoded encrypted payload
|
|
184
|
+
*/
|
|
185
|
+
function encryptWithKey(message, conversationKey) {
|
|
186
|
+
const encoder = new TextEncoder();
|
|
187
|
+
const messageBytes = encoder.encode(message);
|
|
188
|
+
if (messageBytes.length > MAX_MESSAGE_LEN) {
|
|
189
|
+
throw new Error(`Message too long (max ${MAX_MESSAGE_LEN} bytes)`);
|
|
190
|
+
}
|
|
191
|
+
// Pad the message
|
|
192
|
+
const padded = pad(messageBytes);
|
|
193
|
+
// Generate random nonce (24 bytes for XChaCha20)
|
|
194
|
+
const nonce = (0, utils_1.randomBytes)(NONCE_SIZE);
|
|
195
|
+
// Derive message keys using HKDF
|
|
196
|
+
const messageKey = (0, hkdf_1.hkdf)(sha256_1.sha256, conversationKey, nonce, new Uint8Array(0), 76);
|
|
197
|
+
const chachaKey = messageKey.slice(0, 32);
|
|
198
|
+
const chachaNonce = messageKey.slice(32, 44);
|
|
199
|
+
// Encrypt with ChaCha20-Poly1305
|
|
200
|
+
const cipher = (0, chacha_1.chacha20poly1305)(chachaKey, chachaNonce);
|
|
201
|
+
const ciphertext = cipher.encrypt(padded);
|
|
202
|
+
// Assemble payload: version(1) || nonce(24) || ciphertext+mac
|
|
203
|
+
const payload = new Uint8Array(1 + NONCE_SIZE + ciphertext.length);
|
|
204
|
+
payload[0] = exports.VERSION;
|
|
205
|
+
payload.set(nonce, 1);
|
|
206
|
+
payload.set(ciphertext, 1 + NONCE_SIZE);
|
|
207
|
+
return toBase64(payload);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Decrypt a NIP-44 encrypted message.
|
|
211
|
+
*
|
|
212
|
+
* @param encryptedContent Base64-encoded encrypted payload
|
|
213
|
+
* @param myPrivateKey Recipient's 32-byte private key
|
|
214
|
+
* @param theirPublicKey Sender's 32-byte x-only public key
|
|
215
|
+
* @returns Decrypted plaintext message
|
|
216
|
+
*/
|
|
217
|
+
function decrypt(encryptedContent, myPrivateKey, theirPublicKey) {
|
|
218
|
+
const conversationKey = deriveConversationKey(myPrivateKey, theirPublicKey);
|
|
219
|
+
return decryptWithKey(encryptedContent, conversationKey);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Decrypt a message using a pre-derived conversation key.
|
|
223
|
+
*
|
|
224
|
+
* @param encryptedContent Base64-encoded encrypted payload
|
|
225
|
+
* @param conversationKey 32-byte conversation key
|
|
226
|
+
* @returns Decrypted plaintext message
|
|
227
|
+
*/
|
|
228
|
+
function decryptWithKey(encryptedContent, conversationKey) {
|
|
229
|
+
const payload = fromBase64(encryptedContent);
|
|
230
|
+
if (payload.length < 1 + NONCE_SIZE + MIN_PADDED_LEN + MAC_SIZE) {
|
|
231
|
+
throw new Error('Payload too short');
|
|
232
|
+
}
|
|
233
|
+
// Check version
|
|
234
|
+
if (payload[0] !== exports.VERSION) {
|
|
235
|
+
throw new Error(`Unsupported NIP-44 version: ${payload[0]}`);
|
|
236
|
+
}
|
|
237
|
+
// Extract components
|
|
238
|
+
const nonce = payload.slice(1, 1 + NONCE_SIZE);
|
|
239
|
+
const ciphertext = payload.slice(1 + NONCE_SIZE);
|
|
240
|
+
// Derive message keys
|
|
241
|
+
const messageKey = (0, hkdf_1.hkdf)(sha256_1.sha256, conversationKey, nonce, new Uint8Array(0), 76);
|
|
242
|
+
const chachaKey = messageKey.slice(0, 32);
|
|
243
|
+
const chachaNonce = messageKey.slice(32, 44);
|
|
244
|
+
// Decrypt with ChaCha20-Poly1305
|
|
245
|
+
const cipher = (0, chacha_1.chacha20poly1305)(chachaKey, chachaNonce);
|
|
246
|
+
const padded = cipher.decrypt(ciphertext);
|
|
247
|
+
// Unpad
|
|
248
|
+
const messageBytes = unpad(padded);
|
|
249
|
+
const decoder = new TextDecoder();
|
|
250
|
+
return decoder.decode(messageBytes);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Encrypt a message using hex-encoded keys.
|
|
254
|
+
*/
|
|
255
|
+
function encryptHex(message, myPrivateKeyHex, theirPublicKeyHex) {
|
|
256
|
+
const myPrivateKey = (0, utils_1.hexToBytes)(myPrivateKeyHex);
|
|
257
|
+
const theirPublicKey = (0, utils_1.hexToBytes)(theirPublicKeyHex);
|
|
258
|
+
return encrypt(message, myPrivateKey, theirPublicKey);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Decrypt a message using hex-encoded keys.
|
|
262
|
+
*/
|
|
263
|
+
function decryptHex(encryptedContent, myPrivateKeyHex, theirPublicKeyHex) {
|
|
264
|
+
const myPrivateKey = (0, utils_1.hexToBytes)(myPrivateKeyHex);
|
|
265
|
+
const theirPublicKey = (0, utils_1.hexToBytes)(theirPublicKeyHex);
|
|
266
|
+
return decrypt(encryptedContent, myPrivateKey, theirPublicKey);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Convert a Uint8Array to base64 string (browser and Node.js compatible).
|
|
270
|
+
*/
|
|
271
|
+
function toBase64(bytes) {
|
|
272
|
+
if (typeof Buffer !== 'undefined') {
|
|
273
|
+
return Buffer.from(bytes).toString('base64');
|
|
274
|
+
}
|
|
275
|
+
// Browser environment
|
|
276
|
+
let binary = '';
|
|
277
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
278
|
+
binary += String.fromCharCode(bytes[i]);
|
|
279
|
+
}
|
|
280
|
+
return btoa(binary);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Convert a base64 string to Uint8Array (browser and Node.js compatible).
|
|
284
|
+
*/
|
|
285
|
+
function fromBase64(base64) {
|
|
286
|
+
if (typeof Buffer !== 'undefined') {
|
|
287
|
+
return new Uint8Array(Buffer.from(base64, 'base64'));
|
|
288
|
+
}
|
|
289
|
+
// Browser environment
|
|
290
|
+
const binary = atob(base64);
|
|
291
|
+
const bytes = new Uint8Array(binary.length);
|
|
292
|
+
for (let i = 0; i < binary.length; i++) {
|
|
293
|
+
bytes[i] = binary.charCodeAt(i);
|
|
294
|
+
}
|
|
295
|
+
return bytes;
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=nip44.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nip44.js","sourceRoot":"","sources":["../../../src/crypto/nip44.ts"],"names":[],"mappings":"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"}
|