45 void ( *
final ) (
void *
ctx,
void *
out );
185 void ( *
final ) (
void *
ctx );
245 const void *
src,
void *
dst,
size_t len ) {
248 #define cipher_encrypt( cipher, ctx, src, dst, len ) do { \ 249 assert ( ( (len) & ( (cipher)->blocksize - 1 ) ) == 0 ); \ 250 cipher_encrypt ( (cipher), (ctx), (src), (dst), (len) ); \ 255 const void *
src,
void *
dst,
size_t len ) {
258 #define cipher_decrypt( cipher, ctx, src, dst, len ) do { \ 259 assert ( ( (len) & ( (cipher)->blocksize - 1 ) ) == 0 ); \ 260 cipher_decrypt ( (cipher), (ctx), (src), (dst), (len) ); \ 354 size_t plaintext_len,
void *ciphertext );
356 size_t ciphertext_len,
void *plaintext );
int(* multiply)(const void *base, const void *scalar, void *result)
Multiply scalar by curve point.
size_t blocksize
Block size.
void(* decrypt)(void *ctx, const void *src, void *dst, size_t len)
Decrypt data.
static const void const void void * result
struct cipher_algorithm cipher_null
static void struct digest_algorithm const void * value
static void const void void * dst
void(* init)(void *ctx)
Initialise digest.
int pubkey_null_verify(void *ctx, struct digest_algorithm *digest, const void *value, const void *signature, size_t signature_len)
static void struct digest_algorithm const void void * signature
size_t alignsize
Alignment size.
static const void const void * scalar
static void const void * key
static void const void * src
void cipher_null_setiv(void *ctx, const void *iv, size_t ivlen)
void(* final)(void *ctx, void *out)
Finalise digest.
static const void * base
Base address.
size_t ctxsize
Context size.
struct digest_algorithm digest_null
int(* match)(const void *private_key, size_t private_key_len, const void *public_key, size_t public_key_len)
Check that public key matches private key.
void cipher_null_auth(void *ctx, void *auth)
static void const void size_t key_len
static void const void size_t ivlen
void(* encrypt)(void *ctx, const void *src, void *dst, size_t len)
Encrypt data.
#define cipher_encrypt(cipher, ctx, src, dst, len)
static void const void size_t len
int(* verify)(void *ctx, struct digest_algorithm *digest, const void *value, const void *signature, size_t signature_len)
Verify signed digest value.
size_t authsize
Authentication tag size.
size_t blocksize
Block size.
static const void * private_key
Private key.
void(* setiv)(void *ctx, const void *iv, size_t ivlen)
Set initialisation vector.
static void const void size_t keylen
void digest_null_update(void *ctx, const void *src, size_t len)
static const void size_t const void * public_key
static void struct digest_algorithm * digest
HMAC-MD5 digest.
void(* update)(void *ctx, const void *src, size_t len)
Update digest with new data.
struct pubkey_algorithm pubkey_null
static void struct digest_algorithm const void const void size_t signature_len
const char * name
Curve name.
int pubkey_null_encrypt(void *ctx, const void *plaintext, size_t plaintext_len, void *ciphertext)
int(* encrypt)(void *ctx, const void *data, size_t len, void *out)
Encrypt.
void cipher_null_encrypt(void *ctx, const void *src, void *dst, size_t len)
void(* final)(void *ctx)
Finalise algorithm.
void(* auth)(void *ctx, void *auth)
Generate authentication tag.
size_t(* max_len)(void *ctx)
Calculate maximum output length.
int pubkey_null_sign(void *ctx, struct digest_algorithm *digest, const void *value, void *signature)
size_t ctxsize
Context size.
#define cipher_decrypt(cipher, ctx, src, dst, len)
int(* decrypt)(void *ctx, const void *data, size_t len, void *out)
Decrypt.
void digest_null_final(void *ctx, void *out)
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t ctxsize
Context size.
static void const void * iv
int(* setkey)(void *ctx, const void *key, size_t keylen)
Set key.
size_t digestsize
Digest size.
static const void size_t private_key_len
const char * name
Algorithm name.
int(* init)(void *ctx, const void *key, size_t key_len)
Initialise algorithm.
int cipher_null_setkey(void *ctx, const void *key, size_t keylen)
void cipher_null_decrypt(void *ctx, const void *src, void *dst, size_t len)
A message digest algorithm.
static __attribute__((always_inline)) void digest_init(struct digest_algorithm *digest
static void const void * data
int pubkey_null_decrypt(void *ctx, const void *ciphertext, size_t ciphertext_len, void *plaintext)
void digest_null_init(void *ctx)
int pubkey_null_init(void *ctx, const void *key, size_t key_len)
const char * name
Algorithm name.
size_t pubkey_null_max_len(void *ctx)
static const void size_t const void size_t public_key_len
const char * name
Algorithm name.
int(* sign)(void *ctx, struct digest_algorithm *digest, const void *value, void *signature)
Sign digest value.