Шифрування має давню історію, починаючи з того часу, коли стародавні греки та римляни надсилали таємні повідомлення, замінюючи літери, що розшифровуються, лише секретним ключем. Приєднуйтесь до нашого короткого уроку історії та дізнайтеся більше про те, як працює шифрування.
У сьогоднішньому виданні HTG Explains ми дамо вам коротку історію шифрування, як вона працює, а також кілька прикладів різних типів шифрування - обов’язково ознайомтесь із попередньою версією, де ми пояснили чому стільки виродків ненавидять Internet Explorer .
Зображення xkcd , очевидно.
Перші дні шифрування
Стародавні греки використовували інструмент під назвою a
Скітале
для швидшого шифрування своїх повідомлень за допомогою
шифр транспозиції
- вони просто обмотують смужку пергаменту навколо циліндра, виписують повідомлення, а потім, коли розмотування не має сенсу.
Звичайно, цей метод шифрування можна досить легко зламати, але це один із перших прикладів шифрування, який фактично використовується в реальному світі.
У свій час Юлій Цезар використовував дещо подібний метод, зміщуючи кожну літеру алфавіту праворуч або ліворуч на кілька позицій - техніка шифрування, відома як Шифр Цезаря . Наприклад, використовуючи приклад шифру нижче, ви б написали "GEEK" як "JHHN".
Рівнина: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Шифр: DEFGHIJKLMNOPQRSTUVWXYZABC
Оскільки тільки передбачуваний одержувач повідомлення знав шифр, наступній людині буде важко розшифрувати повідомлення, яке здаватиметься безглуздим, але особа, яка мала шифр, могла легко його розшифрувати та прочитати.
Інші прості шифрувальні шифри, такі як площа Полібія використовували a поліальфабетний шифр що перелічував кожну букву з відповідними числовими позиціями зверху та збоку, щоб визначити, де була буква.
Використовуючи таблицю, подібну до наведеної вище, ви б написали букву "G" як "23", або "GEEK" як "23 31 31 43".
Машина Enigma
Під час Другої світової війни німці використовував машину Enigma передавати зашифровані передачі туди-сюди, на що йшли роки, перш ніж поляки змогли розібратися в повідомленнях і надати рішення союзним військам, що сприяло їхній перемозі.
Історія сучасного шифрування
Погодьмося: сучасні методи шифрування можуть бути надзвичайно нудною темою, тому замість того, щоб просто пояснювати їх словами, ми зібрали комікс, який розповідає про історію шифрування, натхненний твором Джеффа Мозера фігурна довідка AES . Примітка: очевидно, що ми не можемо передати все про історію шифрування в коміксі.
У ті часи люди не мали хорошого методу шифрування для захисту свого електронного зв'язку.
Люцифер так називали декілька найдавніших цивільних осіб блочні шифри , розроблений Горст Фейстель та його колеги з IBM.
Стандарт шифрування даних (DES) - це блок-шифр (форма спільного секретного шифрування), який було обрано Національне бюро стандартів як посадова особа Федеральний стандарт обробки інформації (FIPS) для Сполучених Штатів у 1976 р., Який згодом користувався широким використанням на міжнародному рівні.
Занепокоєння щодо безпеки та відносно повільна робота DES у програмному забезпеченні спонукали дослідників запропонувати різні альтернативні конструкції блокових шифрів, які почали з’являтися наприкінці 1980-х - на початку 1990-х років: приклади включають RC5 , Blowfish , ІДЕЯ , NewDES , БЕЗПЕЧНІШЕ , CAST5 і ФЕАЛЬ
Алгоритм шифрування Рійндаеля був прийнятий урядом США як стандартне шифрування симетричним ключем або Розширений стандарт шифрування (AES). AES був оголошений Національним інститутом стандартів і технологій (NIST) як US FIPS PUB 197 (FIPS 197) 26 листопада 2001 року після 5-річного процесу стандартизації, в якому було представлено та оцінено п'ятнадцять конкуруючих проектів до того, як Рійндаель був обраний найбільш відповідний алгоритм шифрування.
Виконання алгоритму шифрування
Існує багато алгоритмів шифрування, і всі вони підходять для різних цілей - двома основними характеристиками, які ідентифікують і диференціюють один алгоритм шифрування від іншого, є його здатність захищати захищені дані від атак, а також його швидкість та ефективність у цьому.
Як хороший приклад різниці швидкості між різними типами шифрування, ви можете використовувати утиліту порівняльного аналізу, вбудовану в майстер створення обсягу TrueCrypt - як бачите, AES на сьогоднішній день є найшвидшим типом сильного шифрування.
Існують як повільніші, так і швидші методи шифрування, і всі вони підходять для різних цілей. Якщо ви просто так часто намагаєтеся дешифрувати крихітний фрагмент даних, ви можете дозволити собі використовувати якнайсильніше можливе шифрування, або навіть зашифрувати його двічі за допомогою різних типів шифрування. Якщо вам потрібна швидкість, ви, мабуть, хочете скористатися AES.
Докладніше про тестування різних типів шифрування див. У звіті Вашингтонський університет Сент-Луїса , де вони провели масу тестувань на різних процедурах, і пояснили все це в дуже відчайдушній статті.
Типи сучасного шифрування
Усі вигадані алгоритми шифрування, про які ми вже говорили раніше, в основному використовуються для двох різних типів шифрування:
- Алгоритми симетричних ключів використовувати пов’язані або однакові ключі шифрування як для шифрування, так і для дешифрування.
- Асиметричні ключові алгоритми використовувати різні ключі для шифрування та дешифрування - це зазвичай називають криптографією з відкритим ключем.
Шифрування симетричного ключа
Щоб пояснити цю концепцію, ми використаємо метафору поштових послуг, описану в Вікіпедія щоб зрозуміти, як працюють симетричні ключові алгоритми.
Аліса кладе своє секретне повідомлення в коробку і замикає скриньку за допомогою навісного замка, від якого у неї є ключ. Потім вона надсилає скриньку Бобу звичайною поштою. Коли Боб отримує скриньку, він використовує ідентичну копію ключа Аліси (який він якось отримав раніше, можливо, очною зустріччю), щоб відкрити скриньку і прочитати повідомлення. Потім Боб може використовувати той самий замок, щоб надіслати свою таємну відповідь.
Алгоритми симетричного ключа можна розділити на потокові шифри і блокові шифри - потокові шифри шифрують біти повідомлення по одному, а блокові шифри беруть певну кількість бітів, часто блоками по 64 біти одночасно, і шифрують їх як єдине ціле. Існує багато різних алгоритмів, з яких ви можете обрати - до них належать більш популярні та шановані симетричні алгоритми Дві риби , Змія , AES ( Рійндаель ), Blowfish , CAST5 , RC4 , ТДЕС , і ІДЕЯ .
Асиметричне шифрування
В асиметричній системі ключів Боб та Аліса мають окремі навісні замки замість єдиного навісного замка з кількома клавішами з симетричного прикладу. Примітка: це, звичайно, дуже спрощений приклад того, як це насправді працює, що набагато складніше, але загальне уявлення ви отримаєте.
По-перше, Аліса просить Боб надіслати їй свій відкритий замок звичайною поштою, тримаючи ключ при собі. Коли Аліса отримує його, вона використовує його, щоб заблокувати ящик, що містить її повідомлення, і відправляє заблокований ящик Бобу. Потім Боб може розблокувати коробку своїм ключем і прочитати повідомлення від Аліси. Щоб відповісти, Боб також повинен отримати відкритий замок Аліси, щоб заблокувати коробку, перш ніж відправити її їй назад.
Найважливішою перевагою асиметричної системи ключів є те, що Бобу та Алісі ніколи не потрібно надсилати копії своїх ключів один одному. Це заважає третій стороні (можливо, у прикладі корумпованому працівнику поштового зв’язку) копіювати ключ під час його передачі, дозволяючи цій третій стороні шпигувати за всіма майбутніми повідомленнями, надісланими між Алісою та Бобом. Крім того, якби Боб був необережним і дозволяв комусь іншому копіювати його Ключові слова: повідомлення Аліси Бобу будуть скомпрометовані, але повідомлення Аліси іншим людям залишаться в таємниці, оскільки інші люди будуть надавати Алісі різні навісні замки.
Асиметричне шифрування використовує різні ключі для шифрування та дешифрування. Одержувач повідомлення створює приватний та відкритий ключі. Відкритий ключ розподіляється серед відправників повідомлень, і вони використовують відкритий ключ для шифрування повідомлення. Одержувач використовує свій приватний ключ будь-які зашифровані повідомлення, які були зашифровані за допомогою відкритого ключа одержувача.
Існує одна велика перевага, якщо зробити шифрування таким чином порівняно із симетричним шифруванням. Нам ніколи не потрібно надсилати нічого секретного (наприклад, наш ключ шифрування або пароль) через незахищений канал. Ваш відкритий ключ надходить у світ - це не секрет і не потрібно. Ваш приватний ключ може залишатися щільним та затишним на вашому персональному комп’ютері, де ви його створили, - його ніколи не потрібно нікуди надсилати електронною поштою або зчитувати зловмисниками.
Як шифрування захищає спілкування в Інтернеті
Протягом багатьох років SSL ( Шар захищених розеток ) захищає веб-транзакції за допомогою шифрування між вашим веб-браузером та веб-сервером, захищаючи вас від усіх, хто може переглядати мережу посередині.
Сам SSL концептуально досить простий. Починається, коли браузер запитує захищену сторінку (зазвичай https: //)
Веб-сервер надсилає свій відкритий ключ зі своїм сертифікатом.
Браузер перевіряє, чи сертифікат виданий довіреною стороною (зазвичай довіреним кореневим центром сертифікації), що сертифікат все ще дійсний і що сертифікат пов’язаний із веб-сайтом, з яким пов’язано.
Потім браузер використовує відкритий ключ для шифрування випадкового симетричного ключа шифрування та надсилає його на сервер із необхідною зашифрованою URL-адресою, а також іншими зашифрованими даними http.
Веб-сервер розшифровує симетричний ключ шифрування за допомогою свого приватного ключа, а симетричний ключ браузера розшифровує свої URL-адреси та дані http.
Веб-сервер надсилає запитаний html-документ та дані http, зашифровані симетричним ключем браузера. Браузер розшифровує http-дані та html-документ за допомогою симетричного ключа та відображає інформацію.
І тепер ви можете надійно придбати цей товар на eBay вам справді не потрібно.
Ви що-небудь дізналися?
Якщо ви зайшли так далеко, ми закінчуємо наш довгий шлях до розуміння шифрування та трохи того, як це працює - починаючи з перших днів шифрування з греками та римлянами, піднесення Люцифера і, нарешті, як SSL використовує асиметричне та симетричне шифрування, щоб допомогти вам придбати цього пухнастого рожевого зайчика на eBay.
Ми, великі шанувальники шифрування, тут, в How-To Geek, ми розглянули багато різних способів зробити такі речі:
- Початок роботи з TrueCrypt (для захисту ваших даних)
- Додайте до Firefox автоматичне шифрування веб-сайтів
- BitLocker To Go шифрує портативні флеш-накопичувачі в Windows 7
- Як захистити свій ПК з Linux, зашифрувавши жорсткий диск
- Додайте параметри шифрування / дешифрування до меню Windows 7 / Vista правою кнопкою миші
- Початок роботи із шифруванням диска TrueCrypt на Mac OS X
Звичайно, шифрування - надто складна тема, щоб насправді все пояснити. Ми пропустили щось важливе? Не соромтеся надати трохи знань своїм колегам-читачам у коментарях.