Циклический битовый сдвиг влево и вправо

Этот рецепт будет посвящен двум часто применяемым в криптографических и похожих алгоритмах, где требуется манипулировать переменными как потоками битов — циклическому сдвигу влево и вправо.

Данные операции встречаются довольно часто, а вот их реализации найти достаточно сложно и некоторые из существующих решений некорректны. Именно поэтому мы решили здесь разместить обе функции, как обычный рецепт, который легко будет найти впоследствии.

Читать далее