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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mlkem-native — सुरक्षित, तेज़, और पोर्टेबल C90 कार्यान्वयन ML-KEM / FIPS 203 का | Kitploit
उपकरण/GitHubGitHub/pq-code-package/mlkem-native
एम्बेडेड सिस्टम सुरक्षास्थैतिक विश्लेषणक्रिप्टोग्राफीहार्डवेयर सुरक्षा
GitHubpq-code-package/mlkem-native

mlkem-native

सुरक्षित, तेज़, और पोर्टेबल C90 कार्यान्वयन ML-KEM / FIPS 203 का

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

mlkem-native

CI Benchmarks C90

License: Apache License: ISC License: MIT

mlkem-native, ML-KEM[^FIPS203] का एक सुरक्षित, तेज़ और पोर्टेबल C90[^C90] कार्यान्वयन है। यह ML-KEM संदर्भ कार्यान्वयन[^REF] का एक फोर्क है।

mlkem/src/* और mlkem/src/fips202/* में सभी C कोड CBMC[^CBMC] का उपयोग करके मेमोरी-सुरक्षित (कोई मेमोरी ओवरफ्लो नहीं) और टाइप-सुरक्षित (कोई इंटीजर ओवरफ्लो नहीं) सिद्ध किया गया है। सभी AArch64 और x86_64 असेंबली HOL-Light[^HOL-Light] का उपयोग करके कार्यात्मक रूप से सही, मेमोरी-सुरक्षित और गोपनीय-स्वतंत्र टाइमिंग (कॉन्स्टेंट-टाइम) सिद्ध की गई है।

mlkem-native में Arm (64-bit, Neon), Intel/AMD (64-bit, AVX2), RISC-V (64-bit, RVV) और POWER (ppc64le, VSX) के लिए मूल बैकएंड शामिल हैं। प्रदर्शन डेटा के लिए benchmarks देखें।

mlkem-native को Linux Foundation के भाग के रूप में Post-Quantum Cryptography Alliance द्वारा समर्थित किया गया है।

Ubuntu के लिए त्वरित आरंभ

# बेस पैकेज इंस्टॉल करें
sudo apt-get update
sudo apt-get install make gcc python3 git

# mlkem-native क्लोन करें
git clone https://github.com/pq-code-package/mlkem-native.git
cd mlkem-native

# बिल्ड और टेस्ट चलाएं
make build
make test

# `make` के चारों ओर एक सुविधाजनक रैपर, `tests` का उपयोग करके भी ऐसा ही
./scripts/tests all
# सभी विकल्प दिखाएं
./scripts/tests --help

अधिक जानकारी के लिए BUILDING.md देखें।

अनुप्रयोग

mlkem-native का उपयोग इनमें किया जाता है:

  • Open Quantum Safe प्रोजेक्ट का libOQS 0.13.0 से (डिफ़ॉल्ट ML-KEM कार्यान्वयन के रूप में)
  • AWS की क्रिप्टोग्राफी लाइब्रेरी AWS-LC v1.50.0 से
  • Rust में लिखी गई rustls TLS लाइब्रेरी 0.23.28 से (AWS-LC के माध्यम से डिफ़ॉल्ट क्रिप्टोग्राफी प्रदाता के रूप में)
  • Pavona - मॉड्यूलर, टेपआउट-सिद्ध और डिफ़ॉल्ट रूप से सुरक्षित ओपन सिलिकॉन ब्लॉकों की एक लाइब्रेरी

औपचारिक सत्यापन

mlkem/src/* और mlkem/src/fips202/* में सभी C कोड मेमोरी-सुरक्षित (कोई मेमोरी ओवरफ्लो नहीं) और टाइप-सुरक्षित (कोई इंटीजर ओवरफ्लो नहीं) सिद्ध किया गया है। यह C Bounded Model Checker (CBMC) का उपयोग करता है और स्रोत कोड में फ़ंक्शन अनुबंधों और लूप इनवेरिएंट एनोटेशन पर आधारित है। विवरण के लिए proofs/cbmc देखें।

सभी AArch64 और x86_64 असेंबली ऑब्जेक्ट-कोड स्तर पर कार्यात्मक रूप से सही, मेमोरी-सुरक्षित और गोपनीय-स्वतंत्र टाइमिंग (कॉन्स्टेंट-टाइम) सिद्ध की गई है। यह HOL-Light इंटरैक्टिव प्रमेय प्रूवर और s2n-bignum सत्यापन अवसंरचना (जिसमें Arm और x86 आर्किटेक्चर के प्रासंगिक भागों के मॉडल शामिल हैं) का उपयोग करता है। विवरण के लिए proofs/hol_light देखें।

नोट: औपचारिक सत्यापन कभी भी निरपेक्ष नहीं होता। mlkem-native के आसपास औपचारिक सत्यापन प्रयासों के दायरे, धारणाओं और जोखिमों के विस्तृत विश्लेषण के लिए SOUNDNESS.md देखें।

सुरक्षा

mlkem-native में सभी AArch64 और x86_64 असेंबली HOL Light में औपचारिक रूप से सिद्ध की गई है कि यह गोपनीय-निर्भर नियंत्रण प्रवाह, मेमोरी एक्सेस पैटर्न और परिवर्तनीय-विलंबता निर्देशों से मुक्त है, जिससे अधिकांश टाइमिंग साइड चैनल विफल हो जाते हैं (विवरण के लिए proofs/hol_light देखें)। C कोड उपयुक्त बाधाओं और कॉन्स्टेंट-टाइम पैटर्न के माध्यम से कंपाइलर-प्रस्तुत टाइमिंग साइड चैनलों (जैसे KyberSlash[^KyberSlash] या clangover[^clangover]) के खिलाफ कठोर किया गया है।

गोपनीय-निर्भर शाखाओं, मेमोरी-एक्सेस पैटर्न और परिवर्तनीय-विलंबता निर्देशों की अनुपस्थिति का परीक्षण कंपाइलरों और संकलन विकल्पों के विभिन्न संयोजनों के साथ valgrind का उपयोग करके भी किया जाता है।

अन्य हमले। mlkem-native केवल टाइमिंग साइड चैनलों के प्रतिरोध को लक्षित करता है। अन्य हमले वर्ग, जैसे पावर और इलेक्ट्रोमैग्नेटिक साइड चैनल, माइक्रोआर्किटेक्चरल साइड चैनल (जैसे सट्टा निष्पादन), या फॉल्ट-इंजेक्शन हमले, वर्तमान में दायरे से बाहर हैं।

डिज़ाइन

mlkem-native एक फ्रंटएंड और अंकगणित और FIPS202 / SHA3 के लिए दो बैकएंड में विभाजित है। फ्रंटएंड निश्चित है, C में लिखा गया है, और उन सभी रूटीन को कवर करता है जो प्रदर्शन के लिए महत्वपूर्ण नहीं हैं। बैकएंड लचीले हैं, प्रदर्शन-संवेदनशील रूटीन का ध्यान रखते हैं, और C या मूल कोड (असेंबली/इंट्रिन्सिक्स) में लागू किए जा सकते हैं; अंकगणित बैकएंड के लिए mlkem/src/native/api.h और FIPS-202 बैकएंड के लिए mlkem/src/fips202/native/api.h देखें।

mlkem-native वर्तमान में निम्नलिखित बैकएंड प्रदान करता है:

  • डिफ़ॉल्ट पोर्टेबल C बैकएंड
  • 64-bit Arm बैकएंड (Neon का उपयोग करके)
  • 64-bit Intel/AMD बैकएंड (AVX2 का उपयोग करके)
  • 64-bit RISC-V बैकएंड (RVV का उपयोग करके)
  • 64-bit POWER बैकएंड (ppc64le, VSX का उपयोग करके; POWER8 और उससे ऊपर का समर्थन करता है)
  • 32-bit Armv8.1-M बैकएंड (Helium/MVE का उपयोग करके) -- #1501 देखें। यह अभी भी प्रयोगात्मक है और डिफ़ॉल्ट रूप से अक्षम है।

यदि आप नए बैकएंड का योगदान करना चाहते हैं, तो कृपया संपर्क करें या बस एक PR खोलें।

हमारी AArch64 असेंबली SLOTHY पेपर[^SLOTHY_Paper] में वर्णित दृष्टिकोण का पालन करते हुए, SLOTHY सुपरऑप्टिमाइज़र का उपयोग करके विकसित की गई है: हम 'स्वच्छ' असेंबली हाथ से लिखते हैं और माइक्रो-ऑप्टिमाइज़ेशन को स्वचालित करते हैं (उदाहरण के लिए clean बनाम optimized AArch64 NTT देखें)। अधिक विवरण के लिए dev/README.md देखें।

परीक्षण वैक्टर

mlkem-native का परीक्षण सभी आधिकारिक ACVP ML-KEM परीक्षण वैक्टर[^ACVP] और Wycheproof[^wycheproof] ML-KEM परीक्षण वैक्टर के विरुद्ध किया जाता है।

ACVP

आप tests स्क्रिप्ट या ACVP क्लाइंट का उपयोग करके सीधे ACVP परीक्षण चला सकते हैं:

# tests स्क्रिप्ट का उपयोग करके
./scripts/tests acvp
# किसी विशिष्ट ACVP रिलीज़ का उपयोग करके
./scripts/tests acvp --version v1.1.0.41

# ACVP क्लाइंट का सीधे उपयोग करके
python3 ./test/acvp/acvp_client.py
python3 ./test/acvp/acvp_client.py --version v1.1.0.41
टूल डाउनलोड करें