1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [RSA] 2 00:00:02,000 --> 00:00:04,000 [روب بودين] [تومي MacWilliam] [جامعة هارفارد] 3 00:00:04,000 --> 00:00:07,000 [هذا CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 دعونا نلقي نظرة على RSA، وهي الخوارزمية المستخدمة على نطاق واسع لتشفير البيانات. 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 RSA، من ناحية أخرى، ليست عرضة لهجمات من هذا القبيل. 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 هو أنها تعتمد على واحد تشفير وإرسال رسالة 19 00:00:57,000 --> 00:00:59,000 وتلقي واحد وفك تشفير الرسالة 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 إذا كان مفتاح يجب أن تكون سرية، فإننا بحاجة إلى وسيلة لتشفير وفك تشفير المفتاح. 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 RSA، من ناحية أخرى، تستخدم زوج من المفاتيح، 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 لا يمكن إلا أن يكون فك مع المفتاح الخاص المطابق. 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 اعضاء ترغب في إرسال رسائل مشفرة مع RSA 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 عضو الرئيسية، ورسائل من المستخدم 2 إلى المستخدم 1 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 يجعل RSA خوارزمية مفتاح غير متناظر. 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 هذا يعني أن RSA ليس لديها نفس المشكلة بدء التشغيل 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 وبمجرد تشفير الرسالة باستخدام I مفتاح روب العامة 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 من أجل فك تشفير الرسالة، وسوف RSA استخدام هذا المفتاح الخاص 86 00:03:20,000 --> 00:03:25,000 أو ضرب الأرقام معا في عملية إنشاء المفتاح العمومي. 87 00:03:25,000 --> 00:03:28,000 لأنه من الصعب حسابيا عامل عدد 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 وسوف يكون من الضروري أن فك تشفير الرسالة. 91 00:03:39,000 --> 00:03:43,000 الآن دعونا الخوض في بعض التفاصيل انخفاض مستوى RSA. 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 ف س و. 95 00:03:52,000 --> 00:03:56,000 من أجل اختيار p و q، من الناحية العملية فإننا توليد 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 يعبي أن نتمكن من استخدام. 100 00:04:08,000 --> 00:04:15,000 دعونا هنا في اختيار p = 23 و س = 43. 101 00:04:15,000 --> 00:04:19,000 نتذكر، في الممارسة العملية، يجب أن يكون س ص وأعداد أكبر من ذلك بكثير. 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 لكنه أيضا أكثر تكلفة لتشفير وفك تشفير الرسائل. 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 الذي سوف نسميه ن. 110 00:04:45,000 --> 00:04:55,000 في حالتنا، ن = 23 * 43، والتي = 989. 111 00:04:55,000 --> 00:04:58,000 لدينا ن = 989. 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 في حالتنا، m = 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 يجب أن يكون هناك بعض D قيمة ترضي معادلة دي = 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 بعد دقيقة واحدة 01: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 وسوف يكون لدينا مفتاح الخاص د الزوج ون، 141 00:07:15,000 --> 00:07:22,000 الذي هو في حالتنا 185 و 989. 142 00:07:22,000 --> 00:07:25,000 لاحظت أن لدينا الأصلي يعبي 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 جميع أصغر من ن ومن ثم تشفير كل من تلك القطع. 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 أنا بحاجة لحساب ج = م ه إلى (ن وزارة الدفاع). 162 00:08:37,000 --> 00:08:40,000 ولكن يجب أن يكون أصغر من م ن، 163 00:08:40,000 --> 00:08:45,000 أو يمكن عدا ذلك لن يكون كاملا رسالة عبر مودولو ن. 164 00:08:45,000 --> 00:08:49,000 يمكننا كسر م يصل إلى أجزاء عدة، وكلها أصغر من ن، 165 00:08:49,000 --> 00:08:52,000 وتشفير كل من تلك القطع. 166 00:08:52,000 --> 00:09:03,000 تشفير كل من هذه القطع، وحصلنا على C1 = 67 إلى 5 (وزارة الدفاع 989) 167 00:09:03,000 --> 00:09:06,000 التي = 658. 168 00:09:06,000 --> 00:09:15,000 لدينا الثانية قطعة لدينا من 83 إلى 5 (وزارة الدفاع 989) 169 00:09:15,000 --> 00:09:18,000 الذي = 15. 170 00:09:18,000 --> 00:09:26,000 لجزء الثالث من عمرنا لدينا 53 إلى 5 (وزارة الدفاع 989) 171 00:09:26,000 --> 00:09:30,000 التي = 799. 172 00:09:30,000 --> 00:09:39,000 وأخيرا، لدينا قطعة الماضي لدينا 48 إلى 5 (وزارة الدفاع 989) 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 هذا يجعل د معكوس المضاعف من 5 مودولو 924. 180 00:10:24,000 --> 00:10:28,000 أعطيت 2 أعداد صحيحة، و b، الخوارزمية الإقليدية الموسعة 181 00:10:28,000 --> 00:10:33,000 يمكن استخدامها لإيجاد القاسم المشترك الأكبر من هذه الأعداد الصحيحة 2. 182 00:10:33,000 --> 00:10:37,000 كما يعطي لنا 2 الأرقام الأخرى، X و Y، 183 00:10:37,000 --> 00:10:47,000 التي تلبي الفأس المعادلة + = المقسوم عليه من قبل أكبر شيوعا من ألف وباء. 184 00:10:47,000 --> 00:10:49,000 كيف هذا يساعدنا؟ 185 00:10:49,000 --> 00:10:52,000 حسنا، يسد في ه = 5 ل 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 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 ثم يلتف حول ذ مرات بالضبط، 197 00:11:39,000 --> 00:11:41,000 ولذا فإننا سوف يكون لا يزال في 1. 198 00:11:41,000 --> 00:11:49,000 لدينا 5X = 1 (وزارة الدفاع 924). 199 00:11:49,000 --> 00:11:55,000 وهنا هذا x هو نفس د كنا نبحث عن قبل، 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 والصف الثاني هو لدينا 0، 1، وقيمة لدينا لب، وهو 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 يعني ان علينا ك = 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 المقبل لدينا 0 - 1 * 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 مقسمة بنسبة 184 = 5 مع بعض ما تبقى، 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 مقسوما على 1 = 4 مع بعض ما تبقى. 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 حتي 184 * 1 هو 185. 233 00:14:33,000 --> 00:14:35,000 دعونا نرى ما هي القيمة القادم سيكون من ك. 234 00:14:35,000 --> 00:14:40,000 حسنا، يبدو أن لدينا 4 مقسوما على 1، والذي هو 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 و ص = -1 في الصف الأخير. 238 00:14:58,000 --> 00:15:00,000 دعونا الآن نعود إلى هدفنا الأصلي. 239 00:15:00,000 --> 00:15:04,000 قلنا أن قيمة X نتيجة لتشغيل هذه الخوارزمية 240 00:15:04,000 --> 00:15:08,000 سيكون معكوس المضاعف من (وزارة الدفاع ب). 241 00:15:08,000 --> 00:15:15,000 وهذا يعني أن 185 هو معكوس المضاعف من 5 (وزارة الدفاع 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 تساوي قطعة إلى السلطة د (ن وزارة الدفاع). 252 00:15:53,000 --> 00:15:57,000 تذكر أن د ن وهي من مفتاحي الخاص. 253 00:15:57,000 --> 00:16:01,000 للحصول على رسالة كاملة من قطع فيه، فك تشفير كل قطعة 254 00:16:01,000 --> 00:16:04,000 وسلسلة النتائج. 255 00:16:04,000 --> 00:16:08,000 بالضبط كيف هي آمنة RSA؟ 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 تشفير RSA مع. 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)،، p و q، 262 00:16:26,000 --> 00:16:30,000 ثم قالت انها يمكن ان يحسب د باستخدام خوارزمية ممتدة الإقليدية. 263 00:16:30,000 --> 00:16:35,000 هذا يعطيها المفتاح الخاص، والتي يمكن استخدامها لفك تشفير أي رسالة. 264 00:16:35,000 --> 00:16:38,000 ولكن كيف يمكن لنا بسرعة عامل الأعداد الصحيحة؟ 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 وهو ما يعني أنه نظرا كبيرة بما يكفي ن 268 00:16:46,000 --> 00:16:49,000 سوف يستغرق فترة طويلة للمهاجمين بشكل غير واقعي 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 ويمكن تقسيم RSA. 272 00:16:57,000 --> 00:17:01,000 ولكن حتى لو صحيح بطيئة بطبيعتها توكيل تجاري 273 00:17:01,000 --> 00:17:04,000 يمكن للخوارزمية RSA التي لا تزال بعض الخلل في ذلك 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 من الناحية النظرية، يمكن أن يكون هناك شخص قراءة كل البيانات المشفرة مع RSA. 278 00:17:17,000 --> 00:17:19,000 هناك نوعا آخر من قضية الخصوصية. 279 00:17:19,000 --> 00:17:23,000 إذا تومي بتشفير الرسالة باستخدام بعض مفتاحي العام 280 00:17:23,000 --> 00:17:26,000 وللمهاجمين بتشفير الرسالة باستخدام المفتاح الخاص بي نفس العام 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 سوف تبدو مختلفة عدة مرات طالما أن الحشو على رسالة مختلفة. 286 00:17:44,000 --> 00:17:47,000 ولكن تذكر كيف علينا أن تقسيم الرسائل إلى أجزاء 287 00:17:47,000 --> 00:17:50,000 بحيث كل قطعة أصغر من ن؟ 288 00:17:50,000 --> 00:17:52,000 حشوة وقطع يعني أن قد يكون لدينا لتقسيم الامور 289 00:17:52,000 --> 00:17:57,000 إلى قطع أكثر حتى منذ يجب أن قطعة مبطن يكون أصغر من ن. 290 00:17:57,000 --> 00:18:01,000 التشفير وفك التشفير هي مكلفة نسبيا مع RSA، 291 00:18:01,000 --> 00:18:05,000 وهكذا يمكن أن تحتاج لتفريق رسالة إلى قطع العديد من أن يكون مكلفا للغاية. 292 00:18:05,000 --> 00:18:09,000 إذا كمية كبيرة من البيانات يجب أن يكون فك تشفيرها و 293 00:18:09,000 --> 00:18:12,000 يمكننا الجمع بين فوائد خوارزميات مفتاح متماثل 294 00:18:12,000 --> 00:18:16,000 مع تلك RSA للحصول على كل من الأمن والكفاءة. 295 00:18:16,000 --> 00:18:18,000 على الرغم من أننا لن أخوض في ذلك هنا، 296 00:18:18,000 --> 00:18:23,000 AES هو خوارزمية مفتاح متناظر مثل Vigenère والأصفار قيصر 297 00:18:23,000 --> 00:18:25,000 ولكن أصعب بكثير للقضاء. 298 00:18:25,000 --> 00:18:30,000 بطبيعة الحال، لا يمكننا استخدام AES دون إنشاء مفتاح سري مشترك 299 00:18:30,000 --> 00:18:34,000 بين النظم 2، وشاهدنا مشكلة في ذلك من قبل. 300 00:18:34,000 --> 00:18:40,000 ولكن الآن يمكننا استخدام RSA لإنشاء مفتاح سري مشترك بين النظم 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 المتلقي لديه مفتاح RSA الزوج ويرسل 304 00:18:49,000 --> 00:18:51,000 المفتاح العام للمرسل. 305 00:18:51,000 --> 00:18:54,000 المرسل بإنشاء مفتاح AES، 306 00:18:54,000 --> 00:18:57,000 تشفير مع مفتاح RSA العامة المتلقي، 307 00:18:57,000 --> 00:19:00,000 ويرسل مفتاح AES إلى المتلقي. 308 00:19:00,000 --> 00:19:04,000 المتلقي فك تشفير الرسالة مع المفتاح الخاص RSA. 309 00:19:04,000 --> 00:19:09,000 كل من المرسل والمتلقي الآن مفتاح AES المشتركة بينهما. 310 00:19:09,000 --> 00:19:14,000 AES، وهو أسرع بكثير في التشفير وفك التشفير RSA من، 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 AES، وهو أسرع بكثير في التشفير وفك التشفير RSA من، 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 نحن فقط بحاجة لنقل RSA المفتاح المشترك. 317 00:19:36,000 --> 00:19:40,000 لم نعد بحاجة إلى استخدام RSA على الإطلاق. 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 ن وزارة الدفاع، والذي هو 989، يساوي 67، 324 00:20:18,000 --> 00:20:24,000 وهو C حرف في 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 وهو S حرف في ASCII. 330 00:20:57,000 --> 00:21:06,000 الآن لجزء الثالث، الذي له قيمة 799، نرفع إلى 185، 331 00:21:06,000 --> 00:21:17,000 وزارة الدفاع 989، وهذا يساوي 53، 332 00:21:17,000 --> 00:21:24,000 التي هي قيمة الطابع 5 في ASCII. 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، وهو قيمة ال 0 حرف في ASCII. 336 00:21:51,000 --> 00:21:57,000 اسمي روب بودين، وهذا هو CS50. 337 00:21:57,000 --> 00:22:00,000 [CS50.TV] 338 00:22:06,000 --> 00:22:08,000 RSA على الإطلاق. 339 00:22:08,000 --> 00:22:14,000 RSA على الإطلاق. [ضحك] 340 00:22:14,000 --> 00:22:17,000 على الإطلاق.