Криптография в дипломе: как превратить хеш-функции и ЭЦП в защищаемую ВКР

Поддомен: Cybersecurity · Роль: специалист по информационной безопасности

Свежая статья «Крипта с нуля. Разбираемся с алгоритмами в основе криптовалют» (Xakep, 24.03.2026) снимает главный барьер для студента: она объясняет, что криптовалюта — это не «магия с картинками», а стек примитивов. Хеш‑функция превращает транзакцию в отпечаток фиксированной длины, асимметричная пара ключей отделяет подпись от шифрования, цифровая подпись доказывает авторство и целостность без нотариуса. Для выпускника ИТ это прямая заготовка темы: любой из этих примитивов можно развернуть в полноценную ВКР — с проектированием, реализацией прототипа и измеримыми метриками. Ниже — как собрать работу, которую комиссия не сможет назвать «рефератом по блокчейну».

Вопросы, которые задаёт почти каждый студент

Мне нужно писать свою криптографию?

Нет, и это важно зафиксировать в главе 1. Реализовывать SHA‑256 или ECDSA самостоятельно — грубая ошибка, прямо противоречащая рекомендациям OWASP Cryptographic Storage Cheat Sheet. Ваш вклад — интеграция, выбор параметров, оценка производительности и стойкости в прикладном сценарии.

Где брать данные для экспериментов?

Генерируйте синтетику собственным скриптом: N сообщений случайной длины, замер подписи и верификации. Для реалистичности добавьте JSON‑транзакции из открытых датасетов (например, эмулируйте структуру Bitcoin‑транзакций). Числа должны быть воспроизводимы — приложите seed.

Как считать «эффективность»?

Через ISO/IEC 25010: производительность (подписей в секунду, latency p95), надёжность (доля успешных верификаций), безопасность (соответствие ключевым длинам ГОСТ Р 34.10‑2012 и рекомендациям NIST). Не путайте «быстро» и «безопасно» — обе оси обязательны.

Что делать, если научрук просит «свою схему»?

Возьмите композицию: Merkle‑дерево для пакетной проверки целостности + ЭЦП на корне. Это модификация существующих примитивов, а не изобретение шифра, и она прекрасно защищается.

Три темы ВКР, готовые к защите

Как разложить материал статьи по главам

Глава 1: теория без переписанной Википедии

Не пересказывайте статью — стройте таблицу соответствий «примитив → задача → стандарт». Хеш‑функции (SHA‑2/SHA‑3, ГОСТ Р 34.11‑2012) — обеспечение целостности; асимметричный ключ — аутентификация; ЭЦП — неотказуемость. Схему «два ключа вместо одного» оформите как UML class diagram: классы KeyPair, Signature, Verifier. Это уже поднимает работу над уровнем реферата.

Глава 2: проектирование и код

Стройте C4: контекст (пользователь → сервис подписи → хранилище), контейнеры (API, крипто‑модуль, БД), компоненты. Ниже — минимальный стенд для замеров, который можно вставить в приложение ВКР целиком.

import hashlib, time, statistics
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import hashes

# Ключ и сообщения
key = ec.generate_private_key(ec.SECP256R1())
payloads = [f"tx-{i}-{i*37}".encode() for i in range(2000)]

# Замер подписи и верификации
sign_lat, verify_lat = [], []
pub = key.public_key()
for msg in payloads:
    digest = hashlib.sha256(msg).digest()          # хеш-отпечаток

    t0 = time.perf_counter()
    sig = key.sign(digest, ec.ECDSA(hashes.SHA256()))
    sign_lat.append((time.perf_counter() - t0) * 1000)

    t1 = time.perf_counter()
    pub.verify(sig, digest, ec.ECDSA(hashes.SHA256()))
    verify_lat.append((time.perf_counter() - t1) * 1000)

print(f"sign  p50={statistics.median(sign_lat):.3f} ms  "
      f"p95={sorted(sign_lat)[int(len(sign_lat)*0.95)]:.3f} ms")
print(f"verify p50={statistics.median(verify_lat):.3f} ms")
print(f"throughput={1000/statistics.median(sign_lat):.0f} sign/s")

Такой скрипт — это уже воспроизводимый эксперимент с p50/p95, а не «пример работы алгоритма». Те же метрики снимайте для ГОСТ Р 34.10‑2012 через библиотеку pygost и явно укажите версию, ОС и CPU в таблице окружения.

Глава 3: метрики и валидация

МетрикаЕдиницаИнструментКуда в ВКР
Подписей в секундуsign/sсвой бенчмаркГл.3, табл. сравнения
Latency p50/p95мсперцентилиГл.3, график
Размер подписибайтlen(sig)Гл.1, сравнение схем
Время финализации блокаслоги узла / OpenTelemetryГл.3, дашборд
Доля успешных верификаций%CI-тестыГл.3, отчёт

Для распределённых сценариев оберните узлы в экспортёры OpenTelemetry — это даёт честные трейсы и снимает вопрос «откуда цифры». Скрин дашборда идёт в приложение, метрики — в основной текст.

Что проверить перед сдачей

  • Задачи в введении совпадают с выводами по главам и с пунктами заключения.
  • Все криптопримитивы привязаны к конкретному стандарту (ГОСТ Р 34.10‑2012, ГОСТ Р 34.11‑2012, SHA‑256) — без «примерно так».
  • Схемы в C4/UML имеют подписи, а не висят «для красоты».
  • Метрики получены на зафиксированном окружении: версия Python, ОС, CPU.
  • Список литературы: минимум 3 источника из научных журналов и 1 действующий стандарт.
  • Приложение содержит код, логи и seed экспериментов — воспроизводимость.
  • Оформление по ГОСТ 34 и нормоконтролю кафедры: поля, шрифты, нумерация рисунков.

Типичные ошибки студентов

Ошибка 1. «Своя крипта». Студент пишет собственный шифр по мотивам статьи и считает это научной новизной. Комиссия по ИБ разберёт это за минуту. Правильно: использовать проверенные примитивы, а новизну искать в схеме применения.

Ошибка 2. Метрики без методики. В тексте есть «работает быстро», но нет p95, размера выборки и окружения. Достаточно одного замечания рецензента — и защита превращается в спор. Всегда фиксируйте протокол эксперимента.

Ошибка 3. Игнор модели угроз. Работа про цифровую подпись без описания атак (подмена ключа, MITM, атака на генератор случайных чисел) выглядит поверхностной. Добавьте раздел по OWASP и явно ограничьте область — что ваша система защищает, а что нет.

Чему вы научитесь

  1. Различать хеширование, шифрование и ЭЦП — и не смешивать их в ТЗ.
  2. Проектировать схемы доверия на основе Merkle‑дерева и корневой подписи.
  3. Снимать воспроизводимые метрики производительности (throughput, p95, память).
  4. Обосновывать выбор между ECDSA и ГОСТ Р 34.10‑2012 в прикладной задаче.
  5. Оформлять главы ВКР так, чтобы каждая задача из введения имела измеримый результат.

Если тема сформулирована, но непонятно, как свести теорию, код и метрики в одну работу, — начните с бесплатной консультации. Эксперты помогут разложить ВКР по главам, подскажут, какие эксперименты действительно нужны, и оценят объём: в среднем это около 120 часов работы, которые можно распределить с сопровождением, не дожидаясь последнего месяца.

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-09-12

Источник: Крипта с нуля. Разбираемся с алгоритмами в основе криптовалют (опубликовано 2026-03-24)