[Powered by Google Translate] [Віженер Cipher] [Nate Хардісон - Гарвардський університет] [Це CS50. - CS50.TV] Знайомства Аліса. Аліса закохана в Боба. На щастя для Аліси, Боб також має очей для неї. На жаль, для їх подає надії роман, не тільки батьки Аліси не схвалюють Боб, але кращий друг Аліси, Евелін, є таємниця закохана в Боб і егоїстично хоче зберегти їх один від одного за всяку ціну. Для передачі секретних повідомлень один одному, що батьки Аліси не можу зрозуміти, Аліса і Боб використовував шифр Цезаря, , Який працює шляхом зсуву алфавіту на певну кількість букв як спосіб створення нового алфавіту. Кожна буква у вихідному алфавіті потім заміщений відповідним листом У новій зрушені алфавіту. Улюблений номер Аліси 3, який Боб знає, таким чином, вона використовує 3, як її ключем. Коли вона зсувається англійського алфавіту на 3 букви, Стає D, B стає E, C стає F, і так далі. Коли вона добирається до кінця алфавіту - на листи, X, Y, Z і - вона просто обтікає повернутися до початку алфавіту і замінники X з A, Y з B, і Z з C. Так що, коли Аліса відправляється в шифрувати свої таємні повідомлення Бобу, а саме: "Зустрінь мене в парк на 11 ранку», вона просто робить відповідні заміни. M стає P, E стає H, і так далі, поки її незашифрованому вигляді текстового повідомлення перетворюються в зашифрований текст шифру: "Phhw тел DW WKH sdun DW hohyhq ДП" , Безумовно, не найромантичніший звучання, але Аліса вважають, що він буде робити. Аліса дає повідомлення для Евеліна доставити на будинок Боба. Але замість Евелін бере його до себе в кімнату і намагається зламати код. Одна з перших речей, Евелін відзначає, що буква H відбувається 7 разів в повідомленні, багато більше разів, ніж будь-яка інша буква. Знаючи, що буква Е є найбільш поширеним в англійській мові, відбувається майже 13% часу, Евелін припускає, що H була замінена E для того, щоб зробити таємне повідомлення і намагається за допомогою ключа від 3 до розшифровки. Через кілька хвилин, Евелін з'ясовує плани Аліси і злобно називає батьки Аліси. Якби Аліса і Боб прийнято CS50, вони б знали цього Частота аналізу напад на шифр Цезаря, , Що дозволяє їй бути розбита досить швидко. Вони також знали, що шифр легко піддаються атака грубої сили, Евелін якої міг би спробувати всі можливі 25 клавіш, або зрушення англійського алфавіту, для того, щоб розшифрувати повідомлення. Чому 25 клавіш, а не 26? Ну, спробуйте ч. яку букву на 26 позицій, і ви зрозумієте, чому. У всякому разі, атака грубої сили взяли б Евелін трохи довше але не досить довго, щоб утримати її від зриву Аліси і Боба плани, особливо якщо Евелін має допомоги комп'ютера , Які можуть копіювати через всі 25 випадків в одну мить. Таким чином, ця проблема також страждають інші, які використовували шифр Цезаря, і, отже, люди почали експериментувати з більш складними шифрами заміни що використання декількох значень зсуву замість одного. Один з найвідоміших з них називається Віженер шифр. Як ми можемо отримати декілька значень зсуву? Ну, а за допомогою ряду в якості ключа, ми використовуємо слово для ключа. Ми будемо використовувати кожну букву в ключовому для генерації чисел, і ефекту є те, що ми будемо мати кілька шифр Цезаря в стилі ключів для переміщення букв. Давайте подивимося, як це працює за допомогою шифрування повідомлення Аліси до Боба: Зустрінемося в парку на 11 ранку Я, особисто, думаю, бекон смачна, так що давайте використовувати його в якості ключа. Якщо ми візьмемо повідомлення в незашифрованому вигляді, текстовий формат, ми бачимо, що це 25 букв. Бекон має тільки 5 букв, так що ми повинні повторити 5 разів щоб він відповідав довжині простий текст. Бекон Бекон Бекон Бекон Бекон. В якості короткого сторону, якщо число букв у звичайний текст не ділити чисто по кількості букв у ключових, Ми просто в кінцевому остаточне повторення наших ключових рано, використовуючи тільки букви ми повинні зробити все, збігаються. Тепер ми йти про пошук зрушення цінностей. Ми збираємося зробити це за допомогою позиції кожної букви з наших ключових - бекон - В А-Я алфавітом. Так як ми комп'ютерних вчених, ми хотіли почати відлік з нуля, а не 1, так що ми збираємося сказати, що положення першої літери бекон - B - знаходиться в положенні 1 в нуль-індексований за алфавітом Z, не 2, а позиція дорівнює нулю, а не 1. Використовуючи цей алгоритм, ми можемо знайти зрушення значень для кожної літери. Щоб зашифрувати текст і генерувати зашифрований текст, ми просто перекласти кожної букви в текст на задану величину, так само, як ми робимо з шифр Цезаря, упаковка з Z назад у разі необхідності. M отримує зрушать на 1 місце, щоб стати N. Перша E не зрушується на всіх, але ми зрушуємо другий E на 2 місця для G і T на 14 місць для H. Якщо ми будемо працювати через звичайний текст, ми в підсумку, "Negh ZF AV HUF pcfx BT gzrwep Оз". Знову ж таки, не дуже романтично звучить, але безумовно загадковим. Якщо Аліса і Боб знав про Віженер шифр, б вони були в безпеці від цікавих очей Евелін? Що ви думаєте? Чи хочете ви увійти в свій банківський рахунок, якщо ваш банк вирішив використовувати Шифр Віженер для шифрування зв'язку з використанням пароля в якості ключа? Якби я був тобою, я б не став. І в той час Евелін може бути зайнятий досить довго для Аліси і Боба, щоб їх зустріти в експлуатацію, воно того не варто для Аліси і Боба, щоб ризикувати. Шифр Віженер відносно легко розбити, якщо ви знаєте довжину ключа тому що тоді ви можете звертатися зашифрований текст шифру як добуток декількох переплетених шифрів Цезаря. Знаходження довжини ключа не дуже складно, або. Якщо вихідний текстові повідомлення досить довго, що деякі слова зустрічаються кілька разів, в кінці кінців ви побачите повторення, що виникають в зашифрований текст шифру, як у цьому прикладі, де ви бачите MONCY з'являються двічі. Крім цього, ви можете виконати грубої сили атаки на шифр. Це дійсно займає значно більше, ніж грубою силою атаки на шифр Цезаря, що можна зробити майже миттєво за допомогою комп'ютера так як замість 25 випадків, щоб перевірити вас є 26 ⁿ - 1 можливостям, де п довжини невідомого ключа. Це тому, що кожна буква в ключі може бути будь-який з 26 букв, А до Z, а розумна людина постарається використовувати ключ, який не може бути знайдено в словнику, Це означає, що ви повинні перевірити всі дивні комбінації букв, як ZXXXFF, і не тільки пара сотень тисяч слів у словнику. Мінус 1 приходить в математиці, тому що ви не хотіли б використовувати ключ тільки це, так як з нашої нульовою індексованих алфавіт, який дасть вам той же ефект як за допомогою шифру Цезаря з ключовим нуля. У всякому разі, 26 ⁿ - 1 дійсно стає великим досить швидко, але поки ви напевне не хотіли б спробувати зламати шифр рукою таким чином, це, безумовно, здійснимі за допомогою комп'ютера. На щастя для Аліси і Боба, а також для онлайн-банкінгу, криптографи розробили більш безпечні способи для шифрування секретних повідомлень від цікавих очей. Втім, це тема для іншого часу. Мене звати Нейт Хардісон. Це CS50.