Генерируйте закрытый ключ 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)
Другие вопросы по тегам