В эти дни, я работаю в области криптоанализа и начали делать программирование с помощью C#генерации 2^24 таблиц, которые различаются только по одному биту с C#
Теперь,
Для нахождения 5 оптимальной s-boxes (я имею в виду те 2^24 таблицы), они должны быть сгенерированы, в первую очередь. Я знаю все о критериях поиска оптимальных.
Здесь, Sbox 2 * 8 таблица, в которой первая строка включает в себя число между 0-7 (бинарной: 000 - 111) (в качестве входных данных Sbox) и во втором ряду, каждый вход (0 - 7) связан с числом, как показано ниже:
Первый Sbox:
input 000 001 010 011 100 101 110 111
output 000 000 000 000 000 000 000 000
Второй Sbox, который отличается только на один бит:
input 000 001 010 011 100 101 110 111
output 001 000 000 000 000 000 000 000
Третий один, который отличается только на один бит coparing ко второму:
input 000 001 010 011 100 101 110 111
output 010 000 000 000 000 000 000 000
и 2^24-й один:
input 000 001 010 011 100 101 110 111
output 111 111 111 111 111 111 111 111
Вопрос в том, как генерировать эти таблицы? я не знаю, как поставить для цикла или сохранить результаты в массиве отдельно для каждого sbox.
Любая помощь приветствуется.
, мы можем использовать 16777216 вместо Math.Pow (2,24) – samsam114
Существует некоторая проблема с этим кодом, он повторяет некоторые значения ... – User1551892
это не важно. все перестановки должны быть сгенерированы. – samsam114