Tarkibga o'tish
Nymchat sahifasiga qaytish

Bilimlar bazasi Kaput ostida

Protokol va voqealar

Nymchat aslida simga nima qo'yadi, unga qarshi qurilgan har bir kishi uchun, uni tekshirish yoki boshqa Nostr mijozidan voqealarni o'qish.

Tadbir turlari

Mehribonuchun ishlatiladiEslatmalar
0Profil metama'lumotlariStandart Nostr profili: ism, rasm, banner, haqida, lud16.
5Oʻchirish soʻrovlariNIP-09.
7ReaksiyalarNIP-25, a ['k', originalKind] teg, shuning uchun to'g'ri kanal turiga qarshi reaktsiya yuboriladi.
13MuhrNIP-17 xabarining o'rta qatlami.
14Shaxsiy xabar mish-mishlariImzolanmagan va hech qachon o'z-o'zidan nashr etilmagan.
1059Sovg'a o'ramiNIP-59. Haqiqatan ham shaxsiy xabarlar va guruh suhbatlari uchun releyga nima yetadi.
1984HisobotNIP-56.
9734 / 9735Zap so'rovi va zap kvitansiyasiNIP-57.
10030Maxsus emoji toʻplami roʻyxatlariNIP-30.
20000Geohash kanali xabariEfemer, teglangan ['g', geohash].
23333Nomlangan kanal xabariEfemer, teglangan ['d', channel].
24420 / 24421Ommaviy matn terish ko'rsatkichlari va o'qish kvitansiyasiNymchat-ga xos, ommaviy kanallar uchun.
25051 / 25052Peer-to-peer signalizatsiyasi va fayl uzatish holatiNymchat-ga xos.
30030Maxsus emoji toʻplamlariNIP-30.
30078Ilova ma'lumotlariNIP-78. So‘rovlar va shifrlangan sozlamalar sinxronlashtiriladi.
69420Shaxsiy o'qish kvitansiyalari va yetkazib berish holatiNymchat-ga xos, sovg'a paketi ichida mish-mish sifatida olib borilgan. dan alohida tur 14 ataylab, shuning uchun boshqa NIP-17 mijozlari har bir kvitansiya uchun bo'sh to'g'ridan-to'g'ri xabarlarni ko'rsatmaydi.

NIPs Nymchat ilovalari

NIPNymchat nima beradi
NIP-07Brauzer kengaytmasi bilan tizimga kiring.
NIP-09Oʻchirish soʻrovlari.
NIP-13Ishni tasdiqlovchi hujjat. Chiquvchi xabarlar kamida 16 bitga qazib olinadi.
NIP-17Shaxsiy to'g'ridan-to'g'ri xabarlar va guruh suhbatlari uchun asos.
NIP-25Reaksiyalar.
NIP-30Shaxsiy emoji.
NIP-40Yaroqlilik muddati - yo'qolgan xabarlar.
NIP-44Muhrlar, o'ramlar va sozlamalarni sinxronlashtirish uchun ishlatiladigan versiyali shifrlash.
NIP-46Masofadan imzolash - bunker://.
NIP-56Hisobot.
NIP-57Chaqmoq chaqmoqda.
NIP-59Sovg'a o'ramlari.
NIP-78O'zboshimchalik bilan ilova ma'lumotlari.
NIP-98Xostlangan oxirgi nuqtalar uchun HTTP auth.

Kriptografiya

QayerdaNima
Shaxs va imzolarSecp256k1 Schnorr imzolari bilan (BIP-340), Nostr belgilaydi.
Shaxsiy xabarlar va guruh suhbatlariNIP-44 v2: secp256k1 da ECDH, HKDF-SHA256, HMAC-SHA256 bilan ChaCha20 va to'ldirish shifrlangan matn uzunligi xabar uzunligini uzoqlashtirmaydi.
Bluetooth mesh seanslariShovqin XX - X25519, ChaCha20-Poly1305 (IETF), imzolarni e'lon qilish uchun Ed25519, SHA-256 va HMAC ostida.
Dam olishdagi shaxsAES-GCM-256. Kalit PBKDF2-SHA256-dan parol yoki PIN-kod uchun 310 000 iteratsiyada yoki kirish kaliti yoki biometrik uchun HKDF-SHA256 orqali WebAuthn PRF chiqishidan keladi.
Qo'ng'iroqlar va fayllarni uzatishWebRTC ning o'z DTLS-SRTP, NIP-17 bilan o'ralgan signalizatsiya bo'yicha kelishilgan.
TasodifiylikCSPRNG platformasi bo'ylab - kalitlar, nonces va sovg'a o'rash vaqt tamg'asi jitter.

Metadata himoyasi

Sovg'a o'rash yo'lidagi ikkita tafsilotga e'tibor qaratish lozim, chunki ular NIP-59-ni ajratib turadi "shifrlangan, lekin sizdan ularga" dan:

  • Har bir o'ram a tomonidan imzolanadi bir martalik kalit faqat shu xabar uchun yaratilgan, shuning uchun hech qanday ikkita o'ram jo'natuvchini baham ko'rmaydi.
  • Har bir o'ram created_at hisoblanadi tasodifiy ikkiga qadar orqaga qaytadi soat CSPRNG dan foydalangan holda, yuborish va qabul qilish vaqtlarini qator qilib bo'lmaydi.

Guruh suhbatlari vaqtinchalik aylanadi oluvchi Buning ustiga kalitlar - qarang Guruh shifrlash qanday ishlaydi.

Manbani o'qish

Kripto ibtidoiylari mavjud js/nym-crypto.js va js/modules/key-vault.js veb-ilovada va ostida android-ios-app/lib/core/crypto/ va lib/services/mesh/noise/ Flutter ilovasida. The ombori AGPL-3.0 va to'liq - ishonchni qabul qilish uchun yopiq komponent yo'q.