Konesans baz Anba kapo a
Pwotokòl ak evènman yo
Ki sa Nymchat aktyèlman mete sou fil la, pou nenpòt moun ki bati kont li, odit li, oswa lekti evènman ki soti nan yon lòt kliyan Nostr.
Paj sa a se machin-tradui pou konvenyans. Orijinal angle a se vèsyon ki aplike a.
Kalite evènman yo
| Janti | Itilize pou | Nòt |
|---|---|---|
0 | Metadata pwofil | Standard Nostr pwofil: non, foto, banyè, sou, lud16. |
5 | Demann pou efase | NIP-09. |
7 | Reyaksyon | NIP-25, ak yon ['k', originalKind] tag pou yon reyaksyon depoze kont kalite kanal la dwat. |
13 | Bouche | Kouch mitan yon mesaj NIP-17. |
14 | Rimè mesaj prive | Pa siyen, epi pa janm pibliye poukont li. |
1059 | Anbalaj kado | NIP-59. Ki sa ki aktyèlman rive nan yon relè pou mesaj prive ak gwoup chat. |
1984 | Rapòte | NIP-56. |
9734 / 9735 | Zap demann ak resi zap | NIP-57. |
10030 | Lis pake emoji koutim | NIP-30. |
20000 | Mesaj chanèl Geohash | Efemèr, tagged ['g', geohash]. |
23333 | Mesaj chanèl non | Efemèr, tagged ['d', channel]. |
24420 / 24421 | Endikatè sezisman piblik ak resi lekti | Nymchat-espesifik, pou chanèl piblik yo. |
25051 / 25052 | Siyal kanmarad-a-kanmarad ak estati transfè dosye | Nymchat-espesifik. |
30030 | Ansanm emoji koutim | NIP-30. |
30078 | Done aplikasyon yo | NIP-78. Biwo vòt yo, ak anviwònman chiffres senkronize. |
69420 | Li resi prive ak estati livrezon | Nymchat-espesifik, te pote kòm yon rimè andedan yon vlope kado. Yon kalite separe de 14 fè espre, kidonk lòt kliyan NIP-17 pa bay mesaj dirèk vid pou chak resi. |
NIPs Nymchat aplike
| NIP | Ki sa li bay Nymchat |
|---|---|
| NIP-07 | Konekte avèk yon ekstansyon navigatè. |
| NIP-09 | Demann pou efase. |
| NIP-13 | Prèv travay. Mesaj sortan yo min nan omwen 16 bits. |
| NIP-17 | Mesaj dirèk prive, ak baz pou gwoup chat. |
| NIP-25 | Reyaksyon. |
| NIP-30 | Emoji koutim. |
| NIP-40 | Timestamps ekspirasyon - mesaj k ap disparèt. |
| NIP-44 | Vèsyon chifreman, itilize pou sele, vlope ak anviwònman senkronize. |
| NIP-46 | Siyen adistans - bunker://. |
| NIP-56 | Rapòte. |
| NIP-57 | Zap zèklè. |
| NIP-59 | Anbalaj kado. |
| NIP-78 | Done aplikasyon abitrè. |
| NIP-98 | HTTP otorizasyon, pou pwen final yo òganize. |
Kriptografi
| Ki kote | Ki sa |
|---|---|
| Idantite ak siyati | secp256k1 ak siyati Schnorr (BIP-340), jan Nostr espesifye. |
| Mesaj prive ak gwoup chat | NIP-44 v2: ECDH sou secp256k1, HKDF-SHA256, ChaCha20 ak HMAC-SHA256, ak padding pou longè tèks chifreman pa bay longè mesaj la. |
| Sesyon may Bluetooth | Bri XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 pou anonse siyati, SHA-256 ak HMAC anba. |
| Idantite nan repo | AES-GCM-256. Kle a soti nan PBKDF2-SHA256 nan 310,000 iterasyon pou yon modpas oswa PIN, oswa soti nan yon pwodiksyon WebAuthn PRF atravè HKDF-SHA256 pou yon passkey oswa byometrik. |
| Apèl ak transfè dosye | DTLS-SRTP pwòp WebRTC, negosye sou siyal NIP-17 ki anvlope. |
| Aleatwa | Platfòm nan CSPRNG nan tout - kle, nonces, ak kado-vlope timestamp jitter la. |
Pwoteksyon metadata
De detay nan chemen an kado-vlope yo vo rele, paske yo se sa ki separe NIP-59 soti nan "chiffre, men evidamman soti nan ou a yo":
- Chak vlope siyen pa yon kle yon sèl fwa pwodwi pou mesaj sa a pou kont li, kidonk pa gen de vlope pataje yon moun k ap voye.
- Chak vlope
created_atse owaza backdated pa jiska de èdtan lè l sèvi avèk CSPRNG a, kidonk voye ak resevwa fwa yo pa ka aliyen.
Gwoup chat ajoute wotasyon efemèr moun k ap resevwa kle sou tèt sa - wè Kouman gwoup cryptage travay.
Primitif kript yo nan js/nym-crypto.js epi
js/modules/key-vault.js nan aplikasyon entènèt la, ak anba
android-ios-app/lib/core/crypto/ epi
lib/services/mesh/noise/ nan aplikasyon Flutter la. La
depo
se AGPL-3.0 epi li konplè — pa gen okenn eleman fèmen pou pran konfyans.