codekingpro/portable-devtools
115k
1/*2 * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.3 *4 * Licensed under the Apache License 2.0 (the "License"). You may not use5 * this file except in compliance with the License. You can obtain a copy6 * in the file LICENSE in the source distribution or at7 * https://www.openssl.org/source/license.html8 */9 10#ifndef OPENSSL_BLOWFISH_H11# define OPENSSL_BLOWFISH_H12# pragma once13 14# include <openssl/macros.h>15# ifndef OPENSSL_NO_DEPRECATED_3_016# define HEADER_BLOWFISH_H17# endif18 19# include <openssl/opensslconf.h>20 21# ifndef OPENSSL_NO_BF22# include <openssl/e_os2.h>23# ifdef __cplusplus24extern "C" {25# endif26 27# define BF_BLOCK 828 29# ifndef OPENSSL_NO_DEPRECATED_3_030 31# define BF_ENCRYPT 132# define BF_DECRYPT 033 34/*-35 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!36 * ! BF_LONG has to be at least 32 bits wide. !37 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!38 */39# define BF_LONG unsigned int40 41# define BF_ROUNDS 1642 43typedef struct bf_key_st {44 BF_LONG P[BF_ROUNDS + 2];45 BF_LONG S[4 * 256];46} BF_KEY;47 48# endif /* OPENSSL_NO_DEPRECATED_3_0 */49# ifndef OPENSSL_NO_DEPRECATED_3_050OSSL_DEPRECATEDIN_3_0 void BF_set_key(BF_KEY *key, int len,51 const unsigned char *data);52OSSL_DEPRECATEDIN_3_0 void BF_encrypt(BF_LONG *data, const BF_KEY *key);53OSSL_DEPRECATEDIN_3_0 void BF_decrypt(BF_LONG *data, const BF_KEY *key);54OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,55 unsigned char *out, const BF_KEY *key,56 int enc);57OSSL_DEPRECATEDIN_3_0 void BF_cbc_encrypt(const unsigned char *in,58 unsigned char *out, long length,59 const BF_KEY *schedule,60 unsigned char *ivec, int enc);61OSSL_DEPRECATEDIN_3_0 void BF_cfb64_encrypt(const unsigned char *in,62 unsigned char *out,63 long length, const BF_KEY *schedule,64 unsigned char *ivec, int *num,65 int enc);66OSSL_DEPRECATEDIN_3_0 void BF_ofb64_encrypt(const unsigned char *in,67 unsigned char *out,68 long length, const BF_KEY *schedule,69 unsigned char *ivec, int *num);70OSSL_DEPRECATEDIN_3_0 const char *BF_options(void);71# endif72 73# ifdef __cplusplus74}75# endif76# endif77 78#endif79 