Зарегистрироваться Войти через вк

Метод шифрования гаммированием заключается в следующем: пусть имеется сообщение…

Метод шифрования гаммированием заключается в следующем: пусть имеется сообщение, записанное с помощью букв латинского алфавита, и задана строка-ключ (строка без пробелов и знаков препинания, записанная прописными буквами), в дальнейшем будем называть её гаммой. Сопоставим буквам латинского алфавита числа A→ 0, B→ 1, . . .Z→25.

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

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

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

Замечания:

1) При шифровании сообщения в нём игнорируются пробелы и знаки препинания, а также все буквы переводятся в прописные.

2) Можно считать, что сообщение и гамма кодируются в формате ASCII. 3) Длина гаммы не превышает 50 символов.

Пример: Сообщение "I am happy!", гамма "NOT", тогда сообщение преобразуем к виду "IAMHAPPY", продолжим гамму "NOTNOTNO" и после шифрования получим "VOFUOICM".

Объект авторского права ООО «Легион»

Посмотреть решение

Вместе с этой задачей также решают:

Имеется набор данных, состоящий из пар целых положительных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 7 и при этом …

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

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

На вход программы подаются сведения об N (не более 100) пользователях сети. Первая строка содержит адрес сети и подсети в формате xxx, либо xxx.xxx, либо xxx.xxx.xxx (везде далее п…