Краткий вывод о скорости выполнения на основных программных платформах

Огромное количество информации собрано относительно скорости финалистов на различных программных платформах. Эти платформы включают 32-битные процессоры (реализации на С и Java), 64-битные процессоров (С и ассемблер), 8-битные процессоры (С и ассемблер), 32-битные смарт-карты (ARM) и цифровые сигнальные процессоры. В таблицах описано сравнение выполнения финалистов на различных платформах при использовании 128-битных ключей. Скорости финалистов сгруппированы следующим образом. Первая группа (I) обладает самой высокой скоростью выполнения, далее следуют вторая (II) и третья (III) группы.

Таблица 5.1. Выполнение шифрования и дешифрования на различных платформах
  32 бита(С) 32 бита (Java) 64 бита (С иассемблер) 8 бит (С иассемблер) 32 бита смарт-карты(ARM) Цифровые сигнальные процессоры
MARS II II II II II II
RC6 I I II II I II
Rijndael II II I I I I
Serpent III III III III III III
Twofish II III I II III I
Таблица 5.2. Выполнение управления ключом в зависимости от платформы
  32 бита(С) 32 бита (Java) 64 бита (С и ассемблер) 8 бит (С и ассемблер) Цифровые сигнальные процессоры
MARS II II III II II
RC6 II II II III II
Rijndael I I I I I
Serpent III II II III I
Twofish III III III II III
                     

 

Таблица 5.3. Полная оценка выполнения
  Шифрование/ дешифрование Установление ключа
MARS II II
RC6 I II
Rijndael I I
Serpent III II
Twofish II III

В следующих оценках "низкое", "среднее" и "высокое" являются терминами, используемыми только в контексте этих пяти финалистов.

MARS обеспечивает среднее выполнение для шифрования, дешифрования и установления ключа.

RC6 обеспечивает от среднего до высокого выполнение для шифрования и дешифрования и среднее выполнение для установления ключа.

Rijndael обеспечивает последовательно высокое выполнение для шифрования, дешифрования и установления ключа, хотя выполнение и понижается для 192- и 256-битных ключей.

Serpent обеспечивает последовательно низкое выполнение для шифрования и дешифрования и платформно-зависимое выполнение для установления ключа.

Twofish обеспечивает платформно-зависимое выполнение для шифрования и дешифрования и последовательно низкое выполнение для установления ключа. В реализациях используется опция "Full Keying". Данная опция обеспечивает максимально быстрое шифрование с помощью выполнения большинства вычислений при установлении ключа. Выполнение шифрования/дешифрования или установления ключа понижается при увеличении размера ключа в зависимости от используемой опции ключа.