Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursovaya_2.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
328.31 Кб
Скачать
  1. Описание входных и выходных данных

В курсовой работе используется тип string, предназначенный для работы со строками символов в кодировке Unicode, который является встроенным типом C#. Ему соответствует базовый класс System.String библиотеки .NET.

Тип string представляет последовательность из нуля или более символов в кодировке Юникод. Тип string — это псевдоним для типа String платформы .NET Framework.

Несмотря на то что строки являются ссылочным типом данных, на равенство и неравенство проверяются не ссылки, а значения строк. Строки равны, если имеют одинаковое количество символов и совпадают посимвольно.

Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения. Это связано с тем, что строки типа string относятся к так называемым неизменяемым типам данных. Методы, изменяющие содержимое строки, на самом деле создают новую копию строки. Неиспользуемые «старые» копии автоматически удаляются сборщиком мусора. Это упрощает проверку равенства строк.

  1. Описание алгоритмов

    1. Описание алгоритма Цезаря

Шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря — один из самых простых и наиболее широко известных методов шифрования.

Шифр Цезаря — это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется буквой находящейся на некоторое постоянное число позиций левее или правее него в алфавите. Пример первоначального расположения букв и их нумерация показан в таблице 1. Например, в шифре со сдвигом 3 А была бы заменена на Г, Б станет Д, и так далее. Пример кодирования методом Цезаря приведен в таблице 2.

Т а б л и ц а 1 – Кириллица

Т а б л и ц а 2 – Кодирование методом Цезаря

Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки со своими генералами.

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

В шифре Цезаря каждая буква замещается на букву, находящуюся k символами правее по модулю равному количеству букв в алфавите (у Цезаря k=3 n=50). Замена букв производится по формуле (1).

(1)

где n - количество букв в алфавите.

Обратная подстановка высчитывается по формуле (2)

(2)

    1. Описание алгоритма Атбаш

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

Шифр простой замены, использованный для еврейского алфавита и получивший оттуда свое название. Шифрование происходит заменой первой буквы алфавита на последнюю, второй на предпоследнюю. (алеф (первая буква) заменяется на тау (последнюю), бет (вторая) заменяется на шин (предпоследняя) из этих сочетаний шифр и получил свое название). Шифр Атбаш для английского алфавита:

Исходный алфавит: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Алфавит замены: Z Y X W V U T S R Q P O N M L K J I H G F E D C BA

Например, слово “blogger” будет заменено на “yolttvi”. Пример кодирования методом Атбаш показан на рисунке 1.

Рисунок 1 – Шифр Атбаш

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]