Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/openssl/camellia.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* | |
2 * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. | |
3 * | |
4 * Licensed under the OpenSSL license (the "License"). You may not use | |
5 * this file except in compliance with the License. You can obtain a copy | |
6 * in the file LICENSE in the source distribution or at | |
7 * https://www.openssl.org/source/license.html | |
8 */ | |
9 | |
10 #ifndef HEADER_CAMELLIA_H | |
11 # define HEADER_CAMELLIA_H | |
12 | |
13 # include <openssl/opensslconf.h> | |
14 | |
15 # ifndef OPENSSL_NO_CAMELLIA | |
16 # include <stddef.h> | |
17 #ifdef __cplusplus | |
18 extern "C" { | |
19 #endif | |
20 | |
21 # define CAMELLIA_ENCRYPT 1 | |
22 # define CAMELLIA_DECRYPT 0 | |
23 | |
24 /* | |
25 * Because array size can't be a const in C, the following two are macros. | |
26 * Both sizes are in bytes. | |
27 */ | |
28 | |
29 /* This should be a hidden type, but EVP requires that the size be known */ | |
30 | |
31 # define CAMELLIA_BLOCK_SIZE 16 | |
32 # define CAMELLIA_TABLE_BYTE_LEN 272 | |
33 # define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) | |
34 | |
35 typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match | |
36 * with WORD */ | |
37 | |
38 struct camellia_key_st { | |
39 union { | |
40 double d; /* ensures 64-bit align */ | |
41 KEY_TABLE_TYPE rd_key; | |
42 } u; | |
43 int grand_rounds; | |
44 }; | |
45 typedef struct camellia_key_st CAMELLIA_KEY; | |
46 | |
47 int Camellia_set_key(const unsigned char *userKey, const int bits, | |
48 CAMELLIA_KEY *key); | |
49 | |
50 void Camellia_encrypt(const unsigned char *in, unsigned char *out, | |
51 const CAMELLIA_KEY *key); | |
52 void Camellia_decrypt(const unsigned char *in, unsigned char *out, | |
53 const CAMELLIA_KEY *key); | |
54 | |
55 void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, | |
56 const CAMELLIA_KEY *key, const int enc); | |
57 void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, | |
58 size_t length, const CAMELLIA_KEY *key, | |
59 unsigned char *ivec, const int enc); | |
60 void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, | |
61 size_t length, const CAMELLIA_KEY *key, | |
62 unsigned char *ivec, int *num, const int enc); | |
63 void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, | |
64 size_t length, const CAMELLIA_KEY *key, | |
65 unsigned char *ivec, int *num, const int enc); | |
66 void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, | |
67 size_t length, const CAMELLIA_KEY *key, | |
68 unsigned char *ivec, int *num, const int enc); | |
69 void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, | |
70 size_t length, const CAMELLIA_KEY *key, | |
71 unsigned char *ivec, int *num); | |
72 void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, | |
73 size_t length, const CAMELLIA_KEY *key, | |
74 unsigned char ivec[CAMELLIA_BLOCK_SIZE], | |
75 unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], | |
76 unsigned int *num); | |
77 | |
78 # ifdef __cplusplus | |
79 } | |
80 # endif | |
81 # endif | |
82 | |
83 #endif |