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.
Nplooj ntawv no yog tshuab txhais kom yooj yim. Cov lus Askiv thawj yog cov version uas siv.
Yam xwm txheej
| Hom | Siv rau | Sau ntawv |
|---|---|---|
0 | Profile metadata | Standard Nostr profile: npe, duab, banner, txog, lud16. |
5 | Kev thov tshem tawm | NPE-09. |
7 | Cov tshuaj tiv thaiv | NIP-25, a ['k', originalKind] tag ces cov tshuaj tiv thaiv raug foob rau hom channel txoj cai. |
13 | foob | Nruab nrab txheej ntawm NIP-17 lus. |
14 | Private lus xaiv | Unsigned, thiab yeej tsis luam tawm ntawm nws tus kheej. |
1059 | Khoom plig qhwv | NPE-59. Dab tsi ua tau ncav cuag ib qho kev xa mus rau cov lus ntiag tug thiab pab pawg sib tham. |
1984 | Qhia | NPE-56. |
9734 / 9735 | Zap thov thiab zap tau txais | NPE-57. |
10030 | Kev cai emoji pob cov npe | NPE-30. |
20000 | Geohash channel lus | Ephemeral, tagged ['g', geohash]. |
23333 | Lub npe channel lus | Ephemeral, tagged ['d', channel]. |
24420 / 24421 | Public typing indicators and read receipts | Nymchat-specific, rau pej xeem raws. |
25051 / 25052 | Peer-to-peer signaling thiab file-transfer status | Nymchat tshwj xeeb. |
30030 | Kev cai emoji teeb | NPE-30. |
30078 | Cov ntaub ntawv thov | NPE-78. Polls, thiab encrypted nqis sync. |
69420 | Private nyeem ntawv txais thiab xa khoom raws li txoj cai | Nymchat 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
| NIP | Qhov nws muab Nymchat |
|---|---|
| NPE-07 | Nkag mus nrog qhov browser txuas ntxiv. |
| NPE-09 | Kev thov tshem tawm. |
| NPE-13 | Pov thawj ntawm kev ua haujlwm. Cov lus xa tawm raug mined rau tsawg kawg 16 khoom. |
| NPE-17 | Cov lus ncaj qha ncaj qha, thiab lub hauv paus rau kev sib tham hauv pab pawg. |
| NPE-25 | Cov tshuaj tiv thaiv. |
| NPE-30 | Kev cai emoji. |
| NPE-40 | Lub sij hawm tas sij hawm — cov lus ploj. |
| NPE-44 | Versioned encryption, siv rau cov ntsaws ruaj ruaj, qhwv thiab nqis sync. |
| NPE-46 | Chaw taws teeb kos npe - bunker://. |
| NPE-56 | Qhia. |
| NPE-57 | xob zaps. |
| NPE-59 | Khoom plig wraps. |
| NPE-78 | Arbitrary daim ntawv thov cov ntaub ntawv. |
| NPE-98 | HTTP auth, rau cov ntsiab lus host. |
Cryptography
| Qhov twg | Dab tsi |
|---|---|
| Identity thiab kos npe | secp256k1 nrog Schnorr kos npe (BIP-340), raws li Nostr qhia. |
| Cov lus ntiag tug thiab pab pawg sib tham | NIP-44 v2: ECDH ntawm secp256k1, HKDF-SHA256, ChaCha20 nrog HMAC-SHA256, thiab padding yog li ciphertext ntev tsis muab cov lus ntev. |
| Bluetooth mesh sessions | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 rau kev tshaj tawm kos npe, SHA-256 thiab HMAC hauv qab. |
| Tus kheej thaum so | AES-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 ntawv | WebRTC tus kheej DTLS-SRTP, sib tham dhau NIP-17-wrapped signaling. |
| Randomness | Lub 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_atyog 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.
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.