Повтор в зашифрованных данных - красный флаг?
У меня есть зашифрованные данные в кодировке Base-64, и я заметил довольно много повторений. В (приблизительно) 200-символьной строке определенный символ base-64 повторяется до 7 раз в нескольких отдельных повторных циклах.
Это красный флаг, что проблема в шифровании? Насколько я понимаю, зашифрованные данные никогда не должны показывать значительного повторения, даже если открытый текст полностью однороден (т.е. даже если я зашифрую 2 ГБ ничего, кроме буквы A, в зашифрованной версии не должно быть значительного повторения).
3 ответа
Согласно биномиальному распределению, вероятность того, что один персонаж из набора из 64 появится семь раз в серии из 200 случайных символов, составляет около 2,5%. Это небольшой шанс, но не незначительный. Получив больше информации, вы можете повысить свою уверенность с 97,5% до чего-то очень близкого к 100%... или обнаружить, что зашифрованный текст действительно распределен равномерно.
Вы говорите, что "персонаж повторяется до 7 раз" в нескольких повторяющихся сериях. Недостаточно информации, чтобы сказать, имеет ли смещение зашифрованный текст. Вместо этого, сообщите нам общее количество раз, когда появился символ, и общее количество символов шифрованного текста. Например, "оно появилось в общей сложности 3125 раз за 1000 запусков по 200 символов в каждом".
Кроме того, вы должны быть уверены, что говорите о необработанном выводе шифра. Зашифрованный текст часто инкапсулируется в "конверт", подобный тому, который определен синтаксисом криптографических сообщений. Конечно, эта ограждающая структура будет иметь предсказуемые закономерности.
Ну, я думаю, это зависит. Повторение вообще плохо, если оно представляет одни и те же данные.
Учитывая, что вы кодируете это, вы смотрели на данные, чтобы увидеть, есть ли у вас что-то, что повторяется в этих подсчетах?
Чтобы лучше понять, нужно знать, какой тип шифрования он использует. Это может быть просто совпадение, что они повторяются.
Но если повторение происходит из одних и тех же данных, тогда это может быть красный флаг, потому что тогда для его декодирования можно использовать счетчики частоты.
Какой тип шифрования вы используете? Самодельный или какой-то отраслевой стандарт?
Это зависит от того, как вы шифруете свои данные.
Base64, кодирующая строку, может считаться легким запутыванием, но это НЕ шифрование. Цель кодирования Base64 - разрешить кодирование любых двоичных данных в виде безопасной строки ASCII.