Gifford

• Алгоритм использует единственный 8-байтовый регистр:

b0, b1,...., b7.

• Ключом является начальное состояние регистра.

• Открытый текст не влияет на работу алгоритма. Для генерации байта ключа k объединим b0 и b1, а также объединим b4 и b7.

• Перемножим полученные числа, получая 32-битовое число.

• Третьим слева байтом и будет k.

• Для обновления регистра возьмем b1 и сдвинем вправо 'с приклеиванием' на 1 бит следующим образом: крайний левый бит одновременно и сдвигается, и остается на месте.

• Возьмем b7 и сдвинем его на один бит влево, в крайней правой позиции должен появиться 0.

• Выполним XOR измененного b1, измененного b7 и b0. Сдвинем первоначальный байт регистра на 1 бит вправо и поместим этот байт в крайнюю левую позицию.

• В течение всего времени использования этот алгоритм оставался безопасным, но он был взломан в 1994 году. Оказалось, что многочлен обратной связи не был примитивным и, таким образом мог быть вскрыт.