Опубликован: 28.11.2014 | Уровень: для всех | Доступ: свободно | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 1:

Алгоритмы симметричного шифрования

Лекция 1: 123456 || Лекция 2 >

Области применения

Необходимо, чтобы алгоритм симметричного шифрования мог приме-няться в следующих областях:

  • Шифрование данных. Алгоритм должен быть эффективен при шифровании как небольших файлов и блоков данных, так и большого потока данных.
  • Создание случайных чисел. Алгоритм должен быть эффекти-вен для создания любого количества случайных битов.
  • Хэширование. Алгоритм должен эффективно преобразовы-ваться в одностороннюю хэш-функцию.

Платформы

Стандартный алгоритм шифрования должен быть реализован на раз-личных платформах, которые, имеют разные характеристики.

Специальная аппаратура. Алгоритм должен эффективно реализовы-ваться на специализированной аппаратуре, предназначенной для выполне-ния шифрования / расшифрования.

Большие процессоры. Хотя в приложениях, требующих максимальной скорости, всегда используется специальная аппаратура, программные реа-лизации применяются чаще. Алгоритм должен допускать эффективную программную реализацию на 32-битных процессорах.

Процессоры среднего размера. Алгоритм должен работать на микро-контроллерах и других процессорах среднего размера.

Малые процессоры. Должна существовать возможность реализации алгоритма на смарт-картах, с учетом жестких ограничений на используемую память.

Дополнительные требования

Алгоритм шифрования должен, по возможности, удовлетворять неко-торым дополнительным требованиям.

  • Алгоритм должен быть простым с точки зрения написания кода, чтобы минимизировать вероятность программных ошибок.
  • Алгоритм должен иметь плоское пространство ключей, т.е. допускать любую случайную строку битов нужной длины в качестве возможного ключа. Наличие слабых ключей нежелательно.
  • Алгоритм должен легко модифицироваться для различных уровней безопасности и удовлетворять как минимальным, так и максимальным требованиям.
  • Все операции с данными должны осуществляться над блоками, кратными байту или 32-битному слову.
Лекция 1: 123456 || Лекция 2 >