Khafre


Khafre — второй (вместе с Khufu) алгоритм, предложенный Ральфом Мерклом (Khufu (Хуфу) и Khafre (Хафра) — имена египетских фараонов). Этот алгоритм похож на Khufu, но не нуждается в предварительных вычислениях. S-блоки не зависят от ключа, в Khafre используется фиксированные S-блоки. Алгоритм Khafre не ограничивает максимальное количество раундов алгоритма и максимальный размер ключа, в отличие от Khufu. Однако, размер ключа должен быть кратен 64 битам, а количество раундов — кратным 8. По предположению Меркла с Khafre должны использоваться 64 или 128 битовые ключи, и что в Khafre будет больше этапов, чем в Khufu. Также, каждый этап Khafre сложнее этапа Khufu, это делает Khafre медленнее. Зато для Khafre не нужны никакие предварительные вычисления, что дает возможность быстрее шифровать небольшие порции данных.

Непосредственно перед созданием алгоритма, (конец 1990 г.) большая часть существовавших в то время алгоритмов симметричного шифрования было адаптировано под аппаратные реализации, несмотря на то, что аппаратная реализация алгоритма шифрования является более дорогостоящей, чем программная реализация, Это значит — менее доступной для подавляющего большинства потенциальных пользователей.

Так в конце 1990-х Меркл в составе команды криптографов из компании Xerox разработал шифр — Khafre, названный в честь египетского фараона Хафра сына Хуфы. Через год компания Xerox получила патент на алгоритм Khafre, его коммерческое использование было запрещено держателем патента.

Алгоритм Khafre — блочный алгоритм, построен на основе сети Фейстеля и удовлетворяет следующим постулатам:

На основе опыта, полученного при проектировании алгоритма DES, были сформулированы следующие принципы:

Алгоритм шифрует данные блоками с размером 64 бита. Далее в процессе шифрования каждый блок разбивается на 2 субблока с размерами 32 бита каждый.