0

我是密码学的新手。开始需要一点帮助。

我有服务器给出的 Modulus 字段和 Private Exponent 字段,我需要使用 Tomcrypt 库从中组合私钥。

我无法弄清楚来自 tomcrypt 的哪个 Api 会为我做这件事。如果有人可以让我知道 api 或执行它的步骤,那将是神圣的。

谢谢

4

1 回答 1

0

我不确定 tomcrypt 是否支持从给定的私有指数和模数字段生成私有密钥。但是,tomcrypt 提供了 rsa_make_key 函数来生成密钥。然后可以使用 rsa_export 函数从这些密钥中导出公钥/私钥。

/** 
   Create an RSA key
   @param prng     An active PRNG state
   @param wprng    The index of the PRNG desired
   @param size     The size of the modulus (key size) desired (octets)
   @param e        The "e" value (public key).  e==65537 is a good choice
   @param key      [out] Destination of a newly created private key pair
   @return CRYPT_OK if successful, upon error all allocated ram is freed
*/
int rsa_make_key(prng_state *prng, int wprng, int size, long e, rsa_key *key)

/**
    This will export either an RSAPublicKey or RSAPrivateKey [defined in LTC_PKCS #1 v2.1] 
    @param out       [out] Destination of the packet
    @param outlen    [in/out] The max size and resulting size of the packet
    @param type      The type of exported key (PK_PRIVATE or PK_PUBLIC)
    @param key       The RSA key to export
    @return CRYPT_OK if successful
*/
int rsa_export(unsigned char *out, unsigned long *outlen, int type, rsa_key *key)
于 2015-08-06T16:24:22.190 回答