< Return to Video

What is cryptography? (15 min)

  • 0:00 - 0:03
    Пока мы не начали рассматривать технические стороны, я хочу провести краткий
  • 0:03 - 0:06
    обзор криптографии как науки и рассказать о ее направлениях. Итак,
  • 0:06 - 0:10
    суть криптографии, конечно же, состоит в защите коммуникаций, что, по существу,
  • 0:10 - 0:15
    состоит из двух частей. Первая - это создание ключа шифрования и того
  • 0:15 - 0:19
    как передать этот ключ в процессе общения. Мы уже говорили, что
  • 0:19 - 0:23
    созданный ключей шифрования передается в ходе общения между Алисой и Бобом
  • 0:23 - 0:27
    в одном из сообщений в конце этого протокола по договоренности передается общий ключ,
  • 0:27 - 0:31
    назовем его общим ключом К, и помимо этого, фактически
  • 0:31 - 0:35
    только Алиса будет знать, что она сказла Бобу, и только Боб знает, что он сказал Алисе.
  • 0:35 - 0:40
    Но бедный злоумышленник, прослушивающий их сообщения, не будет знать
  • 0:40 - 0:44
    что является общим ключом. И чуть позже мы узнаем, как это сделать. Итак, теперь у них есть
  • 0:44 - 0:48
    общий ключ, и они будут использовать его для безопасного обмена сообщениями.
  • 0:48 - 0:52
    Мы поговорим о схемах шифрования, позволяющих расшарить ключ таким способом,
  • 0:52 - 0:55
    чтобы атакующий не смог понять, что за сообщения отправляются. И,
  • 0:55 - 1:00
    кроме того, атакующий не смог даже вмешаться в обмен сообщениями, чтобы ни быть обнаруженным.
  • 1:00 - 1:03
    Другими словами, эти схемы шифрования дают обоюдную конфиденциальность и
  • 1:03 - 1:07
    интеграцию. Но криптография - это гороздо-гораздо больше, чем эти две
  • 1:07 - 1:11
    вещи. И я хочу привести несколько примеров этого. Итак, в качестве примера я
  • 1:11 - 1:14
    хочу привести то, что называется цифровой подписью. Итак, цифровая подпись,
  • 1:14 - 1:19
    в своей основе, - это аналог росписи. Росписи,
  • 1:19 - 1:23
    которую вы ставите на документах, в основном, вы подписываете
  • 1:23 - 1:28
    документы одной и той же росписью. Вы так же ставите одну и ту же роспись
  • 1:28 - 1:32
    на всех документах, которые вы хотите подписать. В цифровом мире, это не возможно,
  • 1:32 - 1:37
    поскольку атакующий только что получивший один, подписанный мной документ, сможет
  • 1:37 - 1:41
    скопипастить мою роспись на другой документ и подстроить так,
  • 1:41 - 1:45
    будто я сам его подписал. Итак, просто невозможно использовать одну
  • 1:45 - 1:50
    и ту же цифровую подпись для всех документов, которые я подписываю. Мы поговорим о том,
  • 1:50 - 1:54
    как генерировать цифровые подписи во второй части курса. Это
  • 1:54 - 1:58
    вполне интересные примитивы и мы уже знаем, как они работают. Так что
  • 1:58 - 2:02
    я дам вам совет, способ работы цифровых подписей основан на ассоциации
  • 2:02 - 2:06
    цифровой подписи с функцией, которая делает подписываемый контент верифицированным. Так что у атакующего
  • 2:06 - 2:10
    пытающегося скопировать вашу подпись с одного документа на другой, ничего не получится
  • 2:10 - 2:15
    потому что подпись одного документа не будет соответствовать значению функции
  • 2:15 - 2:19
    от данных в другом документе, и в результате подпись не будет подтверждена. И как я сказал
  • 2:19 - 2:23
    позднее мы рассмотрим полностью, как создавать цифровые подписи и тогда мы
  • 2:23 - 2:27
    докажем, что такие конструкции безопасны. Другое применение криптографии, о котором я
  • 2:27 - 2:31
    хочу упомянуть - это анонимные сообщения. Итак, представим пользователя
  • 2:31 - 2:36
    Алису, которая хочет обратиться к некому чат-серверу Бобу. И положим, что она хочет поговорить о
  • 2:36 - 2:40
    медицинских условиях и хочет сделать это анонимно, так что
  • 2:40 - 2:45
    чат-сервер не может узнать кто она. Прекрасно, существует стандартный метод
  • 2:45 - 2:50
    mixnet, который позволяет Алисе общаться в публичном интернет с бобом посредством
  • 2:50 - 2:55
    последовательности прокси, так что в конце общения Боб не имеет представления, с кем он
  • 2:55 - 3:00
    только что разговаривал. Способ Микснетов основан на том, что Алиса шлёт свои сообщения
  • 3:00 - 3:04
    Бобу через последовательность прокси-серверов. Эти сообщения шифруются
  • 3:04 - 3:08
    и дешифруются соответственно так, что Боб не знает, с кем он разговаривал и прокси-сервера
  • 3:08 - 3:13
    сами не знают, что Алиса разговаривает с Бобом, или фактически, кто
  • 3:13 - 3:17
    с кем разговаривает вообще. Один интересный момент об этом анонимном
  • 3:17 - 3:20
    канале общения состоит в том, что он двунаправленный. Иными словами, хотя
  • 3:20 - 3:25
    Боб не знает, скем он разговаривает, он тем не менее может отвечать Алисе и
  • 3:25 - 3:29
    Алиса будет получать эти сообщения. Имея анонимные сообщения, мы можем построить
  • 3:29 - 3:34
    другие механизмы защиты. И я хочу дать вам пример, который называется анонимные
  • 3:34 - 3:38
    электронные платежи. Помним, что в физическом мире, если у меня есть физический
  • 3:38 - 3:42
    доллар, я могу пойти в книжный магазин и купить книгу и торговец не будет знать
  • 3:42 - 3:47
    кто я. Вопрос в том, можем ли мы сделать то же самое в цифровом
  • 3:47 - 3:51
    мире. В цифровом мире, в частност, Алиса может иметь электронный доллар,
  • 3:51 - 3:56
    элетронную долларовую монету. И она может хотеть заплатить элетронный доллар неким онлайн-
  • 3:56 - 4:01
    торговцам, допустим в некий онлайновый книжный магазин. Теперь мы бы хотели сделать это так,
  • 4:01 - 4:06
    чтобы когда Алиса тратит свою монету в магазине, магазин не знал бы
  • 4:06 - 4:11
    кем является Алиса. Т.е. мы обеспечиваем такую же анонимность, когда получаем платёж наличными.
  • 4:11 - 4:15
    Теперь пролема в том, что в электронном мире Алиса может взять монету, которая у неё
  • 4:15 - 4:20
    есть, эту долларовую монету, и перед тем, как потратить её, она может её копировать.
  • 4:20 - 4:24
    И затем, вдруг, вместо наличия просто долларовой монеты, теперь,
  • 4:24 - 4:28
    вдруг, у неё есть три долларовых монеты и они все, разумеется, одинаковые, и
  • 4:28 - 4:32
    ничто ей не мешает взять эти копии и
  • 4:32 - 4:36
    потратить их у других торговцев. И вопрос в том, как мы обеспечиваем анонимность
  • 4:36 - 4:40
    электронных денег? Но в то же время, препятствуя Алисе дважды потратить
  • 4:40 - 4:44
    долларовую монету у разных продавцов. В некотором смысле возникает противоречие между
  • 4:44 - 4:48
    анонимностью и безопасностью, потому что если есть анонимные деньги
  • 4:48 - 4:52
    ничто не помешает Алисе потратить дважды монету и так как монета
  • 4:52 - 4:56
    анонимная, мы не имеем возможности сказать, кто совершил это мошенничество. И вопрос в том
  • 4:56 - 5:00
    как нам решить это противоречие. И оказывается, это вполне выполнимо. И мы поговорим об
  • 5:00 - 5:05
    анонимных электронных деньгах позже. В качестве намёка, скажу что,
  • 5:05 - 5:09
    то как мы это обычно делаем, убедившись, что если Алиса тратит монету
  • 5:09 - 5:14
    только раз, никто не знает кто она, но если она потратит еще раз,
  • 5:14 - 5:18
    внезапно, её личность становится полностью известной и её могут постигнуть
  • 5:18 - 5:22
    все виды юридических проблем. Таким образом анонимная цифровая наличность будет работать
  • 5:22 - 5:26
    на высоком уровне, и вдальнейшем в ходе занятий мы увидим, как реализовать это.
  • 5:26 - 5:30
    Еще одно применение криптографии связано с более абстрактными протоколами, но
  • 5:30 - 5:34
    прежде чем подвести общий итог, я хочу привести вам два примера. Итак:
  • 5:34 - 5:38
    первый пример связан с избирательными системами. Так вот - избирательная проблема.
  • 5:38 - 5:43
    Предположим... у нас есть две партии: "партия-0" и "партия-1". И избиратели голосуют за них.
  • 5:43 - 5:47
    Например, этот избиратель проголосовал за "партию-0", а этот - за "паритю-1"...
  • 5:47 - 5:52
    И так далее. В этих выборах "партия-0" набрала три голоса, а "партия-1" - два голоса.
  • 5:52 - 5:57
    Таким образом победитель выборов конечно же "партия-0".
  • 5:57 - 6:02
    Но в общем случае, победителем выборов является партия, набравшая большинство голосов.
  • 6:02 - 6:06
    Итак, избирательная проблема в следующем. Избиратели хотели бы как-то посчитать
  • 6:06 - 6:12
    большинство голосов, но сделать это так, чтобы ничего
  • 6:12 - 6:17
    не было известно о каждом отдельном голосе. Хорошо? Итак вопрос: как это сделать?
  • 6:17 - 6:21
    И чтобы сделать это, мы представим "избирательный центр", который поможет нам
  • 6:21 - 6:27
    вычислить большинство, сохранив тайну голосования. И единственное что каждая из партий
  • 6:27 - 6:32
    должна сделать, это отправить забавные шифры своих голосов "за" в избирательный
  • 6:32 - 6:37
    центр, таким образом в конце выборов, "избирательный центр" сможет
  • 6:37 - 6:42
    посчитать и определить победителя выборов, при этом
  • 6:42 - 6:47
    больше ничего не будет известо о каждом отдельном голосе. информация об индивидуальных
  • 6:47 - 6:51
    голосах остаётся полностью закрытой. Естественно, "избирательный центр" также
  • 6:51 - 6:56
    должен проверить что, например, данный избиратель имеет право голосовать и что избиратьель
  • 6:56 - 7:01
    проголосовал только раз. Но кроме этой информации "избирательный центр"
  • 7:01 - 7:05
    и весь остальной мир ничего не будут знать о голосе избирателя -
  • 7:05 - 7:10
    только результат выборов. Вот это пример протокола, который включает в себя шесть сторон.
  • 7:10 - 7:14
    В данном случае, есть пять избирателей в одном "избирательном центре". Эти стороны
  • 7:14 - 7:19
    вычисляются между собой. В конце выислений результат выборов известен,
  • 7:19 - 7:24
    но ничего кроме этого не известно об индивидуальных голосах.
  • 7:24 - 7:29
    Подобная проблема поднимается в контексте частных аукционов. Так в частном
  • 7:29 - 7:34
    аукционе у каждого участника есть своя ставка, означающая, что он хочет участвовать в торгах. А теперь предположим, что
  • 7:34 - 7:39
    используемый механизм аукциона, называемый аукционом Викри, где
  • 7:39 - 7:45
    по определению аукциона Викри, победителем является предложивший наивысшую цену.
  • 7:45 - 7:50
    Но сумма, которую платит победитель является на самом деле второй по величине ставкой. Таким образом, он платит
  • 7:50 - 7:55
    вторую по величине ставку. Итак, это стандартный механизм аукциона называется
  • 7:55 - 8:00
    аукционом Викри. И теперь чтобы мы хотели бы сделать - это просто позволить участникам
  • 8:00 - 8:05
    посчитать, чтобы чтобы выяснить, кто предложит самую высокую цену , и сколько он должен заплатить,
  • 8:05 - 8:09
    но кроме этого, чтобы все другие сведения об отдельных ставках
  • 8:09 - 8:14
    остались в тайне. Так, например, фактическая сумма ставки, которая предложит самую высокую цену
  • 8:14 - 8:19
    должна оставаться тайной. Единственное, что должно стать известным является вторая по величине ставка
  • 8:19 - 8:24
    и личность предложившего самую высокую цену. Итак, еще раз, то что мы сделаем -
  • 8:24 - 8:28
    это введем "аукционый центр", и таким же образом , по сути, каждый
  • 8:28 - 8:33
    будет отправлять свои зашифрованные ставки в "аукционный центр", который
  • 8:33 - 8:37
    выислит личность победителя и по сути также вычислит вторую по величине ставку,
  • 8:37 - 8:42
    но кроме этих двух величин ничего не будет известно
  • 8:42 - 8:46
    об отдельно взятых ставках. Это на самом деле пример гораздо более общей проблемы
  • 8:46 - 8:50
    называемой безопасными многосторонними вычислениями. Позвольте пояснить, что же такое безопасные многосторонние вычисления
  • 8:50 - 8:55
    Итак, здесь, по сути абстрактно, у участников есть сами по себе секретные входные данные.
  • 8:55 - 8:59
    В случае с выборами - это голоса "за".
  • 8:59 - 9:03
    В случае с аукционом секретными входными данными являются тайные ставки.
  • 9:03 - 9:07
    И всё что нужно сделать - это вычислить нектороую зависимость (функцию) от входных данных.
  • 9:07 - 9:11
    В случае с выборами - искомой функцией является "большинство", в случае с аукционом -
  • 9:11 - 9:15
    функцией является второе по величине число среди чисел от x1 до x4.
  • 9:15 - 9:19
    И вопрос в том, как добиться того, чтобы значение функции
  • 9:19 - 9:23
    стало известно, но ничего кроме этого не было известно об отдельно взятом голосе.
  • 9:23 - 9:28
    Позвольте, я покажу вариант неправильной небезопасной реальзации этого. Вначале представим доверенную сторону.
  • 9:28 - 9:32
    И потом, это доверенный оргн просто собирает отдельные входные данные.
  • 9:32 - 9:36
    И он, своего рода, "обещает" держать отдельные входные данные в тайне , так что только он будет знать их.
  • 9:36 - 9:41
    И в итоге он выдаёт значение функции миру.
  • 9:41 - 9:45
    Таким образом, идея такова, что значение функции стали достоянием общественности и
  • 9:45 - 9:49
    ничего не стало известным об отдельных голосах. Но и конечно есть
  • 9:49 - 9:53
    доверенный орган которому вы доверяете, но если по каким-то причинам он окажется не заслуживающим доверия, тогда у вас проблема.
  • 9:53 - 9:57
    Это является центральной теоремой в криптографии и
  • 9:57 - 10:01
    на самом деле это довольно удивительный факт. В ней говорится, что любое вычисление
  • 10:01 - 10:05
    которое вы хотели бы сделать, любая функция F, которую вы хотите вычислить, и которую можете вычислить
  • 10:05 - 10:09
    с доверенным органом - вы можете также сделать без него.
  • 10:09 - 10:14
    Позвольте мне на высоком уровне объяснить, что это значит. В принципе, то, что мы собираемся сделать, это
  • 10:14 - 10:18
    мы собираемся избавиться от органа. Таким образом, стороны фактически не будут отправлять
  • 10:18 - 10:22
    их входные данные в орган и фактически больше не будет органа в системе.
  • 10:22 - 10:26
    Вместо этого что будут делать стороны - это
  • 10:26 - 10:31
    общаться друг с другом используя некий протокол. Таким образом, что в конце протокола
  • 10:31 - 10:35
    вдруг значение функции становится известно всем. И больше
  • 10:35 - 10:39
    ничего кроме значения функции не становится известным. Другими словами,
  • 10:39 - 10:44
    индивидуальные входные данные остаются в тайне. Но в при этом нет органа,
  • 10:44 - 10:48
    а только способ передачи от одного к другому таким образом чтобы стал известен итоговый результат - выходные данные.
  • 10:48 - 10:52
    Этот достаточно общий результат - это своего рода удивительный факт, что это вообще выполнимо.
  • 10:52 - 10:56
    Это на самом деле так и ближе к концу занятий мы увидим как это сделать.
  • 10:56 - 11:01
    Eсть некоторые приложения криптографии, которые я не могу
  • 11:01 - 11:06
    классифицировать любым другим способом , кроме как сказать, что они являются чисто магическое. Позвольте мне дать вам
  • 11:06 - 11:10
    два примера этого. Итак:
    первый - это то, что называется Частными облачными вычислениями.
  • 11:10 - 11:15
    Поэтому я дам вам пример поиска Google просто чтобы проиллюстрировать.
  • 11:15 - 11:20
    Итак, представьте, у Алисы есть поисковый запрос который она хочет выполнить. Оказывается что
  • 11:20 - 11:25
    есть особенные схемы шифрования, такие что Алиса может отправить свой
  • 11:25 - 11:30
    зашифрованый запрос в Google. И после этого, в зависимости от схемы шифрования
  • 11:30 - 11:35
    Googe может выполнить вычисления на зашифрованных значениях не зная, что в тексте.
  • 11:35 - 11:40
    Google vj;tn запустить собственные алгоритмы массового поиска на зашифрованом запросе
  • 11:40 - 11:45
    и получить зашифрованные результаты. Хорошо. Google вернёт
  • 11:45 - 11:49
    зашифрованные результаты Алисе. Алиса расшифрует их и получит результат.
  • 11:49 - 11:54
    но магия тут в том. что всё что увидел Google это просто шифрованый запро и ничего больше.
  • 11:54 - 11:57
    И так, в итоге Google не знает что Алиса искала,
  • 11:57 - 12:02
    тем не менее, Алиса узнала точно, что она хотела узнать.
  • 12:02 - 12:06
    Хорошо. Это магическое свойство схем шифрования.
  • 12:06 - 12:10
    Но если честно, только новые разработки, двух - трех-летней
  • 12:10 - 12:14
    давности позволяют вычислять шифрованные данные даже в тех случаях когда мы точно не знаем
  • 12:14 - 12:19
    что внутри шифровки. Теперь, прежде чем бежать и думать о применении этого,
  • 12:19 - 12:22
    Ддлжен вас предупредить, что это в настоящий момент только теория, в том смысле
  • 12:22 - 12:26
    что запуск Google-поиск с шифрованными даннми, вероятно, займет миллиард лет.
  • 12:26 - 12:31
    Но тем не менее сам факт того, что это выполнимо уже довольно
  • 12:32 - 12:34
    удивительно, и уже весьма полезно для относительно простых вычислений.
  • 12:34 - 12:39
    Несомненно, мы увидим нексколько таких приложений позже. Еще одно волшебное приложение
  • 12:39 - 12:42
    которое я хотел бы продемонстрировать это так называемое "нулевое знание". И в частности, я расскажу
  • 12:42 - 12:46
    вам о том, что называется "доказательство с нулевым разглашением". Итак, вот...
  • 12:46 - 12:50
    ...что происходит, если есть определенное число N, которое знает, Алиса.
  • 12:50 - 12:54
    И способ как число N было построено - как произведение двух больших простых чисел. Итак, представьте
  • 12:54 - 12:59
    Здесь мы имеем два простых чисел, P и Q. Каждый, что вы можете думать его как 1000 цифр.
  • 12:59 - 13:04
    И вы , наверное, знаете , что умножение двух 1000- значных числа это довольно легко. Но если...
  • 13:04 - 13:08
    я просто дам вам их произведение, выяснить их разложение на простые числа
  • 13:08 - 13:12
    на самом деле довольно сложно. И в самом деле , мы собираемся воспользоваться тем, что розложение на простые числа сложнО
  • 13:12 - 13:17
    для построения криптосистем с открытым ключом во второй половине курса.
  • 13:17 - 13:21
    Итак, Алиса, случается, есть это число N, и она также знает, факторизация
  • 13:21 - 13:25
    N. Теперь Боб просто имеет номер N. Он не знает на самом деле факторизации.
  • 13:25 - 13:29
    Магические факт о нулевой знаний доказательство знаний, сейчас, что
  • 13:29 - 13:33
    Алиса может оказаться Боб, что она знает факторизации N. Да, вы можете фактически
  • 13:33 - 13:37
    Дайте этому доказательство Боб, что Боб можно проверить и стать убежден в том, что Алиса
  • 13:37 - 13:42
    знает факторизации N, однако Боб узнает ничего на всех. О факторах, P
  • 13:42 - 13:47
    и Q и это доказуемо. Боб абсолютно узнает ничего вообще про
  • 13:47 - 13:51
    факторы, P и Q. И заявление на самом деле это очень, очень общие. Это
  • 13:51 - 13:55
    не только о доказав факторизации N. В самом деле почти любой головоломки, что вы
  • 13:55 - 14:00
    хотите доказать, что вы знаете ответ, вы можете доказать, что это ваши знания. Так что если
  • 14:00 - 14:04
    у вас есть кроссворд, что вы решили. Ну, может быть это не кроссворды
  • 14:04 - 14:08
    Лучший пример. Но если у вас есть как головоломки Судоку, например, что вы хотите
  • 14:08 - 14:12
    чтобы доказать, что вы решили, вы можете доказать это Боб таким образом, что бы узнать, Боб
  • 14:12 - 14:17
    ничего вообще о решении, и пока Боб будет убежден что вы действительно
  • 14:17 - 14:21
    есть решение этой головоломки. Все в порядке. Так что те являются своего рода магический приложениями.
  • 14:21 - 14:25
    И поэтому Последнее, что я хочу сказать, что Современная криптография является очень
  • 14:25 - 14:29
    строгие науки. И в самом деле, каждый концепция, мы 're gonna описать является собираешься
  • 14:29 - 14:33
    Выполните три очень строгий, ладно, и мы 're gonna видеть эти три шага
  • 14:33 - 14:37
    снова и снова и снова так я хочу объяснить, какие они есть. Так первая вещь
  • 14:37 - 14:41
    Мы ты собираешься делать, когда мы представляем нового примитива, как цифровая подпись
  • 14:41 - 14:46
    Мы 're gonna указать точно модель угрозы. То есть, что может
  • 14:46 - 14:50
    Злоумышленник ду атаковать цифровой подписи и какова его цель в ковка
  • 14:50 - 14:54
    подписи? ОК, поэтому мы будем точно определять, что это означает для подписи
  • 14:54 - 14:58
    например, что она неподдельна.
    Неподдельна. Ладно, я даю цифровую
  • 14:58 - 15:02
    подпись в качестве примера. Для каждый примитив, мы описываем, мы будем
  • 15:02 - 15:06
    точно определите, какова модель угрозы.
    Затем мы 're gonna предлагать строительство
  • 15:06 - 15:11
    и затем мы 're gonna дать доказательство что любой злоумышленник, который может атаковать
  • 15:11 - 15:16
    строительство в рамках этой модели угрозы. Что злоумышленник может также использоваться для решения некоторых
  • 15:16 - 15:20
    базовым сложная проблема. И, как следствие, если проблема действительно трудно, что
  • 15:20 - 15:24
    на самом деле доказывает, что не злоумышленник может нарушить строительства при модели угрозы.
  • 15:24 - 15:28
    Все в порядке. Однако эти три шага на самом деле очень важны. В случае подписей
  • 15:28 - 15:32
    мы определяем, что означает для подпись тягучесть, а после мы
  • 15:32 - 15:36
    даем некую конструкцию, и затем, к примеру, мы говорим, что любой, кто может сломать нашу
  • 15:36 - 15:40
    конструкцию, которую может затем применить для, скажем, ряда факторов, которые могут оказаться
  • 15:40 - 15:44
    сложной проблемой. Итак, мы будем следовать следующим трем действиям во всем, и
  • 15:44 - 15:47
    тогда вы увидите, как это на самом деле происходит. Ладно, на этом у меня
  • 15:47 - 15:51
    все. В следующем сегменте мы поговорим немного об истории
  • 15:51 - 15:52
    криптографии.
Title:
What is cryptography? (15 min)
Description:

Субтитры далеко не идеальны, но в целом, о чем идет речь, понять можно.

more » « less
Video Language:
English

Russian subtitles

Revisions