/usr/include/libr/r_crypto.h is in libradare2-dev 0.9.6-3.1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #ifndef _INCLUDE_CRYPTO_R_
#define _INCLUDE_CRYPTO_R_
#include <list.h>
#include <r_types.h>
#ifdef __cplusplus
extern "C" {
#endif
R_LIB_VERSION_HEADER(r_crypto);
enum {
R_CRYPTO_MODE_ECB,
R_CRYPTO_MODE_CBC,
R_CRYPTO_MODE_OFB,
R_CRYPTO_MODE_CFB,
};
enum {
R_CRYPTO_DIR_CIPHER,
R_CRYPTO_DIR_DECIPHER,
};
typedef struct r_crypto_t {
struct r_crypto_plugin_t* h;
ut8 *key;
ut8 *iv;
int key_len;
ut8 *output;
int output_len;
int output_size;
void *user;
struct list_head plugins;
} RCrypto;
typedef struct r_crypto_plugin_t {
const char *name;
int (*get_key_size)(RCrypto *cry);
int (*set_iv)(RCrypto *cry, const ut8 *iv);
int (*set_key)(RCrypto *cry, const ut8 *key, int mode, int direction);
int (*update)(RCrypto *cry, const ut8 *buf, int len);
int (*final)(RCrypto *cry, const ut8 *buf, int len);
int (*use)(const char *algo);
int (*fini)(RCrypto *cry);
struct list_head list;
} RCryptoPlugin;
#ifdef R_API
R_API RCrypto *r_crypto_init(RCrypto *cry, int hard);
R_API RCrypto *r_crypto_as_new(RCrypto *cry);
R_API int r_crypto_add(RCrypto *cry, RCryptoPlugin *h);
R_API RCrypto *r_crypto_new();
R_API RCrypto *r_crypto_free(RCrypto *cry);
R_API int r_crypto_use(RCrypto *cry, const char *algo);
R_API int r_crypto_set_key(RCrypto *cry, const ut8* key, int mode, int direction);
R_API int r_crypto_get_key_size(RCrypto *cry);
R_API int r_crypto_set_iv(RCrypto *cry, const ut8 *iv);
R_API int r_crypto_update(RCrypto *cry, ut8 *buf, int len);
R_API int r_crypto_final(RCrypto *cry, ut8 *buf, int len);
R_API int r_crypto_append(RCrypto *cry, const ut8 *buf, int len);
R_API ut8 *r_crypto_get_output(RCrypto *cry);
#endif
/* plugin pointers */
extern RCryptoPlugin r_crypto_plugin_aes;
#ifdef __cplusplus
}
#endif
#endif
|