Ezagutza oinarria Kaputxa azpian
Protokoloa eta ekitaldiak
Nymchatek benetan jartzen duena alanbrean, horren aurka eraikitzen duen edonorentzat, ikuskatzea, edo beste Nostr bezero baten gertaerak irakurtzea.
Orrialde hau automatikoki itzuli da erosotasunerako. Ingelesezko jatorrizkoa da aplikatzen den bertsioa.
Gertaera motak
| Jatorra | Horretarako erabiltzen da | Oharrak |
|---|---|---|
0 | Profilaren metadatuak | Nostr profil estandarra: izena, argazkia, pankarta, buruz, lud16. |
5 | Ezabatzeko eskaerak | NIP-09. |
7 | Erreakzioak | NIP-25, batekin ['k', originalKind] etiketa, beraz, erreakzio bat kanal mota egokiaren aurka aurkeztuko da. |
13 | Zigilua | NIP-17 mezu baten erdiko geruza. |
14 | Mezu pribatuko zurrumurrua | Sinadura gabeko, eta inoiz ez da bere kabuz argitaratu. Estalten erantzun batek... ['nymthread', rootId] errumuru enkriptatuko barneko etiketa, errotaren mezu ID partekatua erreferentziatzen duena. |
1059 | Opari-papera | NIP-59. Mezu pribatuetarako eta taldeko txatetarako errelebo batera iristen dena. |
1984 | Txostenak ematea | NIP-56. |
9734 / 9735 | Zap eskaera eta zap ordainagiria | NIP-57. |
10030 | Emoji paketeen zerrenda pertsonalizatuak | NIP-30. |
20000 | Geohash kanalaren mezua | Efimeroa, etiketatua ['g', geohash]. Thread-eko erantzun batek NIP-10 markatua gehitzten du ['e', rootId, '', 'root'] etiketa. |
23333 | Izeneko kanalaren mezua | Efimeroa, etiketatua ['d', channel]. Thread-eko erantzun batek NIP-10 markatua gehitzten du ['e', rootId, '', 'root'] etiketa. |
24420 / 24421 | Mekanografia-adierazle publikoak eta irakurritako ordainagiriak | Nymchat-en espezifikoa, kanal publikoetarako. |
25051 / 25052 | Peer-to-peer seinaleztapena eta fitxategi-transferentziaren egoera | Nymchat-en espezifikoa. |
30030 | Emoji multzo pertsonalizatuak | NIP-30. |
30078 | Aplikazioaren datuak | NIP-78. Inkestak, enkriptatutako ezarpenak sinkronizatzea eta gako kuantikoaren osteko iragarkiak (etiketatuta nym-pq, NIP-40 iraungitze duen ML-KEM-768 gako publikoa daramana). |
69420 | Irakurketa-agiri pribatuak eta entrega-egoera | Nymchat-en espezifikoa, zurrumurru gisa eramana opari-paper baten barruan. Mota bereizia 14 nahita, beraz, beste NIP-17 bezeroek ez dituzte zuzeneko mezu hutsik ematen ordainagiri bakoitzeko. |
NIPak Nymchat tresnak
| NIP | Zer ematen dio Nymchat |
|---|---|
| NIP-07 | Hasi saioa arakatzailearen luzapen batekin. |
| NIP-09 | Ezabatzeko eskaerak. |
| NIP-10 | Erantzun markatutako etiketak — nola kanaleko hilo baten erantzunak bere oinarrizko mezuari egiten diogio erreferentzia. |
| NIP-13 | Lanaren froga. Irteerako mezuak gutxienez 16 bit-era ateratzen dira. |
| NIP-17 | Zuzeneko mezu pribatuak, eta taldeko txatetarako oinarria. |
| NIP-25 | Erreakzioak. |
| NIP-30 | Emoji pertsonalizatua. |
| NIP-40 | Iraungitze denbora-zigiluak — desagertzen ari diren mezuak. |
| NIP-44 | Bertsiodun enkriptatzea, zigiluak, bilgarriak eta ezarpenak sinkronizatzeko erabiltzen dena. |
| NIP-46 | Urruneko sinadura - bunker://. |
| NIP-56 | Txostenak ematea. |
| NIP-57 | Tximista zapiak. |
| NIP-59 | Opari-paperak. |
| NIP-78 | Aplikazio arbitrarioko datuak. |
| NIP-98 | HTTP autentifikazioa, ostatatutako amaierako puntuetarako. |
Kriptografia
| Non | Zer |
|---|---|
| Nortasuna eta sinadurak | secp256k1 Schnorr sinadurarekin (BIP-340), Nostr-ek zehazten duen moduan. |
| Mezu pribatuak eta taldeko txatak | NIP-44 v2: ECDH secp256k1-en, HKDF-SHA256, ChaCha20 HMAC-SHA256-rekin eta betegarria, zifratutako testuaren luzerak mezuaren luzera ez dezan uzten. |
| Mezu pribatuak eta taldeko txatak, Nymchat-eko erabiltzaileen artean | NIP-44 v2 payload bera, aldatu gabe, bigarren aldiz ChaCha20-Poly1305 barruan zigilatu da, HKDF-SHA256 bidez ML-KEM-768 (FIPS 203) enkapsulazio baten bidez lortutako giltza erabiliz. Enkapsulazio-testu zifratua eta identitate-giltza biak datu lotutako gisa lotuta daude, eta emaitzak ... bat darama. pq2. prefixoa, irakurleak kargaduna aztertuz bidea hautatzeko. Mezu bat berreskuratzeko, bi geraila haustu behar dira. Ikusi enkriptatzea kuantikoarekiko erresistentea. |
| Bluetooth sareko saioak | Noise XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 sinadurak iragartzeko, SHA-256 eta HMAC azpian. |
| Identitatea atsedenaldian | AES-GCM-256. Gakoa PBKDF2-SHA256tik dator 310.000 iteraziotan pasahitz edo PIN baterako, edo WebAuthn PRF irteera batetik HKDF-SHA256 bidez pasahitz edo biometriko baterako. |
| Deiak eta fitxategien transferentziak | WebRTC-ren DTLS-SRTP propioa, NIP-17-en bildutako seinaleztapenaren bidez negoziatua. |
| Ausazkotasuna | CSPRNG plataforma osoan zehar: gakoak, noncek eta opari-zigiluaren denbora-zigilua. |
Metadatuen babesa
Opari-biltzeko bideko bi xehetasun deitzea merezi dute, NIP-59 bereizten dutenak baitira "zifratua, baina jakina zugandik haietara":
- Wrap bakoitzak a sinatzen du behin-behineko giltza mezu horretarako bakarrik sortua, beraz, ez dute bi itzulbirik igorlerik partekatzen.
- Bilgarri bakoitza
created_atda Gehienez bik ausaz atzerako data orduak CSPRNG erabiliz, beraz, bidaltzeko eta jasotzeko orduak ezin dira lerrokatu.
Taldeko txateek iragankortasun birakaria gehitzen dute hartzailea horren gainean giltzak — ikus Taldeen enkriptatzea nola funtzionatzen duen.
Kripto primitiboak barruan daude js/nym-crypto.js eta
js/modules/key-vault.js web aplikazioan, eta azpian
android-ios-app/lib/core/crypto/ eta
lib/services/mesh/noise/ Flutter aplikazioan. The
biltegia
AGPL-3.0 da eta osatua - ez dago konfiantza hartzeko osagai itxirik.