RSA - है $e = d$ एक समस्या?

Sep 26 2020

मैं यूनिवर्सिटी में छोटे RSA प्रोजेक्ट पर काम कर रहा हूं। इस समय मैंने ऐसा किया है:

  1. चयनित रेंज से प्राइम नंबर की एक सरणी उत्पन्न होती है।
  2. $p$ तथा $q$ इस सरणी से यादृच्छिक रूप से चयनित
  3. $n$ गणना
  4. $\phi(n)$ गणना
  5. $e$ गणना
  6. $d$ गणना

तुम क्या सोचते हो $e$ तथा $d$ उस स्तिथि में?

  • $p = 29$
  • $q = 53$
  • $n = 1537$
  • $\phi(n) = 1456$
  • $e = 545$
  • $d = 545$

जवाब

5 fgrieu Sep 26 2020 at 22:01

यह विनाशकारी होगा यदि एक आरएसए कुंजी पीढ़ी प्रक्रिया के साथ समाप्त होने की एक बड़ी संभावना थी $e=d$, क्योंकि उस मामले में, सार्वजनिक कुंजी निजी कुंजी को प्रकट करती है, जिसे सुरक्षा दृष्टिकोण से गुप्त होना चाहिए।

परंतु $e=d$ कुंजी प्रक्रिया के चरण 1 और 2 में पड़ी एक बड़ी समस्या का एक लक्षण है: आरएसए को तभी सुरक्षित किया जा सकता है जब $p$ तथा $q$ एक तरह से चुना जाता है कि फैक्टरिंग $n$ कठिन है, और इसका मतलब है $p$ तथा $q$बड़े अपराध होने चाहिए। आधुनिक आधार रेखा है$n$ का $2048$ बिट्स, वह है $617$ दशमलव अंक, नहीं $4$दशमलव अंक। इसके लिए,$p$ तथा $q$ के बारे में primes के एक बड़े आकार का सबसेट के बीच बेतरतीब ढंग से चुना जाता है $309$अंक। के बारे में हैं$10^{305}$इस तरह के अपराध, इस प्रकार उन सभी को उत्पन्न करते हैं जो उस के भीतर उठाते हैं, यह असंभव है। सही प्रक्रिया सीधे उत्पन्न करना है$p$ तथा $q$।

साथ में $p$ तथा $q$ यादृच्छिक बड़े, और इस का एक यादृच्छिक विकल्प primes $e$ ऐसा है कि $\gcd(e,\phi(n))=1$ (या primes का एक यादृच्छिक विकल्प $p$ तथा $q$ पर एकमात्र निर्भरता के साथ $e$ उस $\gcd(e,p-1)=1$ तथा $\gcd(e,q-1)=1$, जैसा कि आम बात है), यह असीम रूप से असंभव है $d=e$, या अधिक आम तौर पर कि एक या कुछ फिर से एन्क्रिप्शन (ओं) एन्क्रिप्शन के लिए नेतृत्व। साइकिल हमले पर इन सवालों को देखें ।


186-4 एपेंडिक्स B.3 में RSA प्रमुख पीढ़ी प्रक्रियाएं हैं । प्रस्तावित पर ध्यान न दें$1024$-बिट कुंजी आकार, जो अप्रचलित है। प्रस्तावित$2048$ आधार रेखा है, $3072$ तेजी से बढ़ रहा है, आम है $4096$-अनुकूल नहीं है। ये प्रक्रिया कई बिंदुओं सहित प्रश्न में उपयोग किए गए लोगों से अलग हैं:

  • बड़े-बड़े अपराध पैदा करना $p$ तथा $q$ अप्रत्याशित रूप से एक निर्धारित अंतराल में $[2^{(k-1)/2},2^{k/2}]$, कहाँ पे $k$ वांछित बिट आकार है $n$ (उदा $3072$)
  • अजीब की आवश्यकता है $e$ साथ में $2^{16}<e<2^{256}$ (क्योंकि आरएसए पैडिंग के खराब विकल्पों के खिलाफ सुरक्षा के रूप में कार्य करना कम है, अंतर-उच्चता के लिए और कुछ अन्य गरीबों को असंभव बनाने के लिए)
  • का उपयोग करते हुए $d=e^{-1}\bmod\lambda(n)$ (कहाँ पे $\lambda$है कारमाइकल समारोह ) के बजाय$d=e^{-1}\bmod\phi(n)$। दोनों गणितीय रूप से ठीक हैं, लेकिन उपयोग कर रहे हैं$\lambda$ सबसे छोटे सकारात्मक निजी प्रतिपादक पैदा करने वाले बीमा $d$ किसी दिए गए कार्य के लिए $(n,e)$।
  • न्यूनतम आकार की आवश्यकता है $d$ (की तुलना में बहुत बड़ा है $2^{256}$, जो आकस्मिक रूप से बीमा करता है $d>e$), गणितीय आवश्यकता से अधिक त्रुटियों के प्रति सुरक्षा के रूप में।