1 00:00:00,000 --> 00:00:03,583 На прошлой неделе мы изучали теорию чисел, необходимую для шифрования с открытым ключом 2 00:00:03,583 --> 00:00:07,166 На этой неделе мы применим эти знания на практике и построим 3 00:00:07,166 --> 00:00:10,889 несколько безопасных схем для шифрования с открытым ключом. Но прежде всего, нам нужно определить, что 4 00:00:10,889 --> 00:00:14,565 такое шифрование с открытым ключом, и что означает безопасное шифрование с открытым ключом 5 00:00:14,565 --> 00:00:18,241 Позвольте мне напомнить, что в схемах шифрования с открытым ключом есть 6 00:00:18,241 --> 00:00:21,778 алгоритм шифрования, который обычно обозначается Е и алгоритм расшифрования, 7 00:00:21,778 --> 00:00:25,361 который обозначается D. При этом алгоритм шифрования использует 8 00:00:25,361 --> 00:00:29,477 открытый ключ в то время, как алгоритм дешифрования - секретный ключ. Эта пара называется 9 00:00:29,477 --> 00:00:34,356 ключевой парой. Открытый ключ используется для шифрования сообщений, а секретный ключ 10 00:00:34,356 --> 00:00:39,002 используется для расшифрования сообщений. Итак, в данном случае сообщение m шифруется с помощью 11 00:00:39,002 --> 00:00:43,880 открытого ключа и в итоге получается шифротекст c. Аналогично, 12 00:00:43,880 --> 00:00:48,643 передавая шифротекст в алгоритм расшифрования, с помощью секретного ключа 13 00:00:48,643 --> 00:00:53,577 мы получаем исходное сообщение m. Сегодня у шифрования 14 00:00:53,577 --> 00:00:57,989 с открытым ключом имеется множество приложений. На прошлой неделе мы рассматривали классические приложения такие, как 15 00:00:57,989 --> 00:01:02,455 установка сессии, а именно, обмен ключами, а теперь мы будем рассматривать только обмен ключами, 16 00:01:02,455 --> 00:01:06,867 защищенный от прослушивания. Вспомните, как работает протокол. Вначале Алиса 17 00:01:06,867 --> 00:01:11,227 генерирует пару открытый/секретный ключ. 18 00:01:11,227 --> 00:01:15,546 Отправляет открытый ключ Бобу. Боб генерирует случайный Х, 19 00:01:15,546 --> 00:01:20,136 который будет использоваться в качестве разделяемого ими секрета, и затем отправляет Алисе Х, 20 00:01:20,136 --> 00:01:24,904 зашифрованный ее открытым ключом. Алиса может расшифровать сообщение, восстановить Х, и теперь у них обоих 21 00:01:24,904 --> 00:01:29,554 есть разделяемый секрет Х, который они могут использовать для безопасного общения друг с другом. 22 00:01:29,554 --> 00:01:34,143 Все, что сможет получить злоумышленник - это открытый ключ, 23 00:01:34,143 --> 00:01:38,972 шифрограмма полученная из Х с помощью открытого ключа. Из нее он не сможет получить 24 00:01:38,972 --> 00:01:43,800 никакой информации об Х. Для понимания определим более точно, что означает 25 00:01:43,800 --> 00:01:48,507 не сможет узнать ничего об Х. У шифрования с открытым ключом 26 00:01:48,507 --> 00:01:52,522 на самом деле есть множество других приложений. Например, оно очень полезно в 27 00:01:52,522 --> 00:01:57,235 не интерактивных приложениях. Подумайте, к примеру, о системах электронной почты. Вот Боб 28 00:01:57,235 --> 00:02:01,716 хочет отправить письмо Алисе и отправляет его. Письмо проходит от 29 00:02:01,716 --> 00:02:06,603 от почтового сервера к почтовому серверу, пока наконец не достигнет Алисы. В этой точке Алиса должна 30 00:02:06,603 --> 00:02:10,502 расшифровать сообщение. Способ организации почтовой системы создан для не интерактивных 31 00:02:10,502 --> 00:02:15,045 условий, в которых Боб отправляет письмо, а затем Алиса должна 32 00:02:15,045 --> 00:02:19,195 его получить. И Алиса не должна общаться с Бобом для того, что расшифровать 33 00:02:19,195 --> 00:02:23,502 письмо. В этом случае, из-за неинтерактивности, нет возможности 34 00:02:23,502 --> 00:02:27,705 для получения разделяемого секрета между Алисой и Бобом. По этому, вот что произойдет данном случае, 35 00:02:27,705 --> 00:02:32,169 Боб просто отправит email, зашифрованный с помощью открытого 36 00:02:32,169 --> 00:02:36,571 ключа Алисы. Итак он отправит email. Кто угодно в мире может отправить Алисе email, 37 00:02:36,571 --> 00:02:41,103 зашифрованный с помощью ее открытого ключа. Когда Алиса получит этот email, она использует свой 38 00:02:41,103 --> 00:02:45,748 секретный ключ, чтобы расшифровать шифрограмму и восстановить открытый текст сообщения. 39 00:02:45,748 --> 00:02:50,507 Конечно, существует одно возражение, состоящее в том, что в действительности Боб должен каким-то образом 40 00:02:50,507 --> 00:02:54,804 получить открытый ключ Алисы. Поэтому пока просто будем предполагать, что у Боба уже есть 41 00:02:54,804 --> 00:02:58,297 открытый ключ Алисы, но позже, когда мы будем говорить о цифровых подписях 42 00:02:58,297 --> 00:03:02,457 мы увидим, как на самом деле можно это сделать очень эффективно, используя то, что называется 43 00:03:02,457 --> 00:03:06,823 управлением открытыми ключами. И, как я уже сказал мы вернемся к этому позднее. 44 00:03:06,823 --> 00:03:10,931 Но главное, о чем я хочу, чтобы вы помнили это то, что открытые ключи 45 00:03:10,931 --> 00:03:14,578 используется для установки сессий. В сети очень распространена ситуация, когда шифрование 46 00:03:14,578 --> 00:03:18,840 с открытым ключом используется для установки секретного ключа между web-браузером и web-сервером.