Ale nan kontni an
Retounen nan Nymchat

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.

Kalite evènman yo

JantiItilize pouNòt
0Metadata pwofilStandard Nostr pwofil: non, foto, banyè, sou, lud16.
5Demann pou efaseNIP-09.
7ReyaksyonNIP-25, ak yon ['k', originalKind] tag pou yon reyaksyon depoze kont kalite kanal la dwat.
13BoucheKouch mitan yon mesaj NIP-17.
14Rimè mesaj privePa siyen, epi pa janm pibliye poukont li.
1059Anbalaj kadoNIP-59. Ki sa ki aktyèlman rive nan yon relè pou mesaj prive ak gwoup chat.
1984RapòteNIP-56.
9734 / 9735Zap demann ak resi zapNIP-57.
10030Lis pake emoji koutimNIP-30.
20000Mesaj chanèl GeohashEfemèr, tagged ['g', geohash].
23333Mesaj chanèl nonEfemèr, tagged ['d', channel].
24420 / 24421Endikatè sezisman piblik ak resi lektiNymchat-espesifik, pou chanèl piblik yo.
25051 / 25052Siyal kanmarad-a-kanmarad ak estati transfè dosyeNymchat-espesifik.
30030Ansanm emoji koutimNIP-30.
30078Done aplikasyon yoNIP-78. Biwo vòt yo, ak anviwònman chiffres senkronize.
69420Li resi prive ak estati livrezonNymchat-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

NIPKi sa li bay Nymchat
NIP-07Konekte avèk yon ekstansyon navigatè.
NIP-09Demann pou efase.
NIP-13Prèv travay. Mesaj sortan yo min nan omwen 16 bits.
NIP-17Mesaj dirèk prive, ak baz pou gwoup chat.
NIP-25Reyaksyon.
NIP-30Emoji koutim.
NIP-40Timestamps ekspirasyon - mesaj k ap disparèt.
NIP-44Vèsyon chifreman, itilize pou sele, vlope ak anviwònman senkronize.
NIP-46Siyen adistans - bunker://.
NIP-56Rapòte.
NIP-57Zap zèklè.
NIP-59Anbalaj kado.
NIP-78Done aplikasyon abitrè.
NIP-98HTTP otorizasyon, pou pwen final yo òganize.

Kriptografi

Ki koteKi sa
Idantite ak siyatisecp256k1 ak siyati Schnorr (BIP-340), jan Nostr espesifye.
Mesaj prive ak gwoup chatNIP-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 BluetoothBri XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 pou anonse siyati, SHA-256 ak HMAC anba.
Idantite nan repoAES-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è dosyeDTLS-SRTP pwòp WebRTC, negosye sou siyal NIP-17 ki anvlope.
AleatwaPlatfò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_at se 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.

Lekti sous la

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.