|
Data Structures |
| struct | CYFER_Pk_t |
| | A structure describing supported public-key algorithms. More...
|
Defines |
| #define | CYFER_PK_NONE 0 |
| #define | CYFER_PK_RSA 1 |
| #define | CYFER_PK_ELGAMAL 2 |
| #define | CYFER_PK_LUC 3 |
Typedefs |
| typedef void | CYFER_PK_CTX |
| | Public-key algorithm context.
|
Functions |
| CYFER_Pk_t * | CYFER_Pk_Get_Supported (void) |
| | Returns a list of supported public-key algorithms.
|
| int | CYFER_Pk_Select (const char *name, bool *enc, bool *sig) |
| | Selects public-key algorithm to use.
|
| CYFER_PK_CTX * | CYFER_Pk_Init (int type) |
| | Creates and initializes algorithm context.
|
| void | CYFER_Pk_Generate_Key (CYFER_PK_CTX *ctx, size_t keylen) |
| | Generates new public/private key pair.
|
| void | CYFER_Pk_Size (CYFER_PK_CTX *ctx, size_t *pt_len, size_t *ct_len) |
| | Returns plaintext and ciphertext block sizes.
|
| void | CYFER_Pk_KeySize (CYFER_PK_CTX *ctx, size_t *privlen, size_t *publen) |
| | Returns private and public key lengths.
|
| void | CYFER_Pk_Export_Key (CYFER_PK_CTX *ctx, unsigned char *priv, unsigned char *pub) |
| | Exports private and/or public key.
|
| bool | CYFER_Pk_Import_Key (CYFER_PK_CTX *ctx, unsigned char *priv, size_t privlen, unsigned char *pub, size_t publen) |
| | Imports private and/or public key.
|
| void | CYFER_Pk_Encrypt (CYFER_PK_CTX *ctx, const unsigned char *input, unsigned char *output) |
| | Encrypts a block of data.
|
| void | CYFER_Pk_Decrypt (CYFER_PK_CTX *ctx, const unsigned char *input, unsigned char *output) |
| | Decrypts a block of data.
|
| void | CYFER_Pk_Sign (CYFER_PK_CTX *ctx, const unsigned char *input, unsigned char *output) |
| | Signs a block of data.
|
| bool | CYFER_Pk_Verify (CYFER_PK_CTX *ctx, const unsigned char *signature, const unsigned char *message) |
| | Verifies signature for a block of data.
|
| void | CYFER_Pk_Finish (CYFER_PK_CTX *ctx) |
| | Finalizes the algorithm, destroys and frees the context.
|