Collection of NIP44 implementations in different languages.
NIP 44 is spec for nostr that aims to add secure encrypted payloads. It can be used to implement end-to-end encrypted direct messaging, among other things.
The spec has not been merged yet. For now it is available at: spec.md.
The code was copied from:
- Go (MIT): https://git.ekzyis.com/ekzyis/nip44
- JavaScript / TypeScript (public domain): https://github.com/nostr-protocol/nips
- Rust (MIT): https://github.com/mikedilger/nip44
Benchmarks without getConversationKey (ECDH):
- Rust: 16B x 670,000 ops/sec @ 1.35µs/op, 512B x 500,000 ops/sec @ 2µs/op
- JS: 16B x 46,446 ops/sec @ 21µs/op, 512B x 14,821 ops/sec @ 67µs/op
Check out javascript/nip44.vectors.json