AES-256 с линейным S-box'ом
Приветствую!
Помогите, пожалуйста, с задачей.
В общем дело такое: имеется шифр AES-256, в котором родную подстановку (S-box) умышленно заменили на фиксированную аффинную подстановку, т. е. такую подстановку, которая была сгенерирована на основе аффинной функции вида f(x) = Mx + v.
M – фиксированная двоичная матрица 8х8,
v – фиксированный 8-битовый вектор,
"+" это XOR
M и v были найдены для заданной по условию подстановки, т. е. аффинная функция полностью определена.
Задача такая: дан шифртекст, зашифрованный таким "модифицированным" AES'ом на неизвестном ключе в режиме ECB размером 100 блоков. Также известны первые 10 блока ОТ, которые соответствуют первым 10 блокам ШТ. Задача вскрыть неизвестную часть криптограммы.
Я понимаю, что проблема здесь в том, что единственный НЕлинейный компонент шифра оказался очень даже линейным, поэтому не будут выполнено свойство перемешивания (confusion) и нужно провести атаку на основе известных пар ОТ/ШТ, но как конкретно это сделать, затрудняюсь. Очевидно, что если найдешь "ключ" для дешифровки одного блока, то вскрыть остальные – не проблема (ECB – блоки шифруются независимо). Но что при таком раскладе является "фактическим" ключом, который можно извлечь?