Какие недостатки выявляются, если зашифрованная версия простого сообщения всегда одинакова?
Я работаю над небольшой программой шифрования, которая принимает сообщение, такое как "Привет!". Всякий раз, когда я запускаю программу с сообщением, она выдает тот же зашифрованный результат "Hu8z209=yTu83tu8". Если бы я подошел к нарушению шифрования с использованием дифференциального криптоанализа, я мог бы узнать, что в алгоритме нет рандомизации. Но что это на самом деле поможет мне узнать, чтобы сломать шифрование?
1 ответ
Самое простое, что он сообщает MITM, когда меняется ваше поведение.
Настройка: Каждый день вы отправляете отчет в 0800 Encrypt("Враг не виден"). Враг это замечает.
Сценарий 1: Однажды после того, как они начали "подкрадываться" к вам, вы отправляете другое сообщение. Они знают, что их заметили и переходят в тотальный заряд до того, как прибудет ваше подкрепление.
Сценарий 2. Представьте, что враг не вторгается и ваше сообщение меняется. Они отмечают это. В конце концов они отмечают, что сообщение меняется каждые 8 дней. Если сообщение меняется только через 6 дней, это означает, что а) вы отправили другое сообщение или б) вы изменили свой ключ / расписание. Возможно, они узнают, какой завтра.
Так что оба этих сценария говорили "врагу" что-то. Они могут объединить обе возможности, чтобы послать полное разрешение от вашего имени сразу после их вторжения (на следующий день после смены ключей), что даст им 7-дневный старт на следующей заставе. Если сообщение ВСЕГДА изменяется, из-за случайного одноразового номера /IV они не получают никакой информации, и если получатели проверяют одноразовые номера на наличие дубликатов, они также предотвращают возможность воспроизведения.
Но на самом деле этот вопрос принадлежит на http://crypto.stackexchange.com/.