Top | ![]() |
![]() |
![]() |
![]() |
typedef | gnutls_cipher_hd_t |
typedef | gnutls_hash_hd_t |
typedef | gnutls_hmac_hd_t |
#define | GNUTLS_CRYPTO_API_VERSION |
#define | gnutls_crypto_single_cipher_st |
#define | gnutls_crypto_single_mac_st |
#define | gnutls_crypto_single_digest_st |
enum | gnutls_rnd_level_t |
enum | gnutls_pk_flag_t |
typedef | bigint_t |
enum | gnutls_bigint_format_t |
#define | GNUTLS_MAX_PK_PARAMS |
enum | gnutls_direction_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
);
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
cipher |
the encryption algorithm to use |
|
key |
The key to be used for encryption |
|
iv |
The IV to use (if not applicable set NULL) |
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
text |
the data to encrypt |
|
textlen |
The length of data to encrypt |
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
ciphertext |
the data to encrypt |
|
ciphertextlen |
The length of data to encrypt |
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
ciphertext |
the data to encrypt |
|
ciphertextlen |
The length of data to encrypt |
|
text |
the decrypted data |
|
textlen |
The available length for decrypted data |
Since: 2.10.0
int gnutls_cipher_encrypt2 (gnutls_cipher_hd_t handle
,void *text
,size_t textlen
,void *ciphertext
,size_t ciphertextlen
);
This function will encrypt the given data using the algorithm specified by the context.
handle |
is a gnutls_cipher_hd_t structure. |
|
text |
the data to encrypt |
|
textlen |
The length of data to encrypt |
|
ciphertext |
the encrypted data |
|
ciphertextlen |
The available length for encrypted data |
Since: 2.10.0
void
gnutls_cipher_deinit (gnutls_cipher_hd_t handle
);
This function will deinitialize all resources occupied by the given encryption context.
Since: 2.10.0
int
gnutls_cipher_get_block_size (gnutls_cipher_algorithm_t algorithm
);
Get 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.
dig |
is a gnutls_hmac_hd_t structure. |
|
algorithm |
the HMAC algorithm to use |
|
key |
The key to be used for encryption |
|
keylen |
The length of the key |
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
text |
the data to hash |
|
textlen |
The length of data to hash |
Since: 2.10.0
void gnutls_hmac_output (gnutls_hmac_hd_t handle
,void *digest
);
This function will output the current MAC value.
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.
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.
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.
algorithm |
the hash algorithm to use |
|
key |
the key to use |
|
keylen |
The length of the key |
|
text |
the data to hash |
|
textlen |
The length of data to hash |
|
digest |
is the output value of the hash |
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.
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.
handle |
is a gnutls_cipher_hd_t structure. |
|
text |
the data to hash |
|
textlen |
The length of data to hash |
Since: 2.10.0
void gnutls_hash_output (gnutls_hash_hd_t handle
,void *digest
);
This function will output the current hash value.
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.
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.
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.
algorithm |
the hash algorithm to use |
|
text |
the data to hash |
|
textlen |
The length of data to hash |
|
digest |
is the output value of the hash |
Since: 2.10.0
int (*encrypt) (void *ctx
,const void *plain
,size_t plainsize
,void *encr
,size_t encrsize
);
int (*decrypt) (void *ctx
,const void *encr
,size_t encrsize
,void *plain
,size_t plainsize
);
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.
bigint_t (*bigint_powm) (bigint_t w
,const bigint_t b
,const bigint_t e
,const bigint_t m
);
bigint_t (*bigint_addm) (bigint_t w
,const bigint_t a
,const bigint_t b
,const bigint_t m
);
bigint_t (*bigint_subm) (bigint_t w
,const bigint_t a
,const bigint_t b
,const bigint_t m
);
bigint_t (*bigint_mulm) (bigint_t w
,const bigint_t a
,const bigint_t b
,const bigint_t m
);
bigint_t (*bigint_scan) (const void *buf
,size_t buf_size
,gnutls_bigint_format_t format
);
int (*bigint_print) (const bigint_t a
,void *buf
,size_t *buf_size
,gnutls_bigint_format_t format
);
int (*sign) (gnutls_pk_algorithm_t Param1
,gnutls_datum_t *signature
,const gnutls_datum_t *data
,const gnutls_pk_params_st *priv
);
int (*verify) (gnutls_pk_algorithm_t Param1
,const gnutls_datum_t *data
,const gnutls_datum_t *signature
,const gnutls_pk_params_st *pub
);
int (*generate) (gnutls_pk_algorithm_t Param1
,unsigned int nbits
,gnutls_pk_params_st *Param3
);
int (*pk_fixup_private_params) (gnutls_pk_algorithm_t Param1
,gnutls_direction_t Param2
,gnutls_pk_params_st *Param3
);
int gnutls_crypto_single_cipher_register2 (gnutls_cipher_algorithm_t algorithm
,int priority
,int version
,const gnutls_crypto_single_cipher_st *s
);
This function will register a cipher algorithm to be used by gnutls. Any algorithm registered will override the included algorithms and by convention kernel implemented algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_single_cipher_register()
macro.
algorithm |
is the gnutls algorithm identifier |
|
priority |
is the priority of the algorithm |
|
version |
should be set to |
|
s |
is a structure holding new cipher's data |
Since: 2.6.0
int gnutls_crypto_single_mac_register2 (gnutls_mac_algorithm_t algorithm
,int priority
,int version
,const gnutls_crypto_single_mac_st *s
);
This function will register a MAC algorithm to be used by gnutls. Any algorithm registered will override the included algorithms and by convention kernel implemented algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_single_mac_register()
macro.
algorithm |
is the gnutls algorithm identifier |
|
priority |
is the priority of the algorithm |
|
version |
should be set to |
|
s |
is a structure holding new algorithms's data |
Since: 2.6.0
int gnutls_crypto_single_digest_register2 (gnutls_digest_algorithm_t algorithm
,int priority
,int version
,const gnutls_crypto_single_digest_st *s
);
This function will register a digest (hash) algorithm to be used by gnutls. Any algorithm registered will override the included algorithms and by convention kernel implemented algorithms have priority of 90. The algorithm with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_single_digest_register()
macro.
algorithm |
is the gnutls algorithm identifier |
|
priority |
is the priority of the algorithm |
|
version |
should be set to |
|
s |
is a structure holding new algorithms's data |
Since: 2.6.0
int gnutls_crypto_cipher_register2 (int priority
,int version
,const gnutls_crypto_cipher_st *s
);
This function will register a cipher interface to be used by gnutls. Any interface registered will override the included engine and by convention kernel implemented interfaces should have priority of 90. The interface with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_cipher_register()
macro.
priority |
is the priority of the cipher interface |
|
version |
should be set to |
|
s |
is a structure holding new interface's data |
Since: 2.6.0
int gnutls_crypto_mac_register2 (int priority
,int version
,const gnutls_crypto_mac_st *s
);
This function will register a mac interface to be used by gnutls. Any interface registered will override the included engine and by convention kernel implemented interfaces should have priority of 90. The interface with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_digest_register()
macro.
priority |
is the priority of the mac interface |
|
version |
should be set to |
|
s |
is a structure holding new interface's data |
Since: 2.6.0
int gnutls_crypto_digest_register2 (int priority
,int version
,const gnutls_crypto_digest_st *s
);
This function will register a digest interface to be used by gnutls. Any interface registered will override the included engine and by convention kernel implemented interfaces should have priority of 90. The interface with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_digest_register()
macro.
priority |
is the priority of the digest interface |
|
version |
should be set to |
|
s |
is a structure holding new interface's data |
Since: 2.6.0
int gnutls_crypto_rnd_register2 (int priority
,int version
,const gnutls_crypto_rnd_st *s
);
This function will register a random generator to be used by gnutls. Any generator registered will override the included generator and by convention kernel implemented generators have priority of 90. The generator with the lowest priority will be used by gnutls.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience
gnutls_crypto_rnd_register()
macro.
priority |
is the priority of the generator |
|
version |
should be set to |
|
s |
is a structure holding new generator's data |
Since: 2.6.0
int gnutls_crypto_pk_register2 (int priority
,int version
,const gnutls_crypto_pk_st *s
);
This function will register an interface for gnutls to operate on public key operations. Any interface registered will override the included interface. The interface with the lowest priority will be used by gnutls.
Note that the bigint interface must interoperate with the bigint
interface. Thus if this interface is updated the
gnutls_crypto_bigint_register()
should also be used.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience gnutls_crypto_pk_register()
macro.
priority |
is the priority of the interface |
|
version |
should be set to |
|
s |
is a structure holding new interface's data |
Since: 2.6.0
int gnutls_crypto_bigint_register2 (int priority
,int version
,const gnutls_crypto_bigint_st *s
);
This function will register an interface for gnutls to operate on big integers. Any interface registered will override the included interface. The interface with the lowest priority will be used by gnutls.
Note that the bigint interface must interoperate with the public
key interface. Thus if this interface is updated the
gnutls_crypto_pk_register()
should also be used.
This function should be called before gnutls_global_init()
.
For simplicity you can use the convenience gnutls_crypto_bigint_register()
macro.
priority |
is the priority of the interface |
|
version |
should be set to |
|
s |
is a structure holding new interface's data |
Since: 2.6.0