Когда использовать шифрование AES «на лету» и шифрование AES с фиксированным ключом?

Я работаю над безопасностью AES в Contiki OS. У меня есть библиотека AES, которая поддерживает два типа шифрования/дешифрования:

  1. На лету
  2. Фиксированный ключ

В on-the-fly, когда я шифрую данные с помощью ключа, генерируются новый ключ и зашифрованные данные. Этот вновь сгенерированный ключ используется для расшифровки данных. Поэтому каждый раз, когда я выполняю операцию enc/dec, мой ключ меняется.

В алгоритме fixed-key один фиксированный ключ используется для всех enc/dec.

Я в замешательстве, какой метод выбрать? Я не знаю плюсов и минусов этих двух методов.


person Dhaval Chauhan    schedule 11.08.2014    source источник
comment
Это основано на вашем требовании. обычно используется фиксированный ключ.   -  person mahendiran.b    schedule 11.08.2014
comment
нужно больше информации. кому нужно расшифровать эти данные?   -  person guest    schedule 12.08.2014
comment
Передатчик шифрует данные перед отправкой, а получатель расшифровывает данные.   -  person Dhaval Chauhan    schedule 12.08.2014


Ответы (1)


Разница между «на лету» и «исправленным ключом» объясняется в разделе 4.3.2 исходного предложения Rijndael в разделе «Примечание».

«Расписание ключей можно реализовать без явного использования массива W[Nb*(Nr+1)]. никаких вычислительных затрат».

По сути, планирование ключей «на лету» сэкономит немного памяти, потому что вам не нужно хранить весь расширенный ключ, но вы вычисляете его в каждом раунде. Преимущества планирования ключей «на лету» действительно имеют значение только в очень маленьких микроконтроллерах или аппаратных реализациях.

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

person caylus    schedule 29.11.2018