Я реализовал шаг подстановки для каждого раунда в моем алгоритме шифрования PRESENT с языком Python и теперь остановился на следующем шаге — перестановке. Предположим, у меня есть 64-битные данные в двоичном представлении (например, '1001010001100010000001010100100110100100001100110110001101010000'. Теперь я хочу, чтобы эти данные были переставлены в соответствии с процессом перестановки, как показано в данном примере. image. Как я могу построить логику для достижения этой цели? Пожалуйста, поделитесь также обратным процессом, чтобы иметь возможность декодировать зашифрованные данные.
Любые предложения или идеи будут оценены.
Подробнее здесь:
https://stackoverflow.com/questions/783 ... -algorithm