1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [RSA] 2 00:00:02,000 --> 00:00:04,000 [रोब Bowden] [टॉमी MacWilliam] [हार्वर्ड विश्वविद्यालय] 3 00:00:04,000 --> 00:00:07,000 [यह CS50 है.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 आरएसए, डेटा एन्क्रिप्ट करने के लिए एक व्यापक रूप से इस्तेमाल किया एल्गोरिथ्म पर एक नज़र रखना. 5 00:00:11,000 --> 00:00:16,000 सीज़र और Vigenère सिफर तरह एन्क्रिप्शन एल्गोरिदम बहुत सुरक्षित नहीं हैं. 6 00:00:16,000 --> 00:00:20,000 सीज़र बीजलेख के साथ, एक हमलावर केवल 25 विभिन्न चाबियाँ की कोशिश करने की जरूरत है 7 00:00:20,000 --> 00:00:22,000 संदेश सादा पाठ मिलता है. 8 00:00:22,000 --> 00:00:25,000 जबकि Vigenère बीजलेख सीज़र बीजलेख से अधिक सुरक्षित है 9 00:00:25,000 --> 00:00:28,000 क्योंकि बड़ी चाबी के लिए खोज अंतरिक्ष की, एक बार एक हमलावर 10 00:00:28,000 --> 00:00:30,000 एक Vigenère सिफर में कुंजी की लंबाई जानता है, 11 00:00:30,000 --> 00:00:34,000 जो एन्क्रिप्टेड पाठ में पैटर्न के एक विश्लेषण के माध्यम से निर्धारित किया जा सकता है, 12 00:00:34,000 --> 00:00:38,000 Vigenère बीजलेख है कि और अधिक सीज़र बीजलेख की तुलना में ज्यादा सुरक्षित नहीं है. 13 00:00:38,000 --> 00:00:42,000 आरएसए, दूसरे हाथ पर, इस तरह के हमलों के लिए संवेदनशील नहीं है. 14 00:00:42,000 --> 00:00:45,000 सीज़र बीजलेख और Vigenère बीजलेख समान कुंजी का प्रयोग 15 00:00:45,000 --> 00:00:47,000 दोनों एन्क्रिप्ट और डिक्रिप्ट एक संदेश. 16 00:00:47,000 --> 00:00:51,000 यह संपत्ति इन सिफर सममित कुंजी एल्गोरिदम बनाता है. 17 00:00:51,000 --> 00:00:54,000 सममित कुंजी एल्गोरिदम के साथ एक मौलिक समस्या 18 00:00:54,000 --> 00:00:57,000 यह है कि वे एक encrypting और संदेश भेजने पर भरोसा 19 00:00:57,000 --> 00:00:59,000 और एक प्राप्त और संदेश decrypting 20 00:00:59,000 --> 00:01:03,000 पहले से ही कुंजी वे दोनों का उपयोग करेगा पर अग्रिम सहमति जताई है. 21 00:01:03,000 --> 00:01:06,000 लेकिन हम यहाँ एक स्टार्टअप समस्या का एक सा है. 22 00:01:06,000 --> 00:01:10,000 2 कंप्यूटर है कि करने के लिए बातचीत करना चाहते हैं उन दोनों के बीच एक गुप्त कुंजी को कैसे स्थापित करूँ? 23 00:01:10,000 --> 00:01:16,000 यदि कुंजी रहस्य होना चाहिए, तो हम एन्क्रिप्ट और decrypt कुंजी के लिए एक तरह की जरूरत है. 24 00:01:16,000 --> 00:01:18,000 यदि हम सभी सममित कुंजी क्रिप्टोग्राफी 25 00:01:18,000 --> 00:01:21,000 तो हम सिर्फ एक ही समस्या के लिए वापस आ जाओ. 26 00:01:21,000 --> 00:01:25,000 आरएसए, दूसरे हाथ पर, चाबियों का एक जोड़ी का उपयोग करता है, 27 00:01:25,000 --> 00:01:28,000 एक और डिक्रिप्शन के लिए एन्क्रिप्शन दूसरे के लिए. 28 00:01:28,000 --> 00:01:32,000 एक सार्वजनिक कुंजी कहा जाता है, और अन्य निजी कुंजी है. 29 00:01:32,000 --> 00:01:34,000 सार्वजनिक कुंजी संदेशों को एन्क्रिप्ट करने के लिए प्रयोग किया जाता है. 30 00:01:34,000 --> 00:01:38,000 जैसा कि आप अपने नाम से लगता है कि हो सकता है, हम साथ हमारे सार्वजनिक कुंजी को साझा कर सकते हैं 31 00:01:38,000 --> 00:01:43,000 किसी को भी हम एक एन्क्रिप्टेड संदेश की सुरक्षा से समझौता किए बिना चाहते. 32 00:01:43,000 --> 00:01:45,000 संदेश एक सार्वजनिक कुंजी का उपयोग कर एन्क्रिप्टेड 33 00:01:45,000 --> 00:01:49,000 केवल अपनी इसी निजी कुंजी के साथ decrypted किया जा सकता है. 34 00:01:49,000 --> 00:01:53,000 जब आप अपने सार्वजनिक कुंजी साझा कर सकते हैं, तो आप हमेशा अपने निजी कुंजी गुप्त रखना चाहिए. 61 00:01:55,000 --> 00:01:58,000 और केवल निजी कुंजी डिक्रिप्ट संदेशों के लिए इस्तेमाल किया जा सकता है 62 00:01:58,000 --> 00:02:02,000 अगर 2 उपयोगकर्ताओं आरएसए के साथ एन्क्रिप्टेड संदेश भेजना चाहते हैं 63 00:02:02,000 --> 00:02:07,000 आगे और पीछे दोनों के उपयोगकर्ताओं के लिए अपने स्वयं के सार्वजनिक और निजी कुंजी युग्म की जरूरत है. 64 00:02:07,000 --> 00:02:10,000 उपयोगकर्ता 1 से 2 उपयोगकर्ता के लिए संदेश 65 00:02:10,000 --> 00:02:15,000 केवल 2 उपयोगकर्ता से 1 उपयोगकर्ता उपयोगकर्ता 2 कुंजी जोड़ी है, और संदेशों का उपयोग 66 00:02:15,000 --> 00:02:17,000 केवल उपयोगकर्ता 1 कुंजी युग्म का उपयोग करें. 67 00:02:17,000 --> 00:02:21,000 तथ्य यह है कि वहाँ 2 अलग कुंजी एन्क्रिप्ट करने के लिए और डिक्रिप्ट संदेश 68 00:02:21,000 --> 00:02:24,000 एक असममित कुंजी एल्गोरिथ्म आरएसए बनाता है. 69 00:02:24,000 --> 00:02:28,000 हम सार्वजनिक कुंजी एन्क्रिप्ट क्रम में की जरूरत नहीं करने के लिए यह एक और कंप्यूटर के लिए भेज 70 00:02:28,000 --> 00:02:31,000 के बाद से प्रमुख सार्वजनिक वैसे भी है. 71 00:02:31,000 --> 00:02:33,000 इसका मतलब यह है कि आरएसए ही स्टार्टअप समस्या नहीं है 72 00:02:33,000 --> 00:02:36,000 सममित कुंजी एल्गोरिदम के रूप में. 73 00:02:36,000 --> 00:02:39,000 तो अगर मैं RSA एन्क्रिप्शन का उपयोग कर एक संदेश भेजने के लिए करना चाहते हैं 74 00:02:39,000 --> 00:02:42,000 रोब, मैं पहली बार रोब सार्वजनिक कुंजी की आवश्यकता होगी. 75 00:02:42,000 --> 00:02:47,000 चाबियों का एक जोड़ी उत्पन्न, रोब 2 बड़े प्रधानमंत्री नंबर लेने की जरूरत है. 76 00:02:47,000 --> 00:02:50,000 ये संख्या दोनों सार्वजनिक और निजी कुंजी में इस्तेमाल किया जाएगा, 77 00:02:50,000 --> 00:02:54,000 लेकिन सार्वजनिक कुंजी केवल इन 2 नंबर के उत्पाद का उपयोग करेगा, 78 00:02:54,000 --> 00:02:56,000 संख्या स्वयं नहीं. 79 00:02:56,000 --> 00:02:59,000 एक बार जब मैं रोब सार्वजनिक कुंजी का उपयोग संदेश एन्क्रिप्टेड है 80 00:02:59,000 --> 00:03:01,000 मैं रोब के लिए संदेश भेज सकते हैं. 81 00:03:01,000 --> 00:03:05,000 एक कंप्यूटर के लिए, फैक्टरिंग नंबर एक कठिन समस्या है. 82 00:03:05,000 --> 00:03:09,000 सार्वजनिक कुंजी याद है, 2 प्राइम संख्या के उत्पाद का इस्तेमाल किया. 83 00:03:09,000 --> 00:03:12,000 यह उत्पाद तो केवल 2 कारक होना चाहिए, 84 00:03:12,000 --> 00:03:16,000 जो संख्या है कि निजी कुंजी बनाने के लिए होता है. 85 00:03:16,000 --> 00:03:20,000 डिक्रिप्ट संदेश करने के क्रम में, आरएसए यह निजी कुंजी का उपयोग होगा 86 00:03:20,000 --> 00:03:25,000 या संख्या सार्वजनिक कुंजी बनाने की प्रक्रिया में एक साथ गुणा. 87 00:03:25,000 --> 00:03:28,000 क्योंकि यह computationally संख्या कारक करने के लिए मुश्किल है 88 00:03:28,000 --> 00:03:32,000 2 निजी कुंजी में इस्तेमाल की संख्या में एक सार्वजनिक कुंजी में इस्तेमाल किया 89 00:03:32,000 --> 00:03:36,000 यह मुश्किल है के लिए एक हमलावर को बाहर निकालने के लिए निजी कुंजी 90 00:03:36,000 --> 00:03:39,000 है कि decrypt करने के लिए आवश्यक संदेश होगा. 91 00:03:39,000 --> 00:03:43,000 अब चलो कुछ आरएसए के निचले स्तर के विवरण में जाने. 92 00:03:43,000 --> 00:03:46,000 चलो पहले देखते हैं कि हम कैसे चाबियों का एक जोड़ी उत्पन्न कर सकते हैं. 93 00:03:46,000 --> 00:03:49,000 सबसे पहले, हम 2 प्रमुख संख्या की आवश्यकता होगी. 94 00:03:49,000 --> 00:03:52,000 हम इन 2 संख्या p और q फोन करता हूँ. 95 00:03:52,000 --> 00:03:56,000 आदेश में अभ्यास में लेने के लिए पी और क्यू, हम pseudorandomly उत्पन्न होता है 96 00:03:56,000 --> 00:03:59,000 और फिर बड़ी संख्या निर्धारित करने के लिए एक परीक्षण का उपयोग चाहे या नहीं 97 00:03:59,000 --> 00:04:02,000 उन लोगों की संख्या शायद प्रधानमंत्री हैं. 98 00:04:02,000 --> 00:04:05,000 हम यादृच्छिक संख्या पैदा करने पर और फिर से रख सकते हैं 99 00:04:05,000 --> 00:04:08,000 जब तक हम 2 primes है कि हम प्रयोग कर सकते हैं. 100 00:04:08,000 --> 00:04:15,000 चलो = पी 23 और q = 43 लेने. 101 00:04:15,000 --> 00:04:19,000 याद रखें, व्यवहार में p और q बहुत बड़ी संख्या में होना चाहिए. 102 00:04:19,000 --> 00:04:22,000 जहाँ तक हम जानते हैं, संख्या बड़ा है, यह कठिन है 103 00:04:22,000 --> 00:04:25,000 एक एन्क्रिप्टेड संदेश दरार. 104 00:04:25,000 --> 00:04:29,000 लेकिन यह भी अधिक एन्क्रिप्ट और decrypt संदेशों के लिए महंगा है. 105 00:04:29,000 --> 00:04:33,000 आज यह अक्सर सिफारिश की है कि p और q कम से कम 1024 बिट कर रहे हैं, 106 00:04:33,000 --> 00:04:37,000 जो 300 से अधिक दशमलव अंक पर प्रत्येक संख्या डालता है. 107 00:04:37,000 --> 00:04:40,000 लेकिन हम इस उदाहरण के लिए इन छोटे नंबर ले लेंगे. 108 00:04:40,000 --> 00:04:43,000 अब हम p और q आपस में गुणा करने के लिए एक 3 नंबर मिल जाएगा, 109 00:04:43,000 --> 00:04:45,000 जो हम n फोन करता हूँ. 110 00:04:45,000 --> 00:04:55,000 हमारे मामले में, n 23 = 43 *, जो 989 =. 111 00:04:55,000 --> 00:04:58,000 हम 989 = n है. 112 00:04:58,000 --> 00:05:02,000 1 - क्यू के साथ अगले हम पी गुणा हूँ 1 113 00:05:02,000 --> 00:05:05,000 एक 4 संख्या है, जो हम मी फोन करता हूँ प्राप्त करते हैं. 114 00:05:05,000 --> 00:05:15,000 हमारे मामले में, मीटर 22 = 42 *, जो 924 =. 115 00:05:15,000 --> 00:05:18,000 हम = 924 मीटर है. 116 00:05:18,000 --> 00:05:22,000 अब हम एक नंबर ई है कि अपेक्षाकृत प्रधानमंत्री की आवश्यकता होगी मीटर 117 00:05:22,000 --> 00:05:25,000 और मीटर से कम है. 118 00:05:25,000 --> 00:05:28,000 दो संख्या अपेक्षाकृत प्रधानमंत्री या coprime 119 00:05:28,000 --> 00:05:33,000 अगर केवल सकारात्मक पूर्णांक है कि उन दोनों को समान रूप से विभाजित 1 है. 120 00:05:33,000 --> 00:05:37,000 दूसरे शब्दों में, सबसे बड़ा ई और मीटर के आम भाजक 121 00:05:37,000 --> 00:05:39,000 1 होना चाहिए. 122 00:05:39,000 --> 00:05:44,000 व्यवहार में, यह ई के लिए आम है प्रधानमंत्री की संख्या 65537 हो 123 00:05:44,000 --> 00:05:48,000 के रूप में लंबे समय के रूप में इस संख्या मीटर का एक कारक हो सकता है नहीं होता है. 124 00:05:48,000 --> 00:05:53,000 हमारी चाबियाँ के लिए, हम ले लेंगे ई = 5 125 00:05:53,000 --> 00:05:57,000 तब से 5 अपेक्षाकृत 924 के लिए प्रधानमंत्री है. 126 00:05:57,000 --> 00:06:01,000 अंत में, हम एक अधिक संख्या है, जो हम फोन करता हूँ की आवश्यकता होगी. 127 00:06:01,000 --> 00:06:11,000 डी कुछ मूल्य होना चाहिए कि समीकरण को संतुष्ट करता डी 1 = (आधुनिक मीटर). 128 00:06:11,000 --> 00:06:17,000 इस आधुनिक मीटर का प्रतीक है कि हम कुछ मॉड्यूलर अंकगणितीय बुलाया का उपयोग करेंगे. 129 00:06:17,000 --> 00:06:21,000 मॉड्यूलर गणित में, एक बार एक संख्या कुछ ऊपरी सीमा से अधिक हो जाता है 130 00:06:21,000 --> 00:06:24,000 इसे वापस करने के लिए 0 के आसपास लपेटो जाएगा. 131 00:06:24,000 --> 00:06:27,000 एक घड़ी, उदाहरण के लिए, मॉड्यूलर गणित का उपयोग करता है. 132 00:06:27,000 --> 00:06:31,000 1:59 मिनट के बाद एक, उदाहरण के लिए, 2:00 है, 133 00:06:31,000 --> 00:06:33,000 नहीं 1:60. 134 00:06:33,000 --> 00:06:36,000 मिनट हाथ के आसपास 0 से लपेटा है 135 00:06:36,000 --> 00:06:39,000 एक 60 साल की ऊपरी बाध्य पहुंचने पर. 136 00:06:39,000 --> 00:06:46,000 तो, हम कह सकते हैं कि 60 0 (60 आधुनिक) के बराबर है 137 00:06:46,000 --> 00:06:57,000 और 125 65 के बराबर है 5 (60 आधुनिक) के बराबर है. 138 00:06:57,000 --> 00:07:02,000 हमारे सार्वजनिक कुंजी जोड़ी ई और एन होगा 139 00:07:02,000 --> 00:07:09,000 जहां इस मामले में ई 5 और n 989 है. 140 00:07:09,000 --> 00:07:15,000 हमारा निजी कुंजी युग्म घ और n होगा, 141 00:07:15,000 --> 00:07:22,000 हमारे मामले में जो 185 और 989 है. 142 00:07:22,000 --> 00:07:25,000 सूचना है कि हमारे मूल primes p और q प्रकट नहीं होता है 143 00:07:25,000 --> 00:07:29,000 हमारे निजी या सार्वजनिक कुंजी में कहीं भी. 144 00:07:29,000 --> 00:07:33,000 अब जब कि हम चाबियों का हमारे जोड़ी है, चलो हम कैसे एन्क्रिप्ट कर सकते हैं पर एक नज़र रखना 145 00:07:33,000 --> 00:07:36,000 और डिक्रिप्ट एक संदेश. 146 00:07:36,000 --> 00:07:38,000 मैं रोब के लिए एक संदेश भेजना चाहते हैं, 147 00:07:38,000 --> 00:07:42,000 इसलिए वह इस कुंजी युग्म उत्पन्न करने के लिए एक हो जाएगा. 148 00:07:42,000 --> 00:07:46,000 तो मैं अपने सार्वजनिक कुंजी है, जो मैं इस्तेमाल करेंगे के लिए रोब पूछता हूँ 149 00:07:46,000 --> 00:07:48,000 उसे करने के लिए भेजने के लिए एक संदेश एन्क्रिप्ट. 150 00:07:48,000 --> 00:07:53,000 याद रखें, यह पूरी तरह से ठीक है रोब मेरे साथ अपने सार्वजनिक कुंजी साझा करने के लिए. 151 00:07:53,000 --> 00:07:56,000 लेकिन यह करने के लिए अपने निजी कुंजी साझा करने के लिए ठीक नहीं होगा. 152 00:07:56,000 --> 00:08:00,000 मैं अपने निजी कुंजी क्या है किसी भी विचार नहीं है. 153 00:08:00,000 --> 00:08:03,000 हम कई विखंडू में हमारे संदेश मीटर तक तोड़ कर सकते हैं 154 00:08:03,000 --> 00:08:07,000 n से सभी छोटे और फिर उन विखंडू की प्रत्येक एन्क्रिप्ट. 155 00:08:07,000 --> 00:08:12,000 हम स्ट्रिंग CS50, जो हम 4 विखंडू में टूट सकता है एन्क्रिप्ट हूँ, 156 00:08:12,000 --> 00:08:14,000 प्रति एक पत्र. 157 00:08:14,000 --> 00:08:17,000 आदेश में अपने संदेश एन्क्रिप्ट करने के लिए, मैं इसे बदलने की आवश्यकता होगी 158 00:08:17,000 --> 00:08:20,000 संख्यात्मक प्रतिनिधित्व के कुछ प्रकार. 159 00:08:20,000 --> 00:08:25,000 चलो अपने संदेश में पात्रों के साथ ASCII मान जोड़ना. 160 00:08:25,000 --> 00:08:28,000 आदेश में एक संदेश दिया मीटर एन्क्रिप्ट करने के लिए 161 00:08:28,000 --> 00:08:37,000 मैं ई (आधुनिक n) ग = मीटर की गणना की आवश्यकता होगी. 162 00:08:37,000 --> 00:08:40,000 लेकिन मीटर n से छोटा होना चाहिए, 163 00:08:40,000 --> 00:08:45,000 या और पूर्ण संदेश modulo एन व्यक्त नहीं कर सकते हैं. 164 00:08:45,000 --> 00:08:49,000 हम कई हिस्सा है, जो सभी के n से छोटे होते हैं में तोड़ सकते हैं, 165 00:08:49,000 --> 00:08:52,000 और उन विखंडू की प्रत्येक एन्क्रिप्ट. 166 00:08:52,000 --> 00:09:03,000 इन विखंडू की प्रत्येक Encrypting, हम C1 = 5 से 67 (989 आधुनिक) 167 00:09:03,000 --> 00:09:06,000 658 = जो. 168 00:09:06,000 --> 00:09:15,000 हमारा दूसरा हिस्सा के लिए हम 5 (989 आधुनिक) 83 है 169 00:09:15,000 --> 00:09:18,000 जो = 15. 170 00:09:18,000 --> 00:09:26,000 हमारे 3 हिस्सा के लिए हम 5 (989 आधुनिक) 53 171 00:09:26,000 --> 00:09:30,000 जो 799 =. 172 00:09:30,000 --> 00:09:39,000 और अंत में, हमारे अंतिम हिस्सा के लिए हम 5 (989 आधुनिक) 48 173 00:09:39,000 --> 00:09:43,000 जो 975 =. 174 00:09:43,000 --> 00:09:48,000 अब हम पर रोब इन एन्क्रिप्टेड मूल्यों को भेज सकते हैं. 175 00:09:54,000 --> 00:09:58,000 यहाँ तुम जाओ, रोब. 176 00:09:58,000 --> 00:10:01,000 जबकि हमारे संदेश उड़ान में है, चलो एक नज़र रखना 177 00:10:01,000 --> 00:10:07,000 कैसे हम घ के लिए कि मूल्य मिला है. 178 00:10:07,000 --> 00:10:17,000 हमारे संख्या 5D = 1 (924 आधुनिक) को संतुष्ट करने के लिए जरूरत है. 179 00:10:17,000 --> 00:10:24,000 Multiplicative उलटा 5 सापेक्ष 924 की घ बनाता है. 180 00:10:24,000 --> 00:10:28,000 2 integers, ए और बी, विस्तारित इयूक्लिडियन एल्गोरिथ्म को देखते हुए 181 00:10:28,000 --> 00:10:33,000 इन दो integers के लिए सबसे बड़ा आम भाजक को खोजने के लिए इस्तेमाल किया जा सकता है. 182 00:10:33,000 --> 00:10:37,000 यह भी हमें 2 अन्य संख्या, एक्स और वाई दे देंगे, 183 00:10:37,000 --> 00:10:47,000 कि = ए और बी का सबसे बड़ा आम भाजक द्वारा समीकरण ax + संतुष्ट. 184 00:10:47,000 --> 00:10:49,000 यह कैसे हमारी मदद करता है? 185 00:10:49,000 --> 00:10:52,000 खैर, ई में एक के लिए = 5 plugging 186 00:10:52,000 --> 00:10:56,000 और = ख के लिए 924 मीटर 187 00:10:56,000 --> 00:10:59,000 हम पहले से ही पता है कि इन नंबरों coprime हैं. 188 00:10:59,000 --> 00:11:03,000 उनकी सबसे बड़ी आम भाजक 1 है. 189 00:11:03,000 --> 00:11:09,000 यह हमें देता 5x + 924y = 1 190 00:11:09,000 --> 00:11:17,000 या 5x = 1 - 924y. 191 00:11:17,000 --> 00:11:22,000 लेकिन अगर हम केवल 924 modulo सब कुछ के बारे में परवाह 192 00:11:22,000 --> 00:11:25,000 924y - तो हम छोड़ सकते हैं. 193 00:11:25,000 --> 00:11:27,000 घड़ी को वापस सोचो. 194 00:11:27,000 --> 00:11:31,000 यदि मिनट हाथ 1 पर है और फिर ठीक 10 घंटे से गुजारें, 195 00:11:31,000 --> 00:11:35,000 हम जानते हैं मिनट हाथ अभी भी 1 पर होगा. 196 00:11:35,000 --> 00:11:39,000 यहाँ हम 1 पर शुरू करने के लिए और फिर चारों ओर बिल्कुल y बार लपेटो, 197 00:11:39,000 --> 00:11:41,000 इसलिए हम अभी भी 1 पर हो जाएगा. 198 00:11:41,000 --> 00:11:49,000 हम 5x 1 = (924 mod) है. 199 00:11:49,000 --> 00:11:55,000 और यहाँ यह एक्स घ से पहले हम के लिए देख रहे थे के रूप में एक ही है, 200 00:11:55,000 --> 00:11:58,000 यदि ऐसा है तो हम विस्तारित इयूक्लिडियन एल्गोरिथ्म का उपयोग 201 00:11:58,000 --> 00:12:04,000 इस संख्या एक्स, कि संख्या हम अपने घ के रूप में उपयोग करना चाहिए. 202 00:12:04,000 --> 00:12:07,000 अब चलो एक = 5 के लिए विस्तारित इयूक्लिडियन एल्गोरिथ्म चलाने 203 00:12:07,000 --> 00:12:11,000 और ख = 924. 204 00:12:11,000 --> 00:12:14,000 हम एक तालिका विधि बुलाया विधि का उपयोग करेंगे. 205 00:12:14,000 --> 00:12:21,000 हमारे तालिका 4 कॉलम, एक्स, वाई, डी, और कश्मीर जाएगा. 206 00:12:21,000 --> 00:12:23,000 हमारी तालिका 2 पंक्तियों के साथ शुरू होता है. 207 00:12:23,000 --> 00:12:28,000 पहली पंक्ति में हम 1, 0, तो एक के हमारे मूल्य, जो 5 है, 208 00:12:28,000 --> 00:12:37,000 और हमारी दूसरी पंक्ति 1 0 है, और ख के लिए हमारे मूल्य, जो 924 है. 209 00:12:37,000 --> 00:12:40,000 4 कॉलम, कश्मीर, के मूल्य परिणाम होगा 210 00:12:40,000 --> 00:12:45,000 घ के मूल्य के साथ इसे ऊपर की पंक्ति में घ के मूल्य विभाजित 211 00:12:45,000 --> 00:12:49,000 एक ही पंक्ति पर. 212 00:12:49,000 --> 00:12:56,000 हम 5 924 से विभाजित 0 कुछ शेष के साथ है. 213 00:12:56,000 --> 00:12:59,000 इसका मतलब है कि हम k = 0 है. 214 00:12:59,000 --> 00:13:05,000 अब हर दूसरे सेल के मूल्य ऊपर सेल 2 पंक्तियों के मूल्य होगा 215 00:13:05,000 --> 00:13:09,000 शून्य से यह कई बार कश्मीर के ऊपर की पंक्ति के मूल्य. 216 00:13:09,000 --> 00:13:11,000 चलो 3 पंक्ति में घ के साथ शुरू की है. 217 00:13:11,000 --> 00:13:19,000 हम 5 - 924 0 * = 5. 218 00:13:19,000 --> 00:13:25,000 अगला 1 * 0 जो 0 है - हम 0 219 00:13:25,000 --> 00:13:30,000 और 1 - 0 0 * जो 1 है. 220 00:13:30,000 --> 00:13:33,000 बहुत बुरा नहीं है, तो अगली पंक्ति में आगे बढ़ना है. 221 00:13:33,000 --> 00:13:36,000 पहले हम कश्मीर के हमारे मूल्य की जरूरत है. 222 00:13:36,000 --> 00:13:43,000 कुछ शेष के साथ 924 5 = 184 से विभाजित है, 223 00:13:43,000 --> 00:13:46,000 इसलिए कश्मीर के लिए हमारे मूल्य 184 है. 224 00:13:46,000 --> 00:13:54,000 924 - अब 5 184 * = 4. 225 00:13:54,000 --> 00:14:05,000 1 - 0 * 184 1 और 0 - 1 184 * -184 है. 226 00:14:05,000 --> 00:14:07,000 ठीक है, अगली पंक्ति करते हैं. 227 00:14:07,000 --> 00:14:10,000 कश्मीर के हमारे मूल्य वजह से हो जाएगा 1 228 00:14:10,000 --> 00:14:15,000 कुछ शेष के साथ 5 4 = 1 द्वारा विभाजित. 229 00:14:15,000 --> 00:14:17,000 चलो अन्य स्तंभों में भरें. 230 00:14:17,000 --> 00:14:21,000 5 - 4 1 * 1 =. 231 00:14:21,000 --> 00:14:25,000 0 - 1 * 1 = -1. 232 00:14:25,000 --> 00:14:33,000 और 1 - 185 * 184 एक है. 233 00:14:33,000 --> 00:14:35,000 चलो देखते हैं हमारे कश्मीर के अगले मूल्य क्या होगा. 234 00:14:35,000 --> 00:14:40,000 खैर, यह लगता है जैसे हम 1, जो 4 से 4 विभाजित है. 235 00:14:40,000 --> 00:14:43,000 इस मामले में जहां हम 1 से विभाजित कर रहे हैं कि इस तरह के कश्मीर के बराबर है 236 00:14:43,000 --> 00:14:50,000 ऊपर की पंक्ति में घ के मूल्य का मतलब है कि हम हमारे एल्गोरिथ्म के साथ कर रहे हैं. 237 00:14:50,000 --> 00:14:58,000 हम देखते हैं कि हम अंतिम पंक्ति में 185 = x और y = -1 हो सकता है. 238 00:14:58,000 --> 00:15:00,000 चलो अब हमारे मूल लक्ष्य के लिए वापस आने के. 239 00:15:00,000 --> 00:15:04,000 हम ने कहा कि का एक परिणाम के रूप में एक्स का मान इस एल्गोरिथ्म चलाने 240 00:15:04,000 --> 00:15:08,000 एक आधुनिक (ख) के multiplicative उलटा होगा. 241 00:15:08,000 --> 00:15:15,000 इसका मतलब है कि 185 5 के multiplicative व्युत्क्रम (924 आधुनिक) है 242 00:15:15,000 --> 00:15:20,000 जिसका अर्थ है कि हम घ के लिए 185 का एक मूल्य है. 243 00:15:20,000 --> 00:15:23,000 तथ्य यह है कि घ = 1 अंतिम पंक्ति में 244 00:15:23,000 --> 00:15:26,000 कि ई मीटर coprime गया था की पुष्टि करता है. 245 00:15:26,000 --> 00:15:30,000 यदि यह 1 नहीं थे तो हम एक नया ई लेने के लिए चाहते हैं. 246 00:15:30,000 --> 00:15:33,000 अब देखते हैं अगर रोब मेरा संदेश प्राप्त हुआ है. 247 00:15:33,000 --> 00:15:35,000 जब कोई मुझे एक एन्क्रिप्टेड संदेश भेजता है 248 00:15:35,000 --> 00:15:38,000 के रूप में लंबे समय के रूप में मैं अपने निजी कुंजी एक गुप्त रखा है 249 00:15:38,000 --> 00:15:41,000 मैं केवल एक है जो संदेश डिक्रिप्ट कर सकते हैं हूँ. 250 00:15:41,000 --> 00:15:46,000 डिक्रिप्ट एक हिस्सा ग मैं मूल संदेश की गणना कर सकते हैं 251 00:15:46,000 --> 00:15:53,000 घ बिजली (आधुनिक n) हिस्सा बराबर है. 252 00:15:53,000 --> 00:15:57,000 याद रखें कि घ और n मेरी निजी कुंजी से हैं. 253 00:15:57,000 --> 00:16:01,000 इसके विखंडू से भरा एक संदेश मिलता है एक हिस्सा decrypt हम 254 00:16:01,000 --> 00:16:04,000 और परिणाम जुटना. 255 00:16:04,000 --> 00:16:08,000 आरएसए वास्तव में कैसे सुरक्षित है? 256 00:16:08,000 --> 00:16:10,000 सच तो यह है, हम नहीं जानते. 257 00:16:10,000 --> 00:16:14,000 सुरक्षा कितनी देर तक यह एक हमलावर लेने के लिए एक संदेश दरार पर आधारित है 258 00:16:14,000 --> 00:16:16,000 आरएसए के साथ एन्क्रिप्टेड. 259 00:16:16,000 --> 00:16:19,000 याद रखें कि एक हमलावर अपने सार्वजनिक कुंजी के लिए उपयोग किया है, 260 00:16:19,000 --> 00:16:21,000 जो दोनों ई और एन शामिल हैं. 261 00:16:21,000 --> 00:16:26,000 यदि हमलावर अपने 2 primes, p और q में n कारक प्रबंधन, 262 00:16:26,000 --> 00:16:30,000 तो वह विस्तारित इयूक्लिडियन एल्गोरिथ्म की गणना का उपयोग कर सकता है. 263 00:16:30,000 --> 00:16:35,000 यह उसकी निजी कुंजी है, जो decrypt करने के लिए इस्तेमाल किया जा सकता है और किसी भी संदेश देता है. 264 00:16:35,000 --> 00:16:38,000 लेकिन कैसे जल्दी से हम integers के कारक बन सकते हैं? 265 00:16:38,000 --> 00:16:41,000 फिर, हम नहीं जानते. 266 00:16:41,000 --> 00:16:43,000 इसे करने का कोई भी एक तेजी से रास्ता मिल गया है, 267 00:16:43,000 --> 00:16:46,000 जिसका अर्थ है कि दिए गए पर्याप्त बड़ी n 268 00:16:46,000 --> 00:16:49,000 यह एक हमलावर unrealistically तक ले जाएगा 269 00:16:49,000 --> 00:16:51,000 संख्या कारक. 270 00:16:51,000 --> 00:16:54,000 अगर किसी फैक्टरिंग पूर्णांकों की एक तेजी से रास्ते का पता चला 271 00:16:54,000 --> 00:16:57,000 आरएसए टूट जाएगा. 272 00:16:57,000 --> 00:17:01,000 लेकिन फिर भी अगर पूर्णांक factorization स्वाभाविक धीमी है 273 00:17:01,000 --> 00:17:04,000 आरएसए एल्गोरिथ्म अभी भी उस में कुछ दोष हो सकता है 274 00:17:04,000 --> 00:17:07,000 कि संदेशों की आसान डिक्रिप्शन के लिए अनुमति देता है. 275 00:17:07,000 --> 00:17:10,000 कोई नहीं पाया गया है और पता चला है अभी तक इस तरह के एक दोष, 276 00:17:10,000 --> 00:17:12,000 लेकिन इसका मतलब यह नहीं है कि एक अस्तित्व में नहीं है. 277 00:17:12,000 --> 00:17:17,000 सिद्धांत रूप में, किसी को बाहर वहाँ हो सभी आरएसए के साथ एन्क्रिप्टेड डेटा को पढ़ने सकता है. 278 00:17:17,000 --> 00:17:19,000 वहाँ एक गोपनीयता मुद्दे का एक और बिट है. 279 00:17:19,000 --> 00:17:23,000 यदि टॉमी कुछ मेरे सार्वजनिक कुंजी का उपयोग कर संदेश encrypts 280 00:17:23,000 --> 00:17:26,000 और एक हमलावर एक ही मेरे सार्वजनिक कुंजी का उपयोग कर संदेश encrypts 281 00:17:26,000 --> 00:17:29,000 हमलावर देखेंगे कि 2 संदेश समान हैं 282 00:17:29,000 --> 00:17:32,000 और इस तरह पता है कि टॉमी क्या एन्क्रिप्टेड. 283 00:17:32,000 --> 00:17:36,000 आदेश में इस को रोकने के लिए, संदेशों को आम तौर पर यादृच्छिक बिट्स के साथ गद्देदार हैं 284 00:17:36,000 --> 00:17:39,000 पहले एन्क्रिप्टेड किया जा रहा है ताकि एक ही संदेश एन्क्रिप्टेड 285 00:17:39,000 --> 00:17:44,000 कई बार लंबे समय के रूप में अलग - अलग देखने के रूप में संदेश पर padding अलग है. 286 00:17:44,000 --> 00:17:47,000 लेकिन याद रखना कि हम कैसे मात्रा में संदेश विभाजित है 287 00:17:47,000 --> 00:17:50,000 ताकि प्रत्येक हिस्सा n से छोटी है? 288 00:17:50,000 --> 00:17:52,000 विखंडू padding का मतलब है कि हम चीजों को विभाजित करने के लिए हो सकता है 289 00:17:52,000 --> 00:17:57,000 के बाद से भी अधिक मात्रा में गद्देदार हिस्सा n से छोटी होनी चाहिए. 290 00:17:57,000 --> 00:18:01,000 एन्क्रिप्शन और डिक्रिप्शन आरएसए के साथ अपेक्षाकृत महंगे हैं, 291 00:18:01,000 --> 00:18:05,000 और इसलिए कई विखंडू में एक संदेश को तोड़ने की जरूरत बहुत महंगा हो सकता है. 292 00:18:05,000 --> 00:18:09,000 यदि एन्क्रिप्टेड डेटा की एक बड़ी मात्रा की जरूरत है और decrypted 293 00:18:09,000 --> 00:18:12,000 हम सममित कुंजी एल्गोरिदम के लाभ गठबंधन कर सकते हैं 294 00:18:12,000 --> 00:18:16,000 आरएसए के उन लोगों के साथ दोनों सुरक्षा और दक्षता प्राप्त करने के लिए. 295 00:18:16,000 --> 00:18:18,000 हालांकि हम इसे में यहाँ नहीं जाना होगा, 296 00:18:18,000 --> 00:18:23,000 एईएस Vigenère और सीज़र सिफर तरह एक सममित कुंजी एल्गोरिथ्म है 297 00:18:23,000 --> 00:18:25,000 लेकिन बहुत कठिन दरार करने के लिए. 298 00:18:25,000 --> 00:18:30,000 बेशक, हम एईएस एक साझा रहस्य कुंजी की स्थापना के बिना नहीं उपयोग कर सकते हैं 299 00:18:30,000 --> 00:18:34,000 2 प्रणालियों के बीच, और हम उस के साथ समस्या से पहले देखा था. 300 00:18:34,000 --> 00:18:40,000 लेकिन अब हम आरएसए का उपयोग करने के लिए 2 प्रणालियों के बीच साझा गुप्त कुंजी स्थापित कर सकते हैं. 301 00:18:40,000 --> 00:18:43,000 हम डेटा प्रेषक भेजने कंप्यूटर फोन करता हूँ 302 00:18:43,000 --> 00:18:46,000 और कंप्यूटर डेटा रिसीवर प्राप्त. 303 00:18:46,000 --> 00:18:49,000 रिसीवर एक आरएसए कुंजी युग्म है और भेजता है 304 00:18:49,000 --> 00:18:51,000 प्रेषक को सार्वजनिक कुंजी. 305 00:18:51,000 --> 00:18:54,000 प्रेषक एक एईएस कुंजी उत्पन्न करता है, 306 00:18:54,000 --> 00:18:57,000 यह रिसीवर आरएसए सार्वजनिक कुंजी के साथ encrypts, 307 00:18:57,000 --> 00:19:00,000 और रिसीवर एईएस कुंजी भेजता है. 308 00:19:00,000 --> 00:19:04,000 रिसीवर अपनी RSA निजी कुंजी के साथ संदेश decrypts. 309 00:19:04,000 --> 00:19:09,000 प्रेषक और प्राप्तकर्ता दोनों अब उन दोनों के बीच एक साझा एईएस कुंजी है. 310 00:19:09,000 --> 00:19:14,000 एईएस, जो बहुत तेजी और आरएसए से एन्क्रिप्शन डिक्रिप्शन में है, 311 00:19:14,000 --> 00:19:18,000 अब डेटा की बड़ी मात्रा को एन्क्रिप्ट और उन्हें रिसीवर को भेजने के लिए इस्तेमाल किया जा सकता है, 312 00:19:18,000 --> 00:19:21,000 डिक्रिप्ट जो एक ही कुंजी का उपयोग कर सकते हैं. 313 00:19:21,000 --> 00:19:26,000 एईएस, जो बहुत तेजी और आरएसए से एन्क्रिप्शन डिक्रिप्शन में है, 314 00:19:26,000 --> 00:19:30,000 अब डेटा की बड़ी मात्रा को एन्क्रिप्ट और उन्हें रिसीवर को भेजने के लिए इस्तेमाल किया जा सकता है, 315 00:19:30,000 --> 00:19:32,000 डिक्रिप्ट जो एक ही कुंजी का उपयोग कर सकते हैं. 316 00:19:32,000 --> 00:19:36,000 हम सिर्फ आरएसए साझा कुंजी हस्तांतरण की जरूरत है. 317 00:19:36,000 --> 00:19:40,000 हम अब तक आरएसए सभी का उपयोग करने की आवश्यकता है. 318 00:19:40,000 --> 00:19:46,000 ऐसा लगता है कि मैं एक संदेश मिला है. 319 00:19:46,000 --> 00:19:49,000 अगर किसी को भी पढ़ने के लिए क्या कागज के हवाई जहाज पर कोई फर्क नहीं पड़ता है इससे पहले कि मैं इसे पकड़ लिया 320 00:19:49,000 --> 00:19:55,000 क्योंकि मैं निजी कुंजी के साथ केवल एक ही हूँ. 321 00:19:55,000 --> 00:19:57,000 चलो डिक्रिप्ट प्रत्येक संदेश में हिस्सा है. 322 00:19:57,000 --> 00:20:07,000 पहला हिस्सा, 658, हम घ शक्ति है, जो 185 है बढ़ा है, 323 00:20:07,000 --> 00:20:18,000 आधुनिक n, जो 989 है, 67 के बराबर है, 324 00:20:18,000 --> 00:20:24,000 जो ASCII में पत्र सी है. 325 00:20:24,000 --> 00:20:31,000 अब दूसरा हिस्सा पर. 326 00:20:31,000 --> 00:20:35,000 दूसरा हिस्सा 15 मूल्य है, 327 00:20:35,000 --> 00:20:41,000 जो हम 185 शक्ति को बढ़ाने के लिए, 328 00:20:41,000 --> 00:20:51,000 989 आधुनिक, और यह 83 के बराबर है 329 00:20:51,000 --> 00:20:57,000 जो ASCII में एस पत्र है. 330 00:20:57,000 --> 00:21:06,000 अब 3 हिस्सा है, जो 799 मूल्य के लिए, हम 185 से बढ़ा है, 331 00:21:06,000 --> 00:21:17,000 989 आधुनिक, और यह 53 के बराबर है, 332 00:21:17,000 --> 00:21:24,000 जो ASCII में 5 चरित्र के मूल्य है. 333 00:21:24,000 --> 00:21:30,000 अब अंतिम हिस्सा के लिए है, जो 975 मूल्य है, 334 00:21:30,000 --> 00:21:41,000 हम 185 से बढ़ा है, 989 आधुनिक, 335 00:21:41,000 --> 00:21:51,000 और यह 48 है, जो ASCII में चरित्र 0 के मूल्य के बराबर है. 336 00:21:51,000 --> 00:21:57,000 मेरा नाम रोब Bowden है, और इस CS50 है. 337 00:21:57,000 --> 00:22:00,000 [CS50.TV] 338 00:22:06,000 --> 00:22:08,000 सब पर आरएसए. 339 00:22:08,000 --> 00:22:14,000 सब पर आरएसए. [हँसी] 340 00:22:14,000 --> 00:22:17,000 पर सब कुछ.