Hla mus rau cov ntsiab lus
Rov qab mus rau Nymchat

Kev paub hauv paus Hauv qab hood

Kev cai thiab txheej xwm

Dab tsi Nymchat tiag tiag tso rau ntawm cov hlau, rau leej twg tsim tawm tsam nws, tshawb xyuas nws, lossis nyeem cov xwm txheej los ntawm lwm tus neeg siv Nostr.

Yam xwm txheej

HomSiv rauSau ntawv
0Profile metadataStandard Nostr profile: npe, duab, banner, txog, lud16.
5Kev thov tshem tawmNPE-09.
7Cov tshuaj tiv thaivNIP-25, a ['k', originalKind] tag ces cov tshuaj tiv thaiv raug foob rau hom channel txoj cai.
13foobNruab nrab txheej ntawm NIP-17 lus.
14Private lus xaivUnsigned, thiab yeej tsis luam tawm ntawm nws tus kheej.
1059Khoom plig qhwvNPE-59. Dab tsi ua tau ncav cuag ib qho kev xa mus rau cov lus ntiag tug thiab pab pawg sib tham.
1984QhiaNPE-56.
9734 / 9735Zap thov thiab zap tau txaisNPE-57.
10030Kev cai emoji pob cov npeNPE-30.
20000Geohash channel lusEphemeral, tagged ['g', geohash].
23333Lub npe channel lusEphemeral, tagged ['d', channel].
24420 / 24421Public typing indicators and read receiptsNymchat-specific, rau pej xeem raws.
25051 / 25052Peer-to-peer signaling thiab file-transfer statusNymchat tshwj xeeb.
30030Kev cai emoji teebNPE-30.
30078Cov ntaub ntawv thovNPE-78. Polls, thiab encrypted nqis sync.
69420Private nyeem ntawv txais thiab xa khoom raws li txoj caiNymchat tshwj xeeb, nqa raws li lus xaiv hauv lub hnab ntim khoom plig. Ib hom cais los ntawm 14 txhob txwm tshaj tawm, yog li lwm tus neeg siv khoom NIP-17 tsis xa cov lus ncaj qha rau txhua daim ntawv txais nyiaj.

NIPs Nymchat siv

NIPQhov nws muab Nymchat
NPE-07Nkag mus nrog qhov browser txuas ntxiv.
NPE-09Kev thov tshem tawm.
NPE-13Pov thawj ntawm kev ua haujlwm. Cov lus xa tawm raug mined rau tsawg kawg 16 khoom.
NPE-17Cov lus ncaj qha ncaj qha, thiab lub hauv paus rau kev sib tham hauv pab pawg.
NPE-25Cov tshuaj tiv thaiv.
NPE-30Kev cai emoji.
NPE-40Lub sij hawm tas sij hawm — cov lus ploj.
NPE-44Versioned encryption, siv rau cov ntsaws ruaj ruaj, qhwv thiab nqis sync.
NPE-46Chaw taws teeb kos npe - bunker://.
NPE-56Qhia.
NPE-57xob zaps.
NPE-59Khoom plig wraps.
NPE-78Arbitrary daim ntawv thov cov ntaub ntawv.
NPE-98HTTP auth, rau cov ntsiab lus host.

Cryptography

Qhov twgDab tsi
Identity thiab kos npesecp256k1 nrog Schnorr kos npe (BIP-340), raws li Nostr qhia.
Cov lus ntiag tug thiab pab pawg sib thamNIP-44 v2: ECDH ntawm secp256k1, HKDF-SHA256, ChaCha20 nrog HMAC-SHA256, thiab padding yog li ciphertext ntev tsis muab cov lus ntev.
Bluetooth mesh sessionsNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 rau kev tshaj tawm kos npe, SHA-256 thiab HMAC hauv qab.
Tus kheej thaum soAES-GCM-256. Tus yuam sij yog los ntawm PBKDF2-SHA256 ntawm 310,000 iterations rau tus password lossis PIN, lossis los ntawm WebAuthn PRF cov zis los ntawm HKDF-SHA256 rau passkey lossis biometric.
Hu thiab xa cov ntaub ntawvWebRTC tus kheej DTLS-SRTP, sib tham dhau NIP-17-wrapped signaling.
RandomnessLub platform CSPRNG thoob plaws - cov yuam sij, tsis muaj npe, thiab khoom plig-pob lub sij hawm jitter.

Kev tiv thaiv metadata

Ob lub ntsiab lus hauv txoj kev muab khoom plig yog tsim nyog hu tawm, vim tias lawv yog dab tsi cais NIP-59 los ntawm "encrypted, tab sis pom tseeb los ntawm koj mus rau lawv":

  • Txhua qhov qhwv yog kos npe los ntawm a ib lub sij hawm tseem ceeb tsim rau cov lus ntawd ib leeg, yog li tsis muaj ob daim ntawv qhia ib tus xa.
  • Txhua wrap created_at yog randomly backdated txog li ob teev siv CSPRNG, yog li xa thiab txais lub sij hawm tsis tuaj yeem ua ke.

Pawg chats ntxiv rotating ephemeral tus txais cov yuam sij saum toj ntawm qhov ntawd - saib Pab pawg encryption ua haujlwm li cas.

Nyeem qhov chaw

Crypto primitives yog nyob rau hauv js/nym-crypto.js thiab js/modules/key-vault.js hauv web app, thiab hauv qab android-ios-app/lib/core/crypto/ thiab lib/services/mesh/noise/ hauv Flutter app. Cov chaw cia khoom yog AGPL-3.0 thiab ua tiav - tsis muaj cov khoom kaw kom ntseeg tau.