"openssl speed rsa" менее производительный на (обычно) лучшем процессоре - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь выяснить, почему «openssl speed rsa» дает мне худший результат на лучшем процессоре

1-й сервер : Linux Debian 8 (под управлением Xen) - ядро: 4.9.0-amd64

model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz cpu MHz : 2200.004 cache size : 30720 KB flags : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 bmi2 erms rtm rdseed adx xsaveopt ibpb ibrs stibp bogomips : 4400.00

2-й сервер: Linux Debian 8 (под управлением Vmware ESXi (пока не знаю, какой)) - ядро: 4.9.0-amd64)

model name : Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz cpu MHz : 2199.058 cache size : 51200 KB flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm kaiser arat bogomips : 4399.99 Запуск "openssl speed rsa" дает мне это (только вставка 4096 бит, потому что это единственное отношение к тому, что я хочу сделать):

1-й сервер:

Doing 4096 bits private rsa's for 10s: **1699** 4096 bits private RSA's in 10.00s Doing 4096 bits public rsa's for 10s: 105493 4096 bits public RSA's in 10.00s

2-й сервер:

Doing 4096 bits private rsa's for 10s: **1229** 4096 bits private RSA's in 10.00s Doing 4096 bits public rsa's for 10s: 78677 4096 bits public RSA's in 10.00s

Чем можно объяснить разницу созданных ключей (= 470 (1699-1229))?

Оба сервера имеют свой процессор с флагом aes.

Единственное отличие, которое я вижу, это доступный движок, 1-й сервер имеет "(rdrand) Intel RDRAND engine", а другой нет.

Есть идеи?

1 Ответ

0 голосов
/ 20 июня 2019

Для генерации ключей RSA вам нужны случайные и большие простые числа.Процесс поиска случайного и большого простого числа состоит в следующем:

  1. Создание случайного числа;
  2. Проверка, является ли оно простым;
  3. Если это не так, повторите.

Как вы можете видеть, это требует большого количества ГСЧ, и генерация хорошего ГСЧ действительно медленная.Таким образом, наличие более быстрого RNG означает более быстрое генерирование ключа RSA.

...