我是密码学的新手。开始需要一点帮助。
我有服务器给出的 Modulus 字段和 Private Exponent 字段,我需要使用 Tomcrypt 库从中组合私钥。
我无法弄清楚来自 tomcrypt 的哪个 Api 会为我做这件事。如果有人可以让我知道 api 或执行它的步骤,那将是神圣的。
谢谢
我是密码学的新手。开始需要一点帮助。
我有服务器给出的 Modulus 字段和 Private Exponent 字段,我需要使用 Tomcrypt 库从中组合私钥。
我无法弄清楚来自 tomcrypt 的哪个 Api 会为我做这件事。如果有人可以让我知道 api 或执行它的步骤,那将是神圣的。
谢谢
我不确定 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)