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

Информацията играе жизненоважна роля в бизнеса, правителството и военните операции, а информацията в неправилни ръце може да струва приходи или дори по-лошо. За да осигури комуникацията, организацията използва криптология, за да шифрова информация – трансформирайки я във формат, който не може да се чете от човек, и обратно.
В тази статия за криптография и мрежова сигурност ще научите как работи криптологията и как да предпазите информацията от неправилни ръце.
Какво е криптография?
Криптографията е изучаването и прилагането на техники, които скриват истинското значение на информацията, като я трансформират в нечетливи за човека формати и обратно.
Да разгледаме един пример. За да изпратите „ОБИЧАМ ЯБЪЛКИ“, замествате всяка буква с третата поредна буква от азбуката, получавайки „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.

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

Стъпка 3) Шифроване на текста
- Щракнете върху менюто Шифроване/Дешифриране.

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

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

Атакуване на потоковия шифър
Стъпка 5) Започнете анализа
- Щракнете върху менюто Анализ.

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

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

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

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