में भारी संख्याओं से निपटने के लिए कैसे मैं सी में एक आरएसए एन्क्रिप्शन एल्गोरिदम लिख रहा हूं। मैं इसे कहीं भी उत्पादन में रखने की योजना नहीं बना रहा हूं, यह मुख्य रूप से बस है इसलिए मैं एन्क्रिप्शन की अपनी समझ को विस्तृत कर सकता हूं।सी
मैं आरएसए उत्पन्न करने वाली बड़ी संख्याओं से कैसे निपटूं? यहां तक कि जब 103 की तरह एक अपेक्षाकृत छोटे निजी कुंजी के साथ डिक्रिप्शन प्रदर्शन, मैं अभी भी इस तरह की बातें से निपटने का मुद्दा है:
67^103 आधुनिक 143 = (1.21816096336830017301951805581 x 10^188) आधुनिक 143
उस आकार की संख्या को स्टोर करने का सबसे अच्छा तरीका क्या है? मानक पुस्तकालयों का उपयोग कर ऐसा करने का कोई तरीका है? ।
आप को लागू कर सकता है सभी बड़ी संख्या अपने आप को गणित, लेकिन यह सिर्फ जीएमपी की तरह एक मौजूदा बहु परिशुद्धता लाइब्रेरी का उपयोग करना आसान है। –
@ArtjomB। मैं सोच रहा था कि मैं आधार 2^64 में संख्याओं को स्टोर करने के लिए संभवतः एरे का उपयोग करके एक को कार्यान्वित कर सकता हूं। मुझे नहीं पता था कि यह व्यावहारिक होगा या नहीं। – mstagg
यह काम करेगा। हालांकि अतिप्रवाह के साथ सावधान। आपको गुणा लागू करना है, और फिर विभाजन (मॉड्यूलो के लिए)। लेकिन गंभीरता से, जीएमपी का प्रयोग करें। –