2

n, e, d, p, qopenssl 下面的 RSA 结构中表示的参数是什么?

struct rsa_st
    {
    /* The first parameter is used to pickup errors where
     * this is passed instead of aEVP_PKEY, it is set to 0 */
    int pad;
    long version;
    const RSA_METHOD *meth;
    /* functional reference if 'meth' is ENGINE-provided */
    ENGINE *engine;
    BIGNUM *n;
    BIGNUM *e;
    BIGNUM *d;
    BIGNUM *p;
    BIGNUM *q;
    BIGNUM *dmp1;
    BIGNUM *dmq1;
    BIGNUM *iqmp;
    /* be careful using this if the RSA structure is shared */
    CRYPTO_EX_DATA ex_data;
    int references;
    int flags;

    /* Used to cache montgomery values */
    BN_MONT_CTX *_method_mod_n;
    BN_MONT_CTX *_method_mod_p;
    BN_MONT_CTX *_method_mod_q;

    /* all BIGNUM values are actually in the following data, if it is not
     * NULL */
    char *bignum_data;
    BN_BLINDING *blinding;
    BN_BLINDING *mt_blinding;
    };
4

3 回答 3

7

这些是 RSA 算法的参数:

p 和 q 是两个大素数,n 由 p*q 计算得出。e 是公共指数,d 是 e mod (p-1)(q-1) 的乘法倒数。

私钥是对 (p, q)。公钥是对 (n, e)

您可以在此处了解更多信息。

于 2012-05-09T08:27:45.937 回答
3

从openssl官方页面可以看到,它们的数字在计算密文时具有特定作用,OpenSSL官方文档

我建议你看一看,再见!

编辑 2018-07-27:更新 url Linuxatico

于 2012-05-09T08:26:16.457 回答
0

在Linux中,man 3 rsa会给你一个详细的解释。

于 2013-12-09T08:37:01.103 回答