Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/openssl/modes.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 2008-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_MODES_H | |
11 # define HEADER_MODES_H | |
12 | |
13 # include <stddef.h> | |
14 | |
15 # ifdef __cplusplus | |
16 extern "C" { | |
17 # endif | |
18 typedef void (*block128_f) (const unsigned char in[16], | |
19 unsigned char out[16], const void *key); | |
20 | |
21 typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, | |
22 size_t len, const void *key, | |
23 unsigned char ivec[16], int enc); | |
24 | |
25 typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, | |
26 size_t blocks, const void *key, | |
27 const unsigned char ivec[16]); | |
28 | |
29 typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, | |
30 size_t blocks, const void *key, | |
31 const unsigned char ivec[16], | |
32 unsigned char cmac[16]); | |
33 | |
34 void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, | |
35 size_t len, const void *key, | |
36 unsigned char ivec[16], block128_f block); | |
37 void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, | |
38 size_t len, const void *key, | |
39 unsigned char ivec[16], block128_f block); | |
40 | |
41 void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, | |
42 size_t len, const void *key, | |
43 unsigned char ivec[16], | |
44 unsigned char ecount_buf[16], unsigned int *num, | |
45 block128_f block); | |
46 | |
47 void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, | |
48 size_t len, const void *key, | |
49 unsigned char ivec[16], | |
50 unsigned char ecount_buf[16], | |
51 unsigned int *num, ctr128_f ctr); | |
52 | |
53 void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, | |
54 size_t len, const void *key, | |
55 unsigned char ivec[16], int *num, | |
56 block128_f block); | |
57 | |
58 void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, | |
59 size_t len, const void *key, | |
60 unsigned char ivec[16], int *num, | |
61 int enc, block128_f block); | |
62 void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, | |
63 size_t length, const void *key, | |
64 unsigned char ivec[16], int *num, | |
65 int enc, block128_f block); | |
66 void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, | |
67 size_t bits, const void *key, | |
68 unsigned char ivec[16], int *num, | |
69 int enc, block128_f block); | |
70 | |
71 size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, | |
72 unsigned char *out, size_t len, | |
73 const void *key, unsigned char ivec[16], | |
74 block128_f block); | |
75 size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, | |
76 size_t len, const void *key, | |
77 unsigned char ivec[16], cbc128_f cbc); | |
78 size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, | |
79 unsigned char *out, size_t len, | |
80 const void *key, unsigned char ivec[16], | |
81 block128_f block); | |
82 size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, | |
83 size_t len, const void *key, | |
84 unsigned char ivec[16], cbc128_f cbc); | |
85 | |
86 size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, | |
87 unsigned char *out, size_t len, | |
88 const void *key, | |
89 unsigned char ivec[16], | |
90 block128_f block); | |
91 size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, | |
92 size_t len, const void *key, | |
93 unsigned char ivec[16], cbc128_f cbc); | |
94 size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, | |
95 unsigned char *out, size_t len, | |
96 const void *key, | |
97 unsigned char ivec[16], | |
98 block128_f block); | |
99 size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, | |
100 size_t len, const void *key, | |
101 unsigned char ivec[16], cbc128_f cbc); | |
102 | |
103 typedef struct gcm128_context GCM128_CONTEXT; | |
104 | |
105 GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); | |
106 void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); | |
107 void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, | |
108 size_t len); | |
109 int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, | |
110 size_t len); | |
111 int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, | |
112 const unsigned char *in, unsigned char *out, | |
113 size_t len); | |
114 int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, | |
115 const unsigned char *in, unsigned char *out, | |
116 size_t len); | |
117 int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, | |
118 const unsigned char *in, unsigned char *out, | |
119 size_t len, ctr128_f stream); | |
120 int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, | |
121 const unsigned char *in, unsigned char *out, | |
122 size_t len, ctr128_f stream); | |
123 int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, | |
124 size_t len); | |
125 void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); | |
126 void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); | |
127 | |
128 typedef struct ccm128_context CCM128_CONTEXT; | |
129 | |
130 void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, | |
131 unsigned int M, unsigned int L, void *key, | |
132 block128_f block); | |
133 int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, | |
134 size_t nlen, size_t mlen); | |
135 void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, | |
136 size_t alen); | |
137 int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, | |
138 unsigned char *out, size_t len); | |
139 int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, | |
140 unsigned char *out, size_t len); | |
141 int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, | |
142 unsigned char *out, size_t len, | |
143 ccm128_f stream); | |
144 int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, | |
145 unsigned char *out, size_t len, | |
146 ccm128_f stream); | |
147 size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); | |
148 | |
149 typedef struct xts128_context XTS128_CONTEXT; | |
150 | |
151 int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, | |
152 const unsigned char iv[16], | |
153 const unsigned char *inp, unsigned char *out, | |
154 size_t len, int enc); | |
155 | |
156 size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, | |
157 unsigned char *out, | |
158 const unsigned char *in, size_t inlen, | |
159 block128_f block); | |
160 | |
161 size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, | |
162 unsigned char *out, | |
163 const unsigned char *in, size_t inlen, | |
164 block128_f block); | |
165 size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv, | |
166 unsigned char *out, const unsigned char *in, | |
167 size_t inlen, block128_f block); | |
168 size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv, | |
169 unsigned char *out, const unsigned char *in, | |
170 size_t inlen, block128_f block); | |
171 | |
172 # ifndef OPENSSL_NO_OCB | |
173 typedef struct ocb128_context OCB128_CONTEXT; | |
174 | |
175 typedef void (*ocb128_f) (const unsigned char *in, unsigned char *out, | |
176 size_t blocks, const void *key, | |
177 size_t start_block_num, | |
178 unsigned char offset_i[16], | |
179 const unsigned char L_[][16], | |
180 unsigned char checksum[16]); | |
181 | |
182 OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec, | |
183 block128_f encrypt, block128_f decrypt, | |
184 ocb128_f stream); | |
185 int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec, | |
186 block128_f encrypt, block128_f decrypt, | |
187 ocb128_f stream); | |
188 int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src, | |
189 void *keyenc, void *keydec); | |
190 int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv, | |
191 size_t len, size_t taglen); | |
192 int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad, | |
193 size_t len); | |
194 int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, const unsigned char *in, | |
195 unsigned char *out, size_t len); | |
196 int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, const unsigned char *in, | |
197 unsigned char *out, size_t len); | |
198 int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char *tag, | |
199 size_t len); | |
200 int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len); | |
201 void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx); | |
202 # endif /* OPENSSL_NO_OCB */ | |
203 | |
204 # ifdef __cplusplus | |
205 } | |
206 # endif | |
207 | |
208 #endif |