Учебный конструктор · криптография и защита данных
Криптография — хеши, ключи, подпись, TLS
«Хеш», «открытый ключ», «сертификат», «замочек HTTPS» — звучит сложно, а принцип простой. Разберём на живых примерах: посчитаем настоящий SHA-256 прямо в браузере, поймём разницу симметричного и асимметричного шифрования, как работает цифровая подпись, и что происходит за замочком при заходе на сайт (TLS-рукопожатие).
Незнакомы слова (хеш, соль, CA, MITM…)? → словарь простыми словами внизу. Хеши лежат в основе → блокчейна, а TLS — часть пути веб-запроса.
Введи что угодно — браузер посчитает настоящий SHA-256 прямо сейчас. Поменяй один символ и смотри, как хеш меняется целиком (лавинный эффект).
——Где применяется: проверка целостности файлов, хранение паролей (с солью), блокчейн (см. блокчейн вживую), цифровые подписи.
📖 Словарь: простыми словами
Встретил незнакомое слово выше — найди его здесь. Коротко — суть; разверни — подробное объяснение с аналогией.
Хешкороткий «отпечаток» данных фиксированной длины
Результат односторонней функции: из любых данных получаем строку фиксированной длины. Назад не вернуть. Используется для проверки целостности, паролей, блокчейна.
SHA-256конкретный алгоритм хеша на 256 бит
Secure Hash Algorithm, 256 бит (64 hex-символа). Стандарт для проверки целостности, подписей, блокчейна (биткоин). На странице считается по-настоящему в твоём браузере.
Односторонняя функциялегко в одну сторону, невозможно обратно
Посчитать хеш просто, а восстановить исходные данные из хеша — практически невозможно (только перебор). На этом держится защита паролей и подписей.
Лавинный эффекткрошечное изменение входа → совсем другой хеш
Изменишь один бит — половина битов хеша поменяется непредсказуемо. Поэтому по хешу нельзя угадать, насколько «близок» вход.
Коллизиядве разные строки с одинаковым хешем
Теоретически существуют, но для хорошего алгоритма (SHA-256) найти их за разумное время невозможно — иначе можно было бы подделать документ под чужую подпись.
Соль (salt)случайная добавка к паролю перед хешем
Случайные данные, добавляемые к паролю перед хешированием, чтобы одинаковые пароли давали разные хеши и не ломались по готовым таблицам (rainbow tables).
Симметричное шифрованиеодин ключ и шифрует, и расшифровывает
Один секретный ключ на обе операции (AES). Быстрое, для больших данных. Минус: ключ надо как-то безопасно передать собеседнику.
Асимметричное шифрованиепара ключей: открытый + закрытый
Два математически связанных ключа. Зашифровано открытым — расшифрует только закрытый (и наоборот для подписи). Решает передачу ключа, но медленнее симметричного.
Открытый / закрытый ключпубличный раздаёшь, секретный хранишь
Открытый ключ можно публиковать (им тебе шифруют и им проверяют твою подпись). Закрытый держишь в тайне (им расшифровываешь и подписываешь). Утёк закрытый — всё скомпрометировано.
AESбыстрый симметричный шифр
Advanced Encryption Standard — стандарт симметричного шифрования. Им шифруется сам трафик внутри TLS-сессии после обмена ключами.
RSA / ECDSAасимметричные алгоритмы (ключи, подпись)
RSA и алгоритмы на эллиптических кривых (ECDSA) — для обмена ключами и цифровых подписей. ECDSA даёт ту же стойкость при меньшем размере ключа.
Цифровая подписьдоказывает авторство и неизменность
Хеш документа, зашифрованный закрытым ключом автора. Любой проверяет открытым ключом: совпал хеш — документ от автора и не изменён. Основа сертификатов и блокчейна.
Сертификатпаспорт сайта с открытым ключом, подписанный CA
Файл, связывающий домен с его открытым ключом, заверенный подписью центра сертификации (CA). Браузер доверяет сайту, потому что доверяет CA, который его подписал.
Центр сертификации (CA)доверенный «нотариус», подписывающий сертификаты
Certificate Authority — организация, которой браузеры доверяют по умолчанию. Подписывает сертификаты сайтов. Цепочка доверия: браузер → CA → сертификат сайта.
TLS / HTTPSшифрование канала + проверка подлинности сайта
TLS шифрует трафик и подтверждает, что ты говоришь именно с этим сайтом (по сертификату). HTTPS = HTTP поверх TLS. Замочек в адресной строке — это он.
Рукопожатие (handshake)договорённость о шифре и ключах перед обменом
Начало TLS-соединения: стороны выбирают версию/шифр, сервер предъявляет сертификат, согласуют сессионный ключ — и только потом шифруют данные.
Сессионный ключвременный симметричный ключ на одну сессию
Согласованный при рукопожатии общий секрет, которым AES шифрует трафик в рамках одного соединения. Новая сессия — новый ключ.
MITM (человек посередине)атака с перехватом и подменой канала
Man-in-the-Middle: злоумышленник встаёт между тобой и сайтом, пытаясь перехватить/подменить трафик. Проверка сертификата в TLS как раз защищает от этого.
Перебор (brute-force)подбор ключа/пароля перебором вариантов
Единственный путь «обратить» хеш или подобрать ключ — перебрать варианты. Длинный ключ/пароль делает перебор невозможным по времени (миллиарды лет).
Дальше по теме
Эти инструменты связаны с текущим — так задачи стыкуются на практике.
Все инструменты — в каталоге.