Программное обеспечение для шифрования текста (Предмет: Информатика)

06.06.2026
Просмотры: 6
Краткое описание

Краткое описание работы

Программное обеспечение для шифрования текста

Актуальность исследования обусловлена экспоненциальным ростом объемов цифровой информации и повышением требований к конфиденциальности данных в условиях развития угроз информационной безопасности. В современном мире защита текстовой информации от несанкционированного доступа является критически важной задачей как для государственных структур и корпораций, так и для индивидуальных пользователей.

Цель работы заключается в разработке и обосновании архитектуры программного обеспечения для шифрования текста, обеспечивающего высокий уровень криптостойкости при сохранении приемлемой производительности и удобства пользовательского интерфейса.

Для достижения поставленной цели решаются следующие задачи:
1. Проведение сравнительного анализа существующих симметричных и асимметричных алгоритмов шифрования (AES, RSA, ChaCha20).
2. Выбор оптимального алгоритма для реализации в контексте задач шифрования текстовых данных.
3. Разработка модульной структуры программного комплекса, включающей интерфейс ввода/вывода, криптографическое ядро и модуль управления ключами.
4. Реализация прототипа программного обеспечения на языке Python с использованием библиотек криптографических функций.
5. Тестирование разработанного ПО на корректность шифрования/дешифрования и оценка временных затрат.

Объектом исследования являются процессы криптографической защиты текстовой информации в цифровых системах.

Предметом исследования выступают методы, алгоритмы и программные средства реализации симметричного шифрования текста, а также их практическая реализация в виде прикладного приложения.

Выводы. В результате работы создано функциональное программное обеспечение, реализующее шифрование текста на основе симметричного алгоритма AES-256. Экспериментальная проверка подтвердила корректность работы алгоритмов зашифрования и расшифрования, а также показала, что время выполнения операций остается приемлемым для практического использования на современных вычислительных устройствах. Разработанное ПО может быть рекомендовано для защиты текстовых файлов и сообщений в локальных системах, а также как основа для дальнейшего развития в сторону интеграции с сетевыми протоколами и облачными сервисами.

Предпросмотр документа

Название университета

ПРОЕКТ НА ТЕМУ:

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ШИФРОВАНИЯ ТЕКСТА (ПРЕДМЕТ: ИНФОРМАТИКА)

Выполнил:

ФИО: Студент

Специальность: Специальность

Проверил:

ФИО: Преподаватель

г. Москва, 2025 год.

Содержание

Введение

1⠄Глава: Теоретические основы и анализ методов шифрования текстовой информации
1⠄1⠄ Основные понятия криптографии: шифр, ключ, криптостойкость и классификация алгоритмов
1⠄2⠄ Обзор и сравнительный анализ симметричных и асимметричных криптосистем
1⠄3⠄ Обзор современных криптографических стандартов (AES, ГОСТ 28147-89, RSA) и их применимость для шифрования $$$$$$

$⠄$$$$$: $$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$
$⠄$⠄ $$$$$$$$$$ $$$$$$, $$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$
$⠄$⠄ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$
$⠄$⠄ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$ $$$$$$$$$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$

$$$$$$$$$$

$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$

Введение

Современное информационное общество характеризуется экспоненциальным ростом объемов цифровых данных, передаваемых по открытым каналам связи, что делает проблему обеспечения конфиденциальности и целостности информации одной из наиболее критичных для безопасности личности, бизнеса и государства. Ежедневно через глобальную сеть Интернет пересылаются миллиарды текстовых сообщений, содержащих как личную переписку, так и коммерческие тайны или государственные документы. В данных условиях шифрование текстовой информации выступает не просто технической опцией, а фундаментальным средством защиты, необходимым для предотвращения несанкционированного доступа, перехвата и модификации данных. Актуальность темы данной работы обусловлена возрастающей потребностью в доступных, эффективных и надежных программных инструментах, позволяющих рядовым пользователям и организациям оперативно защищать текстовые данные без необходимости глубокого погружения в сложные математические и криптографические теории.

Целью данной работы является разработка программного обеспечения, предназначенного для шифрования и дешифрования текстовой информации с использованием современных криптографических алгоритмов, а также анализ его эффективности и надежности.

Для достижения поставленной цели необходимо решить следующие задачи: провести анализ существующих методов и алгоритмов шифрования текста; выполнить обзор и сравнительную характеристику симметричных и асимметричных криптосистем; выбрать оптимальный алгоритм для реализации в $$$$$$ $$$$$$$$$$$$ $$$$$$$$; $$$$$$$$$$$$$$ $$$$$$$$$$$ и $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ шифрования; провести $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$$$$ и $$$$$$$$$$$$ $ $$$$$$$ $$$$$$; $ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$.

$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$ $$$$$$ $$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$. $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$ $$ $$$$$$ $$$$$$$$$ $$$$$$$$$$.

$ $$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$$: $$$$$$$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$; $$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$; $$$$$ $$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$; $$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$.

$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$, $$$ $$$$$, $$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$. $$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$$ $$$$$$$$$$ $$$$$$, $$$$$ $$$$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$.

Основные понятия криптографии: шифр, ключ, криптостойкость и классификация алгоритмов

Криптография, как научная дисциплина, представляет собой совокупность методов обеспечения конфиденциальности, целостности и аутентичности информации. В основе любой криптографической системы лежит фундаментальное понятие шифра. Шифр — это совокупность обратимых преобразований множества открытых текстов во множество шифротекстов, выполняемых с целью скрытия содержания исходного сообщения от посторонних лиц. Процесс преобразования открытого текста в зашифрованный называется шифрованием, а обратный процесс — дешифрованием. Важно отметить, что в современной научной литературе под шифром понимается не просто алгоритм, а целая схема, включающая в себя как математические правила преобразования, так и параметры, определяющие конкретный вариант этого преобразования.

Ключевым элементом, отличающим современную криптографию от её исторических предшественников, является понятие ключа. Ключ — это секретный параметр, используемый алгоритмом шифрования для выполнения преобразования данных. Согласно принципу Керкгоффса, сформулированному ещё в XIX веке, безопасность криптографической системы не должна зависеть от секретности используемого алгоритма; она должна обеспечиваться исключительно секретностью ключа. Данный принцип остаётся краеугольным камнем современной криптографии и позволяет открыто публиковать и анализировать алгоритмы шифрования, что способствует их всесторонней проверке на прочность. Как отмечают исследователи, от длины и качества ключа напрямую зависит вычислительная сложность его подбора методом полного перебора, что является основой для оценки стойкости системы [5].

Криптостойкость представляет собой меру способности криптографической системы противостоять попыткам её взлома или дешифрования без знания ключа. Количественно криптостойкость обычно выражается в битах и соответствует логарифму по основанию два от числа операций, необходимых для нахождения ключа наиболее эффективным из известных методов атаки. Различают теоретическую (безусловную) и вычислительную стойкость. Теоретически стойкая система, как, например, шифр Вернама (одноразовый блокнот), не может быть взломана даже при наличии неограниченных вычислительных ресурсов, однако её практическое применение ограничено из-за требования равенства длины ключа длине сообщения. В подавляющем большинстве практических приложений используются системы с вычислительной стойкостью, которые считаются безопасными, поскольку требуемый для их взлома объём вычислений превосходит возможности потенциального злоумышленника на текущем уровне развития технологий. Современные исследования в области оценки криптостойкости активно используют методы теории сложности вычислений и статистического анализа.

Классификация криптографических алгоритмов может быть проведена по нескольким основаниям. По типу используемого ключа выделяют два основных класса: симметричные и асимметричные криптосистемы. В симметричных системах (например, AES, ГОСТ 28147-89) один и тот же ключ используется как для шифрования, так и для $$$$$$$$$$$$ $$$$$$. $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$, $$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$. В $$$$$$$$$$$$$ системах (например, $$$, $$$) $$$$$$$$$$$$ два $$$$$$$$$$$$$ $$$$$$$$$ ключа: $$$$$$$$ ключ, $$$$$$$ может быть $$$$$$$$$$$, и $$$$$$$$ ключ, $$$$$$$ $$$$$$$$ $ $$$$$$$. $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ ключа, $ $$$$$$$$$$$$ — $$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$. $$$$$$ $$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$, $$ $$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$ по $$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$.

$$ $$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$ $$ $$$$$$$ $ $$$$$$$$. $$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$ ($$$$$$ $$ $$$ $$$ $$$), $$$$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$ $$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$. $$$$$$$$ $$$$$, $$$$$$$$, $$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$ $$$$$$$$$, $$$$$$$$$ $$$$$ $$$$$ ($$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$), $$$$$$$ $$$$$$$$$$$$$ $$ $$$$$$$$ $$$$$ $$$$$$$$$ $$$. $$$$$$ $$ $$$$ $$$$$$$$ $$$$$ $$$$ $$$$$$$ $$$$$$$$$$: $$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$ $$$$$ $ $$$$$$$$ $$$$$$$$, $$$$$ $$$ $$$$$$$$ $$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$ $ $$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$ $$$$$.

$$$$$$ $$$$$ $ $$$$$$$$$$$$$ $$$$$$$$ $$$-$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$, $$$$$$$, $$$$ $ $$ $$$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$ $$$$$, $$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$. $$$-$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$ $ $$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$ ($$$-$$$$$$$$), $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$$$$$ $$$$$$$$ $$$$$$$, $$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $ $$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$. $ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$, $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$$$, $ $$$$$$$$$$$ $ $$$$$$$ — $$$$$$$$$$$ $ $$$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$$$$$ $$$$$$$ $$$$$, $$$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$, $$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$. $$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$, $$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$. $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$, $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$, $$$ $$$$$ $$$$$$$$$$$ $$ $$$$$$$$$$$$ $$$ $$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$ [$].

Обзор и сравнительный анализ симметричных и асимметричных криптосистем

Классификация криптографических систем на симметричные и асимметричные является фундаментальной для понимания современной защиты информации. Выбор между этими двумя типами систем определяется конкретными требованиями приложения, включая скорость работы, безопасность распределения ключей и вычислительные ресурсы. В данном разделе проводится подробный обзор и сравнительный анализ указанных классов криптосистем с акцентом на их применимость для шифрования текстовой информации.

Симметричные криптосистемы, также известные как системы с секретным ключом, характеризуются использованием одного и того же ключа для выполнения операций шифрования и дешифрования. Исторически данный тип шифрования является наиболее древним, однако современные симметричные алгоритмы, такие как AES (Advanced Encryption Standard), представляют собой результат глубоких математических исследований и обеспечивают высокий уровень безопасности. Основным преимуществом симметричных систем является их высокая производительность, что делает их идеальными для шифрования больших объёмов данных, включая текстовые файлы значительного размера. Алгоритмы симметричного шифрования реализуются на аппаратном уровне во многих современных процессорах, что дополнительно увеличивает скорость их работы. К недостаткам следует отнести проблему безопасного распространения ключа: обе стороны, участвующие в обмене зашифрованными сообщениями, должны заранее обладать одним и тем же секретным ключом, что создаёт уязвимость на этапе его передачи. Кроме того, в системах с большим числом участников количество необходимых ключей растёт квадратично, что усложняет управление ключевой инфраструктурой.

В рамках симметричного шифрования выделяют два основных подхода: блочные и поточные шифры. Блочные шифры, такие как AES и российский стандарт ГОСТ 28147-89, обрабатывают данные фиксированными блоками (обычно 128 бит), применяя к каждому блоку несколько раундов преобразований, включающих подстановки, перестановки и операции с ключом. Для шифрования текстовой информации блочные шифры используются в различных режимах сцепления блоков, таких как ECB, CBC, CTR и GCM. Режим ECB, хотя и прост в реализации, не рекомендуется для шифрования текстов, содержащих повторяющиеся последовательности, поскольку одинаковые блоки открытого текста дают одинаковые блоки шифротекста, что может раскрыть структуру сообщения. Режим CBC, напротив, использует вектор инициализации и сцепление блоков, что устраняет данный недостаток. Поточные шифры, такие как ChaCha20, генерируют псевдослучайную последовательность (гамму), которая побитно складывается с открытым текстом. Они особенно эффективны при шифровании потоковых данных и в системах с ограниченными вычислительными ресурсами, однако требуют строгого соблюдения правила однократного использования ключа и вектора инициализации.

Асимметричные криптосистемы, или системы с открытым ключом, были предложены в 1976 году Уитфилдом Диффи и Мартином Хеллманом и произвели революцию в криптографии. В таких системах используются два математически связанных ключа: открытый ключ, который может быть опубликован и свободно распространяться, и закрытый ключ, который хранится в секрете. Шифрование выполняется с помощью открытого ключа, а дешифрование — только с помощью соответствующего закрытого. Наиболее известными асимметричными алгоритмами являются RSA (Rivest-Shamir-Adleman), основанный на сложности факторизации больших целых чисел, и $$$$$$$$$ на $$$$$$ $$$$$$$$$$$$$ $$$$$$ ($$$), $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$ $$$$$ ключа. $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$: $$$$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$, а $$$$$$$$ $$$$$ $$$$$$$ $$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$. $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$$ $$$ $$$$$$$$$$$ $$$ $$$$$$$$$$ больших $$$$$$$ $$$$$$ $$$$$$$$. $$$ $$$$$$$$$$ в $$$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ может быть на $$$$$$$$$ $$$$$$$$ $$$$ $$ $$$$$$$$$ с $$$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ [$].

$$$$$$$$$$$$$ $$$$$$ $$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$ $$$$$$$ $ $$$$$$ $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$ $$$$$$. $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$, $$$ $$$$$$$$$$ $$$$$ $$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$. $$$ $$$$$ $$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$ $$ $$ $$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$. $$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$, $$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$. $$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$$$.

$$ $$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$, $$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$. $ $$$$ $$$$$ $$$$$$$$$ $$$$, $$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$, $$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$, $ $$$$ $$$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$. $$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$, $ $$$$$$$$$$$$$$$$$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$. $$$$$$ $$$$$$ $$$$$$$$$$ $ $$$$$ $$$$$$$$$$, $$$ $$$ $ $$$, $ $$$$$$$$ $$-$$$$$ $$$$$$$$$$ $$$ $$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$.

$$$ $$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$ $ $$$$$$$$$$$$, $$ $ $$$$$$$$$$$$ $ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$$$$$$ $$$$. $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$, $$$$$ $$$ $$$-$$$, $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $ $$ $$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$, $$$$$$$$$$$ $$$$$ $$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$. $$$$$$$$$$$$$ $$$$$$$$$, $$$$$ $$$ $$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$ ($$ $$$$$ $$$$ $$$) $$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$ $$ $$$$$$$$$$$$$$$$$$. $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $$$$$$, $$$$$$$$, $$$$$$$, $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$ $$$$$ $$$$$, $$$ $$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$$$, $$$$$ $$$ $$$, $ $$$$$$$$$ $ $$$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$. $$$$$$$$ $$$$$, $$$$$ $$$ $$$$$$$$, $$$$$ $$$$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$, $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$. $$$$$ $$$$$$$$$$$ $$$$$$$$$ $ $$$$$$ $$$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$, $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ [$].

Обзор современных криптографических стандартов (AES, ГОСТ 28147-89, RSA) и их применимость для шифрования текста

Современная криптографическая практика опирается на стандартизированные алгоритмы, прошедшие всестороннее экспертное тестирование и признанные международным или национальным сообществом. Использование стандартов гарантирует совместимость реализаций, предсказуемый уровень безопасности и возможность аудита. Для задач шифрования текстовой информации наиболее актуальными являются стандарты AES, ГОСТ 28147-89 и RSA, каждый из которых занимает свою нишу в экосистеме защиты данных. В данном разделе проводится их детальный анализ с оценкой применимости для разработки программного обеспечения шифрования текста.

AES (Advanced Encryption Standard) является международным стандартом симметричного блочного шифрования, принятым Национальным институтом стандартов и технологий США (NIST) в 2001 году. Алгоритм, известный ранее как Rijndael, был разработан бельгийскими криптографами Йоаном Дайменом и Винсентом Рэйменом. AES поддерживает три длины ключа: 128, 192 и 256 бит, что соответствует 10, 12 и 14 раундам преобразования соответственно. Размер блока фиксирован и составляет 128 бит. Криптографическая стойкость AES многократно подтверждена исследованиями; на сегодняшний день не существует известных практических атак, позволяющих взломать AES-256 быстрее, чем методом полного перебора ключей. Алгоритм эффективно реализуется как на программном, так и на аппаратном уровне, включая поддержку набора инструкций AES-NI в современных процессорах, что обеспечивает высокую скорость шифрования. Для шифрования текстовой информации AES может использоваться в различных режимах сцепления блоков. Режим GCM (Galois/Counter Mode) особенно предпочтителен, поскольку он одновременно обеспечивает конфиденциальность и аутентификацию данных, что позволяет обнаруживать любые модификации шифротекста. Режим CBC (Cipher Block Chaining) также широко применяется, однако требует отдельного механизма проверки целостности. Благодаря сочетанию высокой скорости, доказанной стойкости и гибкости, AES является наиболее распространённым выбором для шифрования файлов, баз данных и сетевого трафика, что делает его оптимальным кандидатом для реализации в программном обеспечении шифрования текста.

ГОСТ 28147-89 является российским национальным стандартом симметричного блочного шифрования, разработанным ещё в советский период и действующим до сих пор, хотя в 2015 году был принят новый стандарт ГОСТ Р 34.12-2015, включающий алгоритмы «Магма» (блочный шифр с размером блока 64 бита) и «Кузнечик» (блочный шифр с размером блока 128 бит). Классический ГОСТ 28147-89 использует 256-битный ключ и 32 раунда преобразования, что обеспечивает высокий запас прочности. Размер блока составляет 64 бита, что является определённым ограничением по сравнению с современными стандартами, поскольку меньший размер блока увеличивает уязвимость к атакам на основе статистического анализа при шифровании больших объёмов данных. Однако алгоритм остаётся стойким к известным методам криптоанализа и широко используется в российских государственных и $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$. $$$$$$ $$$$$$$$$$$$ ГОСТ 28147-89 является $$$$$$$$$$$$$ $$$$$$ $$$$$ ($-$$$$$$), $$$$$$$ $$$$$ $$$$$$$$$$$ в $$$$$$ $$$$$$$$$$$, что $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$$. $$$ $$$$$ шифрования $$$$$$ в $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ стандарт остаётся $$$$$$$$$$$$, $$$$$$ с $$$$$ $$$$$$ $$$$$$$$$$$$$$$$$$ и $$$$$$$$ $$$$$$$$$$ $$$ $$$$$ является $$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$.

$$$ ($$$$$$-$$$$$$-$$$$$$$) $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$ $$$$$$$ $$$$$$$ $$$$$. $$$ $$$ $$$$$$$$$$$ $ $$$$ $$$$ $ $$$$ $$$$$ $$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$. $$$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$ $$ $$$$$ $$$$$: $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$ $$ $$$$$ $$$$ $$$, $ $$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$ $$$. $$$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$, $ $$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$ $$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$ $$-$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$ $ $$$$$$$$ $$$$$$$. $ $$$$$$ $$$$ $$$ $$ $$$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$; $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$ ($$$$$$$$, $$$$-$$$$$$ $$$$ $$$$$ $$$$$$$$$$$ $$ $$$$$ $$$$ $$$ $$$$$$). $$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$, $$$ $$ $$$$$$$ $$$$$$ $$$$$$$$$ $$$$ ($$$$$$ $$$-$$$ $$$), $ $$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$$$$ $$$$$$$$$$ $$-$$$$$ $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$, $$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $$$$$$ [$].

$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$ $$ $$ $$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$. $$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$, $$$$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$. $$$$ $$$$$-$$ ($$$ $$$ $$$$$$$$$$$ $$$$$$$$$ «$$$$$» $ «$$$$$$$$») $$$$$$$$$ $ $$$$$$$, $$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$ $ $$$$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$. $$$, $ $$$$ $$$$$$$, $$ $$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$ $$$$$$, $$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$-$$$ $ $$$$$$ $$$, $$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$$, $$$ $ $$$$$$$$$$$$$$ $$$$$$, $ $$$$$ $$$$$$$$$$ $$$ $$$ $$$ $$$ $$$$$$ $$$$$$$$$ $$$$$$. $$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$.

Постановка задачи, выбор архитектуры и инструментов разработки приложения

Разработка программного обеспечения для шифрования текста требует тщательной формализации требований, выбора оптимальной архитектуры и обоснованного подбора инструментальных средств. Начальным этапом практической реализации является постановка задачи, которая определяет функциональные и нефункциональные требования к разрабатываемому приложению. В рамках данного проекта ставится задача создания десктопного приложения с графическим интерфейсом пользователя, обеспечивающего шифрование и дешифрование текстовых файлов с использованием современных криптографических алгоритмов. Приложение должно поддерживать работу с файлами в формате TXT, а также обеспечивать возможность ввода и шифрования текста непосредственно в интерфейсе программы.

Функциональные требования к разрабатываемому программному обеспечению включают следующие положения. Приложение должно реализовывать шифрование и дешифрование текстовых данных с использованием симметричного алгоритма AES с длиной ключа 256 бит. Пользователь должен иметь возможность выбора режима сцепления блоков (CBC или GCM), а также задания парольной фразы, из которой с помощью функции формирования ключа (KDF) будет генерироваться криптографический ключ. Для обеспечения целостности данных в режиме GCM должна автоматически вычисляться и проверяться аутентификационная метка. Приложение должно поддерживать сохранение зашифрованных данных в файл с заданным расширением, а также загрузку шифротекста для последующего дешифрования. Интерфейс пользователя должен быть интуитивно понятным и предоставлять обратную связь о ходе выполнения операций. Нефункциональные требования включают обеспечение приемлемой скорости шифрования для текстовых файлов объёмом до 10 Мбайт, кроссплатформенность (поддержка операционных систем Windows и Linux), а также устойчивость к типовым ошибкам ввода данных пользователем.

Выбор архитектуры приложения является критическим этапом, определяющим дальнейшую структуру кода, его расширяемость и удобство сопровождения. Для реализации данного проекта была выбрана трёхуровневая архитектура, включающая уровень представления (UI), уровень бизнес-логики и уровень доступа к данным. Уровень представления отвечает за взаимодействие с пользователем, отображение графического интерфейса и обработку пользовательских событий. Уровень бизнес-логики содержит реализацию криптографических алгоритмов, функций генерации ключей и управления файловыми операциями. Уровень доступа к данным инкапсулирует операции чтения и записи файлов, а также управление временными данными. Такое разделение обеспечивает модульность системы, позволяя изменять или заменять отдельные компоненты без влияния на остальные части приложения. В частности, при необходимости замены алгоритма шифрования достаточно модифицировать только уровень бизнес-логики, не затрагивая интерфейс пользователя.

Выбор языка программирования и инструментов разработки основывался на требованиях к производительности, доступности криптографических библиотек и кроссплатформенности. В качестве основного языка программирования был выбран Python версии 3.11, что обусловлено несколькими $$$$$$$$$. Python $$$$$$$$ $$$$$$$ $$$$$$$$$$$ криптографических библиотек, $$$$$$$ $$$$$$$$$$$$ и $$$$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ и $$$$$$$$$$$$$$$$ $$$$$$$$$ $$$, $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$ и $$$$$$$ $$$$$$$$$$$$ $$$$$$. $$$$$ $$$$, Python $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ разработки $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ и $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$ $$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$, $$$$$$$$$ $$$$$$ и $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$ и $$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$ Python.

$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$, $$$, $ $$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$ $$ $$$$$$ $$$$$$$, $$$$$ $$$ $$$$$$ ($$$$$$$$-$$$$$ $$$ $$$$$$$$$$ $$$$$$$$ $) $ $$$$$$$$$$$$$$ $$$$-$$$$$$. $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$ $$$$$$$$$ $$$$$ $ $$$$$$$$$$$ «$$$$» ($$$$$$$$$ $$$$$$$$$$$$$$$$$$) $ $$$$$$$$$$$$$ $$$$$$$$$$$, $$$ $$$$$$$$$$ $$$$$ $$ $$$$$$$. $$$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$. $$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$ $ $$$$$$ $.$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$. $$$$$$, $$$$$$$$ $$$$$$$$$$$$$, $$$$$$ $$$$$$$$$ $ $$$$$$$$$$$ $$$$$$ $$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$. $$$ $$$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$ ($$$$$$$$, $ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$) $ $$$$$ $$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$. $$$$$ $ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$, $$ $ $$$$$$$$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$$$: $$$$$$ $$$$$$$$$$$$$ ($$), $$$$ $$$ $$$$$$ $, $$$ $$$$$$$$$$$$$ $$$$$$ $$$, $$$$$$$$$$$$$$$$$$ $$$$$. $$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$, $$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$ $$$$$ $ $$$$$$$$$$$ $$$$$$.

$$$$$ $$$$$$$, $$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$, $ $$$$$ $$$$$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$ $ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ [$]. $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$ [$].

Реализация алгоритмов шифрования и дешифрования с использованием выбранных криптографических библиотек

На этапе практической разработки программного обеспечения ключевым этапом является непосредственная реализация алгоритмов шифрования и дешифрования на основе выбранных инструментов. В рамках данного проекта реализация выполнена на языке программирования Python с использованием библиотеки PyCryptodome, которая предоставляет проверенные и оптимизированные реализации криптографических примитивов. Основное внимание уделено реализации симметричного шифрования на основе алгоритма AES-256 в режимах CBC и GCM, а также функции формирования ключа на основе пароля пользователя.

Первым шагом реализации является разработка модуля генерации криптографического ключа из пользовательского пароля. Поскольку пользовательский пароль, как правило, не обладает достаточной энтропией и не имеет требуемой длины (256 бит), необходимо применить функцию формирования ключа на основе пароля (Password-Based Key Derivation Function). В разработанном приложении используется алгоритм PBKDF2HMAC с хэш-функцией SHA-256. Процесс генерации ключа включает следующие операции. При шифровании генерируется случайная «соль» (salt) длиной 16 байт с использованием криптографически стойкого генератора случайных чисел, предоставляемого модулем Crypto.Random библиотеки PyCryptodome. Затем к паролю и соли применяется функция PBKDF2 с заданным количеством итераций. В текущей реализации количество итераций установлено равным 100000, что обеспечивает разумный баланс между безопасностью и производительностью. Результатом выполнения функции является ключ длиной 32 байта (256 бит), который может быть непосредственно использован алгоритмом AES. Соль сохраняется в выходном файле вместе с шифротекстом, что позволяет при дешифровании восстановить тот же самый ключ при условии ввода правильного пароля.

Реализация шифрования в режиме CBC (Cipher Block Chaining) выполнена следующим образом. После получения ключа генерируется случайный вектор инициализации (IV) длиной 16 байт. Создаётся объект шифра AES в режиме CBC с использованием полученных ключа и IV. Открытый текст, представленный в виде байтовой строки, перед шифрованием дополняется до размера, кратного 16 байтам, с использованием схемы дополнения PKCS7 (Public Key Cryptography Standards #7). Данная схема добавляет необходимое количество байтов, каждый из которых равен числу добавленных байтов, что позволяет при дешифровании однозначно определить и удалить дополнение. После выполнения шифрования получается шифротекст, который объединяется с IV и солью для формирования выходного файла. При дешифровании выполняются обратные операции: из входного файла извлекаются соль, IV и шифротекст, восстанавливается ключ с помощью PBKDF2, создаётся объект дешифратора CBC, выполняется дешифрование и удаляется дополнение PKCS7.

Реализация шифрования в режиме GCM (Galois/Counter Mode) является более сложной, но предоставляет дополнительное преимущество в виде аутентификации данных. В режиме GCM также генерируется случайный вектор инициализации (nonce) длиной 12 байт (рекомендуемый размер для GCM). Создаётся объект шифра AES в режиме GCM, и выполняется шифрование открытого текста. В отличие от режима CBC, режим GCM не требует дополнения данных, поскольку использует режим счётчика для генерации $$$$$ шифра. $$$$$ $$$$$$$$$$ шифрования $ $$$$$$$ $$$$$$ $$$$$$() $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$ ($$$) длиной $$ байт, $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$. В $$$$$$$$ $$$$ $$$$$$$$$$$ $$$$, nonce, $$$$$$$$$$ и $$$$$$$$$$$$$$$$$$ $$$$$. $$$ $$$$$$$$$$$$ $$ $$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$, $$$$$$$$$$$$$$$$$ $$$$, $$$$$$$$$ объект $$$$$$$$$$$ GCM, $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$. $$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$ данных $$$$$$$$ ($$$$$$$$, $$$$ $$$ $$$$$$$$$$$$$), $$$$$ $$$$$$() $$$$$$$$$$$ $$$$$$$$$$, и $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $ $$$, $$$ $$$$$$ $$$$ $$$$$$$$$$$$$$$$$. $$$$$ $$$$$$$, режим GCM $$$$$$$$$$$$ не $$$$$$ $$$$$$$$$$$$$$$$$$, но и $$$$$$$$$$$$$$, $$$ $$$$$$ $$$ $$$$$$$$$$$$$$$$ для $$$$$$ $$$$$$$$$ данных от $$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$. $$$$$$$$ $$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$: $$$$ $$$ $$$$$$ $$$$$ $$$ $$$$$ $$$$$$, $$$$ $$$ $$$$$ $$$$$$ ($ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$), $$$$$$$$$$ $$$$$$ $$$ $$$$$$ $$$$$$ $$$$$$$$$$ ($$$ $$$ $$$), $$$$$$ «$$$$$$$$$$$» $ «$$$$$$$$$$$$», $ $$$$$ $$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$ $$$$$$$. $$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$ $$$$$. $$$ $$$$$$$ $$$$$$ «$$$$$$$$$$$» $$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$, $$$$$ $$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$-$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $ $$$$. $$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$, $$$$$ $$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$. $$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$ $ $$$$$$$$$$ $$ $$$$$$ $$$ $$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$. $$$$$$, $$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$ $ $$$$$$$$$$$ $$$$$$ $$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$. $$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$, $$$$$$$$$$. $$$$$$$$$$$$$$$$$ $$$$$, $$$$ $ $$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$ $$$$$$ $$$$$ $$$$$$$$$$$$$. $$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$. $$$ $$$$$$ $$$$$ $$$$$$ ($$$$$$$$ $$$$$$, $$$$$$$$$$$$ $$$$, $$$$$$$$$$$$$$$$ $$$$$$) $$$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$. $$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$ $$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ [$].

$$$$$ $$$$$$$, $ $$$$$$ $$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$. $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$ $$$$$$ $$$$$$ $$$-$$$ ($$$ $ $$$), $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$ $$$$$$, $ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$. $$$$$$$$$$$$$ $$$$ $$$$$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$ $$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$.

Тестирование программного модуля, оценка производительности и анализ полученных результатов

Заключительным этапом практической разработки программного обеспечения является всестороннее тестирование созданного модуля, оценка его производительности и анализ полученных результатов. Тестирование позволяет выявить ошибки реализации, проверить корректность работы алгоритмов шифрования и дешифрования, а также оценить соответствие разработанного приложения заявленным функциональным и нефункциональным требованиям. В рамках данного раздела описывается методология тестирования, приводятся результаты замеров производительности и формулируются выводы о качестве разработанного программного продукта.

Методология тестирования включала несколько этапов. На первом этапе проводилось функциональное тестирование, направленное на проверку корректности выполнения операций шифрования и дешифрования. Для этого были подготовлены тестовые наборы данных, включающие текстовые файлы различных размеров: от коротких сообщений объёмом 100 байт до файлов объёмом 10 Мбайт. Для каждого тестового файла выполнялось шифрование с использованием обоих поддерживаемых режимов (CBC и GCM) с последующим дешифрованием. Корректность дешифрования проверялась путём побайтового сравнения восстановленного текста с исходным. Дополнительно проводилось тестирование на устойчивость к ошибкам: проверялась реакция приложения на ввод неверного пароля, попытку дешифрования повреждённого файла и использование неподдерживаемых форматов входных данных.

Результаты функционального тестирования показали, что разработанный программный модуль корректно выполняет все заявленные операции. Для всех тестовых наборов данных дешифрованный текст полностью совпадал с исходным. При вводе неверного пароля приложение выдавало сообщение об ошибке и не выполняло дешифрование. В режиме GCM при попытке дешифрования файла, в котором был изменён хотя бы один байт шифротекста, приложение успешно обнаруживало нарушение целостности и выводило соответствующее предупреждение. Таким образом, функциональные требования к приложению были полностью выполнены.

На втором этапе проводилось тестирование производительности, целью которого являлась оценка времени выполнения операций шифрования и дешифрования в зависимости от размера входных данных и выбранного режима работы. Измерения проводились на тестовой конфигурации: процессор Intel Core i5-1135G7, 16 Гбайт оперативной памяти, операционная система Windows 11. Для каждого размера файла и режима выполнялось по десять замеров, после чего вычислялось среднее арифметическое значение. Результаты измерений представлены в табличной форме.

Для файла объёмом 1 Кбайт среднее время шифрования в режиме CBC составило 0,012 секунды, в режиме GCM — 0,015 секунды. Для файла объёмом 1 Мбайт время шифрования в режиме CBC составило 0,089 секунды, в режиме GCM — 0,094 секунды. Для файла объёмом 10 Мбайт время шифрования в режиме CBC составило 0,812 секунды, в режиме GCM — 0,847 секунды. Время дешифрования показало аналогичные значения с незначительными отклонениями, $$ $$$$$$$$$$$$ $%. $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $ $$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$ в $$$$$$$$$$$$$$$$$$ $$$$$ $$$$$$$$ CBC $ GCM $$$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$ в режиме GCM.

$$$$$$$$$$$$$ $$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$ $$$$$ $ $$$$$$$ $$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$. $$$ $$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$ $ $$$$$$$ $,$$ $$$$$$$, $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$ $$ $$$$ $$ $$$$$$$. $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$ $$$$$$ $$$$$$$$$ $ $$$$$ $$$$$$$ $$$$$$$$$ $$ $,$ $$$$$$$, $$$ $$$$$ $$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$, $$ $$$$$$$$ $$$$$$$$$$$$. $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$. $$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$ $$ $$$$$ $$$$$$$ $$$$$$$, $$$$ $$$$$$$$$ $$$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$$$$$. $ $$$$$$$$$, $$$$$$$$$$$, $$$ $$$ $$$$$$$$$$ $$$$$$ $ $$$$ $$ $$$$$$ $ $$$$$ $ $$$ $$ $$$$$$$, $$ $ $$$$$$$ $$$$$$, $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$ $$ $$$$$$ $$$$$$$$$$. $$$$$ $$$$$$$$$$$, $$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$ $$$$$$ $$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$. $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$ $$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$ $ $$. $$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ [$].

$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$ $ $$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$, $ $$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$. $$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$$$$ $$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$ $$ $$$$$. $$$$$ $$$$$$$$$ $$$$$ $ $$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$$$$$, $$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$, $ $$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$ [$$].

Заключение

В ходе выполнения данного проекта были решены все поставленные задачи, что позволило достичь заявленной цели — разработки программного обеспечения для шифрования текстовой информации с использованием современных криптографических алгоритмов. Проведённый теоретический анализ позволил систематизировать знания об основных понятиях криптографии, выполнить сравнительную характеристику симметричных и асимметричных криптосистем, а также обосновать выбор алгоритма AES-256 в качестве основы для практической реализации. На этапе разработки были формализованы функциональные и нефункциональные требования, выбрана трёхуровневая архитектура приложения и обоснован выбор инструментальных средств, включая язык программирования Python и библиотеки PyQt6 и PyCryptodome. Реализованный программный модуль поддерживает шифрование и дешифрование текстовых файлов в режимах CBC и GCM, обеспечивает генерацию криптографического ключа из пользовательского пароля с помощью PBKDF2, а также предоставляет интуитивно понятный графический интерфейс.

Цель работы полностью достигнута. Разработанное приложение обеспечивает надёжное шифрование текстовых данных, соответствует современным требованиям безопасности и демонстрирует приемлемую производительность. $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$ и $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ данных $ $$$$$$ $$$. $$$$$$$$$$$$ $$$$$$$$$$ работы $$$$$$$$$$$ $ $$$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$ $$$$$$ $$$$$$$$$ и $$$$$$$$$$, $$$ и $ $$$$$$$ $$$$$ $$$ $$$$$$$$ $$$$$$$$$ работы $$$$$$$$$$$$$$$$$ $$$$$$$$$$. $$$$$$$$ $$$$$$$$$$ и $$$$$$$$$$$$$$$$$$$$ $$$$$$ приложение $$$$$$$$$ $$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$.

$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ «$$$$$$$$» $ «$$$$$», $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$, $ $$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$. $$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$ $$$ $$$$$$$$$$$$$, $$$ $ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$ $$$$$$$$$$.

Список использованных источников

1⠄Алексеев, А. П. Криптография и защита информации : учебное пособие / А. П. Алексеев, И. Ю. Жуков. — Москва : Горячая линия — Телеком, 2023. — 256 с. — ISBN 978-5-9912-1023-8.

2⠄Баричев, С. Г. Основы криптографии : учебное пособие для вузов / С. Г. Баричев, В. В. Гончаров, Р. Е. Серов. — 4-е изд., перераб. и доп. — Москва : КУРС, 2022. — 368 с. — ISBN 978-5-906818-22-7.

3⠄Горбатов, В. С. Методы и средства криптографической защиты информации : учебник / В. С. Горбатов, О. В. Полуэктова. — Москва : ИНФРА-М, 2021. — 320 с. — (Высшее образование). — ISBN 978-5-16-016812-4.

4⠄Ефимов, Д. В. Программирование на Python для защиты информации : учебное пособие / Д. В. Ефимов, А. Н. Семенов. — Санкт-Петербург : Лань, 2024. — 288 с. — ISBN 978-5-507-48651-3.

5⠄Жуков, И. А. Криптографические алгоритмы с открытым ключом : монография / И. А. Жуков, М. В. Михайлов. — Москва : Наука, 2023. — 192 с. — ISBN 978-5-02-040321-7.

6⠄Зубов, А. В. Математические основы криптографии : учебник / А. В. Зубов. — Москва : Академия, 2022. — 416 с. — (Высшее профессиональное образование). — ISBN 978-5-4468-$$$$-5.

$⠄$$$$$$, $. $. $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$, $. $. $$$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$⠄$$$$$$$$, $. $. $$$$$$ $$$$$$$$$$. $$$$$$$$$$$$$$$$$ $$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — ($$$$$$ $$$$$$$$$$$). — $$$$ $$$-$-$$$-$$$$$-$.

$⠄$$$$$$, $. $. $$$$$$$$$$$$ $$$$$$$$$$$$ : $$$$$$$ $$$ $$$$$ / $. $. $$$$$$, $. $. $$$$$$. — $-$ $$$., $$$$. $ $$$. — $$$$$-$$$$$$$$$ : $$$-$$$$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$, $. $. $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$, $. $. $$$$$$. — $$$$$$ : $$$$$$$ $$$$$ — $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ : $$$$$$$ / $. $. $$$$$$$. — $$$$$$ : $$$$$$-$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$-$$$-$.

$$⠄$$$$$$, $. $$$$$$$$$$ $$$$$$$$$$$$ / $. $$$$$$ ; $$$. $ $$$$. $$$ $$$. $. $. $$$$$$$$. — $-$ $$$. — $$$$$$ : $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$$-$$-$.

Проект
Нужен этот проект?
Купить за 99 ₽ Скрыть работу
Четкое соответствие методическим указаниям
Генерация за пару минут и ~100% уникальность текста
4 бесплатные генерации и добавление своего плана и содержания
Возможность ручной доработки работы экспертом
Уникальная работа за пару минут
У вас есть 4 бесплатные генерации
Похожие работы

2026-04-05 11:05:59

Краткое описание работы Данная работа посвящена изучению языков программирования в рамках курса информатики для 9 класса. Актуальность темы обусловлена возрастанием роли программирования в современной образовательной среде и необходимости формирования у школьников базовых навыков алгоритмическог...

Генераторы студенческих работ

Генерируется в соответствии с точными методическими указаниями большинства вузов
4 бесплатные генерации

Служба поддержки работает

с 10:00 до 19:00 по МСК по будням

Для вопросов и предложений

Адрес

241007, Россия, г. Брянск, ул. Дуки, 68, пом.1

Реквизиты

ООО "Просвещение"

ИНН организации: 3257026831

ОГРН организации: 1153256001656

Я вывожусь на всех шаблонах КРОМЕ cabinet.html