📘 О чем эта работа
Работа содержит набор практических заданий по информационной безопасности: реализацию симметричного шифрования (матрица Виженера) и асимметричного шифрования (RSA) на Python, практику создания и проверки электронной цифровой подписи с помощью PGP в среде Ubuntu, а также краткий обзор системы защиты информации и персональных данных в Китае. Объект — прикладные методы криптографии; предмет — программная реализация и проверка шифрования и ЭЦП.
📚 Что внутри
В документе представлены следующие конкретные элементы:
- Реализация матрицы Виженера с поддержкой латиницы и кириллицы: в коде использован FULL_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', сохранение регистра и пропуск символов вне алфавита.
- Python-скрипт для Виженера: чтение исходного текста из 'input.txt', запись результатов в 'encrypted.txt' и 'decrypted.txt', кодировка UTF-8.
- Реализация RSA на Python: генерация простых чисел (случайные p,q в диапазоне 1000–5000), вычисление n=p*q, ϕ(n), выбор e и поиск d через расширенный алгоритм Евклида, шифрование по символам (C = M^e mod n) и запись зашифрованных блоков в файл.
- Пошаговая инструкция по работе с PGP в Ubuntu (виртуальная машина через Vagrant и подключение по SSH): генерация пары ключей, экспорт/импорт ключей, создание встроенной и отдельной подписи, проверка подписи и проверка отпечатка публичного ключа. В тексте указаны скриншоты (рисунки) и последовательность команд.
- Теоретическая часть: краткие обзоры методов симметричного (замена, перестановки, потоковые и блочные алгоритмы) и асимметричного шифрования (RSA, Эль-Гамаль, DSS, Diffie–Hellman), а также аналитическая заметка по структуре органов защиты информации и особенностям законодательства Китая (закон о защите персональных данных от 1 ноября 2021 г., принципы уведомления и согласия, регулирование коммерческой и государственной тайны).
- Выводы и рекомендации по использованию кода: указаны особенности кодировок, файлы ввода/вывода и практические замечания по адаптации программ.
📊 Для кого подходит
Материал полезен студентам и преподавателям по направлениям 'Информационная безопасность', 'Криптография и защита информации', а также студентам-программистам, которым нужно на практике реализовать шифрование и проверить ЭЦП. Подходит для выполнения лабораторных и практических заданий, демонстраций на занятиях и самостоятельной отработки навыков.
✨ Особенности
Готовые рабочие скрипты на Python с поддержкой кириллицы (включая 'Ё') и UTF-8, практический пример RSA с генерацией ключей и представлением зашифрованного текста в виде числовых блоков, подробная инструкция по PGP в Ubuntu (экспорт/импорт ключей, проверка подписи). В материале есть конкретные имена файлов ('input.txt', 'encrypted.txt', 'decrypted.txt') и указания по работе в виртуальной среде (Vagrant + SSH).
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура заданий соответствует типовым лабораторным требованиям: цель, алгоритм, реализация, проверка результатов и выводы.
Можно адаптировать?
Код снабжен понятными участками: алфавит и диапазоны простых чисел можно менять для повышения безопасности или соответствия требованиям преподавателя.