Вы правы, такая опасность, теоретически (помним о возрасте Вселенной), существует для всех языков, кроме английского. И именно для ее предотвращения нами и были созданы процедуры shuffle_rotate_l и shuffle_rotate_r (смотрите страницу описания модуля shuffle на официальном сайте продукта). Вот что получается с Вашим примером после применения процедуры shuffle_rotate_l:
Код: Выделить всё
D0 BF D1 80 D0 BE D0 B2 D0 B5 D1 80 D0 BA D0 B0
п р о в е р к а
Было: D0 BF D1 80 D0 BE D0 B2 D0 B5 D1 80 D0 BA D0 B0
Стало: 0B FD 18 0D 0B ED 0B 2D 0B 5D 18 0D 0B AD 0B 0D
Именно поэтому в процедуре shuffle_encrypt_buffer сначала вызывается shuffle_buffer, и лишь затем shuffle_rotate_l. Здесь действительно важно, в какой именно последовательности выполнять эти манипуляции.
Так что, не беспокойтесь. Этот путь для злоумышленника тоже тщательно нами замурован.