Я рассчитываю время, затрачиваемое на выполнение шифрования / дешифрования AES (режим Simple AES ECB) с использованием C-реализации AES (также существует реализация сборок) в системе Core2Duo, работающей под управлением Linux.
Я пробовал с обоимиrdtsc и clock_gettime.
pseudo code for time calculation
//using rdtsc
start=rdtsc_timer_start();
AES_en[de]crypt
end=rdtsc_timer_end();
Time_taken=end-start
//using clock_gettime
clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&start);
AES_en[de]crypt for 100 blocks
clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&end);
Time_taken=(end.tv_sec-start.tv_sec)*1000000000+ (end.tv_nsec-start.tv_nsec);
К моему удивлению, время шифрования очень мало, чем время расшифровки.
Время шифрования AES 26231nsec используя clock_gettime, 61636ticks используя rdtsc в системе Core2Duo (2,2 ГГц).
Время расшифровки AES 43243nsec с использованием clock_gettime, 118196ticks использование rdtsc в системе Core2Duo (2,2 ГГц).
Мой опыт прямо противоположен этому посту время шифрования больше, чем время дешифрования , но похоже на этот пост почему шифрованиебыстрее, чем расшифровка .
РЕДАКТИРОВАТЬ 1: Я создал сценарий bash для запуска вышеуказанного шифрования / дешифрования AES 100000 раз.
Поэтому в основном я рассчитываю время, затрачиваемое на выполнение шифрования / дешифрования AES для 100 блоков.данных 100000 раз, а затем принять медиану того времени.