Для того, чтобы быть ясно, я использую K, а затем использовать SHA256 (K), а затем
В случае
я не было достаточно ясно: Разница заключается в том, что, когда я должен угадать SHA256 (K) Я должен угадать 256 псевдослучайных битов. Но когда я
только должны угадать K, то
может быть словарь достаточно (или краткосрочная перспектива брутфорса). Кроме того, если я могу догадаться, P1 и таким образом получить K = C1 ^ P1, я узнаю что-то о вас и о том, как вы выбираете ваши секреты. Однако, если все, что я получаю от него является SHA256 (K), это намного менее полезным. Это явно слабые стороны, учитывая, что крошечная модификация позволяет избежать их полностью.
Что если K происходит следующим образом:
К [п] = SHA256 (SHA256 (к [п-1]) + Р [п])
... то вы не можете расшифровать больше.
Настоящим я обновлю вызов
Чем больше вариантов вы придумали в час, тем меньше внимания (и соответствующие попытки анализа) они захватят. Почему бы не думать об этом в течение недели, попытаться взломать его самостоятельно, и когда он стоит,
тогда после?
Сначала я думал, что это было то, что jetmine предлагал на самом деле, но разница в его алгоритма является то, что J [1] = SHA256 (J [0]).
Разница заключается в том, что вы называете "К" что я называю "K»"И вызов "J" что я называю "К"И рассчитать J (п + 1) = J (п) +1, в то время как я остаться ближе к GP путем вычисления J (п + 1) = SHA256 (к (п)).
Использование счетчика лучше для произвольного доступа (думаю, искать), и многопоточной реализации.
Однако свойства безопасности сомнительны, потому что вы смешиваете счетчик и ключевой материал. Больше диапазон счетчик (= максимальный размер потока сообщений), тем ниже максимальной энтропии ключа. Желательно, чтобы вычислить SHA256 (счетчик || ключ) вместо SHA256 (счетчик). Счетчик затем просто IV или NONCE, и вы можете установить его в 0 в начале потока вместо того чтобы держать его в секрете. Можно также применять "классический" knowlegde криптографии. То есть не используйте Нонс / KEY пары в два раза, может выявить Нонс, но не KEY и т.д.
Есть много возможных алгоритмов, каждый с различными свойствами. Это вопрос о том, что вы ожидаете от него, и GP не particularily ясно на это.