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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
RSA — RSA सार्वजनिक-कुंजी क्रिप्टोग्राफी के लिए शुद्ध Rust लाइब्रेरी: कुंजी निर्माण, PKCS#1 v1.5 और OAEP एन्क्रिप्शन/डिक्रिप्शन, PSS हस्ताक्षर, साथ ही कुंजी आयात/निर्यात। | Kitploit
उपकरण/GitHubGitHub/rustcrypto/rsa
एन्क्रिप्शन/डिक्रिप्शन उपकरणक्रिप्टोग्राफीप्रमाणीकरण
GitHubrustcrypto/rsa

RSA

RSA सार्वजनिक-कुंजी क्रिप्टोग्राफी के लिए शुद्ध Rust लाइब्रेरी: कुंजी निर्माण, PKCS#1 v1.5 और OAEP एन्क्रिप्शन/डिक्रिप्शन, PSS हस्ताक्षर, साथ ही कुंजी आयात/निर्यात।

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

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

सभी देखें →

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

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

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

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

RustCrypto: RSA

crates.io Documentation Build Status Dependency Status Apache2/MIT licensed MSRV Project Chat

शुद्ध Rust में एक पोर्टेबल RSA कार्यान्वयन।

उदाहरण

root@kitploit:~
use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};

let mut rng = rand::rng();
let bits = 2048;
let priv_key = RsaPrivateKey::new(&mut rng, bits).expect("failed to generate a key");
let pub_key = RsaPublicKey::from(&priv_key);

// Encrypt
let data = b"hello world";
let enc_data = pub_key.encrypt(&mut rng, Pkcs1v15Encrypt, &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt(Pkcs1v15Encrypt, &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

नोट: यदि आप RsaPrivateKey::new का उपयोग करते समय असामान्य रूप से धीमी कुंजी निर्माण समय का सामना करते हैं, तो आप रिलीज़ मोड में कंपाइल करने या अपनी Cargo.toml में निम्नलिखित जोड़ने का प्रयास कर सकते हैं। उच्च अनुकूलन स्तरों के साथ निर्माण करने पर कुंजी निर्माण बहुत तेज़ होती है, लेकिन इससे कंपाइल समय थोड़ा बढ़ जाएगा।

root@kitploit:~
[profile.debug]
opt-level = 3

स्थिति

वर्तमान में चरण 1 (v) 🚧 पर है।

1.0 🚢 जारी होने से पहले तीन चरण होंगे।

  1. 🚧 इसे काम करने योग्य बनाना
    • अभाज्य संख्या निर्माण ✅
    • कुंजी निर्माण ✅
    • PKCS1v1.5: एन्क्रिप्शन और डिक्रिप्शन ✅
    • PKCS1v1.5: हस्ताक्षर और सत्यापन ✅
    • PKCS1v1.5 (सत्र कुंजी): एन्क्रिप्शन और डिक्रिप्शन
    • OAEP: एन्क्रिप्शन और डिक्रिप्शन
    • PSS: हस्ताक्षर और सत्यापन
    • कुंजी आयात और निर्यात
  2. 🚀 इसे तेज़ बनाना
    • बेंचमार्क ✅
    • अन्य कार्यान्वयनों से तुलना करना 🚧
    • अनुकूलित करना 🚧
  3. 🔐 इसे सुरक्षित बनाना
    • फ़ज़ टेस्टिंग
    • सुरक्षा ऑडिट

⚠️सुरक्षा चेतावनी

इस क्रेट को Include Security द्वारा एक सुरक्षा ऑडिट प्राप्त हुआ है, जिसमें केवल एक छोटी सी खोज थी जिसे बाद में संबोधित कर दिया गया है।

अन्य ज्ञात समस्याओं के लिए हमारे issue ट्रैकर पर [खुले सुरक्षा मुद्दों] को देखें।

विशेष रूप से [मॉड्यूलर घातांक का कार्यान्वयन स्थिर समय (constant time) नहीं है], लेकिन समय परिवर्तनशीलता को [रैंडम ब्लाइंडिंग] का उपयोग करके छिपाया जाता है, जो एक सामान्य रूप से उपयोग की जाने वाली तकनीक है। यह क्रेट Marvin Attack के प्रति संवेदनशील है, जो एक नेटवर्क हमलावर द्वारा निजी कुंजी पुनर्प्राप्ति को सक्षम कर सकता है (देखें RUSTSEC-2023-0071)।

आप इस मुद्दे को कम करने पर हमारे कार्य को #390 में अनुसरण कर सकते हैं।

न्यूनतम समर्थित Rust संस्करण (MSRV)

यह क्रेट Rust 1.85 या उच्चतर का समर्थन करता है।

भविष्य में MSRV को बदला जा सकता है, लेकिन यह एक मामूली संस्करण वृद्धि के साथ किया जाएगा।

लाइसेंस

निम्नलिखित में से किसी एक के अंतर्गत लाइसेंस प्राप्त है

  • Apache License, Version 2.0
  • MIT license

आपकी पसंद पर।

योगदान

जब तक आप स्पष्ट रूप से अन्यथा नहीं कहते, Apache-2.0 लाइसेंस में परिभाषित अनुसार, कार्य में शामिल करने के लिए आपके द्वारा जानबूझकर प्रस्तुत किया गया कोई भी योगदान, बिना किसी अतिरिक्त शर्तों या शर्तों के, उपरोक्तानुसार द्वि-लाइसेंस प्राप्त होगा।

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