Генерируйте закрытый ключ RSA из модуля и экспоненты с помощью tomcrypt
Я новичок в криптографии. Нужна небольшая помощь, чтобы начать.
У меня есть поле Modulus & Private Exponent, заданное сервером, и мне нужно составить из него закрытый ключ, используя библиотеку Tomcrypt.
Я не могу понять, какой Api от Tomcrypt сделает это для меня. Если кто-нибудь может дать мне знать API или шаги, чтобы сделать это, это было бы божественно.
Спасибо
1 ответ
Я не уверен, есть ли у 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)