#ifndef _HS_NETTLE_CIPHERS_H #define _HS_NETTLE_CIPHERS_H _HS_NETTLE_CIPHERS_H #include #include #include #include /* block ciphers */ #include #include #include #include #include #include #include #include /* stream ciphers */ #include #include void hs_nettle_cfb_encrypt(void *ctx, nettle_crypt_func *f, unsigned block_size, uint8_t *iv, unsigned length, uint8_t *dst, const uint8_t *src); /* takes *ENCRYPTION* function f */ void hs_nettle_cfb_decrypt(void *ctx, nettle_crypt_func *f, unsigned block_size, uint8_t *iv, unsigned length, uint8_t *dst, const uint8_t *src); struct hs_aes_ctx { struct aes_ctx encrypt, decrypt; }; void hs_nettle_aes_init(struct hs_aes_ctx *ctx, unsigned int key_size, const char *key); struct hs_camellia_ctx { struct camellia_ctx encrypt, decrypt; }; void hs_nettle_camellia_init(struct hs_camellia_ctx *ctx, unsigned int key_size, const char *key); #endif