#include <linux/crypto.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/printk.h>
#include <crypto/aes.h>
#include <crypto/skcipher.h>
#include <crypto/scatterwalk.h>
#include <crypto/ctr.h>
#include <crypto/internal/des.h>
#include <crypto/xts.h>
#include "nitrox_dev.h"
#include "nitrox_common.h"
#include "nitrox_req.h"
struct nitrox_cipher { … };
static const struct nitrox_cipher flexi_cipher_table[] = …;
static enum flexi_cipher flexi_cipher_type(const char *name)
{ … }
static void free_src_sglist(struct skcipher_request *skreq)
{ … }
static void free_dst_sglist(struct skcipher_request *skreq)
{ … }
static void nitrox_skcipher_callback(void *arg, int err)
{ … }
static void nitrox_cbc_cipher_callback(void *arg, int err)
{ … }
static int nitrox_skcipher_init(struct crypto_skcipher *tfm)
{ … }
static int nitrox_cbc_init(struct crypto_skcipher *tfm)
{ … }
static void nitrox_skcipher_exit(struct crypto_skcipher *tfm)
{ … }
static inline int nitrox_skcipher_setkey(struct crypto_skcipher *cipher,
int aes_keylen, const u8 *key,
unsigned int keylen)
{ … }
static int nitrox_aes_setkey(struct crypto_skcipher *cipher, const u8 *key,
unsigned int keylen)
{ … }
static int alloc_src_sglist(struct skcipher_request *skreq, int ivsize)
{ … }
static int alloc_dst_sglist(struct skcipher_request *skreq, int ivsize)
{ … }
static int nitrox_skcipher_crypt(struct skcipher_request *skreq, bool enc)
{ … }
static int nitrox_cbc_decrypt(struct skcipher_request *skreq)
{ … }
static int nitrox_aes_encrypt(struct skcipher_request *skreq)
{ … }
static int nitrox_aes_decrypt(struct skcipher_request *skreq)
{ … }
static int nitrox_3des_setkey(struct crypto_skcipher *cipher,
const u8 *key, unsigned int keylen)
{ … }
static int nitrox_3des_encrypt(struct skcipher_request *skreq)
{ … }
static int nitrox_3des_decrypt(struct skcipher_request *skreq)
{ … }
static int nitrox_aes_xts_setkey(struct crypto_skcipher *cipher,
const u8 *key, unsigned int keylen)
{ … }
static int nitrox_aes_ctr_rfc3686_setkey(struct crypto_skcipher *cipher,
const u8 *key, unsigned int keylen)
{ … }
static struct skcipher_alg nitrox_skciphers[] = …;
int nitrox_register_skciphers(void)
{ … }
void nitrox_unregister_skciphers(void)
{ … }