Mercurial > dropbear
comparison mycrypt_cipher.h @ 143:5d99163f7e32 libtomcrypt-orig
import of libtomcrypt 0.99
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 19 Dec 2004 11:34:45 +0000 |
parents | 6362d3854bb4 |
children |
comparison
equal
deleted
inserted
replaced
15:6362d3854bb4 | 143:5d99163f7e32 |
---|---|
177 unsigned char ctr[MAXBLOCKSIZE], pad[MAXBLOCKSIZE]; | 177 unsigned char ctr[MAXBLOCKSIZE], pad[MAXBLOCKSIZE]; |
178 symmetric_key key; | 178 symmetric_key key; |
179 } symmetric_CTR; | 179 } symmetric_CTR; |
180 | 180 |
181 /* cipher descriptor table, last entry has "name == NULL" to mark the end of table */ | 181 /* cipher descriptor table, last entry has "name == NULL" to mark the end of table */ |
182 extern struct _cipher_descriptor { | 182 extern struct _cipher_descriptor { |
183 char *name; | 183 char *name; |
184 unsigned char ID; | 184 unsigned char ID; |
185 int min_key_length, max_key_length, block_length, default_rounds; | 185 int min_key_length, max_key_length, block_length, default_rounds; |
186 int (*setup)(const unsigned char *key, int keylength, int num_rounds, symmetric_key *skey); | 186 int (*setup)(const unsigned char *key, int keylength, int num_rounds, symmetric_key *skey); |
187 void (*ecb_encrypt)(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 187 void (*ecb_encrypt)(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
189 int (*test)(void); | 189 int (*test)(void); |
190 int (*keysize)(int *desired_keysize); | 190 int (*keysize)(int *desired_keysize); |
191 } cipher_descriptor[]; | 191 } cipher_descriptor[]; |
192 | 192 |
193 #ifdef BLOWFISH | 193 #ifdef BLOWFISH |
194 extern int blowfish_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 194 int blowfish_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
195 extern void blowfish_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 195 void blowfish_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
196 extern void blowfish_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 196 void blowfish_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
197 extern int blowfish_test(void); | 197 int blowfish_test(void); |
198 extern int blowfish_keysize(int *desired_keysize); | 198 int blowfish_keysize(int *desired_keysize); |
199 extern const struct _cipher_descriptor blowfish_desc; | 199 extern const struct _cipher_descriptor blowfish_desc; |
200 #endif | 200 #endif |
201 | 201 |
202 #ifdef RC5 | 202 #ifdef RC5 |
203 extern int rc5_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 203 int rc5_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
204 extern void rc5_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 204 void rc5_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
205 extern void rc5_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 205 void rc5_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
206 extern int rc5_test(void); | 206 int rc5_test(void); |
207 extern int rc5_keysize(int *desired_keysize); | 207 int rc5_keysize(int *desired_keysize); |
208 extern const struct _cipher_descriptor rc5_desc; | 208 extern const struct _cipher_descriptor rc5_desc; |
209 #endif | 209 #endif |
210 | 210 |
211 #ifdef RC6 | 211 #ifdef RC6 |
212 extern int rc6_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 212 int rc6_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
213 extern void rc6_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 213 void rc6_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
214 extern void rc6_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 214 void rc6_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
215 extern int rc6_test(void); | 215 int rc6_test(void); |
216 extern int rc6_keysize(int *desired_keysize); | 216 int rc6_keysize(int *desired_keysize); |
217 extern const struct _cipher_descriptor rc6_desc; | 217 extern const struct _cipher_descriptor rc6_desc; |
218 #endif | 218 #endif |
219 | 219 |
220 #ifdef RC2 | 220 #ifdef RC2 |
221 extern int rc2_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 221 int rc2_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
222 extern void rc2_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 222 void rc2_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
223 extern void rc2_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 223 void rc2_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
224 extern int rc2_test(void); | 224 int rc2_test(void); |
225 extern int rc2_keysize(int *desired_keysize); | 225 int rc2_keysize(int *desired_keysize); |
226 extern const struct _cipher_descriptor rc2_desc; | 226 extern const struct _cipher_descriptor rc2_desc; |
227 #endif | 227 #endif |
228 | 228 |
229 #ifdef SAFERP | 229 #ifdef SAFERP |
230 extern int saferp_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 230 int saferp_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
231 extern void saferp_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 231 void saferp_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
232 extern void saferp_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 232 void saferp_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
233 extern int saferp_test(void); | 233 int saferp_test(void); |
234 extern int saferp_keysize(int *desired_keysize); | 234 int saferp_keysize(int *desired_keysize); |
235 extern const struct _cipher_descriptor saferp_desc; | 235 extern const struct _cipher_descriptor saferp_desc; |
236 #endif | 236 #endif |
237 | 237 |
238 #ifdef SAFER | 238 #ifdef SAFER |
239 extern int safer_k64_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 239 int safer_k64_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
240 extern int safer_sk64_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 240 int safer_sk64_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
241 extern int safer_k128_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 241 int safer_k128_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
242 extern int safer_sk128_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 242 int safer_sk128_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
243 extern void safer_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 243 void safer_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
244 extern void safer_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 244 void safer_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
245 | 245 |
246 extern int safer_k64_test(void); | 246 int safer_k64_test(void); |
247 extern int safer_sk64_test(void); | 247 int safer_sk64_test(void); |
248 extern int safer_sk128_test(void); | 248 int safer_sk128_test(void); |
249 | 249 |
250 extern int safer_64_keysize(int *desired_keysize); | 250 int safer_64_keysize(int *desired_keysize); |
251 extern int safer_128_keysize(int *desired_keysize); | 251 int safer_128_keysize(int *desired_keysize); |
252 extern const struct _cipher_descriptor safer_k64_desc, safer_k128_desc, safer_sk64_desc, safer_sk128_desc; | 252 extern const struct _cipher_descriptor safer_k64_desc, safer_k128_desc, safer_sk64_desc, safer_sk128_desc; |
253 #endif | 253 #endif |
254 | 254 |
255 #ifdef RIJNDAEL | 255 #ifdef RIJNDAEL |
256 | 256 |
257 /* make aes an alias */ | 257 /* make aes an alias */ |
263 | 263 |
264 #define aes_enc_setup rijndael_enc_setup | 264 #define aes_enc_setup rijndael_enc_setup |
265 #define aes_enc_ecb_encrypt rijndael_enc_ecb_encrypt | 265 #define aes_enc_ecb_encrypt rijndael_enc_ecb_encrypt |
266 #define aes_enc_keysize rijndael_enc_keysize | 266 #define aes_enc_keysize rijndael_enc_keysize |
267 | 267 |
268 extern int rijndael_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 268 int rijndael_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
269 extern void rijndael_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 269 void rijndael_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
270 extern void rijndael_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 270 void rijndael_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
271 extern int rijndael_test(void); | 271 int rijndael_test(void); |
272 extern int rijndael_keysize(int *desired_keysize); | 272 int rijndael_keysize(int *desired_keysize); |
273 | 273 |
274 extern int rijndael_enc_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 274 int rijndael_enc_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
275 extern void rijndael_enc_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 275 void rijndael_enc_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
276 extern int rijndael_enc_keysize(int *desired_keysize); | 276 int rijndael_enc_keysize(int *desired_keysize); |
277 | 277 |
278 extern const struct _cipher_descriptor rijndael_desc, aes_desc; | 278 extern const struct _cipher_descriptor rijndael_desc, aes_desc; |
279 extern const struct _cipher_descriptor rijndael_enc_desc, aes_enc_desc; | 279 extern const struct _cipher_descriptor rijndael_enc_desc, aes_enc_desc; |
280 #endif | 280 #endif |
281 | 281 |
282 #ifdef XTEA | 282 #ifdef XTEA |
283 extern int xtea_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 283 int xtea_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
284 extern void xtea_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 284 void xtea_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
285 extern void xtea_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 285 void xtea_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
286 extern int xtea_test(void); | 286 int xtea_test(void); |
287 extern int xtea_keysize(int *desired_keysize); | 287 int xtea_keysize(int *desired_keysize); |
288 extern const struct _cipher_descriptor xtea_desc; | 288 extern const struct _cipher_descriptor xtea_desc; |
289 #endif | 289 #endif |
290 | 290 |
291 #ifdef TWOFISH | 291 #ifdef TWOFISH |
292 extern int twofish_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 292 int twofish_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
293 extern void twofish_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 293 void twofish_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
294 extern void twofish_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 294 void twofish_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
295 extern int twofish_test(void); | 295 int twofish_test(void); |
296 extern int twofish_keysize(int *desired_keysize); | 296 int twofish_keysize(int *desired_keysize); |
297 extern const struct _cipher_descriptor twofish_desc; | 297 extern const struct _cipher_descriptor twofish_desc; |
298 #endif | 298 #endif |
299 | 299 |
300 #ifdef DES | 300 #ifdef DES |
301 extern int des_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 301 int des_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
302 extern void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 302 void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
303 extern void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 303 void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
304 extern int des_test(void); | 304 int des_test(void); |
305 extern int des_keysize(int *desired_keysize); | 305 int des_keysize(int *desired_keysize); |
306 | 306 |
307 extern int des3_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 307 int des3_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
308 extern void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 308 void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
309 extern void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 309 void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
310 extern int des3_test(void); | 310 int des3_test(void); |
311 extern int des3_keysize(int *desired_keysize); | 311 int des3_keysize(int *desired_keysize); |
312 | 312 |
313 extern const struct _cipher_descriptor des_desc, des3_desc; | 313 extern const struct _cipher_descriptor des_desc, des3_desc; |
314 #endif | 314 #endif |
315 | 315 |
316 #ifdef CAST5 | 316 #ifdef CAST5 |
317 extern int cast5_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 317 int cast5_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
318 extern void cast5_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 318 void cast5_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
319 extern void cast5_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 319 void cast5_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
320 extern int cast5_test(void); | 320 int cast5_test(void); |
321 extern int cast5_keysize(int *desired_keysize); | 321 int cast5_keysize(int *desired_keysize); |
322 extern const struct _cipher_descriptor cast5_desc; | 322 extern const struct _cipher_descriptor cast5_desc; |
323 #endif | 323 #endif |
324 | 324 |
325 #ifdef NOEKEON | 325 #ifdef NOEKEON |
326 extern int noekeon_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 326 int noekeon_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
327 extern void noekeon_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 327 void noekeon_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
328 extern void noekeon_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 328 void noekeon_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
329 extern int noekeon_test(void); | 329 int noekeon_test(void); |
330 extern int noekeon_keysize(int *desired_keysize); | 330 int noekeon_keysize(int *desired_keysize); |
331 extern const struct _cipher_descriptor noekeon_desc; | 331 extern const struct _cipher_descriptor noekeon_desc; |
332 #endif | 332 #endif |
333 | 333 |
334 #ifdef SKIPJACK | 334 #ifdef SKIPJACK |
335 extern int skipjack_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); | 335 int skipjack_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); |
336 extern void skipjack_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); | 336 void skipjack_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key); |
337 extern void skipjack_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); | 337 void skipjack_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key); |
338 extern int skipjack_test(void); | 338 int skipjack_test(void); |
339 extern int skipjack_keysize(int *desired_keysize); | 339 int skipjack_keysize(int *desired_keysize); |
340 extern const struct _cipher_descriptor skipjack_desc; | 340 extern const struct _cipher_descriptor skipjack_desc; |
341 #endif | 341 #endif |
342 | 342 |
343 #ifdef ECB | 343 #ifdef ECB |
344 extern int ecb_start(int cipher, const unsigned char *key, | 344 int ecb_start(int cipher, const unsigned char *key, |
345 int keylen, int num_rounds, symmetric_ECB *ecb); | 345 int keylen, int num_rounds, symmetric_ECB *ecb); |
346 extern int ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_ECB *ecb); | 346 int ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_ECB *ecb); |
347 extern int ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_ECB *ecb); | 347 int ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_ECB *ecb); |
348 #endif | 348 #endif |
349 | 349 |
350 #ifdef CFB | 350 #ifdef CFB |
351 extern int cfb_start(int cipher, const unsigned char *IV, const unsigned char *key, | 351 int cfb_start(int cipher, const unsigned char *IV, const unsigned char *key, |
352 int keylen, int num_rounds, symmetric_CFB *cfb); | 352 int keylen, int num_rounds, symmetric_CFB *cfb); |
353 extern int cfb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_CFB *cfb); | 353 int cfb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_CFB *cfb); |
354 extern int cfb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CFB *cfb); | 354 int cfb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CFB *cfb); |
355 extern int cfb_getiv(unsigned char *IV, unsigned long *len, symmetric_CFB *cfb); | 355 int cfb_getiv(unsigned char *IV, unsigned long *len, symmetric_CFB *cfb); |
356 extern int cfb_setiv(const unsigned char *IV, unsigned long len, symmetric_CFB *cfb); | 356 int cfb_setiv(const unsigned char *IV, unsigned long len, symmetric_CFB *cfb); |
357 #endif | 357 #endif |
358 | 358 |
359 #ifdef OFB | 359 #ifdef OFB |
360 extern int ofb_start(int cipher, const unsigned char *IV, const unsigned char *key, | 360 int ofb_start(int cipher, const unsigned char *IV, const unsigned char *key, |
361 int keylen, int num_rounds, symmetric_OFB *ofb); | 361 int keylen, int num_rounds, symmetric_OFB *ofb); |
362 extern int ofb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_OFB *ofb); | 362 int ofb_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_OFB *ofb); |
363 extern int ofb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_OFB *ofb); | 363 int ofb_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_OFB *ofb); |
364 extern int ofb_getiv(unsigned char *IV, unsigned long *len, symmetric_OFB *ofb); | 364 int ofb_getiv(unsigned char *IV, unsigned long *len, symmetric_OFB *ofb); |
365 extern int ofb_setiv(const unsigned char *IV, unsigned long len, symmetric_OFB *ofb); | 365 int ofb_setiv(const unsigned char *IV, unsigned long len, symmetric_OFB *ofb); |
366 #endif | 366 #endif |
367 | 367 |
368 #ifdef CBC | 368 #ifdef CBC |
369 extern int cbc_start(int cipher, const unsigned char *IV, const unsigned char *key, | 369 int cbc_start(int cipher, const unsigned char *IV, const unsigned char *key, |
370 int keylen, int num_rounds, symmetric_CBC *cbc); | 370 int keylen, int num_rounds, symmetric_CBC *cbc); |
371 extern int cbc_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_CBC *cbc); | 371 int cbc_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_CBC *cbc); |
372 extern int cbc_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_CBC *cbc); | 372 int cbc_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_CBC *cbc); |
373 extern int cbc_getiv(unsigned char *IV, unsigned long *len, symmetric_CBC *cbc); | 373 int cbc_getiv(unsigned char *IV, unsigned long *len, symmetric_CBC *cbc); |
374 extern int cbc_setiv(const unsigned char *IV, unsigned long len, symmetric_CBC *cbc); | 374 int cbc_setiv(const unsigned char *IV, unsigned long len, symmetric_CBC *cbc); |
375 #endif | 375 #endif |
376 | 376 |
377 #ifdef CTR | 377 #ifdef CTR |
378 extern int ctr_start(int cipher, const unsigned char *IV, const unsigned char *key, | 378 int ctr_start(int cipher, const unsigned char *IV, const unsigned char *key, |
379 int keylen, int num_rounds, symmetric_CTR *ctr); | 379 int keylen, int num_rounds, symmetric_CTR *ctr); |
380 extern int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_CTR *ctr); | 380 int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_CTR *ctr); |
381 extern int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CTR *ctr); | 381 int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CTR *ctr); |
382 extern int ctr_getiv(unsigned char *IV, unsigned long *len, symmetric_CTR *ctr); | 382 int ctr_getiv(unsigned char *IV, unsigned long *len, symmetric_CTR *ctr); |
383 extern int ctr_setiv(const unsigned char *IV, unsigned long len, symmetric_CTR *ctr); | 383 int ctr_setiv(const unsigned char *IV, unsigned long len, symmetric_CTR *ctr); |
384 #endif | 384 #endif |
385 | 385 |
386 | 386 |
387 | 387 |
388 extern int find_cipher(const char *name); | 388 int find_cipher(const char *name); |
389 extern int find_cipher_any(const char *name, int blocklen, int keylen); | 389 int find_cipher_any(const char *name, int blocklen, int keylen); |
390 extern int find_cipher_id(unsigned char ID); | 390 int find_cipher_id(unsigned char ID); |
391 | 391 |
392 extern int register_cipher(const struct _cipher_descriptor *cipher); | 392 int register_cipher(const struct _cipher_descriptor *cipher); |
393 extern int unregister_cipher(const struct _cipher_descriptor *cipher); | 393 int unregister_cipher(const struct _cipher_descriptor *cipher); |
394 | 394 |
395 extern int cipher_is_valid(int idx); | 395 int cipher_is_valid(int idx); |
396 | 396 |