Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ed25519-unsafe-libs — ed25519 हस्ताक्षर लाइब्रेरीज़ की असुरक्षित सूची | Kitploit
उपकरण/GitHubGitHub/mystenlabs/ed25519-unsafe-libs
भेद्यता विश्लेषणशोषणक्रिप्टोग्राफीपेपर और शोधलर्निंग और शिक्षाचयनित संसाधन
GitHubmystenlabs/ed25519-unsafe-libs

ed25519-unsafe-libs

ed25519 हस्ताक्षर लाइब्रेरीज़ की असुरक्षित सूची

रिपॉजिटरी देखें
25035592 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

ed25519-unsafe-libs

Ed25519 पर डबल पब्लिक की साइनिंग फंक्शन Oracle अटैक

एड25519 सिग्नेचर लाइब्रेरियों की एक सूची जो एक सार्वजनिक API की अनुमति देती हैं जहाँ गुप्त और सार्वजनिक कुंजी को साइनिंग फंक्शन इनपुट के रूप में स्वतंत्र रूप से प्रदान किया जा सकता है। इन सार्वजनिक APIs के दुरुपयोग से प्राइवेट की उजागर हो सकती है।

हमारे विश्लेषण में अधिकांश रिपॉजिटरी IANIX :: Things that use Ed25519 में सूचीबद्ध हैं।

प्रभावित लाइब्रेरियों की संख्या: 45
घोषणा के बाद समस्या ठीक करने वाली लाइब्रेरियों की संख्या: 8
अंतिम अद्यतन: मई 04, 2023

इस संभावित शोषण को प्रदर्शित करने वाले प्रूफ ऑफ कॉन्सेप्ट कार्यान्वयन:

  • Rust: ed25519-chalkias-exploit
  • Python: Ed25519 Vulnerability in Python, Buchanan, William J (2022). Ed25519 Vulnerability in Python (Recovering Private Key). Asecuritysite.com.

वार्ताएँ:

  • USA के नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड्स एंड टेक्नोलॉजी (NIST) क्रिप्टो रीडिंग क्लब में आमंत्रित वार्ता: स्लाइड्स - Taming the Many EdDSAs (पृष्ठ 28-39), Konstantinos Chalkias, François Garillot, Valeria Nikolaenko (2023). Taming the Many EdDSAs & Ed25519 Signing Attacks.

इस हमले की समाचार और सोशल नेटवर्क कवरेज

  • NIST Crypto Reading Club "Taming the Many EdDSAs" (मार्च 08, 2023)
  • The Daily Swig "दर्जनों क्रिप्टोग्राफी लाइब्रेरियाँ प्राइवेट की चोरी के प्रति संवेदनशील" (जून 28, 2022)
  • Risky Biz News "नई क्रिप्टो भेद्यता: दर्जनों क्रिप्टोग्राफी लाइब्रेरियों ने Ed25519 डिजिटल हस्ताक्षर एल्गोरिथ्म का गलत कार्यान्वयन किया है" (जून 28, 2022)
  • SafeHeron blogpost "Ed25519 उपयोग जोखिमों का विश्लेषण: आपका वॉलेट प्राइवेट की चोरी हो सकती है" (जून 17, 2022)
  • kryptera.se "अधिकांश ed25519 लाइब्रेरियों में भेद्यता" (स्वीडिश में) (जून 29, 2022)
  • Difesa e Sicurezza & Yoroi "Librerie crittografiche ed25519 potenzialmente non sicure" (इतालवी में) (जुलाई 1 और जून 29, 2022)
  • Medium post by Prof Bill Buchanan OBE "Ed25519 महान है, लेकिन ..." (जुलाई 1, 2022)
  • Reddit r/crypto (महीने की सर्वश्रेष्ठ पोस्ट - जून 18, 2022)
  • Reddit r/cryptography (जून 17, 2022)
  • दिलचस्प ट्वीट्स:
    • ट्वीट 1 (Kostas Kryptos द्वारा - "मूल 26 संवेदनशील लाइब्रेरियाँ")
    • ट्वीट 2 (Kostas Kryptos द्वारा - "40 संवेदनशील लाइब्रेरियों का परिणाम")
    • ट्वीट 3 (Catalin Cimpanu द्वारा - "40 क्रिप्टोग्राफी लाइब्रेरियाँ समान Ed25519 गलत कार्यान्वयन से प्रभावित हैं")
    • ट्वीट 4 (Kenny Paterson द्वारा - "व्यापक EdDSA प्राइवेट की पुनर्प्राप्ति की संभावना, cf. http://kopenpgp.com जहाँ OpenPGP लाइब्रेरियों में समान वेक्टर का शोषण किया गया")
    • ट्वीट 5 (Steven Galbraith द्वारा - "नियतात्मक हस्ताक्षरों के लिए एक खतरा: बेहतर होगा जाँच लें कि यह सही पब्लिक की है!")
    • ट्वीट 6 (Riyaz Faizullabhoy द्वारा - "यदि आप प्रोड में EdDSA का उपयोग कर रहे हैं, कृपया एक नज़र डालें")
    • ट्वीट 7 (Bart Preneel द्वारा - "अनुस्मारक कि क्रिप्टोग्राफिक एल्गोरिद्म को सुरक्षित और सही ढंग से लागू करना कठिन है")।
  • CTF (कैप्चर द फ्लैग) चुनौतियाँ जिनमें यह हमला शामिल है:
    • ImaginaryCTF - JWT25519 (200pts) (जून 30, 2022)

समस्या क्या है?

ध्यान दें कि सामान्य रूप से और संबंधित rfc8032 के अनुसार, EdDSA हस्ताक्षर नियतात्मक (deterministic) होते हैं, और इस प्रकार हस्ताक्षर किए जाने वाले समान इनपुट संदेश के लिए, एक अद्वितीय हस्ताक्षर आउटपुट लौटाया जाता है जिसमें दो तत्व शामिल होते हैं: एक वक्र बिंदु R और एक स्केलर S।

एक एल्गोरिथ्मिक विवरण यह है कि हस्ताक्षरकर्ता की सार्वजनिक कुंजी केवल हस्ताक्षर के S भाग की नियतात्मक गणना में शामिल होती है, लेकिन R मान में नहीं। बाद का तात्पर्य है कि यदि कोई प्रतिद्वंद्वी किसी तरह साइनिंग फंक्शन को Oracle के रूप में उपयोग कर सकता है (जो इनपुट के रूप में मनमानी सार्वजनिक कुंजियों की अपेक्षा करता है), तो यह संभव है कि समान संदेश के लिए दो हस्ताक्षर प्राप्त हों जो समान R साझा करते हैं और केवल S भाग में भिन्न होते हैं। दुर्भाग्यवश, जब ऐसा होता है, तो कोई भी आसानी से प्राइवेट की निकाल सकता है; यह StackOverflow पोस्ट पोस्ट बताती है कि यह क्यों संभव है।

यह कहने के बाद, सार्वजनिक APIs को साइनिंग इनपुट के रूप में एक अलग किए गए प्राइवेट/पब्लिक की-पेयर की अनुमति नहीं देनी चाहिए। इससे बचने के लिए, कई कार्यान्वयन सार्वजनिक कुंजी को प्राइवेट की (या सीड) के साथ संग्रहीत करते हैं और पूरे की-पेयर को गुप्त मानते हैं, या वे हमेशा साइनिंग फंक्शन के अंदर सार्वजनिक कुंजी को पुनः व्युत्पन्न (re-derive) करते हैं। दुर्भाग्यवश, बड़ी संख्या में मौजूदा लाइब्रेरियाँ इनपुट सार्वजनिक कुंजी को इनपुट प्राइवेट की के अनुरूप होने की जाँच किए बिना मनमानी सार्वजनिक कुंजियों को इनपुट के रूप में अनुमति देकर इस समस्या का समाधान नहीं कर पाती हैं।

बेशक, इसका मतलब यह नहीं है कि इन लाइब्रेरियों पर निर्भर सभी एप्लिकेशन कुंजी एक्सपोज़र हमलों के प्रति संवेदनशील हैं; वास्तव में, अधिकांश शायद सुरक्षित हैं क्योंकि वे आमतौर पर प्रभावित API को अपने उपयोगकर्ताओं के लिए सार्वजनिक रूप से उजागर नहीं करते हैं और sign कॉल से ठीक पहले अपने पब/प्राइवेट की-पेयर को जोड़ते हैं। दूसरी ओर, भले ही ये APIs उजागर न हों, ऐसे एप्लिकेशन हैं जिनमें प्राइवेट और पब्लिक की को प्रबंधित और संग्रहीत करने के तरीके के बारे में अलग-अलग TCB थ्रेट मॉडल रणनीतियाँ होती हैं। फिर भी, इस हमले को रोकने के लिए, डेवलपर्स को सार्वजनिक कुंजियों के लिए भी एक अखंडता संरक्षण प्रोटोकॉल लागू करना चाहिए।

Ed25519 API दुरुपयोग से कुंजी निष्कर्षण चित्र 1. ed25519-dalek Rust crate में API दुरुपयोग का एक उदाहरण।

प्रभावित लाइब्रेरियाँ

  • C: OpenGNB
    https://github.com/gnbdev/opengnb/blob/master/libs/ed25519/sign.c#L7

  • C: GNU Nettle
    https://github.com/gnutls/nettle/blob/fe7ae87d1b837e82f7c7968b068bca7d853a4cec/ed25519-sha512-sign.c#L43

टूल डाउनलोड करें