Контекст, используемый в генерации ключей, сопоставлен с низким значением экспоненты
Этот дефект происходит, когда вы делаете попытку генерации ключей RSA при помощи объекта контекста, который сопоставлен с низкой общедоступной экспонентой.
Например, вы устанавливаете общедоступную экспоненту 3 в объекте контекста, и затем используете его для генерации ключей.
/* Set public exponent */ ret = BN_dec2bn(&pubexp, "3"); /* Initialize context */ ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL); pkey = EVP_PKEY_new(); ret = EVP_PKEY_keygen_init(kctx); /* Set public exponent in context */ ret = EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp); /* Generate key */ ret = EVP_PKEY_keygen(kctx, &pkey);
Низкая общедоступная экспонента RSA делает определенные виды из нападений более разрушительными, особенно когда слабая дополнительная схема используется, или дополнение не используется вообще.
Рекомендуется использовать общедоступную экспоненту 65 537. Используя более высокую общедоступную экспоненту может сделать операции медленнее.
Группа: криптография |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки:
CRYPTO_RSA_LOW_EXPONENT |
Удар: носитель |
ID CWE: 310, 326, 327, 522 |
Find defects (-checkers)
| Incompatible padding for RSA algorithm operation
| Missing blinding for RSA algorithm
| Missing padding for RSA algorithm
| Weak padding for RSA algorithm