Урок по криптография

⚡ Умно обобщение

Криптографията защитава информацията, като я трансформира в нечетима за човек форма, която само притежател на правилния ключ може да обърне, а тази страница разглежда нейните функции, приложения, алгоритми и практическо упражнение с CrypTool.

  • 🔐 Основна идея: Криптирането преобразува открития текст в шифър; декриптирането го обръща с помощта на секретен ключ.
  • 🧩 Три дисциплини: Криптографията крие смисъл, криптоанализът го разбива, а криптологията обхваща и двете.
  • 📐 Семейства от алгоритми: Хеш функциите, симетричните шифри и системите с публичен ключ решават различни проблеми.
  • Настоящи стандарти: AES и SHA-2 остават одобрени, докато MD5, SHA-1 и RC4 се считат за неработещи.
  • 🧪 Практическа практика: CrypTool 1 демонстрира RC4 криптиране и brute-force анализ на 24-битов ключ.
  • 🔮 Гледам напред: NIST публикува първите си постквантови стандарти през август 2024 г.

Урок по криптография

Информацията играе жизненоважна роля в бизнеса, правителството и военните операции, а информацията в неправилни ръце може да струва приходи или дори по-лошо. За да осигури комуникацията, организацията използва криптология, за да шифрова информация – трансформирайки я във формат, който не може да се чете от човек, и обратно.

В тази статия за криптография и мрежова сигурност ще научите как работи криптологията и как да предпазите информацията от неправилни ръце.

Какво е криптография?

Криптографията е изучаването и прилагането на техники, които скриват истинското значение на информацията, като я трансформират в нечетливи за човека формати и обратно.

Да разгледаме един пример. За да изпратите „ОБИЧАМ ЯБЪЛКИ“, замествате всяка буква с третата поредна буква от азбуката, получавайки „K NQXG CRRNGU“. За да го прочете, получателят отстъпва три букви назад, както е показано по-долу.

Шифроване и дешифриране, изместващи всяка буква с три позиции
Шифроване и декриптиране

Преобразуването на информацията във форма, която не е четлива за човек, се нарича криптиране, а обръщането му се нарича декриптиранеКриптираният резултат е известен като шифър.

Декриптирането използва секретен ключ, известен само на легитимните получатели. Тъй като ключът е необходим, комуникацията остава защитена дори когато атакуващ прихване шифъра, което няма смисъл без него.

Характеристики на криптографията

Криптографската система се оценява по характеристиките, посочени по-долу.

Особеност Какво означава
алгоритъм Публикуваната математическа процедура, извършваща трансформацията.
Поверителност Само притежателите на ключа могат да четат защитените данни.
Integrity Всяка промяна в данните е откриваема.
Приспособимост Схемата се настройва към различни размери на ключове и нива на заплаха.
Оперативна съвместимост Различни системи и доставчици обменят защитени данни.
заверка Произходът на съобщението може да бъде доказан.
скалируемост Производителността се запазва с нарастването на обемите данни.
Управление на ключовете Ключовете се генерират, съхраняват, ротират и пенсионират безопасно.

Приложения на криптографията

Тези характеристики се превръщат в ежедневни услуги, на които хората разчитат, без да забелязват.

Приложение Как се използва криптографията
TLS криптиране Защитава трафика между браузър и уебсайт.
Съхранение на парола Съхранява солени хешове вместо четими пароли.
Онлайн банкиране Осигурява сигурност на транзакциите и проверява банката.
Cryptocurrency Подписва транзакции и свързва блокове с хешове.
Шифрован имейл Запазва съдържанието на съобщенията поверително при пренос и съхранение.
Digiталски подписи Доказва авторството и че документът е непроменен.
Сигурни съобщения Прилага криптиране от край до край между устройствата.
E-търговия Защитава данните на картата по време на плащане.

Какво е криптоанализ?

Криптоанализът е изкуството да се дешифрират съобщения без ключа, използван за тяхното криптиране. Той прилага математически анализ и алгоритми за дешифриране на шифри и се използва както за пробиване на системи, така и, в защита, за измерване на степента на защита, която предлага даден алгоритъм.

Успехът на криптоанализа зависи от:

  • Налично време
  • Налична изчислителна мощност
  • Наличен капацитет за съхранение

Следните са често обсъжданите криптоанализ атаки:

  • Атака с груба сила — опитва всяка възможна комбинация от открития текст или ключ, шифрирайки всяка една и сравнявайки я с оригиналния шифър.
  • Атака на речника — използва списък с думи, за да съпостави или открития текст, или ключа. Използва се най-вече, когато се опитвате да кракване на криптирани пароли.
  • Rainbow table атака — сравнява шифрования текст с предварително изчислени хешове, за да намери съвпадения. Посоляването на всяка съхранена парола го обезсилва.

Какво е криптология?

Криптологията е общата област, обединяваща криптографията и криптоанализа. И двете половини са важни: на един алгоритъм се има доверие само след като криптоаналитиците са се опитали и са се провалили да го разбият.

Encryption Algorithms

Алгоритмите по-долу се появяват многократно в работата по сигурността. Обърнете внимание кои остават одобрени и кои оцеляват само в наследени системи.

  • MD5 — съкращение от Message-Digest 5, то генерира 128-битови хеш стойности. MD5 е хеш функция, а не криптиране, така че по дизайн не може да бъде обърнат. Не е устойчив на колизии — два различни входа могат да генерират един и същ хеш — и е неподходящ за пароли или подписи.
  • SHA — съкращение от Secure Hash Algorithm (алгоритъм за сигурен хеш), това семейство генерира кондензирани представяния на съобщение, наречени дайджест на съобщение:
    • SHA-0: произвежда 160-битови хеш стойности. Беше оттеглен поради сериозен недостатък и заменен от SHA-1.
    • SHA-1: произвежда 160-битови хеш стойности. Практически сблъсък беше демонстриран през 2017 г. и NIST го забрани за цифрови подписи, така че го избягвайте.
    • SHA-2: семейство от шест функции, включително SHA-256 и SHA-512, работещи съответно с 32-битови и 64-битови думи. И двете остават одобрени.
    • SHA-3: стандартизиран през 2015 г. и известен преди като Keccak, той използва различен вътрешен дизайн като резервно копие на SHA-2.
  • AES — Advanced Encryption Standard е симетричният блоков шифър, който защитава повечето данни в покой и по време на пренос днес, със 128-, 192- и 256-битови ключове. Той замени DES и е шифърът по подразбиране за новите системи.
  • RC4 — поточен шифър, някога често срещан в Secure Sockets Layer (SSL) и Wired Equivalent Privacy (WEP). И двата протокола са остарели, а RFC 7465 забранява RC4 във всяка версия на TLS през 2015 г. Той е оцелял тук като учебен пример.
  • Blowfish — ключов симетричен блоков шифър, използван исторически за пароли и файлове. 64-битовият му размер на блока прави AES по-добрия съвременен избор.

В перспектива, NIST публикува първите си постквантови стандарти през август 2024 г. — ML-KEM за обмен на ключове, ML-DSA и SLH-DSA за подписи — които постепенно ще заменят днешните алгоритми с публичен ключ.

Хакерска дейност: Как да създадете шифър с помощта на CrypTool

В това практическо упражнение с CrypTool ще създадете прост шифър с RC4 и след това ще го възстановите чрез груба сила анализ, приемайки, че ключът е известен като 24-битов. Целта е да се покаже защо краткият ключ и разбитият шифър не предлагат реална защита.

Създаване на RC4 Stream Cipher

Стъпка 1) Изтеглете и инсталирайте CrypTool

CrypTool 1 е образователен инструмент с отворен код за криптология. Активната разработка оттогава се премести в CrypTool 2, но версия 1.4.42 все още работи на... Windows и съответства на екраните по-долу. Изтеглете го от cryptool.org.

Стъпка 2) Отворете CrypTool и заменете текста

Фразата за криптиране е Никога не подценявайте решимостта на дете, което е богато на време и бедно на париКлючът е 00 00 00.

  • Отворете CrypTool 1.

Главният прозорец на CrypTool 1 преди замяната на примерния текст

  • Заменете текста с горната фраза.

Документът на CrypTool, съдържащ заместващата фраза

Стъпка 3) Шифроване на текста

  • Щракнете върху менюто Шифроване/Дешифриране.

Меню за дешифриране на CrypTool Encrypt shash с избрана симетрична модерна функция

  • Посочете към Симетрично (модерно) и след това изберете RC4.

Диалогов прозорец за въвеждане на ключ CrypTool RC4

Стъпка 4) Изберете ключа за криптиране

  • Изберете 24 бита като дължина на ключа.
  • Задайте стойността на 00 00 00.
  • Щракнете върху „Шифроване“, за да генерирате стрийминг шифъра по-долу.

Полученият RC4 поточен шифър, показан в CrypTool

Атакуване на потоковия шифър

Стъпка 5) Започнете анализа

  • Щракнете върху менюто Анализ.

Меню за анализ на CrypTool с модерно подчертано симетрично криптиране

  • Посочете Симетрично криптиране (модерно) и след това изберете RC4.

Диалогов прозорец за груба сила на CrypTool за RC4

  • Предположението е 24-битов секретен ключ, така че изберете 24 бита като дължина на ключа.
  • Щракнете върху Старт.

Прозорец за напредък на анализа с груба сила на CrypTool

  • Забележка: Времето, необходимо за обработка, зависи от капацитета на използваната машина и от дължината на ключа. По-дълъг ключ отнема повече време, поради което съвременните ключове са 128 бита или повече.

Стъпка 6) Анализирайте резултатите

  • Когато анализът приключи, кандидат-ключовете се показват подредени както следва.

Резултати от грубата сила на CrypTool, класирани по ентропия

  • Забележка: По-ниската стойност на ентропията обикновено показва правилния резултат, въпреки че по-високата може да е правилна.
  • Изберете реда, който се чете като разумен текст, след което щракнете върху „Приеми селекцията“.

Въпроси и Отговори

Симетричното криптиране използва един споделен ключ и е бързо, така че защитава големи количества данни. Асиметричното криптиране използва двойка публичен и частен ключ, което решава проблема с разпределението на ключовете и позволява цифрови подписи.

Не. Криптирането е обратимо с ключ; хеширането е еднопосочна трансформация в дайджест с фиксирана дължина. Системите за пароли съхраняват солени хешове именно защото оригиналната стойност не може да бъде възстановена.

Солтта е уникална случайна стойност, съхранявана до всеки хеш на парола. Тя прави хешовете на еднакви пароли различни, като по този начин разбива предварително изчислените таблици тип „rainbow“ и принуждава нападателя да работи с всеки акаунт поотделно.

Цифровият сертификат свързва публичен ключ с потвърдена самоличност и е подписан от сертифициращ орган. Браузърите проверяват този подпис, преди да се доверят на криптираната връзка с уебсайт.

Голям квантов компютър би разбил RSA и елиптични крива ключове, докато симетричните шифри се нуждаят само от по-големи ключове. NIST отговори, като публикува постквантови стандарти през 2024 г., така че миграцията да може да започне рано.

Машинното обучение не разбива силни съвременни шифри. Вместо това се използва за анализ на странични канали, забелязване на слаби или повторно използвани ключове в голям мащаб и маркиране на аномално криптиран трафик по време на откриване на заплахи.

Copilot ускорява шаблонния код, но често предлага остарели алгоритми или твърдо кодирани ключове. Отнасяйте се към всяко предложение като към чернова, предпочитайте проверена библиотека пред ръчно написан код и накарайте рецензент да провери обработката на ключовете.

Инженерите по сигурността, тестерите за проникване и криминалистите го прилагат ежедневно и то представлява пълноценна област на... CISSP сертификацияПовечето роли конфигурират проверени библиотеки, а не проектират алгоритми.

Обобщете тази публикация с: