Teadmistebaas Kapoti all
Protokoll ja sündmused
Mida Nymchat tegelikult paneb, et igaüks, kes selle vastu ehitab, selle auditeerimine või mõne teise Nostri kliendi sündmuste lugemine.
See leht on mugavuse huvides masintõlgitud. Kohaldatav on ingliskeelne originaalversioon.
Ürituste liigid
| Lahke | Kasutatud | Märkmed |
|---|---|---|
0 | Profiili metaandmed | Tavaline Nostri profiil: nimi, pilt, bänner, umbes, lud16. |
5 | Kustutamistaotlused | NIP-09. |
7 | Reaktsioonid | NIP-25, koos a ['k', originalKind] sildi, nii et reaktsioon esitatakse õige kanalitüübi vastu. |
13 | Tihend | NIP-17 sõnumi keskmine kiht. |
14 | Privaatsõnumite kuulujutt | Allkirjastamata ja mitte kunagi avaldatud iseenesest. ['nymthread', rootId] krüpteeritud kuulujuttude sees, viidates root'i jagatud sõnumi ID-le. |
1059 | Kingituse pakkimine | NIP-59. Mis tegelikult jõuab privaatsõnumite ja grupivestluste edastamiseni. |
1984 | Aruandlus | NIP-56. |
9734 / 9735 | Zap taotlus ja zap kviitung | NIP-57. |
10030 | Kohandatud emotikonide pakettide loendid | NIP-30. |
20000 | Geohashi kanali sõnum | Lühiajaline, märgistatud ['g', geohash]Vastus lisab märgistatud NIP-10 ['e', rootId, '', 'root'] Päevaleht |
23333 | Nimega kanali sõnum | Lühiajaline, märgistatud ['d', channel]Vastus lisab märgistatud NIP-10 ['e', rootId, '', 'root'] Päevaleht |
24420 / 24421 | Avalikud tippimise indikaatorid ja lugemiskviitungid | Nymchati spetsiifiline, avalike kanalite jaoks. |
25051 / 25052 | Peer-to-peer signaalimine ja failiedastuse olek | Nymchati spetsiifiline. |
30030 | Kohandatud emotikonide komplektid | NIP-30. |
30078 | Rakenduse andmed | NIP-78. Küsitlused, krüptitud seadete sünkroonimine ja kvantvõtmejärgsed teadaanded (sildiga nym-pq, mis kannab ML-KEM-768 avalikku võtit, mille aegumistähtaeg on NIP-40). |
69420 | Privaatsed lugemiskviitungid ja kohaletoimetamise olek | Nymchatile omane, kuulujutuna kaasas kinkepakendis. Eraldi liik alates 14 tahtlikult, nii et teised NIP-17 kliendid ei renderda iga kviitungi kohta tühje otsesõnumeid. |
NIP-id Nymchat rakendab
| NIP | Mida see Nymchatile annab |
|---|---|
| NIP-07 | Logige sisse brauserilaiendiga. |
| NIP-09 | Kustutamistaotlused. |
| Vt 10 | Märgitud vastusmärgid – kuidas kanali niit vastab oma root-sõnumile. |
| NIP-13 | Töötõend. Väljuvad sõnumid kaevandatakse vähemalt 16-bitisteks. |
| NIP-17 | Privaatsed otsesõnumid ja grupivestluste alus. |
| NIP-25 | Reaktsioonid. |
| NIP-30 | Kohandatud emotikon. |
| NIP-40 | Aegumise ajatemplid – kaduvad sõnumid. |
| NIP-44 | Versiooniga krüptimine, mida kasutatakse tihendite, mähiste ja seadete sünkroonimiseks. |
| NIP-46 | Kaugallkirjastamine - bunker://. |
| NIP-56 | Aruandlus. |
| NIP-57 | Välk lööb. |
| NIP-59 | Kingipaberid. |
| NIP-78 | Suvalised rakenduse andmed. |
| NIP-98 | HTTP autentimine hostitud lõpp-punktide jaoks. |
Krüptograafia
| Kus | Mida |
|---|---|
| Identiteet ja allkirjad | secp256k1 Schnorri allkirjadega (BIP-340), nagu Nostri täpsustab. |
| Privaatsõnumid ja grupivestlused | NIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 koos HMAC-SHA256 ja polsterdus, et šifreeritud teksti pikkus ei jätaks sõnumi pikkust. |
| Privaatsõnumid ja grupivestlused Nymchati kasutajate vahel | Sama NIP-44 v2 kasutuskoormus, muutmata, suletud teist korda ChaCha20-Poly1305 sees, mis on võltsitud ML-KEM-768 (FIPS 203) kapseldamisest HKDF-SHA256 kaudu. pq2. prefix nii, et lugeja valib tee kasuliku koormuse kontrollimisel. Mõlemad kihid tuleb sõnumi taastamiseks katkestada. kvantkindel krüptimine. |
| Bluetoothi võrguseansid | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 allkirjade teatamiseks, SHA-256 ja HMAC all. |
| Identiteet puhkeolekus | AES-GCM-256. Võti pärineb PBKDF2-SHA256-st 310 000 iteratsiooniga parooli või PIN-koodi jaoks või WebAuthni PRF-väljundist HKDF-SHA256 kaudu pääsukoodi või biomeetria jaoks. |
| Kõned ja failiedastused | WebRTC enda DTLS-SRTP, läbirääkimistel NIP-17 mähitud signaalimise kaudu. |
| Juhuslikkus | Platvorm CSPRNG läbivalt – võtmed, näpunäited ja kingituste pakkimise ajatempel värisevad. |
Metaandmete kaitse
Kaks detaili kingituste pakkimise teel väärivad esiletõstmist, sest need eraldavad NIP-59 "krüpteeritud, kuid ilmselgelt teilt neile":
- Igale ümbrisele on alla kirjutanud a ühekordne võti loodud ainult selle sõnumi jaoks, nii et kahel wrapil pole saatjat jagatud.
- Iga mähis
created_aton juhuslikult kuni kahe võrra tagasi tundi kasutades CSPRNG-d, seega ei saa saatmis- ja vastuvõtuaegu järjestada.
Grupivestlused lisavad pöörlevat lühiajalisust saaja võtmed peale selle — vt Kuidas grupi krüptimine töötab.
Krüptoprimitiivid on sees js/nym-crypto.js ja
js/modules/key-vault.js veebirakenduses ja all
android-ios-app/lib/core/crypto/ ja
lib/services/mesh/noise/ rakenduses Flutter. The
hoidla
on AGPL-3.0 ja täielik – pole suletud komponenti, mida usaldada.