Существует много способов, которыми можно рассчитать количество активных ячеек шифра для одного раунда. Например, ручной подход (все возможные входные дифференциалы применяются в двух открытых текстах). $P_0, P_1$ а затем наблюдается, каково наименьшее количество ненулевых S-блоков, чтобы xor-сумма шифра $C_0, C_1$ производит, после одного раунда), то MILP и другие подходы тоже есть.
Теперь, если есть шифр, в котором замена S-блока происходит несколько раз; в одном раунде шифрования слово заменяется S-блоком несколько раз. Самое главное, замены происходят в перекрывающемся порядке между соседними словами.
Пусть 128-битная длина блока, расположенного в $8\умножить на 16$ бинарная матрица. S-блок представляет собой 8-битную случайно сгенерированную перестановку. Теперь в каждой строке бинарной матрицы выделяется 8-битная область (называемая окном подстановки) и заменяется s-блоком. Затем окно подстановки сдвигается на 2 бита к левой стороне строки, и смесь 6-битного перекрывающегося значения и 2-битного нового значения попадает в окно подстановки, выбранное для следующей подстановки. Эта замена и сдвиг продолжаются до тех пор, пока окно замены не достигнет конца строки. Затем происходит та же операция, начиная с правой стороны, пока окно подстановки не дойдет до левого конца. В этом шифре также есть механизм, который рассеивает каждый столбец бинарной матрицы.
Как в такой системе рассчитать количество активных s-box?