Если коротко, то там используется логический оператор XOR или, если по-русски, то "сложение по модулю 2. Если Вы уже изучали какой-нибудь язык программирования, то практически в любом такой оператор есть (или оператор или функция).
То, что представлено на картинке, шифруется в три этапа:
1 этап, это когда результирующим бита с 1 по 3 просто присваиваются первые три исходных бита:
Результат(1) = Исходный(1)
Результат(2) = Исходный(2)
Результат(3) = Исходный(3)
2 этап, на четвёртом бите у нас появляется второе слагаемое и тут уже можно начать использовать XOR, т.к. в формуле написано, что Результирующий_Бит(i) равен Исходный_Бит(i) XOR Результирующий_Бит(i-3). До 4 бита мы не могли применять формулу, т.к. у нас просто нет Результирующего_Бита(0) (конечно при условии, что считать мы начали с единицы
), а вот у четвёртого бита он появился:
Результат(4) = Исходный(4) XOR Результат(1)
Результат(5) = Исходный(5) XOR Результат(2)
3 этап, у нас появляется Результирующий_Бит(i-5) и дальше XOR уже до конца работает с тремя слагаемыми, т.к. в формуле присутствует ещё и (i-5):
Результат(6) = Исходный(6) XOR Результат(3) XOR Результат(1)
Результат(7) = Исходный(7) XOR Результат(4) XOR Результат(2)
и так далее, пока биты не кончатся...
Попробуете сами сделать? У калькулятора Windows в режиме "Программист" операция XOR есть. А чтобы получить высший балл - рекомендую составить программу и потом показать её преподавателю.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)