Лабораторная работаКриптографияГод: 2024
👁 14💼 0

Готовая лабораторная: Многоалфавитное шифрование

Загружена: 21.02.2026 07:19

Реализация многоалфавитного подстановочного шифра на Python с использованием русского алфавита и двух подстановочных алфавитов. Описаны алгоритм, функции encrypt_vigenere и decrypt_vigenere, приведён пример шифрования и проверка корректности. Полезно для отработки практических навыков криптографии и защиты информации.

Содержание

Криптография. Лабораторная работа № 1
Вариант №6.
Согласно варианту №6, необходимо реализовать многоалфавитное шифрование для шифрования и дешифрования текста с использованием русского алфавита.
1.	Цель работы. Закрепить навыки шифрования текста с использованием многоалфавитных шифров.
2.	Задача. Разработать программу на Python, позволяющую зашифровать текст с использованием многоалфавитного шифра по вашему варианту и выполнить обратное преобразование (дешифрование).
....

Подробное описание

📘 О чем эта работа

Лабораторная работа посвящена реализации многоалфавитного подстановочного шифра для русского текста. Объектом является текст на русском языке, предмет — алгоритм шифрования/дешифрования с циклическим выбором подстановочных алфавитов. В работе подробно описан алгоритм и приведена реализующая программа на Python.

📚 Что внутри

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

  • Исходный алфавит: rus_alphabet = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ "
  • Подстановочный алфавит №1: substitution_alphabet_1 = "АБВСЮПВМЖЫЙНДТЕЗКРШХЛЧИЮЩГЬЪФЭЁО "
  • Подстановочный алфавит №3: substitution_alphabet_3 = "БЮОПСНГЫЭЛШЙХДЖЗВКМЧЕФЦТЯУЬЩАИР "

В тексте реализованы две ключевые функции: encrypt_vigenere(text, alphabets) и decrypt_vigenere(encrypted_text, alphabets). Описан алгоритм их работы: для каждого символа определяется его индекс в исходном алфавите, затем символ заменяется на символ из подстановочного алфавита, выбранного циклически по позиции. Символы, отсутствующие в алфавите (цифры, пунктуация), пропускаются без изменения.

📊 Для кого подходит

Материал полезен студентам и преподавателям курсов по криптографии, информационной безопасности, прикладной математике и программированию. Подойдёт для выполнения лабораторных заданий, демонстрации принципов защиты информации и отработки навыков Python-программирования.

✨ Особенности

Работа включает конкретный код и пример выполнения: исходный текст "ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ" даёт криптограмму "ПЮМЧФЭ ЯЦРЬПЩ ЙЩЛРОГРМЖЧ", а последующее дешифрование возвращает исходную фразу без потерь. В тексте объяснено, почему многоалфавитные шифры повышают криптостойкость по сравнению с моноалфавитными за счёт усложнения частотного анализа. Приведены ответы на контрольные вопросы: природа подстановочных шифров, суть частотного анализа, роль ключа в перестановочных методах и отличие криптографии от криптоанализа.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура соответствует типовой лабораторной: цель, алгоритм, реализация, пример, анализ и выводы — легко адаптируется под требования преподавателя.

Можно адаптировать?
Да. Алгоритм и код легко модифицируются: можно добавить дополнительные подстановочные алфавиты, переключение по ключу, учёт регистров или поддержку латиницы и цифр.

Практические рекомендации

  • Для повышения сложности замените статические подстановочные алфавиты на генерируемые по ключу или используйте ключ-строку для выбора алфавитов.
  • При тестировании проверяйте поведение на символах вне алфавита (пробелы, знаки препинания, цифры) — в реализации они сохраняются без изменений.
  • Для учебных демонстраций приводите примеры частотного анализа исходного и зашифрованного текста, чтобы показать отличие моно- и многоалфавитных шифров.

Вывод: работа даёт полную практическую реализацию многоалфавитного подстановочного шифра на Python с подробным объяснением механики шифрования и дешифрования, демонстрацией результата и комментариями по безопасности и адаптации.