Модель классов предметной области - VladislavKB-21/Cript GitHub Wiki
Словарь данных.
- Шифрова́ние — обратимое преобразование информации в целях сокрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма
- Шифр — какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации. Шифры применяются для тайной переписки дипломатических представителей со своими правительствами, в вооруженных силах для передачи текста секретных документов по техническим средствам связи, банками для обеспечения безопасности транзакций, а также некоторыми интернет-сервисами по различным причинам.(Wikipedia)
- Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
- Исходный текст—набор символов в незашифрованном(открытом) виде. Данные, доступные для чтения.
- Шифротекст — результат операции шифрования. Часто также используется вместо термина «криптограмма», хотя последний подчёркивает сам факт передачи сообщения, а не шифрования.
Процесс применения операции шифрования к шифротексту называется перешифровкой.
Краткое описание классов
*
1. Класс String—класс из стандартной библиотеки языка С++,инкапсулирует понятие «строка» или «набор символов»,или «текст».
2. Класс Сryptologist (шифровальщик) —абстрактный базовый класс, инкапсулирующий понятие «шифровальщик»,не имеет собственных членов-данных, в нем реализованы чистые виртуальные функции. Класс определяет интерфейс для всех производных классов.
3. Класс Сrypto_tabl—класс, производный от Cryptologist,моделирует понятие «шифрование табличным методом». Ключом шифрования является размер таблицы.Произведение “ширина” X “высота” должно равняться размеру исходного текста.
Как аргумент конструктора принимает объект класса String представляющий собою исходный текст.
4. Класс Сrypto_afin—класс, производный от Cryptologist,моделирует понятие «шифрование аффинным шифром Цезаря». Ключом шифрования является два числовых параметра. Они обозначены как X и Y и используются для определения параметра смещения для замены символов исходного алфавита символами того же алфавита, но выбранными с применением параметра смещения. Число X должно быть взаимно простым с числом 28.
Как аргумент конструктора принимает объект класса String представляющий собою исходный текст.
5. Класс Сrypto_Viginer—класс, производный от Cryptologist,моделирует понятие «шифрование по методу Вижинера». Ключом шифрования является слово без повторяющихся букв.
Как аргумент конструктора принимает объект класса String представляющий собою исходный текст.
Модель классов предметной области