mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-05-16 11:29:42 +00:00
SIV mode is accessible via EVP. There should be no reason to make the low level SIV functions from the modes directory part of the public API. Since these functions do not exist in 1.1.1 we are still able to make this change. This also reduces the list of newly added undocumented symbols from issue #9095. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9232)
35 lines
1.5 KiB
C
35 lines
1.5 KiB
C
/*
|
|
* Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
#ifndef OPENSSL_NO_SIV
|
|
|
|
typedef struct siv128_context SIV128_CONTEXT;
|
|
|
|
SIV128_CONTEXT *CRYPTO_siv128_new(const unsigned char *key, int klen,
|
|
EVP_CIPHER* cbc, EVP_CIPHER* ctr);
|
|
int CRYPTO_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key, int klen,
|
|
const EVP_CIPHER* cbc, const EVP_CIPHER* ctr);
|
|
int CRYPTO_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src);
|
|
int CRYPTO_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad,
|
|
size_t len);
|
|
int CRYPTO_siv128_encrypt(SIV128_CONTEXT *ctx,
|
|
const unsigned char *in, unsigned char *out,
|
|
size_t len);
|
|
int CRYPTO_siv128_decrypt(SIV128_CONTEXT *ctx,
|
|
const unsigned char *in, unsigned char *out,
|
|
size_t len);
|
|
int CRYPTO_siv128_finish(SIV128_CONTEXT *ctx);
|
|
int CRYPTO_siv128_set_tag(SIV128_CONTEXT *ctx, const unsigned char *tag,
|
|
size_t len);
|
|
int CRYPTO_siv128_get_tag(SIV128_CONTEXT *ctx, unsigned char *tag, size_t len);
|
|
int CRYPTO_siv128_cleanup(SIV128_CONTEXT *ctx);
|
|
int CRYPTO_siv128_speed(SIV128_CONTEXT *ctx, int arg);
|
|
|
|
#endif /* OPENSSL_NO_SIV */
|