last day (15 days later) » 

08:48
-4
Q: Помогите расшифровать Шифр замены

Mixysami Officialнедавно начал изучать криптографию. Очень нужна помощь с расшифровкой текста. Буду очень благодарен и признателен всем, кто отзовется. Текст в .txt файле (он здесь не помещается, т.к. превышает размер загружаемых вложений поэтому оставлю ссылку на обменник) Также для удобства написал программу н...

А зачем вы сопоставляете частоты одинаковых букв, если у вас были замены? Так вы только убедитесь, что да - буквы явно заменены. Вам нужно составить частотный словарь вашего текста, отсортировать его и отсортировать частоты из википедии. А потом сопоставить буквы, стоящие на одинаковых местах. Там правда с пробелом ещё непонятно, куда его ставить, может на первое место по частоте. Пробел явно тоже заменяли. Я попробовал сходу этот метод, он не взлетел, но двигаться нужно куда-то туда. Если вы точно знаете, что замены именно буква в букву, а не со сдвигом зависящим от позиции в тексте, например
У меня таким образом получилось что-то типа "дхаиав улм проиднытчртр ойоттсап реиочйиоиешеу инэани льнестчл лм тоныл в эоаэадбкек", пробелы возможно на своих местах, а вот остальные буквы нет. Возможно, это потому что я брал только отрывок из вопроса для анализа частот, а не весь файл. Но не знаю, мне кажется тут вообще другой какой-то метод шифрования. Ну и в целом буквы в любом тексте не обязаны иметь строго стандартную позицию по частоте, они легко могут меняться местами с другими буквами.
В файле 32 различных символа. Я понимаю что ё может быть выкинута, но если мы предполагаем текст с пробелами, то не хватает ещё одной буквы. Текст большой, должны использоваться все символы. То есть нет пробелов?
@StanislavVolodarskiy Мысль интересная, но я пробовал и без пробелов замены по частотам, осмысленности не прибавилось (
@CrazyElf, надо делать словарь частот пар букв. Такого в википедии не будет, придётся сделать из какого-то текста.
@StanislavVolodarskiy Частоты пар букв тоже есть в интернетах, правда урезанные для русского языка. Я когда делал задачку на разрезание слипшегося текста пробелами и задачку определения языка эту тему немного копал ) Я тут ещё немного посмотрел, тут с пробелами вообще засада. Для первых 7 по частоте символов если любой из них посчитать за пробел, то в тексте будет двойной пробел, что явно не айс. И это уже слишком длинные слова выходят. Я склоняюсь к версии, что тут не просто замена, а либо разный сдвиг для разных позиций, либо что-то ещё в этом роде.
08:48
@CrazyElf, ваша теория не объясняет почему в шифровке бедный алфавит. Все обсуждаемые методы размер алфавита не меняют. Мой вывод - надо считать что текст без пробелов. И тогда, под него надо делать частотный словарь пар для текста с удалёнными пробелами и знаками препинания.
В целом, здесь 2 варианта (есть пробелы/нет пробелов) я больше склоняюсь к тому, что нет пробелов.
Это шифр простой замены. Но как буд-то здесь не простая замена. То есть шифровали шифрованные текст, так сложнее - это только мое предположение.
Частотный словарь пар букв, это хорошая идея. Я знаю есть какие-то приложения как-раз для расшифровок, и там есть русские частоты пар букв. Можно найти "НО", "ОНА", "ОНИ", "ОН"
Вот кстати ссылка по теме. Там и частоты сочетаний букв есть intuit.ru/studies/courses/13837/1234/lecture/31196?page=4
Я бы хотел спросить у коллег, ибо тема довольно интересна. Я в прошлом году писал сыну годовую контрольную в школу, как раз на тему шифрования. Так вот у меня при шифровании текста в качестве словарей замены были задействованы не только русские буквы, но и английские, украинские, в двух регистрах и вообще все печатаемые символы. Это как повлияет на ваши рассуждения тут, или длина словарей несущественна? Когда-то, очень давно, я пользовался библиотекой шифрования, которая работала также и с непечатаемыми символами. А это по зубам вашим алгоритмам?
Я сюда продублирую. Я сейчас выясняю, как его расшифровали. Очень интересно. Вот, что получилось уже не мог продвинуться в своих исследованиях ни на шаг он тщетно пытался попросить помощи еще у какого нибудь алхимика все они были люди чудаковатые думали только о себе и почти всегда отказы вали в совете и содействии может быть они так и не сумели постичь тайну философского камня и от того замыкались в себе англичанин уже истратил на бесплодные поиски часть отцовского наследств а он ходил в самые лучшие на свете библиотеки покупал самые редкие самые важные книги по алхимии и
Либо это другой фрагмент расшифрован, чем который вы в вопросе привели, либо я чего-то не понимаю. Вам дали таблицу преобразования, какие буквы в какие переходят? У меня как-то не сходится ничего. Я могу видеть ваш удалённый ответ, если что и комментарии к нему.
08:48
Пары букв: ("з", "у") (c, "п", "ж") (c, "в", "е") (c, "ж", "н") (c, "м", "м") (c, "х", "о") (c, "а", "г") (c, "ъ", "п") (c, "л", "р") (c, "й", "д") (c, "е", "в") (c, "у", "и") (c, "к", "т") (c, "о", "ь") (c, "ц", "с") (c, "и", "я") (c, "ч", "х") (c, "г", "л") (c, "я", "а") (c, "б", "ш") (c, "э", "щ") (c, "ф", "ы") (c, "р", "к") (c, "ы", "б") (c, "ю", "ю") (c, "н", "ч") (c, "д", "з") (c, "ш", "й") (c, "щ", "ф") (c, "т", "ц") (c, "ь", "э") (c, "с", "ъ")
Забыл добавить, пробелов там нет. Пробелы расставлены после расшифровки
Да, с таким преобразованием сходится. Непонятно только, зачем в исходном тексте пробелы, видимо только чтобы запутать, они в совершенно произвольных местах стоят, их нужно просто выкинуть предварительно. Непонятно, почему вы тогда ответ удалили. Дополните его пояснениями из комментариев с таблицей перекодировки и как к ней можно прийти прямо в самом ответе и будет нормальный ответ, кому-то даже полезный.
@StanislavVolodarskiy Вы таки были правы насчёт пробелов. А дальше нужно было с буквосочетаниями тему добивать, как-то видимо. )
Есть онлайн сервисы для простой шифров простой замены/Виженера? Задача кажется подъёмной для написания автономной странички на JavaScript.
@StanislavVolodarskiy Я всё пытаюсь придумать алгоритм с перебором, но самих комбинаций получается слишком много, даже если просто буквы в частотном словаре на несколько мест вверх-вниз двигать. Хочется формализовать как-то алгоритм.
@CrazyElf, вот статья с разумным автоматическим поиском: habr.com/ru/articles/221485. Там есть и Виженер и простая подстановка в конце. В простой подстановке используется случайное блуждание и некоторая функция, оценивающая текущую подстановку. Этого достаточно в большинстве случаев. Но способ позволяет и вмешательство пользователя: например, фиксация каких-то пар и подбор остальных.

last day (15 days later) »