Контекст, используемый в генерации ключа, связан с низким значением экспоненты
Этот дефект возникает при попытке генерации ключа 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 делает определенные виды атак более вредными, особенно когда используется слабая схема заполнения или заполнение не используется вообще.
Рекомендуется использовать общедоступный показатель 65537. Использование более высокой общедоступной степени может сделать операции медленнее.
Группа: Криптография |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки
: CRYPTO_RSA_LOW_EXPONENT |
Влияние: Средний |
ИДЕНТИФИКАТОР 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