24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 17/03/15 Втр 15:40:43 #1 №88635592 
14265960431390.jpg
14265960431611.png
14265960431622.png
Сап, любители криптоанализа и мамкины шифровальщики. Есть одна задачка. Коротко о главном:
Дается текст, в котором только русские буквы (Е=Ё=е=ё) заменены на символы по рандомно сгенериной таблице.
Суть задания - проанализировать зашифрованный текст и составить таблицу встречаемости символов (всего 32 используемых для кодирования символа, соответственно). Затем проанализировать какое-то русское произведение (или несколько), составить такую же таблицу частотности для русских букв, ну и сопоставить. И все вроде бы хорошо, вот только такая таблица для русских букв будет не 100% совпадать с таковой в исходном тексте. Поэтому приходится делать 4-5 свапов букв в этой таблице вручную. А в идеале программа должна расшифровывать текст без пользователя.
Для улучшения алгоритма советуют использовать словари частотности 1,2,3 буквенных слов (или частей слов) в русском языке. Но я вот нихуя не понимаю как её можно прицепить к этой программе. Поясните на пальцах, как эти словари использовать в данной программе?
1 приклейтед - таблицы
2 приклейтед - дешифровка, в которой я в качестве текста для анализа закинул сам зашифрованный текст
3 приклейтед - дешифровка, в которой в качестве текста для анализа 3 произведения этого автора Булгакова

Как использовать словари 1,2,3 буквенных слов для улучшения алгоритма?
Аноним 17/03/15 Втр 15:41:53 #2 №88635680 
14265961130940.jpg
Аноним 17/03/15 Втр 15:42:37 #3 №88635735 
14265961576050.jpg
Аноним 17/03/15 Втр 15:42:57 #4 №88635768 
14265961773170.jpg
Аноним 17/03/15 Втр 15:43:21 #5 №88635798 
14265962018120.jpg
Ну же, анон!
Аноним 17/03/15 Втр 15:44:11 #6 №88635867 
14265962514240.jpg
Аноним 17/03/15 Втр 15:44:41 #7 №88635902 
14265962815100.jpg
Аноним 17/03/15 Втр 15:45:03 #8 №88635922 
14265963036730.png
Аноним 17/03/15 Втр 15:45:32 #9 №88635957 
14265963321330.jpg
Аноним 17/03/15 Втр 15:46:30 #10 №88636004 
14265963909500.jpg
Аноним 17/03/15 Втр 15:46:59 #11 №88636038 
14265964196060.jpg
Аноним 17/03/15 Втр 15:47:24 #12 №88636063 
14265964442760.jpg
Придется лить няш.
Аноним 17/03/15 Втр 15:47:40 #13 №88636076 
14265964605900.jpg
Аноним 17/03/15 Втр 15:48:07 #14 №88636099 
14265964878030.jpg
Аноним 17/03/15 Втр 15:48:26 #15 №88636121 
14265965067240.jpg
Аноним 17/03/15 Втр 15:48:57 #16 №88636160 
14265965378530.jpg
Аноним 17/03/15 Втр 15:51:11 #17 №88636305 
14265966711620.jpg
Аноним 17/03/15 Втр 15:51:29 #18 №88636333 
14265966892490.jpg
Аноним 17/03/15 Втр 15:52:06 #19 №88636373 
14265967265630.jpg
Аноним 17/03/15 Втр 15:52:51 #20 №88636420 
14265967714080.jpg
Аноним 17/03/15 Втр 15:53:08 #21 №88636437 
>>88636373
Мм, няши
Аноним 17/03/15 Втр 15:53:14 #22 №88636444 
14265967944540.jpg
Аноним 17/03/15 Втр 15:53:41 #23 №88636483 
14265968218640.jpg
Аноним 17/03/15 Втр 15:54:06 #24 №88636507 
14265968467000.jpg
Аноним 17/03/15 Втр 15:55:36 #25 №88636617 
14265969363050.jpg
Аноним 17/03/15 Втр 15:55:54 #26 №88636638 
14265969548640.jpg
Аноним 17/03/15 Втр 15:56:12 #27 №88636662 
14265969720880.jpg
Аноним 17/03/15 Втр 15:56:36 #28 №88636692 
14265969967610.jpg
Аноним 17/03/15 Втр 15:56:58 #29 №88636719 
14265970189490.jpg
Аноним 17/03/15 Втр 15:57:36 #30 №88636763 
14265970562670.jpg
Аноним 17/03/15 Втр 15:58:00 #31 №88636794 
14265970808370.jpg
Аноним 17/03/15 Втр 15:58:17 #32 №88636815 
14265970977310.jpg
Аноним 17/03/15 Втр 15:58:44 #33 №88636843 
14265971242610.jpg
Аноним 17/03/15 Втр 15:59:04 #34 №88636859 
14265971442690.jpg
Аноним 17/03/15 Втр 15:59:32 #35 №88636887 
14265971728190.jpg
Аноним 17/03/15 Втр 15:59:53 #36 №88636910 
14265971933830.jpg
Аноним 17/03/15 Втр 16:00:17 #37 №88636936 
14265972174250.jpg
Аноним 17/03/15 Втр 16:00:26 #38 №88636944 
Ты не думал спросить это в /pr/, например? Ну или в компьютер сайнс (вроде пользовательская доска)
Аноним 17/03/15 Втр 16:00:26 #39 №88636947 
>>88635592
> шифр цезаря
Зачем ты это трогаешь вообще. Ну а так есть идея получше - после частотного анализа текст раскрывается и слова прогоняются по словарю, оказывается что от слов в словаре проверяемые отличаются на пару букв, их свапаешь на нужные.
Аноним 17/03/15 Втр 16:01:03 #40 №88636991 
Может, высчитать частотность букв, встречающихся в коротких словах в зашифрованном тексте, и сравнить с аналогичной частотностью из словарей?
Аноним 17/03/15 Втр 16:04:25 #41 №88637231 
>>88636944 Там полтора анона, но спрошу.
Аноним 17/03/15 Втр 16:04:36 #42 №88637246 
Да тот же самфй подход. Генеришь или ручками пишешь таблицу этих сочетайний букв. Потом прогоняешь на поиск по совпадениям в большой книге. Потом исходный текст. Тот же самый принцип-то.
Аноним 17/03/15 Втр 16:06:35 #43 №88637392 
>>88636947 Это не шифр цезаря, чем читаешь?
Зачем трогаю? Задание такое, что-то вроде лабы.
Словарь содержит 1,2,3 буквенные куски слов. То есть это не слова, отделенные пробелами/знаками препинания, поэтому и не догоняю как его юзать.
Аноним 17/03/15 Втр 16:06:42 #44 №88637402 
>>88636763
о мой городок
Аноним 17/03/15 Втр 16:07:16 #45 №88637434 
>>88637402
о моя телка
Аноним 17/03/15 Втр 16:07:27 #46 №88637448 
>>88636991 Опять же, в словаре куски слов, например, приставки, предлоги, окончания. По совпадениям там так просто не прогнать.
Аноним 17/03/15 Втр 16:08:09 #47 №88637490 
>>88637246 По какому принципу её генерить-то? Разбивая n буквенные слова с конца и начала по 2/3 знака?
Аноним 17/03/15 Втр 16:10:35 #48 №88637624 
>>88637490
>По какому принципу её генерить-то? Разбивая n буквенные слова с конца и начала по 2/3 знака?
Все сочетания со всеми же сгенерируй. От аа до яя
Аноним 17/03/15 Втр 16:13:28 #49 №88637824 
14265980088250.png
>>88637624 Нихуя не понял.
Вот так выглядит сам шифр, а рядом словари. Какие нахуйеще сочетания генерить-то и нахуя?
Аноним 17/03/15 Втр 16:16:14 #50 №88638013 
>>88637824
Сочетания букв. А прогнав через книгу, получишь их частнотность. А потом сможем анализируя по два символа ичходного текста его расшифровывать.
Аноним 17/03/15 Втр 16:18:36 #51 №88638187 
>>88638013 Так словари и являются уже этой частотностью 2,3,4 буквенных слов. Дальше что с ними делать?
Аноним 17/03/15 Втр 16:20:17 #52 №88638304 
Твоя задача сводится с сопоставлению шифрованного алфавита к алфавиту кириллическому. Проводишь частотный анализ шифрованного текста. Сопоставляешь частоты букв шифра с частотами букв анализа многих слов или из гугола. Далее надо оценить качество дешифровки и подогнать буквенные частоты. Скорее всего на этом этапе тебе и понадобится частоты слов.
Аноним 17/03/15 Втр 16:21:37 #53 №88638403 
>>88638187
А, ну тогда подсчитывай по частоте каждые два/три/четыре символа исходного текста. И составляй таблицу частотности. Так же как с буквами отдельными. Просто сочетания тебе нужно будет запоминать в массиве, например. И каждые две/три/четыре буквы сравнивать с прошлым массивом. Если встречаются в первый раз, то заносить в массив на первую свободную позицию.
Аноним 17/03/15 Втр 16:22:20 #54 №88638454 
>>88638304 Все до последнего предложения я уже сделал. Только частотная таблица у каждого произведения будет чуточку отличаться от идеальной.
Аноним 17/03/15 Втр 16:23:21 #55 №88638558 
>>88638454
>Все до последнего предложения я уже сделал. Только частотная таблица у каждого произведения будет чуточку отличаться от идеальной.
Ну что тут поделаешь. Издержки простоты метода. Стабильно-идеальной расшифровки им не достичь.
Аноним 17/03/15 Втр 16:23:55 #56 №88638607 
>>88638403 Запоминать все уникальные 2,3,4 буквенные сочетания в таком тексте - это оче невыгодно по памяти. Их вроде бы хранить не нужно.
Аноним 17/03/15 Втр 16:24:19 #57 №88638643 
>>88638607
>Запоминать все уникальные 2,3,4 буквенные сочетания в таком тексте - это оче невыгодно по памяти. Их вроде бы хранить не нужно.
Иначе никак. Как ты их сравнивать будешь, не храня?
Аноним 17/03/15 Втр 16:24:43 #58 №88638671 
>>88638558 Ну вот моя задача и состоит в том, чтобы с помощью словарей, которые даны, улучшить этот метод. А я нихуя не догоняю как эти словари впихнуть inb4 аутист 2 дня не спал
Аноним 17/03/15 Втр 16:25:42 #59 №88638739 
>>88638671
Никак. Словари работают хуже символьного частотного метода. Гораааздо хуже. Так что ты только хуже сделаешь, прикрутив его.
Аноним 17/03/15 Втр 16:26:26 #60 №88638796 
>>88638739 Почему хуже-то? Это же частотные словари сочетаний
Аноним 17/03/15 Втр 16:27:02 #61 №88638836 
>>88638643 То есть мне все равно придется реализовывать это посимвольное расчленение текста на 2,3,4 буквенные слова, минуя все знаки препинания и прочее?
Аноним 17/03/15 Втр 16:29:56 #62 №88639088 
>>88638796
ну тогда придется прогонять расшифрованный текст на содержание этих сочетаний (ну или самых их часто встречающихся) и выставлять какую-то оценку каждому частотному набору. Самая лучшая оценка - лучший частотный набор для конкретного произведения
Аноним 17/03/15 Втр 16:30:00 #63 №88639092 
>>88638796
>Почему хуже-то? Это же частотные словари сочетаний
Сочетаний в десятки раз больше чем букв. Частотность размывается.
Аноним 17/03/15 Втр 16:30:20 #64 №88639121 
>>88638836
Да.
Аноним 17/03/15 Втр 16:36:48 #65 №88639620 
Программу давай анон
Аноним 17/03/15 Втр 16:37:03 #66 №88639636 
>>88638836
нет
возьми расшифрованный при помощи текущей частотной таблицы текст и проверь его на частоту вхождений в него из словаря сочетаний, выставляем оценку(возьми допустим Сумма(частота в словаре * частота в тексте)) поменяй соответствие алфавита и повтори оценку. соответствие с лучшей оценкой - ключ к шифру
Аноним 17/03/15 Втр 17:00:06 #67 №88641522 
>>88638836 Поподробнее можешь?
Аноним 17/03/15 Втр 17:58:37 #68 №88646168 
Запихнул словари в память. Что с ними все-таки дальше делать ,может кто-нибудь пояснить, что имел ввиду этот анон >>88639636 ???
Аноним 17/03/15 Втр 18:03:05 #69 №88646431 
>>88639636 Как на основе оценки менять соответствие алфавита???
Аноним 17/03/15 Втр 18:14:59 #70 №88647129 
14266052991010.jpg
BUMP
Аноним 17/03/15 Втр 18:18:21 #71 №88647337 
14266055014710.jpg
Ну же, аноны!
Аноним 17/03/15 Втр 18:19:43 #72 №88647420 
14266055830770.jpg
Аноним 17/03/15 Втр 18:23:08 #73 №88647654 
14266057881760.jpg
Аноним 17/03/15 Втр 18:51:48 #74 №88649568 
14266075081960.jpg
Анонимайзеры, ау!
Аноним 17/03/15 Втр 19:03:49 #75 №88650416 
14266082299010.jpg
Аноним 17/03/15 Втр 19:24:50 #76 №88652019 
14266094901630.jpg
АНОООН
Аноним 17/03/15 Втр 19:31:56 #77 №88652487 
14266099169100.jpg
Аноним 17/03/15 Втр 19:58:05 #78 №88654243 
14266114855140.jpg
Ну ебанарот, где все программисты?
Аноним 17/03/15 Втр 20:02:18 #79 №88654568 
14266117387580.png
>>88654243
Пиздос, ты не можешь простейший подстановочный шифр проанализировать, нахуй ты пошел учиться туда? Ты же дуб?
Аноним 17/03/15 Втр 20:06:35 #80 №88654913 
>>88654568 Ты жопой читаешь? Я уже все давно проанализировал. Но частотный анализ даёт ХУЕВУЮ расшифровку по определению. Мне нужно проапгрейдить алгоритм с использованием словарей частотности 2,3,4нарных фраз русского языка. Чтобы текст без ручного вмешательства расшифровывался верно.
Аноним 17/03/15 Втр 20:12:41 #81 №88655402 
>>88654913
Ну ладно-ладно, не кипятись. Ты прав, возьми пирожок.

Пиздец конечн, нахуй кириллицу, делать нечего блядь.

1. Замути какую-нибудь метрику для каждого символа - насколько этот символ вероятно зашифрован каждой буквой. Изначально просто по частоте одиночных букв.

2. Потом мути все пермутации от наиболее вероятных к наименее вероятным и тести к самым частым диграммам-триграммам-словам-вотевер.

2.1 Тест состоит из подстановки полной текста или частичной - только пары особо важных на данном этапе буков(второй вариант требует дополнительной мутки). Для каждой подстановки прогон получившегося текста по словарю - когда ТЕПЛО - у тебя резкий скачок в частоте нормальных буков будет.
Аноним 17/03/15 Втр 20:13:28 #82 №88655466 
Криптоанон, подкинь чего-нибудь годного почитать по теме Cicada 3312 или как их там. В рунете все написано в духе "вот такая головоломка была в 2013 вот такая в 2014, а вот такая в 2015", а зарубежные издания показывают историю с точки зрения участников разгадывания. Существует ли какой-то третий формат текстов об этом?
Аноним 17/03/15 Втр 20:14:01 #83 №88655497 
>>88655402
>резкий скачок в частоте нормальных слов будет

Тож не спал нихуя.
Аноним 17/03/15 Втр 20:15:17 #84 №88655587 
Была уже криптотян итт?
Аноним 17/03/15 Втр 20:27:14 #85 №88656549 
>>88655402
>Пиздец конечн, нахуй кириллицу, делать нечего блядь.
Да в принципе похуй. В сях уже подкрутил всю эту ебалу.

Из твоего гайда нихуя не понял. Косяк в том, что мне нельзя делать исправления в середине текста и нельзя забивать весь текст в память.
Аноним 17/03/15 Втр 20:34:12 #86 №88657112 
>>88656549
Да хули ты не понял-то, на пальцах сук объяснил. Первое понял?

После первого тупо по уменьшению вероятности подставляй куски текста и смотри, есть ли там адекватные слова русские по словарям. Нет? Проверяй следующую подстановку, чуть менее "перспективную".

Ладн, хуй знает, без наглядности объяснять хуево.

Ну ты весельчак тоже на си эту ебалу писать. Зачем? Все-равно, что блядь в муху из гранатомета стрелять.
Аноним 17/03/15 Втр 20:36:41 #87 №88657315 
>>88657112
Да проспись блядь. Я тред с начала читаю и ОП уже раз 10 сказал, что у него в словаре только определенные популярные морфемы, а не целые слова.
Аноним 17/03/15 Втр 20:37:59 #88 №88657431 
14266138799600.png
>>88657112 Да потому что сказали на сях писать, вот и мучаюсь.

>>88657315 Да, не выйдет целые слова подставлять. Я же вкидывал как словарь выглядит.
Аноним 17/03/15 Втр 20:39:19 #89 №88657540 
>>88657315
Перестань в глаза ебаться -
>>88655402
> подстановки полной текста или частичной - только пары особо важных на данном этапе буков(второй вариант требует дополнительной мутки).

Там тот же подход.
Аноним 17/03/15 Втр 20:40:46 #90 №88657657 
>>88657540 Я все еще нихуя не понял.
Допустим, беру 300 символов (как на 3 приклейтеде ОПпика) исходного текста, забиваю их в строчный массив, дальше с ними что делать?
Аноним 17/03/15 Втр 20:41:20 #91 №88657701 
>>88657657 ОПпоста*
Аноним 17/03/15 Втр 20:51:53 #92 №88658498 
Бамп
Аноним 17/03/15 Втр 20:52:48 #93 №88658588 
>>88657431
Да ебать!
1. Сначала раскидываешь вероятности по отдельности - частота каждого отдельного символа.

Матрица получится вида
symbol1[a] = 0.8
..
symbol1[з] = 0.95
..
symbol1[я] = 0.2
symbol2[a] = 0.92
..
symbol2[я] = 0.05
...

2. Делаешь подстановку {symbolN} <-> {букваN} с наибольшим значением суммы symbolN[букваN]

2.1 Получается текст какой-то, сравниваешь, как он выглядит относительно словаря просто находя частоту слов из словаря. Если какое-то слово очень близко - увеличиваешь уверенность в подстановке букв этого куска устанавливая значения в матрице из пункта 1.

После изменения матрицы из 1 у тебя новый вариант появится с максимальной суммой для пунта 2. Продолжаешь выполнять пункт 2 пока не достигнешь корреляции со словарем. Максимальное количество подстановок - 33!. Если текст не ебанутый и ты начал норм с матрицей из 1 и если ты хороший алгоритм подставишь по корректировке матрицы в соответствии с каждой новой попыткой подстановки и результатом, то скорее всего быстро к ответу придешь.


Все, пиздец, ебал я текстом описывать. Сори, по-русски тож не 10 из 10 описываю.
Аноним 17/03/15 Втр 21:01:15 #94 №88659333 
>>88657657
Со строчным массивом нихуя не делать. Тебе нужно понять как захуярить модель подстановки, как сделать ЭВРИСТИЧЕСКУЮ ОЦЕНКУ охуенности конкретной подстановки. И как проследовать по пермутациям алфавита, чтовы твоя ЭВРИСТИЧЕСКАЯ ОЦЕНКА каждой следующей подстановки была максималькой.

И вот для каждой такой подстановки ты уже переводишь свой строчный массив этой самой подстановкой, анализируешь по отношению к словарю и adjust'ишь свою модель вероятности символов.
Аноним 17/03/15 Втр 21:02:21 #95 №88659423 
>>88658588
>>88659333

Бля, охуеть какие заебатые номера постов. Это значит, что я не пизжу.
Аноним 17/03/15 Втр 21:25:34 #96 №88661199 
>>88659423 Я может совсем обдвачевался, но все еще нихуя не понял.
Я после первичного анализа получаю отсортированный (по частоте) массив с русским алфавитом алфавитом. Сопоставляю его с таким же массивом символов, используемых для кодировки. Мне нужно грейдить первый массив, меняя там буквы местами, на основе каких-то исследований текста/словарей. Но только это все в автоматическом режиме должно быть. Как это прикручивать-то, какие еще матрицы и суммы?
Аноним 17/03/15 Втр 21:59:41 #97 №88664230 
14266187815700.png
Аноним 17/03/15 Втр 22:12:56 #98 №88665433 
14266195761400.png
Аноним 17/03/15 Втр 22:35:40 #99 №88666573 
14266209406540.png
comments powered by Disqus

Отзывы и предложения