Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 17.01.2021
Сообщений: 32

Шифрование методом Цезаря с ключевым ключом

06.10.2021, 11:08. Показов 3312. Ответов 2

Студворк — интернет-сервис помощи студентам
Задание:
Выполните шифрование сообщения
«РАЗУМА ЛИШАЕТ НЕ СОМНЕНИЕ, А УВЕРЕННОСТЬ»,
используя систему шифрования Цезаря с ключами :
k = 14, ключевое слово «ТЕЛЕФОН».
Алгоритм шифрования информации методом Цезаря по ключевому слову, как я его понял:
У нас есть исходный привычный нам русский алфавит. Берём наше ключевое и убираем повторяющиеся буквы, оставив их в 'единственном экземпляре' (Слово "МОЛОКО" = "МОЛК").
Шаг k - номер буквы русского алфавита, с которой мы начинаем создавать новый алфавит (k = 5, это значит, что с 6-ой буквы русского алфавита мы начинаем подставлять наши значения). Т.е. - под букву "Е" - нормального алфавита подставляется буква "М", под буку "Ё" - буква "О" и так далее.
Сначала мы подставляем наше ключевое слово "МОЛК", а потом - все остальные буквы алфавита по порядку, исключая уже введённые (М, О, Л, К).
Таким образом, условно, из слова "СУП" с ключами k = 5 и ключевое слово "МОЛОКО", получится шифр-слово "ИНЖ".

Нужно учесть знаки препинания и пробелы. Уже написал программу, осуществляющую шифрование фразы
«МЫ ДОЛЖНЫ ПРИЗНАТЬ ОЧЕВИДНОЕ: ПОНИМАЮТ ЛИШЬ ТЕ, КТО ХОЧЕТ ПОНЯТЬ» с ключом = 14,
методом Цезаря по ключу (без ключевого слова).
Она прилагается:

step = 14
phrases = ("МЫ ДОЛЖНЫ ПРИЗНАТЬ ОЧЕВИДНОЕ: ПОНИМАЮТ ЛИШЬ ТЕ, КТО ХОЧЕТ ПОНЯТЬ")
alpha = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ '

result = []
len_alpha = len(alpha)
symb = ' .,:?!'

for i in phrases:
if not i in symb:
result.append ( alpha [( alpha.find(i) + step ) % len_alpha ]) #
else:
result.append(i)
print('Result: ', '"', ''.join(result) , '"', sep='')
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.10.2021, 11:08
Ответы с готовыми решениями:

Шифрование системой Цезаря с ключевым словом
Выполните шифрование сообщения «РАЗУМА ЛИШАЕТ НЕ СОМНЕНИЕ, А УВЕРЕННОСТЬ», используя систему шифрования Цезаря с ключами, k = 18,...

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

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

2
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
06.10.2021, 11:24
Нужно больше разных шрифтов, разного стиля, разного размера...так будет более понятно.
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
06.10.2021, 11:45
Лучший ответ Сообщение было отмечено Da_sha_mir как решение

Решение

Da_sha_mir,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
key_ = 'ТЕЛЕФОН' #input()
step = 14 #int(input())
key = ''
for w in key_:
    if w not in key:
        key += w 
        
phrases = 'МЫ ДОЛЖНЫ ПРИЗНАТЬ ОЧЕВИДНОЕ: ПОНИМАЮТ ЛИШЬ ТЕ, КТО ХОЧЕТ ПОНЯТЬ' #input()
alpha = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
 
tmp = ''
for w in alpha:
    if w not in key:
        tmp += w 
 
alpha_new = tmp[-step:] + key + tmp[:-step]
 
print(phrases.translate(str.maketrans(alpha, alpha_new)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.10.2021, 11:45
Помогаю со студенческими работами здесь

Шифрование и дешифрация содержимого файла по методу Цезаря с ключевым словом
помогите с задачей: Реализовать в программе шифрование и дешифрацию содержимого файла по методу Цезаря с ключевым словом. Подвергнуть...

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

Как написать программу в паскаль методом Цезаря с ключевым словом?
Шифрование с ключевым словом наиболее простой способ с подробным объяснением, буду очень признательна)

Нужна программка "Шифрование/дешифрование система Цезаря с ключевым словом"
Особенностью этой системы является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки. ...

Шифрование методом перестановки с ключом
Здорово народ! Помогите написать функцию которая берет массив (key) и двумерный массив (text). Затем берет первый элемент массива (key) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru