निमचॅट तांत्रिक श्वेतपत्रिका
Nymchat मध्ये पोस्ट-क्वांटम कुंजी समझौता
एम. एल.-के. ई. एम.-768 सार्वजनिक किल्ली निर्देशिकेशिवाय किंवा नोंदणीशिवाय नॉस्टरवर वितरित करणे आणि सार्वजनिक मूल्य उघड न होणाऱ्या गुप्ततेपासून त्यांना जोडणे.
पोस्ट-क्वांटम कुंजी एक्सचेंजला संदेशक जोडायचा बहुतेकदा एक क्रिप्टोग्राफी समस्या नाही. प्राचीन मानक आहेत आणि पुस्तकांचे अस्तित्व आहे. दुसरी सार्वजनिक किल्ली आणि विकेंद्रीकृत जाळे हे स्पष्ट करण्यासाठी कुठेही स्पष्ट नाही. निमचॅट याचे उत्तर कसे देते-दुसरी किल्ली कोठून येते, गरज असलेल्या लोकांपर्यंत ती कशी पोहोचते आणि परिणामांबद्दल इंटरफेसला काय दावा करण्याची परवानगी आहे-आणि, शेवटच्या विभागात, तो परिणाम कशाचे संरक्षण करत नाही याचे हे पेपर वर्णन करते.
हे पृष्ठ सोयीसाठी मशीन-अनुवादित आहे. मूळ इंग्रजी ही आवृत्ती लागू होते.
1समस्या.
आमची गोपनीय संदेश एन्क्रिप्टेड आहेत NIP-44, ज्याला दोन विभाजित अर्धा आहेत. हा आधा आहे जो सरल टेक्स्टवर कचरा करतो – HMAC-SHA256 टॅगसह ChaCha20 एच. के. डी. एफ. (आयपीएल 5869)-क्वांटम संगणकामुळे अर्थपूर्णपणे धोक्यात येत नाही; ग्रोव्हरच्या अल्गोरिदमसाठी सममितीय किल्लीच्या विरुद्ध चौरस-मूळ वेग वाढवणे आवश्यक आहे आणि 256 बिट्स ते शोषून घेतात. सहमत तिसरी पायरी - नंतर त्यात थोडे गरम दूध घाला. एस. ई. सी. पी. 256के1, आणि शोरचा अल्गोरिदम स्वतंत्र लघुगणक पूर्णपणे सोडवतो. त्याच्या सार्वजनिक समकक्षाकडून एक खाजगी किल्ली पुनर्प्राप्त केल्याने त्या किल्लीने निर्माण केलेले प्रत्येक सामायिक रहस्य पूर्वलक्षी प्रभावाने उघड होते.
ही धमकी इतकी मशीन अस्तित्वात आल्यापर्यंत उलटलेली नाही. स्टोरेजसह एक दुश्मन आज क्रिप्टर टेक्स्ट रिकॉर्ड करू शकतो आणि क्षमता येताच तिला डिस्क्रिप्ट करू शकतो. आता जे काहीही पाठविले आहे जे अजूनही महत्त्वपूर्ण आहे ते आधीच हस्तक्षेप करण्यात आले आहे.
1. 1 या पेपरमध्ये ज्या प्रश्नाचे उत्तर दिले आहे
मात्र, त्याचबरोबर या दोन्ही प्रकारांविरोधात लष्कराच्या विकासाचा वापर केला जातो, जेणेकरून लष्कराच्या विकासाचा वापर केला जातो.पॅरिस 203) यामुळे त्वरित एक वितरण समस्या निर्माण झाली आहे:
एलिस आज संदेश देण्यासाठी, तुम्हाला एक गोष्ट हवी आहे: तिचा npub. पोस्ट-क्वांटम एक्सचेंज द्या आणि तुम्हाला दुसरीची गरज आहे – तिची एमएल-केईएम सार्वजनिक कुंजी.
एक npub हे स्वतःचे आहे. आपण हे कागदवर लिहिू शकतो, ते मोकळेपणे वाचू शकतो, किंवा एक स्क्रीनमधून स्कॅनिंग करू शकतो, आणि हे कोणालाही तुमच्यासाठी एन्क्रिप्ट करण्याची गरज आहे. एक ML-KEM-768 सार्वजनिक कुंजी 1,184 बाइट आहे. तो मोकळेपणे वाचू शकत नाही, तो वापरकर्ता नावामध्ये फिट होणार नाही, आणि तो केवळ 32 बाइट असलेली एक पहचान वरच्या QR कोडमध्ये नाही.
सर्वात कठीण भाग म्हणजे दुसरा कुंजी तीन वेगवेगळ्या समस्या आणतो, आणि शेवटी हे कागद त्यांच्यावर एक उत्तर आहे:
- ते बदलले जाऊ शकते. एक कुंजी कोणी एक नजर वाचू शकत नाही एक प्रकारची गोष्ट एक आक्रमणकर्ते स्वतःसाठी विनिमय करतो.
- तो वापरकर्त्याच्या उपकरणांमध्ये सहमत असला पाहिजे. फोन आणि लॅपटॉपवरील समान खात्याने समान किल्ली सादर करणे आवश्यक आहे, किंवा एकाला सीलबंद केलेले संदेश दुसऱ्या बाजूला उघडले जाऊ शकत नाहीत. कलम 3.2 ते तिथे पोहोचवते.
- तो खोला जाऊ शकतो. सार्वजनिक किल्ली एका गुपितातून पुन्हा प्रकाशित केली जाते, त्यामुळे प्रत्यक्षात जे टिकून राहायचे आहे ते ते गुपित आहे-आणि बांधकामाद्वारे इतर काहीही त्याची पुनर्रचना करत नाही. कलम 10.1 स्पष्टपणे सांगते की त्याची किंमत किती आहे, कारण ही किल्ली पैसे दिल्याप्रमाणे सोडवली जात नाही.
2रचनेची मर्यादा
चार प्रतिबंध उत्तर आकारले, आणि ते कोणत्याही कोड लिहिण्यापूर्वी अधिकाधिक स्पष्ट डिझाइन अटक करतात.
- शक्य तितक्या कमी रहस्ये. प्रत्येक अतिरिक्त रहस्य आपल्या इतिहासाचे नुकसान करण्याचे एक वेगवेगळे मार्ग आहे, आणि कोणीतरी जे आपल्या इतिहासाचे बैकअप करताना ओळखत आहे, तो कोणालाही इतर काहीही बैकअप करताना ओळखत नाही. खंड 3.1 याला पूर्णपणे पूर्णपणे पूर्ण केले जाऊ शकत नाही असे दाखवते - एनएसईकमधून उत्पन्न झालेल्या पोस्ट-क्वांटम कुंजी कोणत्याही प्रकारे पोस्ट-क्वांटम संरक्षण प्रदान करीत नाही - म्हणून डिझाइन एकच रहस्य आणि काहीही खर्च करीत नाही: प्रति पहचान एकाच वेळी उत्पन्न केलेले एकच कुंजी सामग्री, जे एनएसईकसारखेच आणि एकाच ठिकाणी प्रस्तुत केले जातात, त्यामुळे कोणीही कोणीही कोणीही कोणीही कोणीही कोणीही कोणीही कोणीही कोणीही
- सत्ता नाही. कोणती किल्ली कोणाची आहे हे सांगण्यासाठी विश्वासार्ह असा कोणताही सर्व्हर नाही. असा कोणताही सर्व्हर बिंदू बनतो ज्यावर संदेश पुनर्निर्देशित केले जाऊ शकतात.
- बहुतेक उपकरणे, एकच ओळख. नॉस्टर ओळख सामान्यतः एकाच वेळी अनेक ग्राहकांकडून वापरली जाते. जे काही मुख्य साहित्य अस्तित्वात आहे ते त्या सर्वांवर समान असले पाहिजे आणि ते तेथे वाहून नेणारे मार्ग हे वैशिष्ट्य ज्या विरोधीकडून बचाव करीत आहे त्याद्वारे स्वतः वाचनीय नसावेत.
- नोकरी नाही कोणत्याही बॅंड-इन-बॅंड एक्सचेंजचे “तुम्ही कोणते क्रिपर समर्थन कराल?” हा एक सतह आहे जिला आक्रमणकर्त्याने कमजोर ऑप्शन मजबूत करण्यासाठी कापला जाऊ शकतो.
3स्वतंत्र गुप्त गुप्त
भारवाहक निर्णय असा आहे की एम. एल.-के. ई. एम. डिकॅप्सुलेशन किल्ली प्रमुख सामग्रीपासून तयार केली जाते जी कोणतेही सार्वजनिक मूल्य उघड करत नाही. प्रत्येक ओळखीला एक मूळ रहस्य मिळते, जे एकदा तयार होतेः
pqRoot = 32 bytes from a CSPRNG, generated ONCE per identity
seed = HKDF-Expand(
HKDF-Extract(salt = "nym-pq-root-v2", IKM = pqRoot),
info = "mlkem768/epoch/" || epoch,
64 bytes)
(ek, dk) = ML-KEM-768.KeyGen(seed)
एन. एस. सी. प्रमाणे वापरकर्त्याला मूळ सादर केले जातेः बी. ई. सी. 32 मानव-वाचनीय उपसर्गासह
nympq, म्हणून ते असे वाचते nympq1…, समान प्रकटीकरण, समान नियंत्रण, कधीही लॉग इन केलेले नाही आणि कधीही स्पष्ट कोणत्याही ठिकाणी पाठविले नाही, हे एक पासवर्ड नाही आणि तो लॉगिन नाही.
सोन्याचे डोमेन उद्देशून वेगवेगळे आहेत, म्हणून इतर कोणतेही रहस्य कधीच एकाच कुंजीपॅरी काढू शकत नाहीत. epoch विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात विरोधात (Section 9).
3. 1 ओळख किल्लीमधून किल्ली का घेतली जाऊ शकत नाही?
वापरकर्त्याकडे आधीपासून असलेल्या गुपितापासून कीपेअरचे बीज पेरणे ही स्पष्ट रचना आहेः
seed = HKDF(salt = "…", IKM = nsec) // do not do this
हे चार कारणांमुळे आकर्षक आहे, ते सर्व वास्तविक आहेत: बॅकअप करण्यासाठी काही नवीन नाही, कारण nsec आधीच बॅकअप आहे; प्रत्येक डिवाइस निर्माण करून सहमत आहे, बिना सिंक्रनाइझेशन प्रोटोकॉल चुकून जाऊ शकत नाही; प्रति पहचान एक प्रतिस्थापित घोषणा स्पष्टपणे बरोबर आहे, कारण डिवाइस कुंजीबद्दल विरोधात असू शकत नाही; आणि कुंजी प्रकाशित करण्यापूर्वी अस्तित्वात आहे, म्हणून क्लाइंट पहिल्यांदाच स्वतःला काहीतरी बंद करू शकतो.
चारही फायदे निरुपयोगी आहेत, एका कारणासाठी. प्रकाशित एनपबच्या विरुद्ध चालणाऱ्या शोरच्या अल्गोरिदममुळे एन. एस. सी. मिळते. बियाणे व्युत्पत्ती ही एन. एस. सी. वरील एक सार्वजनिक अल्गोरिदम आहे. म्हणून जो प्रतिस्पर्धी शास्त्रीय अर्धा मोडतो तो त्याच एच. के. डी. एफ. ने पोस्ट-क्वांटम अर्ध्याची पुनर्रचना करतो जो इतर सर्वजण चालवतात. कापणीच्या विरुद्ध-आता-डिक्रिप्ट-नंतर-एक धोका जो वैशिष्ट्य थांबविण्यासाठी अस्तित्वात आहे-अशा प्रकारे व्युत्पन्न केलेली किल्ली काहीही जोडत नाही.
एम. एल.-के. ई. एम. डिकॅप्सुलेशन किल्ली एन्ट्रॉपीमधून येणे आवश्यक आहे जी एन. एस. ई. सी. पासून व्युत्पन्न होऊ शकत नाही किंवा कधीही शास्त्रीय-केवळ एन्क्रिप्शन अंतर्गत प्रसारित केली जात नाही.
त्या नियमाचा दुसरा खंड पहिल्यासारखाच काम करतो. स्वतंत्रपणे तयार केलेले गुपित जे नंतर सामान्य एन. आय. पी.-44 संदेशामध्ये वापरकर्त्याच्या उपकरणांमध्ये समक्रमित केले जाते ते अतिरिक्त पायऱ्यांसह समान अपयश आहेः विरोधक आज त्या संदेशाची नोंद करतो आणि नंतर त्याची शास्त्रीय किल्ली पुनर्प्राप्त करतो आणि मूळ बाहेर पडते. म्हणूनच पुढील विभागातील मार्ग ते आहेत आणि त्यापैकी कोणीही का नाही ते तुमच्या इतर device.&rdquo कडे पाठवत नाही;
3.2 वापरकर्त्याच्या इतर उपकरणांना रूट मिळवणे
कलम 2 चे निर्बंध 3-एक ओळख, अनेक उपकरणे-येथे अंकगणितीद्वारे समाधानी करता येत नाहीत, कारण संपूर्ण मुद्दा असा आहे की की हे उपकरणांनी आधीच सामायिक केलेल्या कोणत्याही गोष्टीचे कार्य नाही. त्याऐवजी वाहतुकीद्वारे ते समाधानी करावे लागते आणि अगदी एकच मार्ग आहेः वापरकर्ता पुढे सरकवतो nympq1… स्वतःचे कोड
रेल्वेचे स्वरूप दाखवले जाते nympq1… जेव्हा त्यांना वाटतं की, त्यांचा पार्टनर त्यांच्या इच्छा पूर्ण करत नाहीयं तेव्हा ते मन बदलतात आणि नातं तोडतात.
मॅन्युअल हस्तांतरण हा एक पहिला क्रमांक आहे. खंड 3.1 मध्ये नियम म्हणतो कि रूट कधीच क्लासिक-केवल एन्क्रिप्शनमध्ये प्रवास करू शकत नाही, आणि हे स्वयंचलित करू शकणारे प्रत्येक तंत्र - एक रिलेद्वारे सिंक्रनाइज करणे, पहचान कुंजीवर पॅकिंग करणे - हे बिलकुल तो उल्लंघन करतो.
हे स्वरूप गुंडाळलेल्या मार्गासाठी जागा सोडतेः एका नोंदीत गुंडाळ्यांची यादी असू शकते, प्रत्येक ए. ई. ए. डी. ब्लॉब एका किल्लीखाली वापरकर्ता दुसर्या उपकरणावर पुनरुत्पादित करू शकतो-उदाहरणार्थ, एक पासकी पी. आर. एफ. आउटपुट. आज काहीही पाठविले जात नाही आणि जोपर्यंत काहीतरी होत नाही तोपर्यंत, nympq1… त्यानुसार, १.११ मध्ये काय आहे, हे सांगण्यात आले आहे.
त्याचबरोबरच त्याने स्वतःच्या संदर्भातील संदर्भातील, nymchat-pq-root, आणि इतर श्रेणींप्रमाणे समन्वय साधते. जरी गुंडाळी नसतानाही ते आवश्यक कार्य करतेः त्याची उपस्थिती म्हणजे दुसऱ्या उपकरणाला कसे कळते की या ओळखीचे मूळ आधीच आहे, ज्यामुळे ते प्रतिस्पर्ध्याला टंकित करणे थांबवते (कलम 3.3).
द. nymchat-pq-root श्रेणी हवी नाही ही रेषा रूटचे एकमेव कॉपी घेऊन येते, म्हणून रूटच्या एकमेव कुंजीच्या अंतर्गत ती सील करणे ही एक ताकद आहे, ज्याची कुंजी बॉक्समध्ये आहे: कोणताही उपकरणे तो कधीच उघडू शकत नाही, ते लिहिलेले कोणीही. तो क्लासिकपणे सील केला जातो - NIP-44 स्वतः - किंवा पूर्णपणे नाही.
प्रत्येक अन्य सेटिंग श्रेणी रॉड-डिरिव्हर्ड कुंजी वापरू शकते आणि वापरली पाहिजे. हा एकमेव अपवाद आहे, आणि तो ताकतपेक्षा सर्कलिव्हिटीबद्दल एक अपवाद आहे.
3.3 प्रजनन आणि अधिग्रहण
बूटवर, एक स्थायी पहचान ठेवून, एक क्लाइंट या आदेशानुसार कार्य करतो:
- अस्तित्वात असलेला शोध घ्या
nymchat-pq-rootनोंद करा. - नोंद आढळली, आणि हे उपकरण ते उघडू शकते - ती स्वीकारा आणि ही ओळख प्रमाणानंतर सक्षम म्हणून घोषित करा.
- रिकॉर्ड सापडला आहे, आणि हा डिवाइस तो उघडू शकत नाही - नवीन रूट तयार करू नका आणि कोणतीही घोषणा अजिबात प्रकाशित करू नका. हे साधन जोडण्यासाठी वापरकर्त्याला सूचित करा.
nympq1…त्याचबरोबर एक उपकरणाचा कोड, जे आता उपलब्ध आहे. - नोंद नाही - मूळ तयार करा, नोंद प्रकाशित करा, घोषणा करा आणि दाखवा
nympq1…वापरकर्त्याला एकदा कोड द्या जेणेकरून ते तो जतन करू शकतील.
पायरी 3 ही अशी पायरी आहे जी चुकणे सोपे आहे आणि हेच कारण आहे की प्रत्येक अंमलबजावणीवर सोडण्याऐवजी क्रमवारी लिहून ठेवली जाते. दोन उपकरणे जी प्रत्येक रूट तयार करण्याचा निर्णय घेतात ती एकाच ओळखीखाली दोन स्वतंत्र मुळे तयार करतात आणि हे अपयश टाळण्यासाठी ही क्रमवारी अस्तित्वात आहे.
4क्षमतेची घोषणा
आंतरराष्ट्रीय दुरुस्ती योजनेच्या आंतरराष्ट्रीय संख्येने हा विषय प्रकाशित केला जातो
एन. आय. पी.-01
व्हॉट्सअॅप - प्रकार 30078, tagged nym-pq:
{
"kind": 30078,
"tags": [
["d", "nym-pq"],
["t", "nym-pq"],
["expiration", "<unix seconds>"]
],
"content": {
"v": 2,
"alg": "mlkem768",
"nym": 1,
"epoch": 0,
"pk2": "<base64url ML-KEM-768 encapsulation key>",
"exp": <unix seconds>,
"devices": [ ... ]
}
}
Addressable म्हणजे रिले प्रति एक घटना (kind, pubkey, d-tag) ठेवते, म्हणून एक रिपब्लिक अस्तित्वात असलेल्या पूर्वीच्या घोषणाचा प्रतिस्थापन करतो.
हस्ताक्षर करणे ही अनिवार्य आहे. इव्हेंटची स्वाक्षरी आयडेंटिटी कीद्वारे केली जाते, त्यामुळे दावा & ldquo; ही एम. एल.-के. ई. एम. की या एन. पी. यू. बी. & rdquoशी संबंधित आहे; ती एन. पी. यू. बी. इतकीच मजबूत आहे. वेगळ्या एनकॅप्सुलेशन कीच्या जागी सेकप256के1 ची बनावट स्वाक्षरी करणे आवश्यक आहे. जो हल्लेखोर असे करू शकतो त्याला के. ई. एम. ची काळजी करण्याची गरज नाही.
घोषणा कालबाह्य होतात. सातव्या दिवशी NIP-40 प्रत्येक 24 तासांत पुनर्वसन केले जाणारे समाप्त होणे, एका क्लाइंटबद्दल एक घोषणा रिकॉर्ड ठेवते जे अजूनही चालत आहे आणि त्यापेक्षा एक आहे जे आधीच होते.
कालबाह्य झालेल्या घोषणेचे वाचन अगदी त्याच प्रकारे केले जाते ज्यात कधीही किल्ली नसतेः समवयस्क सामान्य एन. आय. पी.-44 पाठवतात, जी प्रत्येक लॉगिन वाचू शकतो आणि क्लायंट त्याच्या पुढच्या जोडणीवर, जेव्हा ती पुन्हा प्रकाशित होते तेव्हा पोस्ट-क्वांटम एक्सचेंज पुन्हा सुरू करतो. त्यामुळे एका आठवड्यापेक्षा जास्त काळ शांत राहण्यासाठी अंतरादरम्यान पाठवलेल्या संदेशांसाठी संरक्षण खर्च येतो-ते क्वांटम-प्रतिरोधक नसून शास्त्रीयरित्या एन्क्रिप्ट केलेले असतात-आणि इतर काहीही खर्च होत नाही. वितरण प्रभावित होत नाही, आधीच प्राप्त झालेले काहीही वाचण्यायोग्य होत नाही आणि परत आल्यावर कोणत्याही कृतीची आवश्यकता नसते.
ती विषमता हे त्याच्या अपघाताऐवजी कालबाह्य होण्याचे कारण आहे. एक नसल्यास, रेकॉर्ड त्याने नाव दिलेल्या किल्लीपेक्षा जास्त जगतोः एक उपकरण जे पुसले जाते, रीसेट केले जाते किंवा त्याचे मूळ बदलले जाते, ते कीवर कॅपसुलेट करण्यासाठी एक स्थायी सूचना सोडते जी कोणीही धारण करत नाही आणि त्याखाली पाठवलेले संदेश दोन्ही बाजूंना त्रुटी न होता गमावले जातात. सात दिवस त्या विंडोला बद्ध करतात आणि रीले लक्षात येण्यासाठी ग्राहकांवर अवलंबून राहण्याऐवजी रेकॉर्ड स्वतःच ड्रॉप करू देतात.
मुख्य क्षेत्र त्याच्या स्वरूपाला नावे देते. हे क्षेत्र आहे pk2, आणि अंक हा सजावटीऐवजी कराराचा एक भाग आहेः की ज्या पेलोड स्वरूपासह वापरली जाऊ शकते त्याला ती नावे देते. फील्ड ओळखत नसलेला वाचक निष्कर्ष काढतो'ldquo'; Nymchat क्लायंट, पोस्ट-क्वांटम की'rdquo'नाही आणि सामान्य एन. आय. पी.-44 पाठवतो, जी प्रत्येक लॉगिन वाचू शकतो. ही अचूक अपयशाची दिशा आहे आणि अंकीकरणाचे स्वरूप लागू करण्यासाठी नियम म्हणून नमूद करणे योग्य आहेः मान्यता नसलेल्या क्षमतेच्या दाव्यासाठी संरक्षण खर्च करणे आवश्यक आहे, कधीही वितरण नाही. समवयस्क कधीही वापरू शकत नाही अशी की कोणत्याही कीपेक्षा वाईट आहे, कारण तो तयार करणारा संदेश दोन्ही बाजूंनी कोणतीही त्रुटी न होता गमावला जातो.
4. 1 अनुपस्थिती अर्थपूर्ण आणि त्रिस्तरीय असते.
एक सूक्ष्म पण महत्त्वाचा तपशीलः घोषणा प्रत्येक निमचॅट क्लायंटद्वारे प्रकाशित केली जाते, केवळ पोस्ट-क्वांटम-सक्षम नाही, आणि मुख्य क्षेत्र ऐच्छिक आहे. ज्यामुळे दोनऐवजी तीन वेगळे करता येण्याजोग्या अवस्था मिळतातः
| निरीक्षण केले. | म्हणजे | व्यवहार पाठवा |
|---|---|---|
| किल्लीसह घोषणा | Nymchat, पोस्ट-क्वांटम सक्षम | संकरीत |
| घोषणा, कोणताही कुंजी नाही | Nymchat, फक्त शास्त्रीय-पोस्ट-क्वांटम ऑफ, किंवा ओळखच्या मुळाशी अद्याप जोडलेले नसलेले उपकरण | क्लासिक NIP-17 |
| घोषणा नाही | अज्ञात ग्राहक. कोणताही नॉस्टर किंवा बिचॅट वापरकर्ता असू शकतो. | अभिजात, आणि एक सुसंगतता गुंडाळी |
तिसऱ्या पंक्तीला चौथ्या रांगेत गुंडाळणे हे खरे नुकसान ठरेल. चावी नसलेली घोषणा म्हणजे एक स्वाक्षरी केलेले विधान आहे की प्रेषक निमचॅट चालवतो, ज्यामुळे पाठवण्याच्या मार्गाला अनुमानास्पद क्रॉस-प्रोटोकॉल रॅप वगळता येते, अन्यथा ज्याला तो ओळखू शकत नाही अशा कोणासाठीही ते समाविष्ट करावे लागेल.
4.2 एक उपकरण जे रूट उघडू शकत नाही ते शांत राहते.
घोषणा बदलण्यायोग्य आहेः प्रत्येक ओळखीसाठी एक कार्यक्रम, शेवटचे लेखन जिंकते. यामुळेच एकल-ध्वनिमुद्रण रचना कार्य करते आणि जर ते प्रकाशित केले तर लिंक न केलेले उपकरण देखील धोकादायक बनते. ज्या उपकरणाने स्वतःसाठी तयार केलेली किल्ली घोषित केली असेल ते वास्तविक अभिलेख बंद करेल आणि प्रत्येक समवयस्काला इतर उपकरणे उघडू शकत नाहीत अशा किल्लीखाली कूटबद्ध करण्यासाठी पाठवेल.
त्यामुळे ज्या उपकरणाला मूळ माहित आहे परंतु ते उघडू शकत नाही ते अजिबात घोषणा प्रकाशित करत नाही. ते तुटलेले नाही आणि ते अनुप्रयोगातून लॉक केलेले नाहीः वापरकर्त्याला ते जोडण्यास प्रवृत्त करताना ते अजूनही त्यांच्याकडे असलेल्या प्रत्येक संदेशाला वाचते आणि तरीही शास्त्रीय रीतीने पाठवते. मौन हे अशा उपकरणासाठी योग्य वर्तन आहे जे ओळखीसाठी बोलू शकत नाही.
5शोध आणि पाठवण्याचा निर्णय
क्लायंट समवयस्कांच्या किल्ली दोन प्रकारे शिकतात. स्थायी सदस्यत्वामध्ये वापरकर्त्याने प्रत्यक्षात संवाद साधलेल्या लोकांना समाविष्ट केले जाते-खुले संभाषण आणि गट सदस्य-त्यामुळे त्यांच्या घोषणा सामान्य घटना म्हणून येतात. समवयस्क प्रथमच भेटण्यासाठी, एक-शॉट क्वेरी पाठवण्याच्या वेळी चालते, जी 2.5 सेकंदांवर मर्यादित असते; जर ते निराकरण करत नसेल तर संदेश शास्त्रीय होतो, जो नवीन अपयश मोडऐवजी पोस्ट-क्वांटम जोडण्यापूर्वी अस्तित्वात असलेला वर्तन आहे.
नकारात्मक परिणाम दहा मिनिटांच्या तुलनेत नेहमीच कॅच केले जाते. एक वापरकर्ता जो नवीन डिझाईन कनेक्ट करतो, किंवा जो ब्राउझर-आउट-इन लॉगिनपासून स्थानिक कुंजीवर जातो, तो पोस्ट-क्वांटम सक्षम मध्य-कॅच करतो, आणि स्थायीपणे कॅच केलेला “नाही” त्यांना घोषणाच्या आयुष्यासाठी क्लासिक एन्क्रिप्शनवर ठेवू शकतो.
1. 1 डाउनग्रेड अटॅक का नाही?
मार्गनिर्देशन निर्णय एकाच प्रश्नापर्यंत कमी होतोः
pq = (we hold a signed, unexpired ML-KEM key for this recipient)
कोणतीही क्षमता वार्ता नाही, कोणतीही समर्थित एल्गोरिथम सूची नाही, आणि कोणतीही क्षेत्र एक हत्याराने कमजोर मार्ग मजबूत करण्यासाठी स्पष्ट करू शकत नाही. आहे एक रिटायर्ड किंवा रिटायर्ड घोषणाचा विफलता मोड म्हणजे संदेश क्लासिक होईल - या सुविधापूर्वीची स्थिती - आणि हे हायब्रिड संदेश काहीतरी अत्याधुनिक म्हणून कमी केले जाते की नाही.
विपरीतही पकडतो आणि महत्त्वाचा आहे: एक ग्राहक हायब्रिड पाठवतो फक्त जेव्हा त्यांना वाटतं की, त्यांचा पार्टनर त्यांच्या इच्छा पूर्ण करत नाहीयं तेव्हा ते मन बदलतात आणि नातं तोडतात.
6हायब्रिड निर्माण
Nymchat NIP-44 हटवते नाही. अननियमित NIP-44 क्रिप्टर टेक्स्ट आंतरिक परत आहे, आणि ML-KEM त्याच्या आसपास एक आंतरिक AEAD चाचणी करतो:
inner = nip44_encrypt(plaintext, conversation_key(sender, recipient))
info = "nymchat-pq2" || sender_secp_pk || recip_secp_pk || kem_ct || recip_kem_pk
prk = HKDF-Extract(salt = "nymchat-pq2-v1", IKM = kem_ss)
key = HKDF-Expand(prk, info || "key", 32)
nonce = HKDF-Expand(prk, info || "nonce", 12)
outer = ChaCha20-Poly1305(key, nonce, plaintext = inner, aad = info)
payload = "pq2." || base64url(kem_ct) || "." || base64url(outer)
संदेश वाचण्यासाठी दोन्ही रहस्य अजूनही उघडले पाहिजेत: आंतरिक परत फक्त NIP-44 क्रिप्टर टेक्स्ट देतो आणि त्यासाठी क्लासिक ECDHची गरज आहे. secp256k1 तोडण्यासाठी एक क्वांटम विरोधक आंतरिक कुंजी मिळतो आणि अजूनही ML-KEM चे सामना करतो; ML-KEMचा एक ब्रेक आंतरिक परत काढतो आणि NIP-44 स्थिर ठेवतो.
kem_ssकेवळ बाहेरील थराला किल्ली. या व्युत्पत्तीतील काहीही कच्च्या ई. सी. डी. एच. उत्पादनाला स्पर्श करत नाही, जे कलम 6.1 चालू करते.kem_ct,recip_kem_pkआणि दोन्ही पहचान कुंजी समाविष्ट डेटा म्हणून बंधित आहेत, म्हणून बाह्य परत त्याचे उत्पादन करणाऱ्या सटीक ट्रान्क्रिप्टला प्रतिबद्ध आहे.
प्रत्येकाच्या संदेशावर एकॅप्युलेशन करण्यात येते, जेणेकरून रिसेप्टरचे ML-KEM कुंजी लांब राहतात, परंतु प्रत्येक संदेश एक स्वतंत्र एन्क्रिप्टर टेक्स्ट आहे आणि त्यामुळे स्वतंत्र एन्क्रिप्टर टेक्स्ट आहे.
kem_ssहेच नॉन्सला यादृच्छिक करण्याऐवजी ध्वनी व्युत्पन्न करतेः
पॅरिस-एक्सएनयूएमएक्स०
(की, नॉनस) जोडीचा पुन्हा वापर करून तो मोडला जातो आणि येथे की स्वतःच प्रत्येक संदेशासाठी नवीन आहे, त्यामुळे कोणतीही जोडी पुनरावृत्ती करू शकत नाही.
6. 1 थर वेगळे का राहतात?
या दोन्ही रहस्ये एकाच भाषण कुंजीत मिश्रण करणे आणि ते NIP-44 वर देणे आहे:
ck = HKDF-Extract(salt = "…",
IKM = ecdh_x || kem_ss || …) // do not do this
ती रचना गुप्तलेखनासारखीच योग्य आहे. त्यात एक संरचनात्मक समस्या आहेः ती आवश्यक आहे.
ecdh_x, ECDH आउटपुटचा कच्चा x-कोर्टायट, मुख्य सामग्री - आणि ब्राउझर विस्तार (NIP-07) किंवा एक दूरस्थ हस्ताक्षर (NIP-46) कधीच त्या किंमत परत देत नाही. तो कॉलकर्ताच्या नावाने NIP-44 कार्य करते आणि एक क्रिप्टर टेक्स्ट परत देतो, जे कुंजी कोठेही ऐप पोहोचू शकत नाही ठेवणारा संपूर्ण बिंदू आहे.
त्यामुळे गुपिते मिसळल्याने प्रत्येक लॉगइन वगळले जाते, ज्यात ओळख किल्ली स्वाक्षरीकर्त्यामध्ये ठेवली जाते, म्हणजे सर्वात सावध वापरकर्ते, आणि किल्ली व्युत्पत्तीवरील कोणतेही काम ते बदलू शकत नाही. थर अवलंबित्व काढून टाकतेः एन. आय. पी.-44 संपूर्ण राहते आणि ओळख किल्ली धारण केलेल्या कोणत्याही गोष्टीद्वारे तयार केली जाते, स्वाक्षरीकर्त्यासह, तर केईएम अर्धा ग्राहक थेट धारण केलेल्या पुनर्प्राप्ती कोडमधून मोजला जातो. स्वाक्षरीकर्ता लॉगइन हे दोन्ही दिशेने सामान्य पोस्ट-क्वांटम सहभागी असतात.
किंमत बँडविड्थ आहे आणि ती कमी नाही. एम. एल.-के. ई. एम. सायफरटेक्स्ट 1,088 बाइट्सचा आहे आणि प्रत्येक संदेशावर चालतो, बेस64यु. आर. एल.-एन्कोडेड 1,451 वर्णांपर्यंत; बाह्य ए. ई. ए. डी. 16-बाईट पॉली1305 टॅग जोडतो आणि एन. आय. पी.-44 पेलोडचा विस्तार करतो जो तो तिसऱ्याने गुंडाळतो. 50 वर्णांचा संदेश 176 बाइट्सवरून 1,712 पर्यंत वाढतो आणि 2,000 वर्णांचा संदेश 2,820 वरून 5,238 पर्यंत वाढतो. संदेश किती लहान आहे याची पर्वा न करता मजला प्रति संदेश अंदाजे 1.5 के. बी. आहे, जो सामायिक गुप्तता पुन्हा वापरण्याऐवजी प्रत्येक वेळी नव्याने समाविष्ट करण्याची किंमत आहे.
2. 2 स्वयं-वर्णन पेलोड
द. pq2. उपसर्ग उपयोजनाला वाढीव बनवतेः ते स्वयं-वर्णन आहे, त्यामुळे ग्राहक टॅगवर विश्वास ठेवण्याऐवजी किंवा समवयस्क काय समर्थन करतो हे लक्षात ठेवण्याऐवजी पेलोडची तपासणी करून डिक्रिप्शन मार्ग निवडतो. जो वाचक उपसर्ग ओळखत नाही तो पेलोड चुकीचे वाचण्याऐवजी उघडण्यात अयशस्वी ठरतो आणि दोन्ही बाजूंच्या आधी सीलबंद केलेले संदेश प्रमाणानंतर सामान्य एन. आय. पी.-44 प्रमाणे वाचनीय राहू शकतात आणि स्थलांतर न करता.
ML-KEM decapsulation हे कधीच विफल होऊ नये म्हणून डिझाइन केले जाते: एक विकृत क्रिप्टरटेक्स्ट दिल्यास, Fujisaki-Okamoto ट्रांसफार्मने चूक नसेल तर एक गुन्हेगाराच्या बरोबरीत एक deterministic pseudo-random secret परत येतो. चुकीचा कुंजी म्हणून KEM परतमध्ये पूर्णपणे उरत नाही - तो NIP-44 मध्ये एक HMAC विफलता म्हणून उरतो, जे चुकीचे क्लासिक कुंजी सतत समान आहे. कॉलर्स दोघेही समानपणे व्यवहार करतात, म्हणून विफलता कोणत्याही विपरीत संकेत देत नाही.
6.3 उपहार प्लॅनचे दोन्ही परत
A NIP-17 व्यक्तिगत संदेश A NIP-59 भेटवस्तू गुंडाळणेः स्वाक्षरी न केलेली अफवा, पाठवणाऱ्याच्या ओळख किल्लीखाली (प्रकार 13) सीलबंद केली जाते, नंतर प्रति संदेश व्युत्पन्न केलेल्या फेकून दिलेल्या किल्लीखाली गुंडाळली जाते (प्रकार 1059). ओळख किल्ली थेट धारण करणाऱ्या लॉगिनवर, निमचॅट दोन्ही स्तरांना संकरीत करते, प्रत्येक त्याच्या स्वतःच्या आवरणासह.
एक हस्ताक्षरकर्ता लॉगिन फक्त बाह्य परत मिळते. सील सामान्य NIP-44 म्हणून हस्ताक्षरकर्ताद्वारे उत्पादित केलेली आहे - एप्लिकेशन कधीच चाचणी दिसत नाही ज्याने ती तयार केली आहे - म्हणून तो स्थानिकपणे हायब्रिडेट करू शकत नाही. यामुळे संबंधित आक्रमण विरुद्ध काहीही खर्च होत नाही: सील फक्त प्लॅपद्वारे पोहोचता येतो, आणि सील एक रिकॉर्डर स्टोअर आहे. रिकॉर्ड केलेला ट्रॅफिक धारण करणारा एक विरोधक हस्ताक्षर करण्यापूर्वी एमएल-केईएम तोडला पाहिजे.
7समूह संदेश आणि आंशिक कवरेज
एक ग्रुप संदेश एक क्रिप्टर टेक्स्ट नाही. हे प्रत्येक सदस्यला डिफॅन केलेले समान सरळ टेक्स्ट आहे, प्रत्येक कॉपी त्या सदस्यच्या स्वतःच्या एमएल-केईएम कुंजीवर कॅपस्युलेटेड आहे. एक सदस्य जो कुंजी प्रकाशित केला आहे तो हायब्रिड वॉलेट मिळतो; कोणताही क्लासिक वॉलेट मिळत नाही.
यामुळे लेखात एक समस्या निर्माण झाली आहे, ज्यामुळे एक निर्दोष निष्पादन चूक करतो. नाही आठ दशमांश संरक्षित. विरोधकाला साध्या मजकुराची एक शास्त्रीय प्रत आवश्यक असते जी सर्व दहामध्ये समान असते, त्यामुळे संदेश तेव्हाच संरक्षित केला जातो जेव्हा प्रत्येक कॉपी आहे.
त्यामुळे निमचॅट फॅन-आउट दरम्यान प्रति-संदेश कव्हरेजचा मागोवा घेते-मोजणी केवळ रॅप तयार होत असतानाच कळते-आणि बॅज संदेश संरक्षित आहे असा दावा करण्याऐवजी 10 पैकी 8 सदस्यांना क्वांटम-प्रतिरोधक अहवाल देते. जेथे कोणतीही गणना उपलब्ध नाही, जे प्रति-संदेश कव्हरेजसाठी सामान्य प्रकरण आहे. मिळाले समूह संदेश (फक्त पाठवणारा पंखा-बाहेर मोजतो), इंटरफेस पूर्ण संरक्षणाऐवजी आंशिक अहवाल देतो. केवळ स्वतःच्या प्रतीच्या बळावर पूर्ण संरक्षणाचा दावा करणे हे संपूर्ण संदेशाबद्दल अतिशयोक्ती ठरेल.
7. 1 ढाल काय सांगते
श्वेत हे सत्य सांगते संदेश, नाही, हे पाठवलेल्या सॉफ्टवेअरबद्दल नाही:
- पूर्ण संरक्षण: हा प्रिंटटेक्स्टचा प्रत्येक कॉपी हायब्रिड गेला.
- आंशिक: एका ग्रुप संदेशच्या काही कॉपी क्लासिकपणे बाहेर पडले. ड्रायव्हरित नसेल पूर्ण, कारण एक क्लासिक कॉपी एकमेकांमध्ये समान एकमेकांच्या विरोधीची गरज आहे.
- क्लासिक बद्दल स्पष्टपणे म्हटले जाते, कारण कोणताही बॅज नाही म्हणून दिसून येत नाही, कारण “निरपेक्ष”, “broken” आणि “This build lacks the feature” मध्ये एक अविश्वसनीय संकेतक आहे.
जेव्हा संदेश सुटले जाते तेव्हा संदेश पुनरावृत्ती नसेल, जेव्हा एक सहकार नंतर प्रचार करतो तेव्हा संदेश रिकॉर्ड केला जातो. सिगरेट टेक्स्ट जे आधीच आहे ते आधीपेक्षा अधिक सुरक्षित होऊ शकत नाही, आणि एक इंटरफेस जे नवीन घोषणाच्या ताकदीवर जुन्या संदेश पुनरावृत्ती करेल ते रिलेवर बॅट्सबद्दल काहीतरी चुकीचा दावा करेल.
ग्रुप नियमांचे नियमांचे हे स्टॅक त्यावर आहे आणि त्याचे प्रतिस्थापन करण्यापेक्षा: एक ग्रुप संदेश पूर्णपणे सुरक्षित आहे, जेव्हा प्रत्येक सदस्यचे कॉपी आहे, आणि एक प्राप्त ग्रुप संदेश कोणत्याही कवरेज संग्रह अंमलबजावणी आहे.
8स्वतःला संबोधित केलेले पत्र
काही गोष्टी ग्राहक स्टोरेज वापरकर्त्याच्या स्वतःच्या नावाने एन्क्रिप्ट केले जातात: सिंक्रनाइजित सेटिंग्स, कॉललिस्ट, ग्रुप कुंजी, आणि संदेश संग्रहालय. हे वापरकर्त्याच्या तुलनेत अधिकाऱ्यांपेक्षा अधिक संदेश लावतात, म्हणून त्यांना क्लासिकपणे सोडवणे त्यांच्या संदेशांना किती काळजीपूर्वक सील केले गेले तरी त्यांना सर्वात कमजोर संग्रहीत आर्टिफॅक्ट बनवते. nymchat-pq-root स्वतः श्रेणी, जी केवळ ती तयार करू शकते अशा किल्लीखाली सीलबंद केली जाऊ शकत नाही.
या कलाकृतींमध्ये रचना सर्वात जास्त महत्त्वाची असते. सेटिंग्ज ब्लॉब किंवा संग्रह पंक्ती वर्षानुवर्षे एकाच ठिकाणी असते, जी कापणी-आता-डिक्रिप्ट-नंतर विरोधी गोळा केलेल्या वस्तूच्या आकाराची असते-कोणत्याही एका संदेशापेक्षा खूपच जास्त, जो वापरकर्त्याच्या स्वतःच्या मनात किमान अल्पकालीन असतो.
एक अडथळा किल्लीऐवजी येथे स्वरूप नियंत्रित करतो. स्वयं-संबोधित प्रत खालीलप्रमाणे वाचण्यायोग्य असणे आवश्यक आहे प्रत्येक खात्यावरील उपकरण, त्यामुळे प्रत्येक उपकरण त्याच्या घोषणेच्या रोस्टरमध्ये काय उघडू शकते याची जाहिरात करते आणि खाते फक्त तेच लिहितो जे ते सर्वजण वाचू शकतात. इतर काहीही लिहिण्याने डिव्हाइसला त्याच्या स्वतःच्या सेटिंग्जमधून लॉक केले जाईल-तेच मूक अपयश विभाग 3.2 इतर मार्गांनी टाळते, ते वेगळ्या दिशेने येत आहे.
एक डिवाइस जे पहचान आहे, पण रूट नाही, तो आपल्या स्वतःच्या सेटिंग्ससह रूट-उत्पाद कुंजीवर बंद केलेले काहीही उघडू शकत नाही. हे एक वरील परिणाम आहे, नंतर एक निरीक्षण आहे, आणि हे कारण आहे कि खंड 3.3 मध्ये नवीन रूट लावण्यापेक्षा लिंक करण्यासाठी तितका डिवाइस प्रिंट आहे: दुसरा रूट ब्लॉब वाचू शकत नाही, तो फक्त पहचानची कुंजी सामग्री दोन टक्क्यांमध्ये विभाजित करेल.
ब्राउझर एक्सटेंशन किंवा दूरस्थ हस्ताक्षरक (एनआईपी-46) चालवणाऱ्या एक उपकरणाला एनएसईसी मिळत नाही, परंतु तो पुनर्प्राप्ती कोड ठेवतो, आणि खंड 6.1 च्या परतित संरचनानुसार हे सर्व पोस्ट-क्वांटम आधाची गरज आहे: हस्ताक्षरक नेहमीच्या प्रकारे एनआईपी-44 लेअर तयार करतो आणि क्लाइंट स्वयं आंतरिक लेअर चाचणी करतो.
9रोटेशन
द. epoch व्युत्पत्तीतील काउंटर हे आहे जे नवीन की सामग्रीशिवाय रोटेशन शक्य करते. ते वाढवल्यास त्याच मुळापासून एक नवीन कीपेअर आणि पुन्हा प्रकाशित घोषणा मिळते; समवयस्क पुनर्स्थित करण्यायोग्य रेकॉर्डमधून नवीन की घेतात. त्यामुळे रोटेशन वापरकर्त्याला दुसऱ्यांदा काहीही लिहिण्यास सांगत नाहीः मूळ प्रत्येक ओळख एकदा तयार होते आणि युग वळण करते.
9. 1 जुने युग ठेवले जातात आणि काहीही पुन्हा एन्क्रिप्ट केले जात नाही.
एक क्लाइंट वर्तमान युगापासून − 3 पर्यंत डिस्क्रिप्शन कॅन्डिटर्स तयार करतो, म्हणून एक संदेश रिटॅट करण्यापूर्वी थोड्याच वेळात बंद केलेले संदेश अजूनही पाठविण्यात आले होते की ते पाठविण्यात आले होते.
त्या खिडकीने रोटेशन पूर्णपणे सुरक्षित केले आहे: त्याशिवाय, प्रत्येक रोटेशन विमानतळावर असलेले काहीही अटक करेल. जे काहीही आधीच सील केले गेले आहे ते पहचानच्या आयुष्यासाठी वाचवता येते, कारण वापरकर्त्यांना आता उघडता येत नसलेल्या संदेश त्यांची सुरक्षा नंतर सुधारता येऊ शकत नसलेल्या संदेशांपेक्षा अतिशय वाईट आहे (सेक्शन 10.5).
10काय रक्षण करणार नाही
एक पेपर जे फक्त एक डिझाईन जे प्राप्त करतो ते सूचीबद्ध करतो, तो एक प्रणाली वर्णन करतो नाही, आणि इंटरफेसमध्ये एक सुरक्षा वैशिष्ट्य अत्यंत कमी करणं हे त्यातून सोडवण्यापेक्षा वाईट आहे.
10.1 जड़ हा दुसरा रहस्य आहे, आणि तो खोला जाऊ शकत नाही
हे डिझाईनचे वास्तविक किंमत आहे. अनुच्छेद 2 मध्ये वापरकर्त्याला फक्त एक गोष्ट ठेवायला हवी असणे आवश्यक आहे हे प्रतिबंध पूर्ण होऊ शकत नाही: nsec एकटेच पोस्ट-क्वांटम कुंजीची पुनरावृत्ती करू शकत नाही, कारण संपूर्ण मुद्दा असा आहे की कोणताही सार्वजनिक मूल्य आणि कोणताही अन्य गुप्त त्याला उघडत नाही.
हाताने हस्तांतरण हा एकमेव मार्ग असल्याने, तो आधी वाचण्यापेक्षा अधिक तीक्ष्ण आहे. एक वापरकर्ता जो कधीही नक्कल करत नाही nympq1… कोड कुठल्याही ठिकाणी एका डिव्हाइसवर एकच कॉपी आहे आणि त्या डिव्हाइसवर हरवल्यास प्रत्येक पोस्ट-क्वांटम संदेश, सेटिंग्स ब्लॉब आणि संग्रह रेखा त्यावर बंद पडते.
nsec मदत करत नाही; संपूर्ण रचना ज्या मालमत्तेवर अवलंबून आहे.
कोणताही पॅक पॅक जोडीन नंतर मॅन्युअलच्या समान पॅक साफ करावा लागतो. एक आक्रमणकारक उपलब्ध सर्वात सस्ती पॅकवर हल्ला करतो, म्हणून एक योजना आपल्या सर्वात कमजोर पुनर्प्राप्ती पॅकची किंमत आहे - उदाहरणार्थ, एक यादृच्छिक पॅसफ्रास, सर्वकाही पॅसफ्रासच्या किंमतीवर ठेवू शकतो, आणि पॅक पॅक पॅक लावलेले पॅक सटीक वस्तू आहे जे नंतर एक विरोधी एकत्र करतो आणि विनामूल्यपणे बाहेर काढतो.
10. 2 प्रमाणीकरण, गोपनीयतेपेक्षा वेगळे
नॉस्टरमधील प्रत्येक स्वाक्षरी ही सेकप256के1 वर स्नॉर आहे आणि ती येथे बदलत नाही. क्वांटम संगणक असलेला विरोधक बनावट स्वाक्षऱ्या करू शकतो आणि वास्तविक वेळेत वापरकर्त्याची नक्कल करू शकतो. संकरीत किल्ली देवाणघेवाणीचा पराभव म्हणजे हार्वेस्टिंग-नाऊ-डिक्रिप्ट-लेटरः आज रहदारी नोंदवणारा आक्रमणकर्ता तो नंतर वाचू शकत नाही. ज्याच्याकडे आधीपासूनच मशीन आहे त्या विरोधकाच्या विरोधात तो संदेश अक्षम्य बनवत नाही. हा फरक अनुप्रयोगांमध्ये जाणूनबुजून केला जातो-पॅडलॉक निर्देशक प्रमाणीकरण अहवाल देतो, ढाल गोपनीयतेचा अहवाल देतो आणि ते वेगळे ग्लिफ आहेत कारण संदेशामध्ये दुसऱ्याशिवाय एक असू शकतो.
एक npub आणि एक ML-KEM कुंजीचा बंधन एक secp256k1 हस्ताक्षर आहे, म्हणून एक विरोधक जो ते चोरी करू शकतो तो स्वतःचा कुंजी बदलू शकतो.
10. 3 मेटाडेटा
भेटवस्तू गुंडाळल्याने पाठवणाऱ्याला, प्राप्तकर्त्याला एकाच्या पलीकडे लपवले जाते p आतील संदेशाचा टॅग, प्रकार आणि टाइमस्टॅम्प. एखादी घटना अस्तित्वात आहे, त्याचा आकार किंवा रिलेने ती कधी प्राप्त केली हे त्यात लपवले जात नाही. या रचनेच्या कोणत्याही भागाद्वारे रहदारीचे विश्लेषण केले जात नाही.
10. 4 ऑफलाईन जाळी
Nymchat च्या ब्लूटूथ मेष ट्रांसपोर्ट आपल्या स्वतःच्या हाताखाली एक विशिष्ट प्रोटोकॉल आहे, आणि तो या कामात कवर नाही.
10.5 आधीच पाठवलेले संदेश
या दोन्ही बाजूंमध्ये लिहिलेले लिपस्टॉक नेहमीच क्लासिक राहील. हे आधीच आहे आणि पुन्हा बंद केले जाऊ शकत नाही. संरक्षण संदेश मध्ये सुरू आहे जेथे दोन्ही बाजूंनी पोस्ट-क्वांटम कुंजी ठेवली होती, त्या क्षणी सुविधा चालू झाली नाही.
11विचार करणारे विकल्प
| दृष्टीकोन | का नाही? |
|---|---|
| आयडेंटिटी कीमधून पोस्ट-क्वांटम की काढा | निषेधित. निवृत्ती nsec वर एक सार्वजनिक एल्गोरिथम आहे, आणि एक क्वांटम विरोधी प्रकाशित npubपासून nsec पुनर्प्राप्ती करतो, त्यामुळे पोस्ट-क्वांटम आधा वर क्लासिक आधा हात तोडणे. |
| NIP-44 वर वापरकर्त्याच्या इतर उपकरणांना रूट पाठवा | वेगवेगळ्या कपड्यांमध्ये त्याच कारणामुळे अस्वीकार केले जाते. क्लासिक-केवल एन्क्रिप्शनमध्ये पाठविलेले एक रूट कोणीही त्या संदेशाचे रिकॉर्ड केले आणि नंतर त्याचे कुंजी तोडले जाते, ज्याचा विरोधक रूट थांबवण्यासाठी अस्तित्वात आहे. |
| प्रत्येक उपकरणावर स्वतंत्रपणे तयार केलेली एम. एल.-के. ई. एम. कीपेअर | डिझाईनमध्ये वेगवेगळ्या डेकॅप्युलेशन कुंजी असतील, आणि प्रति पहचान एक प्रतिस्थापित घोषणा त्यांना सर्व देऊ शकत नाही. मित्रांनी शेवटच्या कुंजीवर एन्क्रिप्ट करावा, आणि प्रत्येक अन्य डिझाईन परिणाम वाचू शकत नाही. |
| मूळ एका पिनखाली गुंडाळा | नाकारले गेले. चार अंकी पिन हा गुंडाळलेल्या पंक्तीला धरून असलेल्या ऑफलाईन आक्रमणकर्त्याच्या विरुद्ध सुमारे 13 बिट असतो. दोन 256-बिट मार्गांच्या बाजूला तो दिल्यास सर्वात कमकुवत गुंडाळीची किंमत काय आहे हे चुकीचे दर्शवेल. |
| दोन्ही किल्ली ठेवण्यासाठी एन. पी. यू. बी. चा विस्तार करा | 1, 184 बाइट्स हा सामायिक करता येण्याजोगा ओळखकर्ता नाही आणि तो प्रत्येक विद्यमान नॉस्टर क्लायंटच्या 32 बाइट्स म्हणून परिभाषित केलेल्या पत्त्याचे पार्सिंग खंडित करेल. |
| मुख्य कार्यकर्त्यांची सेवा | नेटवर्क अस्तित्वात असलेले अधिकृत पुनरावृत्ती करतो. जो कोणी सर्चअपला उत्तर देतो तो संदेश कोणी वाचू शकतो हे ठरवतो. |
| प्रत्येक संदेशाला किल्ली जोडा | काहीही सोडवत नाहीः पाठवणाऱ्याची गरज असते रिसेप्टर पहिल्या संदेशाच्या आधीची किल्ली, जी ती वाहून नेण्यासाठी कोणताही पूर्व संदेश नसल्यास तंतोतंत लागू होते. |
| इन-बँड क्षमता वाटाघाटी | डाउनग्रेड पृष्ठभाग तयार करतो. एक आक्रमणकर्ता जो क्षमता ध्वज काढून टाकू शकतो तो शास्त्रीय मार्गाला बळ देतो. |
| फक्त पोस्ट-क्वांटम, क्लासिक पाय नाही | अनेक दशकांपासून secp256k1चा विश्लेषण बदलासाठी कमी करतो. दोन्ही फाइल करा |
12अधिनियम Parity
निमचॅट या बांधकामाची दोन स्वतंत्र अंमलबजावणी पाठवते-एक वेब अनुप्रयोगासाठी जावास्क्रिप्टमध्ये, एक मोबाइल अनुप्रयोगांसाठी डार्टमध्ये, ज्यात फ्रॉम-स्क्रॅच एम. एल.-के. ई. एम.-768 पोर्टचा समावेश आहे. एकाच प्राचीन काळातील दोन अंमलबजावणी सामान्यतः एक दायित्व असते, त्यामुळे ते सहमती दर्शविण्याऐवजी एकमेकांविरुद्ध पिन केले जातात.
डार्ट एम. एल.-के. ई. एम. ची अंमलबजावणी अधिकाऱ्याविरुद्ध प्रमाणित आहे.
एन. आय. एस. टी. ए. सी. व्ही. पी.
एम. एल.-के. ई. एम.-768 साठी ज्ञात-उत्तर चाचण्या (ML-KEM-*-FIPS203)-25 की-जनरेशन, 25 एन्कॅप्सुलेशन आणि 10 डिकॅप्सुलेशन केसेस, त्यांचा स्वतःचा संच म्हणून चालतात. हे वेक्टर एन. आय. एस. टी. अंमलबजावणीची पडताळणी करण्यासाठी प्रकाशित करते, त्यामुळे त्यांना पास करणे हा पोर्ट योग्य असल्याचा पुरावा आहे, केवळ दोन क्लायंट एकमेकांशी सहमत असल्याचा पुरावा नाही. त्यापलीकडे, चाचणी वेक्टरची सामायिक स्थिरता-बियाणे व्युत्पन्न, एन्कॅप्सुलेशन, दोन्ही पेलोड स्वरूप आणि संपूर्ण भेट आवरणे-जावास्क्रिप्ट संदर्भातून तयार केली जातात आणि दोन्ही चाचणी संचाद्वारे तपासली जातात. मूळ गुपित ते बदलण्याऐवजी त्या स्थिरतेचा विस्तार करतेः मूळ ते बीज, मूळ ते कीपेअर, रूटचे सार्वजनिक फिंगरप्रिंट आणि व्युत्पन्न की, नॉनस आणि बाह्य थराचा संबंधित डेटा हे त्यांचे स्वतःचे वाहक आहेत, म्हणून दोन क्लायंट काय करावे याबद्दल असहमत होऊ शकत नाहीत.
nympq1… कोड म्हणजे या बाइट्सच्या माध्यमातून एक संदेश सुटला जातो. या दोन्ही संकल्पनांमध्ये एक विपरीतता निर्माण असू शकते आणि दुसरा क्लाइंट उघडू शकत नाही हे संदेश उत्पादन करतो.
हे जे एक डिवाइस सांगते आहे “हा मी धारण करतो रूट आहे “पासून “हा एक वेगळा आहे “, आणि एक क्लाइंट जो अन्य क्लाइंटच्या उंगळपत्राची पुनरावृत्ती करू शकत नाही तो एक पूर्णपणे चांगला रिकॉर्ड वाचू शकतो जे कोणताही रिकॉर्ड नाही - आणि नंतर, अनुच्छेद 3.3, एक दुसरा रूट मिंट आणि पहचान विभाजित.
निमचॅट आहे मुक्त स्रोत AGPL-3.0 च्या खाली. येथे वर्णन केलेले गूढलिपीचे केंद्रबिंदू आहे
js/nym-crypto.js आणि js/modules/pq.js इंटरनेटवर ग्राहक आणि
lib/core/crypto/ सोबत lib/features/identity/pq_registry.dart मोबाइल ग्राहकांमध्ये.
छोट्या, गैर-तांत्रिक स्पष्टीकरणासाठी, पहा क्वांटम-रेझिस्टंट एन्क्रिप्शनवरील ज्ञानाचे आधार पृष्ठ.