![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
так речь о бинарных данных.Нет никакого алфавита.
|
|
|||||
|
Под алфавитом я имею ввиду уникальные значения, которые представляют единицу информации. Битовый алфавит имеет всего два символа (да, нет), байтовый - 256, русский (33) и т.д.
Я тут подумал, этот способ будет работать только для информации, представленной отдельными байтами (когда алфавит 256). Или если используется фиксированное количество байтов для каждого символа. Но, так-как utf-8 использует переменное количество байтов (от 1 до 6), и long тоже, скорее всего, будет записан в зависимости от величины значения, то тогда перебирать пришлось бы весь диапазон полностью, так-как не понятно, как отделить зашифрованные байты на символы. Ну или копать глубже и искать более хитрый способ. Если ты закодируешь свою информацию так, что все символы алфавита будут занимать одинаковое количество байтов, то расшифровать будет легко. Я об этом, поэтому важно, как информация будет записываться в лонг.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
естественно в лонг данные идут в порядке следования байт в исходном файле(независимо от кодировки).
Но даже если разбить на отдельные байты поясни как ты составишь таблицу соответствия без таблицы частот? считаем что о данных наперед ничего неизвестно(чего легко достичь с помощью того же открытого ключа) |
|
|||||
|
1. Ты при помощи xor шифруешь каждый long отдельно.
2. Если ты записал букву "А" в сообщений как число 123, применил xor, то получил число 8435. 3. В твоём сообщении везде, где встречается буква "А" стоит число 8435. (Они записаны по 4 байта) 4. Если мне удалось выделить все эти числа как отдельные символы, то я получу алфавит используемых чисел. (Просто я не знаю, что 8435 это буква А, но я вижу, что она повторяется чаще других) 5. Далее я буду работать только с используемыми числами, а не всем диапазоном long. (Перебирая и подставляя под эти числа реальные буквы алфавита и пытаясь прочитать сообщение.) В каком месте у нас недопонимание?
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
в том где ты говоришь что у бинарных данных есть какой-то алфавит.Ты постоянно апеллируешь к буквам и частотам их появления.Представь что я зашифровал белый шум.Как можно его расшифровать?
ПС:При этом, тебе известно, что я шифровал его побайтно. |
|
|||||
|
1 байт имеет ёмкость 256 значений. Буква русского алфавита имеет ёмкость 33 значения. В 1 байт мы можем легко записать любую букву русского алфавита, но не наоборот.
У тебя, конкретная буква в шифровке всегда будет иметь конкретный байт. (В том числе, если ты применишь побайтовый xor) В итоге, в сообщений будет использовано только 33 разных байтов, остальные 223 я просто не встречу. Тут нет вопросов?
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
вот опять ты к буквам склоняешься белый шум состоит из значений 0-255, а не 0-32.И конечно встретить ты можешь любое значение в диапазоне 0-255
|
|
|||||
|
Тебе нужно как-то представить информацию в цифровом виде, которую ты передаешь. Если ты кодируешь строку, а не просто набор рандомных чисел, то используешь какую-то кодировку, например ANSI. (1 байт на символ) В этой кодировке конкретный байт соответствует конкретному символу из латинского алфавита.
Поэтому не важно, сколько байтов ты выделишь для кодирования символов - long, double long и т.д. В конечном итоге, информация будет представлена 33 уникальными значениями, которые будут соответствовать конкретным буквам в алфавите русского языка. Вот ты мне прислал шифровку, просто бинарный кусок данных: 48656C6C6F20776F726C6421 Но ты не учёл, что все твои символы закодированы по 1 байту, или (ровно по 2 байта). Таким образом, я разделяю их: 48,65,6C,6C,6F,20,77,6F,72,6C,64,21 И теперь уже могу выделить, что некоторые из них повторяются, а в целом, используется всего 8 уникальных значений (тут 8 букв). пс. Но если ты закодируешь кириллицу в кодировке UTF-8 ксором, то у меня ничего не получиться, так-как я не смогу правильно разбить бинарный кусок данных по символам. Только из-за того, что в UTF-8 используется переменный объём байт на символ.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
я кодирую последовательность байт(набор рандомных чисел).Никаких строк и кодировок.
Вообщем спор не имеет смысла т.к. белый шум и после ксора останется белым шумом и без дополнительной априорной информации ты из него ничего не получишь. |
|
|||||
|
Эта "дополнительная информация" может быть в формате представления этих чисел в бинарном виде. То, как они записываются в бинарный вид.
К слову вспомнилось, как определить, является ли речь животного интеллектуальной - чем ближе она к белому шуму, тем меньше в ней полезной информации. Дельфины, вроде как, лидируют. В их свистках содержится огромное количество информации.
__________________
Дети не должны знать о своих родителях |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:51. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|