🍋
Menu
Security

RSA

RSA (Rivest-Shamir-Adleman)

बड़ी अभाज्य संख्याओं के गुणनखंडन की गणितीय कठिनाई पर आधारित एक व्यापक रूप से उपयोग किया जाने वाला असिमेट्रिक एन्क्रिप्शन एल्गोरिदम, जो गुप्त कुंजी साझा किए बिना सुरक्षित कुंजी आदान-प्रदान, डिजिटल हस्ताक्षर और एन्क्रिप्टेड संचार को सक्षम बनाता है।

तकनीकी विवरण

RSA एक कुंजी जोड़ा जनरेट करता है: एन्क्रिप्शन के लिए एक पब्लिक की (n, e) और डिक्रिप्शन के लिए एक प्राइवेट की (n, d), जहाँ n दो बड़ी अभाज्य संख्याओं का गुणनफल है। एन्क्रिप्शन c = m^e mod n की गणना करता है, और डिक्रिप्शन m = c^d mod n की गणना करता है। 2,048 बिट की कुंजी आकार वर्तमान न्यूनतम अनुशंसा है; 4,096 बिट एक बड़ा सुरक्षा मार्जिन प्रदान करते हैं। RSA सिमेट्रिक एल्गोरिदम से धीमा है, इसलिए व्यवहार में यह बल्क डेटा के बजाय एक यादृच्छिक AES सेशन कुंजी को एन्क्रिप्ट करता है (हाइब्रिड एन्क्रिप्शन)। RSA-OAEP (Optimal Asymmetric Encryption Padding) चोज़न-सिफ़रटेक्स्ट अटैक को रोकता है। RSA-PSS अनुशंसित सिग्नेचर स्कीम है।

उदाहरण

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

संबंधित टूल्स

संबंधित शब्द