Преимущества использования многошаговых вычислений OpenSSL HMAC по сравнению с одношаговымиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Преимущества использования многошаговых вычислений OpenSSL HMAC по сравнению с одношаговыми

Сообщение Anonymous »

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

Код: Выделить всё

auto hmac = HMAC(EVP_sha256(), key, keylen, data, datalen, NULL, &maclen);
Я обратился к первоначальному разработчику, и он объяснил, что не заморачивался с многошаговым алгоритмом, поскольку ключ меняется на каждой итерации, тогда как данные является константой.
Прежде чем я открою банку с червями, внеся изменение, которое нужно будет тщательно протестировать, могли бы эксперты, опробовавшие оба подхода, присоединиться и предложить, следует ли какое-либо улучшение производительности следует ожидать изменения приведенного выше преамбулы на такую:

Код: Выделить всё

ctx = HMAC_CTX_new();
auto maclen = -1;
и повторяющийся блок, такой как этот:

Код: Выделить всё

HMAC_Init_ex(ctx, key, keylen, EVP_sha256(), NULL);
HMAC_Update(ctx, data, datalen);
HMAC_Final(ctx, hmac, &maclen);
Из предыдущего опыта я помню, что есть польза от повторения первой строки в преамбуле и повторения последних двух строк, но у меня нет опыта повторения всех трех из них. .

Подробнее здесь: https://stackoverflow.com/questions/787 ... ingle-step
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»