@llz

Странная перестановка в GOST Python — в чем дело?

Здравствуйте.
Изучаю алгоритм ГОСТ 28147-89, конкретно его реализацию на python.
Насколько я понял, в данной реализуется алгоритм простой замены.
Но в f функции смущает код:
output = ((output >> 11) | (output << (32 - 11))) & 0xFFFFFFFF

т.е. первые 11 символов ставятся в конец, а оставшиеся 22 - в начало
0b11111011101111000111010111100100
0b10111100100111110111011110001110

Для чего это? В алгоритме ГОСТ`а не нашел ничего подобного.
  • Вопрос задан
  • 3464 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Это циклический сдвиг 32-битного слова вправо на 11 бит. В описании алгоритма на википедии циклический сдвиг на 11 присутствует в функции f(Ai, Ki), но сдвиг влево, а не вправо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы