Home | History | Annotate | Download | only in cipher

Lines Matching refs:aead

15 #include <openssl/aead.h>
28 size_t EVP_AEAD_key_length(const EVP_AEAD *aead) { return aead->key_len; }
30 size_t EVP_AEAD_nonce_length(const EVP_AEAD *aead) { return aead->nonce_len; }
32 size_t EVP_AEAD_max_overhead(const EVP_AEAD *aead) { return aead->overhead; }
34 size_t EVP_AEAD_max_tag_len(const EVP_AEAD *aead) { return aead->max_tag_len; }
40 EVP_AEAD_CTX *EVP_AEAD_CTX_new(const EVP_AEAD *aead, const uint8_t *key,
45 if (EVP_AEAD_CTX_init(ctx, aead, key, key_len, tag_len, NULL)) {
58 int EVP_AEAD_CTX_init(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead,
61 if (!aead->init) {
63 ctx->aead = NULL;
66 return EVP_AEAD_CTX_init_with_direction(ctx, aead, key, key_len, tag_len,
70 int EVP_AEAD_CTX_init_with_direction(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead,
74 if (key_len != aead->key_len) {
76 ctx->aead = NULL;
80 ctx->aead = aead;
83 if (aead->init) {
84 ok = aead->init(ctx, key, key_len, tag_len);
86 ok = aead->init_with_direction(ctx, key, key_len, tag_len, dir);
90 ctx->aead = NULL;
97 if (ctx->aead == NULL) {
100 ctx->aead->cleanup(ctx);
101 ctx->aead = NULL;
119 if (in_len + ctx->aead->overhead < in_len /* overflow */) {
135 if (ctx->aead->seal_scatter(ctx, out, out + in_len, &out_tag_len,
163 if (!ctx->aead->seal_scatter_supports_extra_in && extra_in_len) {
168 if (ctx->aead->seal_scatter(ctx, out, out_tag, out_tag_len, max_out_tag_len,
192 if (ctx->aead->open) {
193 if (!ctx->aead->open(ctx, out, out_len, max_out_len, nonce, nonce_len, in,
239 if (!ctx->aead->open_gather) {
244 if (ctx->aead->open_gather(ctx, out, nonce, nonce_len, in, in_len, in_tag,
257 const EVP_AEAD *EVP_AEAD_CTX_aead(const EVP_AEAD_CTX *ctx) { return ctx->aead; }
261 if (ctx->aead->get_iv == NULL) {
265 return ctx->aead->get_iv(ctx, out_iv, out_len);
270 assert(ctx->aead->seal_scatter_supports_extra_in || !extra_in_len);
272 if (ctx->aead->tag_len) {
273 *out_tag_len = ctx->aead->tag_len(ctx, in_len, extra_in_len);