VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1j/include/openssl/rc5.h@ 89597

最後變更 在這個檔案從89597是 87984,由 vboxsync 提交於 4 年 前

openssl-1.1.1j: Applied and adjusted our OpenSSL changes to 1.1.1j. bugref:9963

檔案大小: 1.9 KB
 
1/*
2 * Copyright 1995-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_RC5_H
11# define HEADER_RC5_H
12
13# include <openssl/opensslconf.h>
14
15# ifndef OPENSSL_NO_RC5
16# ifdef __cplusplus
17extern "C" {
18# endif
19
20# define RC5_ENCRYPT 1
21# define RC5_DECRYPT 0
22
23# define RC5_32_INT unsigned int
24
25# define RC5_32_BLOCK 8
26# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */
27
28/*
29 * This are the only values supported. Tweak the code if you want more The
30 * most supported modes will be RC5-32/12/16 RC5-32/16/8
31 */
32# define RC5_8_ROUNDS 8
33# define RC5_12_ROUNDS 12
34# define RC5_16_ROUNDS 16
35
36typedef struct rc5_key_st {
37 /* Number of rounds */
38 int rounds;
39 RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)];
40} RC5_32_KEY;
41
42void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data,
43 int rounds);
44void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out,
45 RC5_32_KEY *key, int enc);
46void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key);
47void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key);
48void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out,
49 long length, RC5_32_KEY *ks, unsigned char *iv,
50 int enc);
51void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out,
52 long length, RC5_32_KEY *schedule,
53 unsigned char *ivec, int *num, int enc);
54void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out,
55 long length, RC5_32_KEY *schedule,
56 unsigned char *ivec, int *num);
57
58# ifdef __cplusplus
59}
60# endif
61# endif
62
63#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette