PIKE

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

PIKE — поточный шифр, предложенный Россом Андерсоном на смену взломанного им шифра FISH («FIbonacci SHrinking») в 1994 году.

История[править | править исходный текст]

В 1994 году Росс Андерсон опубликовал работу[1], посвящённую вскрытию криптосистемы FISH (её представили в Уве Блёхер и Маркус Дихтль в 1993 году)[2] и разработке новой — PIKE. В своей работе Андерсон описал как слабые стороны FISH, так и достоинства аддитивного генератора (иногда называемый запаздывающим генератором Фибоначчи)[3], на котором основан FISH, после чего была предложена новая криптосистема — PIKE[4]. Андерсон стремился получить быстрый программный потоковый шифр с одной стороны и достаточно криптостойкий с другой, поэтому в конструкции PIKE был использован пороговый механизм управления движением регистров, аналогичный схеме A5. В своей работе Андерсон подчеркнул, что если бы в FISH в качестве управляющих битов использовались биты переноса, то криптостойкость этой системы была бы значительно выше. Именно поэтому в PIKE и был применен пороговый механизм, заимствованный из A5.

Описание[править | править исходный текст]

За основу криптосистемы PIKE были взяты три аддитивных генератора:

a_i = (a_{i-55} + a_{i-24})~mod~2^{32}
a_i = (a_{i-57} + a_{i-7})~mod~2^{32}
a_i = (a_{i-58} + a_{i-19})~mod~2^{32}
Генератор ПСП PIKE

В качестве управляющих битов используются биты переноса[5] С1, С2 и С3 сумматоров OR1, OR2 и OR3. Анализирую их состояние, схема синхронизации принимает решение, какие регистры сдвигать. Если все С1, С2 и С3 одинаковы, сдвиг произойдет во всех трёх регистрах, если одинаковое состояние имеют лишь два бита переноса, то сдвигать будут соответствующие им регистры. Сдвиг будет произведён с задержкой в 8 циклов.

Очередное слово шифрующей гаммы получается применением операции XOR над самыми младшими словами всех трёх генераторов. Ожидаемый прирост скорости данного алгоритма по сравнению с FISH составляет около 10 %, что является следствием того, что в PIKE выполняется в среднем 2.75, а не 3 обновления состояния генераторов, для порождения одного слова гаммы. На 33 МГц процессоре Intel 486 возможно достичь скорости шифрования в 62 Мбайт/сек при реализации на языке Си, пример которой может быть найден в[6], в которой ключ генерируется при помощи хэш-функции типа SHA.

Предполагается перезагружать ключ каждые 2^{32} слов гаммы для того, чтобы использовалась лишь небольшая доля минимальной длины периода генератора. Для получения начального 700-байтного заполнения целесообразно использовать качественную хеш-функцию.


Сравнение скорости шифрования[править | править исходный текст]

Алгоритм Скорость шифрования (Мбайт/с)
A5 5
PIKE 63
RC4 164
SEAL 381

[7]

Следует отметить, что по данным за 2004 год, зафиксированных случаев взлома данного шифра нет[8]. Возможной областью применения данного алгоритма шифрования является цифровая связь.

Примечания[править | править исходный текст]

  1. Ross Anderson, «On Fibonacci Keystream Generators»
  2. Blöcher, Uwe; Dichtl, Markus (1993), «Fish: A fast software stream cipher», Proc. Fast Software Encryption 1993, Lecture Notes in Computer Science, 809, Springer-Verlag, pp. 41-44
  3. «Дискретная математика и криптология. Курс лекций» — Фомичев В. М., 2003 ISBN 5-86404-185-8, pp.332-334
  4. Название «PIKE» было взято не случайно, ведь в переводе с англ. языка оно означает щука, которая «находится вершине пищевой цепочки местных вод, живет дольше, компактнее и злее чем другие рыбы»
  5. Gideon Yuval, Гидеон Юваль отметил что, вместо битов переноса на некоторых процессорах предпочтительнее использовать биты чётности
  6. «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на Си Брюс Шнайер» ISBN 5-89392-055-4, PIKE.c
  7. Цифровая книга — «Криптография», гл. 2.3.2.2.17, Диски издательства LDL
  8. «Random Stream Cipher», Växjö universitet, 2007