सामग्री पर जाएं
निमचैट को लौटें

ज्ञानधार हुड के नीचे

प्रोटोकॉल और घटनाएँ

निमचैट वास्तव में क्या करता है, इसके खिलाफ निर्माण करने वाले किसी भी व्यक्ति के लिए, इसका ऑडिट करना, या किसी अन्य नोस्ट्र क्लाइंट से घटनाओं को पढ़ना।

घटना के प्रकार

दयालुके लिए इस्तेमाल होता हैटिप्पणियाँ
0प्रोफ़ाइल मेटाडेटामानक नोस्ट्र प्रोफ़ाइल: नाम, चित्र, बैनर, के बारे में, lud16.
5हटाने के अनुरोधएनआईपी-09.
7प्रतिक्रियाओंएनआईपी-25, ए के साथ ['k', originalKind] टैग करें ताकि सही चैनल प्रकार के विरुद्ध प्रतिक्रिया दर्ज की जा सके।
13मुहरएनआईपी-17 संदेश की मध्य परत।
14निजी संदेश अफवाहअहस्ताक्षरित, और कभी भी अपने आप प्रकाशित नहीं हुआ।
1059उपहार को लपेटनाएनआईपी-59. वास्तव में निजी संदेशों और समूह चैट के लिए रिले तक क्या पहुंचता है।
1984रिपोर्टिंगएनआईपी-56.
9734 / 9735जैप अनुरोध और जैप रसीदएनआईपी-57.
10030कस्टम इमोजी पैक सूचियाँएनआईपी-30.
20000जियोहैश चैनल संदेशक्षणभंगुर, टैग किया गया ['g', geohash].
23333नामित चैनल संदेशक्षणभंगुर, टैग किया गया ['d', channel].
24420 / 24421सार्वजनिक टाइपिंग संकेतक और पठन रसीदेंसार्वजनिक चैनलों के लिए निमचैट-विशिष्ट।
25051 / 25052पीयर-टू-पीयर सिग्नलिंग और फ़ाइल-स्थानांतरण स्थितिनिमचैट-विशिष्ट।
30030कस्टम इमोजी सेटएनआईपी-30.
30078अनुप्रयोग डेटाएनआईपी-78. मतदान, और एन्क्रिप्टेड सेटिंग्स सिंक।
69420निजी पठन रसीदें और वितरण स्थितिनिमचैट-विशिष्ट, एक उपहार रैप के अंदर एक अफवाह के रूप में फैलाया गया। से एक अलग तरह का 14 जानबूझकर, ताकि अन्य एनआईपी-17 ग्राहक प्रत्येक रसीद के लिए खाली प्रत्यक्ष संदेश प्रस्तुत न करें।

एनआईपी निमचैट लागू करता है

जापानीयह निमचैट क्या देता है
एनआईपी-07ब्राउज़र एक्सटेंशन के साथ लॉगिन करें.
एनआईपी-09हटाने के अनुरोध.
एनआईपी-13कार्य का प्रमाण. आउटगोइंग संदेशों को कम से कम 16 बिट्स पर माइन किया जाता है।
एनआईपी-17निजी प्रत्यक्ष संदेश, और समूह चैट का आधार।
एनआईपी-25प्रतिक्रियाएँ.
एनआईपी-30कस्टम इमोजी.
एनआईपी-40समाप्ति टाइमस्टैम्प - गायब होने वाले संदेश।
एनआईपी-44संस्करणीकृत एन्क्रिप्शन, सील, रैप्स और सेटिंग्स सिंक के लिए उपयोग किया जाता है।
एनआईपी-46दूरस्थ हस्ताक्षर - bunker://.
एनआईपी-56रिपोर्टिंग.
एनआईपी-57बिजली कड़कती है.
एनआईपी-59उपहार लपेटें.
एनआईपी-78मनमाना अनुप्रयोग डेटा.
एनआईपी-98होस्ट किए गए एंडपॉइंट के लिए HTTP प्रमाणीकरण।

क्रिप्टोग्राफी

कहाँक्या
पहचान और हस्ताक्षरsecp256k1 Schnorr हस्ताक्षरों (BIP-340) के साथ, जैसा कि Nostr निर्दिष्ट करता है।
निजी संदेश और समूह चैटएनआईपी-44 वी2: एसईसीपी256के1 पर ईसीडीएच, एचकेडीएफ-एसएचए256, एचएमएसी-एसएचए256 के साथ चाचा20, और सिफरटेक्स्ट लंबाई को पैडिंग करने से संदेश की लंबाई दूर नहीं होती है।
ब्लूटूथ जाल सत्रशोर XX - X25519, चाचा20-पॉली1305 (IETF), घोषणा हस्ताक्षर के लिए Ed25519, नीचे SHA-256 और HMAC।
आराम पर पहचानएईएस-जीसीएम-256। कुंजी पासवर्ड या पिन के लिए 310,000 पुनरावृत्तियों पर PBKDF2-SHA256 से, या पासकी या बायोमेट्रिक के लिए HKDF-SHA256 के माध्यम से WebAuthn PRF आउटपुट से आती है।
कॉल और फ़ाइल स्थानांतरणWebRTC का अपना DTLS-SRTP, NIP-17-रैप्ड सिग्नलिंग पर बातचीत की।
अनियमिततासंपूर्ण प्लेटफ़ॉर्म सीएसपीआरएनजी - चाबियाँ, नॉन्स, और उपहार-रैप टाइमस्टैम्प जिटर।

मेटाडेटा सुरक्षा

उपहार-रैप पथ में दो विवरण ध्यान देने योग्य हैं, क्योंकि वे ही एनआईपी-59 को अलग करते हैं "एन्क्रिप्टेड से, लेकिन जाहिर तौर पर आपसे उनसे":

  • प्रत्येक रैप पर एक हस्ताक्षर होता है एक बार की कुंजी अकेले उस संदेश के लिए उत्पन्न, इसलिए कोई भी दो रैप एक प्रेषक को साझा नहीं करते हैं।
  • हर लपेटा created_at है बेतरतीब ढंग से दो तक पिछली दिनांकित घंटे सीएसपीआरएनजी का उपयोग करते हुए, इसलिए भेजने और प्राप्त करने का समय पंक्तिबद्ध नहीं किया जा सकता है।

समूह चैट में घूर्णनशील क्षणिकता जुड़ती है प्राप्तकर्ता उसके शीर्ष पर कुंजियाँ - देखें समूह एन्क्रिप्शन कैसे काम करता है.

स्रोत पढ़ना

क्रिप्टो आदिम में हैं js/nym-crypto.js और js/modules/key-vault.js वेब ऐप में, और नीचे android-ios-app/lib/core/crypto/ और lib/services/mesh/noise/ फ़्लटर ऐप में। कोष एजीपीएल-3.0 और पूर्ण है - विश्वास पर लेने के लिए कोई बंद घटक नहीं है।