Не уверен, что с таким вопросом надо писать именно в это сообщество, но всё же...
Есть текст на русском языке, каждую букву заменили двумя цифрами в соответствии с её порядковым номером в алфавите (А - 01, Я -33). Под полученной строкой цифр записали другую строку, состоящую из некоторой периодической последовательности цифр (период не известен).
(
Read more... )
* каждая нечётная цифра открытого текста может быть только 0,1,2,3 причём вероятность появления 3 достаточно мала (30,31,32,33). Отсюда следует возможность сокращения числа вариантов для перебора и возможность сузить пространство ключей:
для 1й цифры из примера:
т к ш
0+3=3
1+2=3
2+1=3
3+0=3
иными словами, ваш ключ начинается на 3,2,1 или 0, остальные варианты 1й цифры ключа невозможны. Причём можно оценить вероятность каждого варианта.
Для 3й цифры получаем:
т к ш
0+0=0
1+9=0
2+8=0
3+7=0
Т.е. либо 3я цифра ключа - 0, и тогда 2я буква открытого текста из набора "А-З"; либо 3я цифра ключа - 9,8,7. Остальные варианты отпадают.
* как следствие п.1, если длина ключа нечётна, то это предыдущее свойство может быть использовано для ускорения атаки и на некоторые чётные цифры последовательности (при условии что ключ используется более чем 1 раз), потому как, после начала следующего периода нечётные цифры ключа "лягут" на чётные цифры открытого текста.
* для больших объёмов осмысленного текста, можно воспользоваться частотным критерием появления пар цифр в открытом тексте.
* для осмысленного текста возможно отсечение невозможных соседних пар цифр, т.е. например использовать факт отсутствия удвоенных мягких знаков, etc.
* номера гласных букв - "особые", в купе со слабостью нечётной цифры позволяют строить предположения по схеме:
0X - А,E,Ё
1X - И,О
2X - У
3X - Э,Ю,Я
Это первое что пришло на ум... возможно найдётся ещё чего, если покопать.
з.ы. Судя по отсутствию кода для пробела - это алгоритм хэширования ? (ибо нормально пользоваться этим алгоритмом для шифрования/расшифрования без этого невозможно. Если ставить пробелы между цифрами шифртекста - достаточно ценную информацию о разбиении на слова выдадим потенциальному взломщику, предлоги, например, "раскроются" достаточно однозначно).
Reply
Reply
[3,2][][9,8][][8][][1,0][][7][][8,7][][5,4][][4,3][][2][][5,4][][4,3][]
Иначе говоря, 5я цифра ключа - 8, 9я цифра ключа - 7. Для остальных нечётных осталось по 2 варианта
Reply
Reply
Reply
Если будет время и настроение, расскажите пожалуйста, как вы вообще на цифры ключа вышли.
Reply
Собственно, простыня цифр:
38 [3,2,1,0] 3,2,1,0
03 [0,9,8,7] 0,9,8,7
95 [9,8,7,6] 9,8,7,6
36 [3,2,1,0] 3,2,1,0
99 [9,8,7,6] 9,8,7,6
84 [8,7,6,5] 8,7,6,5
55 [5,4,3,2] 5,4,3,2
53 [5,4,3,2] 5,4,3,2
22 [2,1,0,9] 2,1,0,9
65 [6,5,4,3] 6,5,4,3
69 [6,5,4,3] 6,5,4,3
51 [5,4,3,2] 3,2
90 [9,8,7,6] 9,8,7
97 [9,8,7,6] 9,8,7,6
25 [2,1,0,9] 2,1,0
07 [0,9,8,7] 9,8,7
06 [0,9,8,7] 9,8,7
65 [6,5,4,3] 5,4,3
68 [6,5,4,3] 5,4,3
54 [5,4,3,2] 2
59 [5,4,3,2] 5,4,3
67 [6,5,4,3] 6,5,4,3
41 [4,3,2,1] 3,2
99 [9,8,7,6] 9,8,7
97 [9,8,7,6] 9,8,7,6
21 [2,1,0,9] 2,1,0
78 [7,6,5,4] 7
99 [9,8,7,6] 9,8,7
69 [6,5,4,3] 5,4,3
47 [4,3,2,1] 4,3
52 [5,4,3,2] 2
77 [7,6,5,4] 5,4
58 [5,4,3,2] 5,4,3
58 [5,4,3,2] 3,2
15 [1,0,9,8] 9,8
91 [9,8,7,6] 9,8,7,6
28 [2,1,0,9] 2,1,0
80 [8,7,6,5] 7
86 [8,7,6,5] 8,7
69 [6,5,4,3] 5,4,3
59 [5,4,3,2] 4,3
47 [4,3,2,1] 2
67 [6,5,4,3] 5,4
60 [6,5,4,3] 5,4,3
43 [4,3,2,1] 3,2
01 [0,9,8,7] 9,8
88 [8,7,6,5] 8,7,6
23 [2,1,0,9] 2,1,0
70 [7,6,5,4] 7
92 [9,8,7,6] 8,7
79 [7,6,5,4] 5,4
49 [4,3,2,1] 4,3
27 [2,1,0,9] 2
77 [7,6,5,4] 5,4
40 [4,3,2,1] 4,3
54 [5,4,3,2] 3,2
14 [1,0,9,8] 9,8
12 [1,0,9,8] 8
16 [1,0,9,8] 1,0
76 [7,6,5,4] 7
92 [9,8,7,6] 8,7
65 [6,5,4,3] 5,4
51 [5,4,3,2] 4,3
53 [5,4,3,2] 2
77 [7,6,5,4] 5,4
53 [5,4,3,2] 4,3
41 [4,3,2,1] 3,2
03 [0,9,8,7] 9,8
02 [0,9,8,7] 8
21 [2,1,0,9] 1,0
85 [8,7,6,5] 7
95 [9,8,7,6] 8,7
69 [6,5,4,3] 5,4
52 [5,4,3,2] 4,3
=> [3,2]
=> [9,8]
=> [8]
=> [1,0]
=> [7]
=> [8,7]
=> [5,4]
=> [4,3]
=> [2]
=> [5,4]
=> [4,3]
Reply
Reply
Reply
Reply
Поясните, если не трудно, где я что упускаю?
Reply
Reply
Reply
Присоединяйся, коллективно вскроем это послание инопланетного разума.
Reply
Leave a comment