Прогресс не сохранится. Браузер запретил хранилище (приватный режим или строгие настройки) либо оно переполнено. Всё работает, но после закрытия вкладки XP и значки пропадут. Перед уходом скачай результат во вкладке «Учителю».
Изучай криптографию
руками, а не по учебнику
Шифруй записки, как настоящий шпион, придумывай надёжные пароли и собирай значки. Всё прямо в браузере!
Шифруй и взламывай классические шифры, считай хеши, проверяй пароли и решай задачи — всё вживую в браузере.
От шифра Цезаря до SHA-256 и энтропии паролей: перебор ключей, частотный анализ, лавинный эффект и соль — с реальными вычислениями в браузере.
🔒 Ничего не отправляется на сервер: все вычисления и прогресс хранятся только в этом браузере.
Теория
CIA-триада, симметрия и асимметрия, хеши, атаки. Объяснения подстраиваются под твой класс.
Шифры
Цезарь, Виженер, Атбаш, XOR, Base64 + взлом перебором и частотный анализ.
Хеширование
SHA-256, лавинный эффект с подсчётом изменившихся бит, соль против радужных таблиц.
Пароли
Оценка надёжности, энтропия и время взлома, криптостойкий генератор.
Задачи
По 7–9 задач на каждый уровень, с проверкой, подсказками и очками опыта.
Квиз
Отдельный набор вопросов для 5–7, 8–9 и 10–11 классов, с объяснениями.
Основы информационной безопасности
Главные понятия, на которых держится вся криптография.
CIA-триада — фундамент ИБ
Представь дневник. Его должен читать только ты (конфиденциальность), никто не должен вырвать или переписать страницы (целостность), и он должен быть под рукой, когда нужен (доступность).
Любая мера защиты — пароль, шифрование, резервная копия — защищает хотя бы одно из трёх свойств информации.
Модель CIA лежит в основе стандартов (ISO/IEC 27001, ГОСТ Р ИСО/МЭК 27001). Часто её расширяют: подлинность (authenticity) и неотказуемость (non-repudiation), которые обеспечивает цифровая подпись.
Конфиденциальность
Confidentiality — данные доступны только тем, кому разрешено.
Целостность
Integrity — данные нельзя незаметно изменить.
Доступность
Availability — данные доступны, когда они нужны.
🧒 Пять правил цифровой безопасности
- Пароль — как зубная щётка: не даём никому и меняем, если кто-то узнал.
- Коды из SMS никому не называем — даже если «звонит банк» или «пишет друг».
- «Ты выиграл приз!» — почти всегда обман. Сначала спроси взрослых.
- Замок 🔒 в адресной строке — значит, связь с сайтом зашифрована. Но это не значит, что сайт честный: у мошенников тоже бывает замок.
- Обновляй приложения — обновления закрывают дыры, через которые лезут злоумышленники.
Симметричное шифрование
Один и тот же ключ используется и для шифрования, и для расшифровки.
Как замок с одним ключом на двоих: у тебя и у друга одинаковые ключи от одного сундучка.
- AES — современный стандарт, ключ 128/192/256 бит
- ChaCha20 — быстрый потоковый шифр (в телефонах)
- DES — устарел, ключ 56 бит перебирается
- ГОСТ 34.12-2018 — российские «Кузнечик» и «Магма»
Проблема: как безопасно передать ключ второй стороне?
Асимметричное шифрование
Пара ключей: открытый (им шифруют) и закрытый (им расшифровывают). Для цифровой подписи — наоборот: подписывают закрытым, проверяют открытым.
Как почтовый ящик: бросить письмо в щель может каждый (открытый ключ), а достать — только хозяин с ключиком (закрытый ключ).
- RSA — стойкость основана на сложности разложения чисел на множители
- ECC — эллиптические кривые: та же стойкость при коротких ключах
- Диффи–Хеллман — выработка общего ключа по открытому каналу
Решает проблему передачи ключа, но работает медленнее симметричного.
🔬 Как работает HTTPS (TLS 1.3) — гибридная схема
- Браузер и сервер договариваются о шифрах и обмениваются открытыми параметрами ECDHE (Диффи–Хеллман на эллиптических кривых).
- Сервер доказывает подлинность сертификатом и цифровой подписью (закрытым ключом).
- Из общего секрета обе стороны выводят симметричный ключ сеанса.
- Все данные дальше шифруются быстрым AES-GCM или ChaCha20 с проверкой целостности.
Принцип Керкгоффса: стойкость системы должна зависеть только от секретности ключа, а не от секретности алгоритма. Поэтому AES и SHA-256 опубликованы открыто.
Хеширование
Одностороннее преобразование: из любых данных получается «отпечаток» фиксированной длины. Вычислить исходные данные по хешу практически невозможно, но короткие и популярные входы (например, слабые пароли) угадывают перебором — посчитав хеши кандидатов и сравнив.
Как мясорубка: из мяса фарш сделать легко, а обратно мясо — никак. Зато один и тот же кусок всегда даёт одинаковый фарш.
Требования к криптографическому хешу: стойкость к нахождению прообраза, второго прообраза и коллизий. По «парадоксу дней рождения» коллизию для n-битного хеша ищут примерно за 2n/2 операций — для SHA-256 это 2128.
- SHA-256 — современный стандарт (биткоин, сертификаты)
- bcrypt / Argon2 — специально медленные, для паролей
- MD5 / SHA-1 — найдены коллизии, не использовать
Типичные атаки
- Brute-force — перебор всех возможных ключей или паролей
- Атака по словарю — перебор популярных паролей и слов
- Man-in-the-Middle (MitM) — перехват и подмена трафика
- Фишинг — социальная инженерия: человека обманом заставляют отдать данные
- SQL-инъекция — внедрение кода в запросы к базе данных
- XSS — внедрение скриптов в веб-страницы (этот сайт экранирует все данные из файлов учеников)
Классические шифры
Шифруй и расшифровывай вживую. Работают русский и латинский алфавиты. За первое использование каждого шифра — +10 XP.
Шифр Цезаря моноалфавитный
Каждая буква сдвигается на одно и то же число позиций в алфавите.
Сдвиг 1: А→Б, Б→В, … Я→А. Так шифровал записки сам Юлий Цезарь больше 2000 лет назад!
В русском алфавите 33 буквы, значит, разных ключей всего 32. Компьютер переберёт их за долю секунды — попробуй кнопку «Взломать перебором».
Шифр не меняет частоты букв: самые частые буквы русского текста — О (≈11 %), Е и А. Частотный анализ (аль-Кинди, IX век) сравнивает частоты шифротекста с языком и находит ключ без перебора.
Шифр Виженера полиалфавитный
Ключ — слово. Каждая буква текста сдвигается на номер соответствующей буквы ключа (А=0, Б=1, …).
Это как Цезарь, только сдвиг всё время меняется по секретному слову. Угадать гораздо труднее!
Одна и та же буква текста превращается в разные буквы шифра — поэтому простой частотный анализ не работает. 300 лет шифр называли «неразгаданным».
Взломан методом Касиски (1863): повторы в шифротексте выдают длину ключа, после чего задача распадается на несколько шифров Цезаря. Если ключ случаен и длиной с сообщение — получается абсолютно стойкий «одноразовый блокнот» (Шеннон, 1949).
Атбаш
Алфавит «переворачивается»: А↔Я, Б↔Ю, В↔Э… Ключа нет — применив шифр дважды, получишь исходный текст.
Зеркальный шифр: первая буква меняется с последней, вторая — с предпоследней.
Base64 кодирование, не шифр!
Превращает любые байты в строку из 64 «безопасных» символов. Ключа нет — раскодировать может любой.
Каждые 3 байта (24 бита) записываются 4 символами по 6 бит, поэтому данные растут на ≈33 %. Знак «=» — дополнение до кратности трём.
XOR-шифрование
К каждому байту текста применяется «исключающее ИЛИ» с байтом ключа. Повторный XOR с тем же ключом возвращает исходный текст: (A ⊕ K) ⊕ K = A.
XOR — как выключатель: нажал один раз — свет включился, нажал ещё раз тем же пальцем — выключился. Ключ «переключает» биты туда и обратно.
Правило XOR для битов: одинаковые → 0, разные → 1. Например, 5 ⊕ 3: 101 ⊕ 011 = 110 = 6.
XOR — сердце потоковых шифров (ChaCha20) и режима CTR у AES: генерируется псевдослучайная гамма, которая XOR-ится с данными. Нельзя дважды использовать одну гамму: C₁ ⊕ C₂ = P₁ ⊕ P₂.
Хеширование
Односторонний «отпечаток» данных: 256 бит, записанные 64 шестнадцатеричными символами.
SHA-256
Хеш считается встроенной криптографией браузера (Web Crypto API), а не самодельным кодом. Хеширование — это не шифрование: ключа нет, и «расшифровать» хеш нельзя.
Хеш — как отпечаток пальца у текста. Поменяй одну букву — и отпечаток станет совсем другим.
Лавинный эффект
Введи два почти одинаковых текста и посмотри, сколько бит хеша изменилось. В идеале — около половины (128 из 256).
Радужные таблицы и соль
Хеши паролей без соли одинаковы у всех, кто выбрал одинаковый пароль, — их находят по заранее посчитанным таблицам. Уникальная случайная «соль» делает такие таблицы бесполезными. Соль не секретна: её хранят рядом с хешем. От перебора одного конкретного пароля соль не спасает — для этого нужны медленные функции (bcrypt, Argon2) и длинный пароль.
Интересно: ответы на задачи этого сайта тоже хранятся не открытым текстом, а как SHA-256 с приставкой «cryptolab:номер задачи». Сайт проверяет ответ, сравнивая хеши, — так же сервер проверяет твой пароль. Честно: приставка известна, а вариантов ответа мало, поэтому перебор их найдёт. Это защита от подглядывания в код, а не от взлома.
Надёжность паролей
Проверь пароль и собери действительно стойкий. Пароль никуда не отправляется.
Проверка пароля
⚠️ Не вводи свой настоящий пароль — придумай похожий. Проверка идёт только в браузере, пароль нигде не сохраняется.
Начни вводить — оценка появится сразу.
Генератор
Используется crypto.getRandomValues — криптостойкий генератор случайных чисел, а не обычный Math.random.
Советы
- ✅ Минимум 12 символов, лучше 16+ или фраза из 4–5 случайных слов
- ✅ Уникальный пароль для каждого сервиса
- ✅ Менеджер паролей (Bitwarden, KeePassXC)
- ✅ Двухфакторная аутентификация (2FA)
- ❌ Личные данные: даты, имена, клички питомцев
- ❌ Слова из словаря и «клавиатурные» qwerty / йцукен
- ❌ Один пароль везде
- ❌ Пароль в заметках телефона или на стикере
Задачи
Реши задачи своего уровня и получи XP. Подсказка снижает награду вдвое. Инструменты — на вкладках «Шифры», «Хеши», «Пароли».
Проверка знаний
Вопросы с объяснениями. Отвечай мышкой или клавишами 1–4, дальше — Enter.
Загружаю вопрос…
Твои результаты
За каждый верный ответ +2 XP, за первый результат 100 % — ещё +30 XP и значок «Отличник».
Твой прогресс
Опыт, уровни, серия дней и значки — как в Duolingo. Заходи каждый день, чтобы не потерять серию 🔥
XP за последние 7 дней
Значки 0 из 0
Лестница уровней
| Уровень | Звание | Нужно XP |
|---|
Профиль
Режим учителя
Статистика ученика на этом устройстве и сводная таблица класса из файлов результатов.
Демо-режим без сервера. Сайт — один HTML-файл, у него нет базы данных и аккаунтов. Прогресс хранится только в браузере ученика (localStorage). Чтобы учитель увидел результаты, ученик нажимает «Скачать результат», а учитель загружает файлы всех учеников ниже. Для автоматического сбора нужен сервер — это следующий шаг проекта.
👤 Ученик на этом устройстве
Задачи по уровням
| Уровень | Решено | Попыток | Подсказок | XP |
|---|
Квиз
| Уровень | Лучший | Последний | Попыток |
|---|
Последние действия
| Когда | Действие | XP |
|---|
В файл записывается контрольная сумма SHA-256: при загрузке видно, если файл повредили или правили «на глаз». Это контроль целостности, а не защита от подделки: тот, кто знает формат, может пересчитать сумму. Настоящую защиту дала бы цифровая подпись на сервере.
👥 Класс
Перетащи сюда файлы .json учеников или выбери их