1 00:00:02,940 --> 00:00:08,500 Інтернет: шифрування й відкриті ключі 2 00:00:08,990 --> 00:00:13,730 Привіт! Мене звати Міа Гіл-Епнер, моя спеціальність — комп’ютерні науки в УК Берклі, 3 00:00:13,730 --> 00:00:19,070 і я працюю в Міністерстві оборони США над зберіганням даних у безпеці. Інтернет — 4 00:00:19,070 --> 00:00:25,510 це відкрита й публічна система. Ми всі надсилаємо й отримуємо дані через спільні 5 00:00:25,510 --> 00:00:29,579 провідні комунікації. Та хоча це відкрита система, ми все ж обмінюємося великою 6 00:00:29,579 --> 00:00:35,890 кількістю приватних даних. Це номери кредитних карток, банківські дані, паролі, імейли, тощо. 7 00:00:35,890 --> 00:00:40,690 Тож як усі ці приватні дані зберігаються в таємниці? Будь-які дані можна зберігати 8 00:00:40,690 --> 00:00:45,299 в таємниці завдяки процесу під назвою "шифрування", "кодування", або "заміна повідомлення 9 00:00:45,309 --> 00:00:49,740 для приховування оригінального тексту". Дешифрування — процес декодування цього 10 00:00:49,740 --> 00:00:55,970 повідомлення, щоб воно було читабельним. Люди роблять це століттями. Одним з перших 11 00:00:55,970 --> 00:01:02,549 відомих методів шифрування був шифр ​​Цезаря. Названий на честь римського генерала Юлія Цезаря, 12 00:01:02,549 --> 00:01:07,220 який шифрував свої військові команди, щоб повідомлення не перехопили вороги 13 00:01:07,220 --> 00:01:12,540 і не могли його прочитати. Шифр Цезаря — це алгоритм, який замінює кожну букву 14 00:01:12,540 --> 00:01:16,979 в оригінальному повідомленні на букву, що стоїть на кілька кроків далі за алфавітом. 15 00:01:16,979 --> 00:01:22,429 Якщо цифра відома лише відправникові й отримувачеві, вона називається ключем. 16 00:01:22,429 --> 00:01:28,640 Це дозволяє читачеві розблокувати секретне повідомлення. Наприклад, якщо оригінальне 17 00:01:28,640 --> 00:01:35,869 повідомлення — "HELLO", то, за алгоритмом шифру Цезаря з ключем 5, зашифроване слово 18 00:01:35,869 --> 00:01:43,259 було б таким... Щоб розшифрувати повідомлення, одержувач просто скористався б новим ключем 19 00:01:43,259 --> 00:01:50,179 і змінив процес. Але з шифром Цезаря є значна проблема: будь-хто може легко зламати код 20 00:01:50,179 --> 00:01:55,569 чи розшифрувати повідомлення, спробувавши всі можливі ключі, а в англійському алфавіті 21 00:01:55,569 --> 00:02:00,389 лише 26 літер, і це означає, що вам потрібно буде спробувати максимум 26 клавіш, щоб 22 00:02:00,389 --> 00:02:06,810 розшифрувати повідомлення. Спробувати 26 ключів не дуже складно, це займе не більше 23 00:02:06,810 --> 00:02:13,440 пари годин. Тож ускладнімо завдання. Замість перенесення кожної букви на одну й ту саму 24 00:02:13,440 --> 00:02:18,280 кількість кроків, змістимо їх на іншу кількість кроків. У цьому прикладі десятизначний ключ 25 00:02:18,280 --> 00:02:22,960 показує, на скільки кроків буде змінено кожну наступну букву, щоб зашифрувати довше 26 00:02:22,960 --> 00:02:32,130 повідомлення. Вгадати цей ключ дуже важко. Для десятизначного шифру може бути 10 мільярдів 27 00:02:32,130 --> 00:02:39,580 рішень. Звичайно, жодна людина не могла б це вирішити, це займе багато століть. 28 00:02:39,580 --> 00:02:43,430 Але звичайному комп’ютеру сьогодні знадобиться лише кілька секунд, щоб спробувати всі 29 00:02:43,430 --> 00:02:51,010 10 мільярдів можливостей. Оскільки сьогодні злодії озброєні комп’ютерами замість олівців, 30 00:02:51,010 --> 00:02:56,210 то як можна зашифрувати повідомлення так надійно, щоб їх було занадто важко зламати? 31 00:02:56,210 --> 00:03:02,700 "Занадто важко" означає забагато можливостей для обчислення за розумну кількість часу. 32 00:03:02,700 --> 00:03:08,620 Сьогодні безпечна комунікація шифрується за допомогою 256-бітних ключів. Це означає, 33 00:03:08,620 --> 00:03:15,760 що комп’ютер злодія, який перехоплює ваше повідомлення, має спробувати стільки варіантів... 34 00:03:15,760 --> 00:03:23,160 поки не виявить ключ і не зламає повідомлення. Навіть якби у вас було 100 000 суперкомп'ютерів, 35 00:03:23,160 --> 00:03:28,870 і кожен з них пробував би мільйон мільярдів ключів щосекунди, то на кожен варіант знадобилося б 36 00:03:28,870 --> 00:03:37,690 трильйони трильйонів років, просто щоб зламати одне повідомлення з 256-бітним шифруванням. 37 00:03:37,690 --> 00:03:43,320 Звичайно, комп'ютерні чіпи стають вдвічі швидшими і вдвічі меншими щороку. Якщо цей 38 00:03:43,320 --> 00:03:48,400 темп експоненціального прогресу продовжиться, сьогоднішні неможливі задачі буде вирішено 39 00:03:48,400 --> 00:03:54,160 лише за кілька сотень років у майбутньому, і 256 біт буде недостатньо для безпечності. 40 00:03:54,160 --> 00:04:00,890 І нам уже довелося збільшити стандартну довжину ключів, щоб не відставати від швидкості комп'ютерів. 41 00:04:00,890 --> 00:04:05,540 Хороша новина в тому, що використання довшого ключа не надто ускладнює шифрування 42 00:04:05,540 --> 00:04:11,660 повідомлень, але це експоненціально збільшує кількість здогадок для злому шифру. Коли 43 00:04:11,660 --> 00:04:16,779 відправник і одержувач мають один і той самий ключ для кодування й декодування повідомлення, 44 00:04:16,779 --> 00:04:23,349 це називається "симетричне шифрування". При ньому, як і в шифрі Цезаря, секретний ключ 45 00:04:23,349 --> 00:04:29,710 має бути заздалегідь узгоджений між двома особами. Це зручно для людей, але Інтернет 46 00:04:29,710 --> 00:04:35,550 є відкритим і загальнодоступним, тому неможливо, щоб два комп’ютери «зустрілися» приватно і 47 00:04:35,550 --> 00:04:40,999 домовились про секретний ключ. Натомість комп'ютери використовують асиметричні ключі: 48 00:04:40,999 --> 00:04:47,120 відкритий ключ, який можна надати кому завгодно, і приватний ключ, що не розкривається. Відкритий 49 00:04:47,120 --> 00:04:52,840 ключ використовується для шифрування даних, і будь-хто може зашифрувати ним повідомлення, 50 00:04:52,840 --> 00:05:01,270 але секрет може розшифровати лише комп'ютер з доступом до приватного ключа. Це працює 51 00:05:01,270 --> 00:05:06,129 математично, але це інша історія. Просто уявіть, ніби у вас є особиста поштова скринька, 52 00:05:06,129 --> 00:05:10,820 куди кожен може класти листи, але для цього їм потрібен ключ. Ви можете зробити багато 53 00:05:10,820 --> 00:05:16,309 копій ключа й надіслати його своєму другу або навіть просто зробити ключ загальнодоступним. 54 00:05:16,309 --> 00:05:20,790 Ваш друг або навіть незнайомець може скористатися відкритим ключем, щоб отримати 55 00:05:20,790 --> 00:05:25,630 доступ до вашої скриньки й покласти листа. Але лише ви можете відкрити скриньку своїм приватним 56 00:05:25,630 --> 00:05:30,959 ключем і отримати доступ до секретних повідомлень. І ви можете відправити захищене повідомлення 57 00:05:30,959 --> 00:05:36,431 назад своєму другові, скориставшись відкритим ключем до його скриньки. Так ми обмінюваємось 58 00:05:36,431 --> 00:05:42,799 захищеними повідомленнями без узгодження приватного ключа. Криптографія відкритого ключа 59 00:05:42,799 --> 00:05:49,340 є основою всіх захищених повідомлень у відкритому інтернеті, включаючи протоколи безпеки, відомі 60 00:05:49,340 --> 00:05:55,290 як SSL та TLS, які захищають нас під час перегляду веб-сторінок. Ваш комп'ютер 61 00:05:55,290 --> 00:06:02,610 використовує це сьогодні, якщо ви бачите замочок або букви "https" в адресному рядку браузера. 62 00:06:02,610 --> 00:06:06,919 Це означає, що ваш комп'ютер використовує шифрування відкритого ключа для безпечного 63 00:06:06,919 --> 00:06:12,720 обміну даними з веб-сайтом. Усе більше людей користується інтернетом, тож передаватиметься 64 00:06:12,720 --> 00:06:18,790 все більше приватних даних, і необхідність у безпечності цих даних буде ще важливішою. 65 00:06:18,790 --> 00:06:23,460 Адже комп’ютери стають усе швидшими, нам доведеться розробити нові способи зробити 66 00:06:23,460 --> 00:06:29,596 шифрування заважким для його зламу комп'ютером. Це моє завдання, і воно завжди змінюється.