0:00:00.000,0:00:03.583 На прошлой неделе мы изучали теорию чисел, необходимую для шифрования с открытым ключом 0:00:03.583,0:00:07.166 На этой неделе мы применим эти знания на практике и построим 0:00:07.166,0:00:10.889 несколько безопасных схем для шифрования с открытым ключом. Но прежде всего, нам нужно определить, что 0:00:10.889,0:00:14.565 такое шифрование с открытым ключом, и что означает безопасное шифрование с открытым ключом 0:00:14.565,0:00:18.241 Позвольте мне напомнить, что в схемах шифрования с открытым ключом есть 0:00:18.241,0:00:21.778 алгоритм шифрования, который обычно обозначается Е и алгоритм расшифрования, 0:00:21.778,0:00:25.361 который обозначается D. При этом алгоритм шифрования использует 0:00:25.361,0:00:29.477 открытый ключ в то время, как алгоритм дешифрования - секретный ключ. Эта пара называется 0:00:29.477,0:00:34.356 ключевой парой. Открытый ключ используется для шифрования сообщений, а секретный ключ 0:00:34.356,0:00:39.002 используется для расшифрования сообщений. Итак, в данном случае сообщение m шифруется с помощью 0:00:39.002,0:00:43.880 открытого ключа и в итоге получается шифротекст c. Аналогично, 0:00:43.880,0:00:48.643 передавая шифротекст в алгоритм расшифрования, с помощью секретного ключа 0:00:48.643,0:00:53.577 мы получаем исходное сообщение m. Сегодня у шифрования 0:00:53.577,0:00:57.989 с открытым ключом имеется множество приложений. На прошлой неделе мы рассматривали классические приложения такие, как 0:00:57.989,0:01:02.455 установка сессии, а именно, обмен ключами, а теперь мы будем рассматривать только обмен ключами, 0:01:02.455,0:01:06.867 защищенный от прослушивания. Вспомните, как работает протокол. Вначале Алиса 0:01:06.867,0:01:11.227 генерирует пару открытый/секретный ключ. 0:01:11.227,0:01:15.546 Отправляет открытый ключ Бобу. Боб генерирует случайный Х, 0:01:15.546,0:01:20.136 который будет использоваться в качестве разделяемого ими секрета, и затем отправляет Алисе Х, 0:01:20.136,0:01:24.904 зашифрованный ее открытым ключом. Алиса может расшифровать сообщение, восстановить Х, и теперь у них обоих 0:01:24.904,0:01:29.554 есть разделяемый секрет Х, который они могут использовать для безопасного общения друг с другом. 0:01:29.554,0:01:34.143 Все, что сможет получить злоумышленник - это открытый ключ, 0:01:34.143,0:01:38.972 шифрограмма полученная из Х с помощью открытого ключа. Из нее он не сможет получить 0:01:38.972,0:01:43.800 никакой информации об Х. Для понимания определим более точно, что означает 0:01:43.800,0:01:48.507 не сможет узнать ничего об Х. У шифрования с открытым ключом 0:01:48.507,0:01:52.522 на самом деле есть множество других приложений. Например, оно очень полезно в 0:01:52.522,0:01:57.235 не интерактивных приложениях. Подумайте, к примеру, о системах электронной почты. Вот Боб 0:01:57.235,0:02:01.716 хочет отправить письмо Алисе и отправляет его. Письмо проходит от 0:02:01.716,0:02:06.603 от почтового сервера к почтовому серверу, пока наконец не достигнет Алисы. В этой точке Алиса должна 0:02:06.603,0:02:10.502 расшифровать сообщение. Способ организации почтовой системы создан для не интерактивных 0:02:10.502,0:02:15.045 условий, в которых Боб отправляет письмо, а затем Алиса должна 0:02:15.045,0:02:19.195 его получить. И Алиса не должна общаться с Бобом для того, что расшифровать 0:02:19.195,0:02:23.502 письмо. В этом случае, из-за неинтерактивности, нет возможности 0:02:23.502,0:02:27.705 для получения разделяемого секрета между Алисой и Бобом. По этому, вот что произойдет данном случае, 0:02:27.705,0:02:32.169 Боб просто отправит email, зашифрованный с помощью открытого 0:02:32.169,0:02:36.571 ключа Алисы. Итак он отправит email. Кто угодно в мире может отправить Алисе email, 0:02:36.571,0:02:41.103 зашифрованный с помощью ее открытого ключа. Когда Алиса получит этот email, она использует свой 0:02:41.103,0:02:45.748 секретный ключ, чтобы расшифровать шифрограмму и восстановить открытый текст сообщения. 0:02:45.748,0:02:50.507 Конечно, существует одно возражение, состоящее в том, что в действительности Боб должен каким-то образом 0:02:50.507,0:02:54.804 получить открытый ключ Алисы. Поэтому пока просто будем предполагать, что у Боба уже есть 0:02:54.804,0:02:58.297 открытый ключ Алисы, но позже, когда мы будем говорить о цифровых подписях 0:02:58.297,0:03:02.457 мы увидим, как на самом деле можно это сделать очень эффективно, используя то, что называется 0:03:02.457,0:03:06.823 управлением открытыми ключами. И, как я уже сказал мы вернемся к этому позднее. 0:03:06.823,0:03:10.931 Но главное, о чем я хочу, чтобы вы помнили это то, что открытые ключи 0:03:10.931,0:03:14.578 используется для установки сессий. В сети очень распространена ситуация, когда шифрование 0:03:14.578,0:03:18.840 с открытым ключом используется для установки секретного ключа между web-браузером и web-сервером.