| GnuTLS API Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
typedef gnutls_cipher_hd_t;int gnutls_cipher_init (gnutls_cipher_hd_t *handle,gnutls_cipher_algorithm_t cipher,const,gnutls_datum_t *keyconst);gnutls_datum_t *ivint gnutls_cipher_encrypt (const gnutls_cipher_hd_t handle,,void *text);size_t textlenint gnutls_cipher_decrypt (const gnutls_cipher_hd_t handle,,void *ciphertext);size_t ciphertextlenint gnutls_cipher_decrypt2 (gnutls_cipher_hd_t handle,const,void *ciphertext,size_t ciphertextlen,void *text);size_t textlenint gnutls_cipher_encrypt2 (gnutls_cipher_hd_t handle,const,void *text,size_t textlen,void *ciphertext);size_t ciphertextlenvoid gnutls_cipher_deinit (gnutls_cipher_hd_t handle);int gnutls_cipher_get_block_size (gnutls_cipher_algorithm_t algorithm); typedef gnutls_hash_hd_t; typedef gnutls_hmac_hd_t;int gnutls_hmac_init (gnutls_hmac_hd_t *dig,gnutls_digest_algorithm_t algorithm,const,void *key);size_t keylenint gnutls_hmac (gnutls_hmac_hd_t handle,const,void *text);size_t textlenvoid gnutls_hmac_output (gnutls_hmac_hd_t handle,);void *digestvoid gnutls_hmac_deinit (gnutls_hmac_hd_t handle,);void *digestint gnutls_hmac_get_len (gnutls_mac_algorithm_t algorithm);int gnutls_hmac_fast (gnutls_mac_algorithm_t algorithm,const,void *key,size_t keylenconst,void *text,size_t textlen);void *digestint gnutls_hash_init (gnutls_hash_hd_t *dig,gnutls_digest_algorithm_t algorithm);int gnutls_hash (gnutls_hash_hd_t handle,const,void *text);size_t textlenvoid gnutls_hash_output (gnutls_hash_hd_t handle,);void *digestvoid gnutls_hash_deinit (gnutls_hash_hd_t handle,);void *digestint gnutls_hash_get_len (gnutls_digest_algorithm_t algorithm);int gnutls_hash_fast (gnutls_digest_algorithm_t algorithm,const,void *text,size_t textlen); enum gnutls_rnd_level_t;void *digestint gnutls_rnd (gnutls_rnd_level_t level,,void *data);size_t len
int gnutls_cipher_init (gnutls_cipher_hd_t *handle,gnutls_cipher_algorithm_t cipher,const,gnutls_datum_t *keyconst);gnutls_datum_t *iv
This function will initialize an context that can be used for encryption/decryption of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use.
|
is a gnutls_cipher_hd_t structure. |
|
the encryption algorithm to use |
|
The key to be used for encryption |
|
The IV to use (if not applicable set NULL) |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_cipher_encrypt (const gnutls_cipher_hd_t handle,,void *text);size_t textlen
This function will encrypt the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to encrypt |
|
The length of data to encrypt |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_cipher_decrypt (const gnutls_cipher_hd_t handle,,void *ciphertext);size_t ciphertextlen
This function will decrypt the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to encrypt |
|
The length of data to encrypt |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_cipher_decrypt2 (gnutls_cipher_hd_t handle,const,void *ciphertext,size_t ciphertextlen,void *text);size_t textlen
This function will decrypt the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to encrypt |
|
The length of data to encrypt |
|
the decrypted data |
|
The available length for decrypted data |
Returns : |
Zero or a negative error code on error. |
Since 2.12.0
int gnutls_cipher_encrypt2 (gnutls_cipher_hd_t handle,const,void *text,size_t textlen,void *ciphertext);size_t ciphertextlen
This function will encrypt the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to encrypt |
|
The length of data to encrypt |
|
the encrypted data |
|
The available length for encrypted data |
Returns : |
Zero or a negative error code on error. |
Since 2.12.0
void gnutls_cipher_deinit (gnutls_cipher_hd_t handle);
This function will deinitialize all resources occupied by the given encryption context.
|
is a gnutls_cipher_hd_t structure. |
Since 2.10.0
int gnutls_cipher_get_block_size (gnutls_cipher_algorithm_t algorithm);
Get block size for encryption algorithm.
|
is an encryption algorithm |
Returns : |
block size for encryption algorithm. |
Since 2.10.0
int gnutls_hmac_init (gnutls_hmac_hd_t *dig,gnutls_digest_algorithm_t algorithm,const,void *key);size_t keylen
This function will initialize an context that can be used to produce a Message Authentication Code (MAC) of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use.
|
is a gnutls_hmac_hd_t structure. |
|
the HMAC algorithm to use |
|
The key to be used for encryption |
|
The length of the key |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_hmac (gnutls_hmac_hd_t handle,const,void *text);size_t textlen
This function will hash the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to hash |
|
The length of data to hash |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
void gnutls_hmac_output (gnutls_hmac_hd_t handle,);void *digest
This function will output the current MAC value.
|
is a gnutls_hmac_hd_t structure. |
|
is the output value of the MAC |
Since 2.10.0
void gnutls_hmac_deinit (gnutls_hmac_hd_t handle,);void *digest
This function will deinitialize all resources occupied by the given hmac context.
|
is a gnutls_hmac_hd_t structure. |
|
is the output value of the MAC |
Since 2.10.0
int gnutls_hmac_get_len (gnutls_mac_algorithm_t algorithm);
This function will return the length of the output data of the given hmac algorithm.
|
the hmac algorithm to use |
Returns : |
The length or zero on error. |
Since 2.10.0
int gnutls_hmac_fast (gnutls_mac_algorithm_t algorithm,const,void *key,size_t keylenconst,void *text,size_t textlen);void *digest
This convenience function will hash the given data and return output on a single call.
|
the hash algorithm to use |
|
the key to use |
|
The length of the key |
|
the data to hash |
|
The length of data to hash |
|
is the output value of the hash |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_hash_init (gnutls_hash_hd_t *dig,gnutls_digest_algorithm_t algorithm);
This function will initialize an context that can be used to produce a Message Digest of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use.
|
is a gnutls_hash_hd_t structure. |
|
the hash algorithm to use |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
int gnutls_hash (gnutls_hash_hd_t handle,const,void *text);size_t textlen
This function will hash the given data using the algorithm specified by the context.
|
is a gnutls_cipher_hd_t structure. |
|
the data to hash |
|
The length of data to hash |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
void gnutls_hash_output (gnutls_hash_hd_t handle,);void *digest
This function will output the current hash value.
|
is a gnutls_hash_hd_t structure. |
|
is the output value of the hash |
Since 2.10.0
void gnutls_hash_deinit (gnutls_hash_hd_t handle,);void *digest
This function will deinitialize all resources occupied by the given hash context.
|
is a gnutls_hash_hd_t structure. |
|
is the output value of the hash |
Since 2.10.0
int gnutls_hash_get_len (gnutls_digest_algorithm_t algorithm);
This function will return the length of the output data of the given hash algorithm.
|
the hash algorithm to use |
Returns : |
The length or zero on error. |
Since 2.10.0
int gnutls_hash_fast (gnutls_digest_algorithm_t algorithm,const,void *text,size_t textlen);void *digest
This convenience function will hash the given data and return output on a single call.
|
the hash algorithm to use |
|
the data to hash |
|
The length of data to hash |
|
is the output value of the hash |
Returns : |
Zero or a negative error code on error. |
Since 2.10.0
typedef enum {
GNUTLS_RND_NONCE = 0,
GNUTLS_RND_RANDOM = 1,
GNUTLS_RND_KEY = 2
} gnutls_rnd_level_t;
Enumeration of random quality levels.
int gnutls_rnd (gnutls_rnd_level_t level,,void *data);size_t len
This function will generate random data and store it to output buffer.
|
a security level |
|
place to store random bytes |
|
The requested size |
Returns : |
Zero or a negative error code on error. |
Since 2.12.0