Задать вопрос
@llz

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

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

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

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

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

Похожие вопросы