1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [আরএসএ] 2 00:00:02,000 --> 00:00:04,000 [Rob Bowden] [টমি 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 কেউ আমরা একটি এনক্রিপ্ট বার্তা নিরাপত্তা compromising ছাড়া করতে চান. 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 জন ব্যবহারকারী যাও বার্তা পাঠাতে চান, 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 ব্যবহারকারী ব্যবহারকারী ব্যবহারকারী যাও 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 এর অর্থ এই যে, 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 Rob যাও, আমি প্রথম রব এর পাবলিক কী করতে হবে. 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 ডিক্রিপ্ট বার্তার ক্রম ইন, ব্যবহার, RSA এই প্রাইভেট কী হবে 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 যে ডিক্রিপ্ট করা প্রয়োজন বার্তা হবে. 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 যাতে অভ্যাস যাও পি এবং ফ, বাছাই 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 এবং ফ = 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 আজ প্রায়ই বিশেষ পরামর্শ দেওয়া হচ্ছে যে পি এবং ফ অন্তত 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 এখন আমরা পি এবং ফ একসঙ্গে সংখ্যাবৃদ্ধি একটি 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 পরিশেষে, আমরা আরো এক নম্বর, যা আমরা d ডাকবো করতে হবে. 127 00:06:01,000 --> 00:06:11,000 : D কিছু মান যে সমীকরণ সন্তুষ্ট হতে হবে দে = 1 (mod মিটার). 128 00:06:11,000 --> 00:06:17,000 এই mod মি দিনটিকে আমরা কিছু বলা modular গাণিতিক ব্যবহার করব. 129 00:06:17,000 --> 00:06:21,000 Modular গাণিতিক ইন, একবার একটি নম্বর পায় কিছু ঊর্ধ্বসীমামান বেশী 130 00:06:21,000 --> 00:06:24,000 এটি 0 চারিদিকে মোড়ানো ফিরে হবে. 131 00:06:24,000 --> 00:06:27,000 যেমন ঘড়ি,, modular গাণিতিক ব্যবহার করে. 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 (mod 60) বলতে পারেন 137 00:06:46,000 --> 00:06:57,000 এবং 125 সমতূল্য 65 যাও সমতূল্য 5 (mod 60) যাও. 138 00:06:57,000 --> 00:07:02,000 আমাদের পাবলিক কী জুড়ি ই এবং n করা 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 পি এবং ফ প্রদর্শিত না 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 তারপর আমি তার পাবলিক কী, যা আমি ব্যবহার করব জন্য Rob জিজ্ঞাসা করব 149 00:07:46,000 --> 00:07:48,000 তাকে পাঠানো বার্তা এনক্রিপ্ট. 150 00:07:48,000 --> 00:07:53,000 মনে রাখবেন, এটা সম্পূর্ণই অনুমোদন জন্য Rob আমার সাথে তার পাবলিক কী ভাগ. 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 আমি ই (mod n) যাও গ = মি হিসাব করতে হবে. 162 00:08:37,000 --> 00:08:40,000 কিন্তু মি n কম হওয়া আবশ্যক, 163 00:08:40,000 --> 00:08:45,000 অন্যথায় সম্পূর্ণ বার্তা modulo n প্রকাশ করা যাবে না. 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 এই অংশ প্রতিটি এনক্রিপ্ট, আমরা পেতে c1 5 = 67 (mod 989) 167 00:09:03,000 --> 00:09:06,000 যা = 658. 168 00:09:06,000 --> 00:09:15,000 আমাদের দ্বিতীয় খণ্ড জন্য আমরা 5 (mod 989) আছে যাও 83 169 00:09:15,000 --> 00:09:18,000 যা = 15. 170 00:09:18,000 --> 00:09:26,000 আমরা আমাদের তৃতীয় খণ্ড জন্য আছে 53 5 (mod 989) যাও 171 00:09:26,000 --> 00:09:30,000 যা = 799. 172 00:09:30,000 --> 00:09:39,000 এবং পরিশেষে আমাদের শেষ খণ্ড জন্য, আমরা 5 আছে 48 (mod 989) যাও 173 00:09:39,000 --> 00:09:43,000 যা = 975. 174 00:09:43,000 --> 00:09:48,000 এখন আমরা Rob এইসব এনক্রিপ্ট মান উপর পাঠাতে পারেন. 175 00:09:54,000 --> 00:09:58,000 এখানে আপনি Rob যান,. 176 00:09:58,000 --> 00:10:01,000 যদিও আমাদের বার্তা ফ্লাইট হয়, আমি কি অন্য কটাক্ষপাত করা 177 00:10:01,000 --> 00:10:07,000 কিভাবে এ জন্য যে আমরা d মান পেয়েছে. 178 00:10:07,000 --> 00:10:17,000 আমাদের নম্বর ঘ যাও 5 দি = 1 (mod 924) সন্তুষ্ট করা প্রয়োজন. 179 00:10:17,000 --> 00:10:24,000 এর ফলে 5 ঘ modulo 924 এর বর্ধক বিপরীত. 180 00:10:24,000 --> 00:10:28,000 প্রদত্ত 2 পূর্ণসংখ্যা, এবং a ও b, বর্ধিত ইউক্লিডিয় আলগোরিদিম 181 00:10:28,000 --> 00:10:33,000 ব্যবহৃত সর্বাধিক এইসব 2 পূর্ণসংখ্যার সাধারণ ভাজক খুঁজতে করা যাবে. 182 00:10:33,000 --> 00:10:37,000 এছাড়াও অন্যান্য দিতে 2 নম্বর, এক্স এবং ওয়াই আমাদের হবে, 183 00:10:37,000 --> 00:10:47,000 যে সর্বশ্রেষ্ঠ এবং a ও b = সাধারণ ভাজক দ্বারা সমীকরণ কুঠার + সন্তুষ্ট. 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 কিন্তু আমরা যদি কেবল সবকিছু modulo 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 এ আমরা এবং তারপর শুরু ঠিক y বার চারপাশে মোড়ানো, 197 00:11:39,000 --> 00:11:41,000 তাই আমরা এখনও 1 হতে হবে. 198 00:11:41,000 --> 00:11:49,000 আমাদের সাথে আছে = 1 (mod 924) 5x. 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 এই সংখ্যা x পেতে, যে সংখ্যা আমরা আমাদের ঘ হিসাবে ব্যবহার করা উচিত. 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 কলাম, x, y, ডি, ও k থাকবে. 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 * 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 5 = 184 924 দ্বারা কিছু বাকি সঙ্গে বিভক্ত, 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 4 = 1 5 কিছু বাকি সঙ্গে বিভক্ত. 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 * 185 1. 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 আমরা এখানে যে আমরা শেষ সারিতে x = 185 এবং 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 একটি (mod বি) বর্ধক বিপরীত হবে. 241 00:15:08,000 --> 00:15:15,000 এটার মানে হল যে হয় 185 5 বর্ধক বিপরীত (mod 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 এখন আসুন যদি Rob পেয়েছি আমার বার্তা করেনি দেখুন. 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 সমান ঘ শক্তি (mod n) চাঙ্গড় যাও যাও. 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 আরএসএ সাথে এনক্রিপ্ট. 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, পি এবং এন বিবেচনার মধ্যে 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 এটি একটি আক্রমণকারী নিতে 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 এমনকি যদি পূর্ণসংখ্যা গুণকনির্ণয় সহজাতরূপে ধীর 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 যদি টমি এনক্রিপ্ট কিছু বার্তা পাবলিক কী ব্যবহার করে 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 এই প্রতিরোধ, বার্তা সাধারণত র্যান্ডম বিট সাথে padded 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 যাতে প্রতিটি খণ্ড হল n চেয়ে কম? 288 00:17:50,000 --> 00:17:52,000 অংশ প্যাডিং মানে যে আমরা জিনিষ আপ বিভক্ত থাকতে পারে 289 00:17:52,000 --> 00:17:57,000 যেহেতু আরও অংশ মধ্যে padded চাঙ্গড় n কম হওয়া আবশ্যক. 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 যদি একটি তথ্য বৃহত ভলিউমের এনক্রিপ্ট করা প্রয়োজন এবং 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 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 কিন্তু এখন আমরা ভাগ 2 সিস্টেমের মধ্যে স্থাপন করা, RSA গুপ্ত কী ব্যবহার করতে পারেন. 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 রিসিভার এর আরএসএ সার্বজনীন সাথে এনক্রিপ্ট করে, 307 00:18:57,000 --> 00:19:00,000 এবং রিসিভার AES কী পাঠায়. 308 00:19:00,000 --> 00:19:04,000 রিসিভার এটার RSA ব্যক্তিগত কী বার্তা দিয়ে decrypts. 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 আমরা শুধু আরএসএ যাও ভাগ করা চাবি হস্তান্তর প্রয়োজন. 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, আমরা d ক্ষমতা, যা 185 যাও বাড়াতে, 323 00:20:07,000 --> 00:20:18,000 mod 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 যা 185th ক্ষমতা আমরা, বাড়াতে 328 00:20:41,000 --> 00:20:51,000 mod 989, এবং এই সমান যাও 83 329 00:20:51,000 --> 00:20:57,000 যা হয় ASCII অক্ষর, S. 330 00:20:57,000 --> 00:21:06,000 এখন তৃতীয় খণ্ড, যা মান 799 টি জন্য, আমরা 185 যাও বাড়াতে, 331 00:21:06,000 --> 00:21:17,000 mod 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 যাও বাড়াতে mod 989,, 335 00:21:41,000 --> 00:21:51,000 এবং এই সমান 48, যা হওয়া ASCII অক্ষর 0 মধ্যে মান যাও. 336 00:21:51,000 --> 00:21:57,000 আমার নাম Rob 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 এ সব.