|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*
- * Copyright 2006-2020 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_CAMELLIA_H
- #define OPENSSL_CAMELLIA_H
- #pragma once
-
- #include <openssl/macros.h>
- #ifndef OPENSSL_NO_DEPRECATED_3_0
- #define HEADER_CAMELLIA_H
- #endif
-
- #include <openssl/opensslconf.h>
-
- #ifndef OPENSSL_NO_CAMELLIA
- #include <stddef.h>
- #ifdef __cplusplus
- extern "C"
- {
- #endif
-
- #define CAMELLIA_BLOCK_SIZE 16
-
- #ifndef OPENSSL_NO_DEPRECATED_3_0
-
- #define CAMELLIA_ENCRYPT 1
- #define CAMELLIA_DECRYPT 0
-
- /*
- * Because array size can't be a const in C, the following two are macros.
- * Both sizes are in bytes.
- */
-
- /* This should be a hidden type, but EVP requires that the size be known */
-
- #define CAMELLIA_TABLE_BYTE_LEN 272
- #define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4)
-
- typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match
- * with WORD */
-
- struct camellia_key_st
- {
- union
- {
- double d; /* ensures 64-bit align */
- KEY_TABLE_TYPE rd_key;
- } u;
- int grand_rounds;
- };
- typedef struct camellia_key_st CAMELLIA_KEY;
-
- #endif /* OPENSSL_NO_DEPRECATED_3_0 */
- #ifndef OPENSSL_NO_DEPRECATED_3_0
- OSSL_DEPRECATEDIN_3_0 int Camellia_set_key(const unsigned char* userKey, const int bits, CAMELLIA_KEY* key);
- OSSL_DEPRECATEDIN_3_0 void Camellia_encrypt(const unsigned char* in, unsigned char* out, const CAMELLIA_KEY* key);
- OSSL_DEPRECATEDIN_3_0 void Camellia_decrypt(const unsigned char* in, unsigned char* out, const CAMELLIA_KEY* key);
- OSSL_DEPRECATEDIN_3_0 void Camellia_ecb_encrypt(const unsigned char* in, unsigned char* out, const CAMELLIA_KEY* key, const int enc);
- OSSL_DEPRECATEDIN_3_0 void Camellia_cbc_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char* ivec, const int enc);
- OSSL_DEPRECATEDIN_3_0 void Camellia_cfb128_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char* ivec, int* num, const int enc);
- OSSL_DEPRECATEDIN_3_0 void Camellia_cfb1_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char* ivec, int* num, const int enc);
- OSSL_DEPRECATEDIN_3_0 void Camellia_cfb8_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char* ivec, int* num, const int enc);
- OSSL_DEPRECATEDIN_3_0 void Camellia_ofb128_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char* ivec, int* num);
- OSSL_DEPRECATEDIN_3_0
- void Camellia_ctr128_encrypt(const unsigned char* in, unsigned char* out, size_t length, const CAMELLIA_KEY* key, unsigned char ivec[CAMELLIA_BLOCK_SIZE], unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], unsigned int* num);
- #endif
-
- #ifdef __cplusplus
- }
- #endif
- #endif
-
- #endif
|