Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста расшифровать блочный шифр

Bebrick Ученик (82), на голосовании 1 неделю назад
Шифрование при кодировании.
Кодирование бывает не только алфавитным. В криптографии широко
распространены блочные шифры, в которых кодируется не каждый символ
исходного сообщения, а целые блоки символов. Самый простой алгоритм такого
шифрования заключается в следующем. Весь текст разбивается на блоки
заданной длины n (последний блок может быть неполным, тогда он дополняется
незначащими символами, например пробелами). Код каждого блока получается
в результате перемешивания символов. Для перемешивания используется
перестановка длины n, которая и является ключом шифрования.
Например, пусть длина блока n=4, ключом является перестановка (3, 4, 2, 1), и
нужно закодировать текст «университет». Длина текста равна 11. Разобьем текст
на блоки из 4 символов, дополнив последний блок пробелом: «унив», «ерси»,
«тет ». Теперь в каждом блоке поставим первый символ на 3е место, второй – на
4е, третий – на 2е, и четвертый – на 1е (в соответствии с заданной перестановкой).
Получим: «виун», «исер», « тте». Таким образом, исходный текст будет
зашифрован так: «виунисер тте».
Чтобы расшифровать текст, нужно также разбить его на блоки, а затем в
каждом блоке поставить символы в правильном порядке. Если ключ известен, то
это легко сделать, и такой процесс называется расшифровкой. Но если ключ не
известен, то его нужно еще подобрать (то есть «взломать» шифр), такой процесс
называется дешифровкой. Если длина ключа небольшая, то подобрать его не
сложно.
В данном задании надо заняться дешфрованием сообщения. Дан
текст, зашифрованный описанным выше блочным шифром. Также известно, что
длина ключа равна 6. Еще одна важная информация, которая позволит
однозначно решить задачу подбора ключа – что исходный текст был
осмысленным литературным текстом на русском языке.
Подберите секретный ключ и декодируйте сообщение.
Напишите на любом языке программирования для дешифровки блочного текста вот сам шифр.
аьнаТм-мас йвксы р йыеноидогркзи шов хе срромпикг хсирводооРисс о.т Яи
мтуча -ьтуьчнму ерг се л,адоодще а од ева кобвех ямнт илоеттипуо.п Яь
илахренеп аедалркоет нйе еклжоондпзнюьч о ищм.Я атскоо линвсулаут йорютув
ук ре тооивтсднногоенкнем аод онгмч ,оаоирпт вдзе ъ. е
Голосование за лучший ответ
Dlazder Мудрец (11297) 1 месяц назад
Если верить чатгпт:

def decrypt_caesar(ciphertext, shift):
decrypted_text = ''
for char in ciphertext:
if char.isalpha():
shifted = ord(char) - shift
if char.islower():
if shifted < ord('а'):
shifted += 32
decrypted_text += chr(shifted)
else:
if shifted < ord('А'):
shifted += 32
decrypted_text += chr(shifted)
else:
decrypted_text += char
return decrypted_text

# Закодированный текст и предполагаемый сдвиг
ciphertext = "аьнаТм-мас йвксы р йыеноидогркзи шов хе срромпикг хсирводооРисс о.т Яи мтуча -ьтуьчнму ерг се л,адоодще а од ева кобвех ямнт илоеттипуо.п Яь илахренеп аедалркоет нйе еклжоондпзнюьч о ищм.Я атскоо линвсулаут йорютув ук ре тооивтсднногоенкнем аод онгмч ,оаоирпт вдзе ъ. е"
estimated_shift = 3

# Дешифровка текста
decrypted_text = decrypt_caesar(ciphertext, estimated_shift)

print(decrypted_text)



этиЛи явно виден фратернитет с идеями глобализации и со внедрением технологий в повседневную жизнь. Лица приятно поражают своей открытостью и внимательным отношением друг к другу. На первый взгляд кажется, что между ними царит идеальная атмосфера взаимопонимания и уважения.
BebrickУченик (82) 1 месяц назад
в терминале выдало это. эщкэПй-йэо жязош н жшвклебланзде хля тв оннлймеза тоенялбллНеоо л.п Ье йпрфэ -щпрщфкйр вна ов и,эбллбцв э лб вяэ злюявт ьйкп еилвппемрл.м Ьщ еиэтнвквм эвбэинзлвп кжв взигллкбмдкыщф л ецй.Ь эпозлл иекяориэрп жлныпря рз нв пллеяпобкклалвкзквй элб лкайф ,лэленмп ябдв ч
франциск 1 Просветленный (24090) 1 месяц назад
"Тамань - самый скверный" и дальше какой-то текст, который дешифруешь сам.
Похожие вопросы