|  |  |  | 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 *key,const gnutls_datum_t *iv); int gnutls_cipher_encrypt (const gnutls_cipher_hd_t handle,void *text,size_t textlen); int gnutls_cipher_decrypt (const gnutls_cipher_hd_t handle,void *ciphertext,size_t ciphertextlen); int gnutls_cipher_decrypt2 (gnutls_cipher_hd_t handle,const void *ciphertext,size_t ciphertextlen,void *text,size_t textlen); int gnutls_cipher_encrypt2 (gnutls_cipher_hd_t handle,const void *text,size_t textlen,void *ciphertext,size_t ciphertextlen); void 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_mac_algorithm_t algorithm,const void *key,size_t keylen); int gnutls_hmac (gnutls_hmac_hd_t handle,const void *text,size_t textlen); void gnutls_hmac_output (gnutls_hmac_hd_t handle,void *digest); void gnutls_hmac_deinit (gnutls_hmac_hd_t handle,void *digest); int gnutls_hmac_get_len (gnutls_mac_algorithm_t algorithm); int gnutls_hmac_fast (gnutls_mac_algorithm_t algorithm,const void *key,size_t keylen,const void *text,size_t textlen,void *digest); int 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 textlen); void gnutls_hash_output (gnutls_hash_hd_t handle,void *digest); void gnutls_hash_deinit (gnutls_hash_hd_t handle,void *digest); int gnutls_hash_get_len (gnutls_digest_algorithm_t algorithm); int gnutls_hash_fast (gnutls_digest_algorithm_t algorithm,const void *text,size_t textlen,void *digest); enum gnutls_rnd_level_t; int 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 *key,const 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_mac_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 keylen,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 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