Next: Hash Algorithms, Up: Algorithms

Public key algorithms are used for encryption, decryption, signing and verification of signatures.

— Data type: **enum gpgme_pubkey_algo_t**

The

`gpgme_pubkey_algo_t`

type specifies the set of all public key algorithms that are supported by GPGME. Possible values are:

`GPGME_PK_RSA`

- This value indicates the RSA (Rivest, Shamir, Adleman) algorithm.
`GPGME_PK_RSA_E`

- Deprecated. This value indicates the RSA (Rivest, Shamir, Adleman) algorithm for encryption and decryption only.
`GPGME_PK_RSA_S`

- Deprecated. This value indicates the RSA (Rivest, Shamir, Adleman) algorithm for signing and verification only.
`GPGME_PK_DSA`

- This value indicates DSA, the Digital Signature Algorithm.
`GPGME_PK_ELG`

- This value indicates ElGamal.
`GPGME_PK_ELG_E`

- This value also indicates ElGamal and is used specifically in GnuPG.

— Function: const char * **gpgme_pubkey_algo_name** (`gpgme_pubkey_algo_t algo`)

The function

`gpgme_pubkey_algo_name`

returns a pointer to a statically allocated string containing a description of the public key algorithmalgo. This string can be used to output the name of the public key algorithm to the user.If

algois not a valid public key algorithm,`NULL`

is returned.