VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.1/include/openssl/idea.h@ 94081

最後變更 在這個檔案從94081是 91772,由 vboxsync 提交於 3 年 前

openssl-1.1.1l: Applied and adjusted our OpenSSL changes to 1.1.1l. bugref:10126

檔案大小: 2.0 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_IDEA_H
11# define HEADER_IDEA_H
12
13# include <openssl/opensslconf.h>
14
15# ifndef OPENSSL_NO_IDEA
16# ifdef __cplusplus
17extern "C" {
18# endif
19
20typedef unsigned int IDEA_INT;
21
22# define IDEA_ENCRYPT 1
23# define IDEA_DECRYPT 0
24
25# define IDEA_BLOCK 8
26# define IDEA_KEY_LENGTH 16
27
28typedef struct idea_key_st {
29 IDEA_INT data[9][6];
30} IDEA_KEY_SCHEDULE;
31
32const char *IDEA_options(void);
33void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out,
34 IDEA_KEY_SCHEDULE *ks);
35void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks);
36void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk);
37void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out,
38 long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
39 int enc);
40void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out,
41 long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
42 int *num, int enc);
43void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out,
44 long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
45 int *num);
46void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks);
47
48# if OPENSSL_API_COMPAT < 0x10100000L
49# define idea_options IDEA_options
50# define idea_ecb_encrypt IDEA_ecb_encrypt
51# define idea_set_encrypt_key IDEA_set_encrypt_key
52# define idea_set_decrypt_key IDEA_set_decrypt_key
53# define idea_cbc_encrypt IDEA_cbc_encrypt
54# define idea_cfb64_encrypt IDEA_cfb64_encrypt
55# define idea_ofb64_encrypt IDEA_ofb64_encrypt
56# define idea_encrypt IDEA_encrypt
57# endif
58
59# ifdef __cplusplus
60}
61# endif
62# endif
63
64#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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