linux/arch/x86/crypto/blowfish_glue.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Glue Code for assembler optimized version of Blowfish
 *
 * Copyright (c) 2011 Jussi Kivilinna <[email protected]>
 *
 * CBC & ECB parts based on code (crypto/cbc.c,ecb.c) by:
 *   Copyright (c) 2006 Herbert Xu <[email protected]>
 */

#include <crypto/algapi.h>
#include <crypto/blowfish.h>
#include <crypto/internal/skcipher.h>
#include <linux/crypto.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/types.h>

#include "ecb_cbc_helpers.h"

/* regular block cipher functions */
asmlinkage void blowfish_enc_blk(struct bf_ctx *ctx, u8 *dst, const u8 *src);
asmlinkage void blowfish_dec_blk(struct bf_ctx *ctx, u8 *dst, const u8 *src);

/* 4-way parallel cipher functions */
asmlinkage void blowfish_enc_blk_4way(struct bf_ctx *ctx, u8 *dst,
				      const u8 *src);
asmlinkage void __blowfish_dec_blk_4way(struct bf_ctx *ctx, u8 *dst,
					const u8 *src, bool cbc);

static inline void blowfish_dec_ecb_4way(struct bf_ctx *ctx, u8 *dst,
					     const u8 *src)
{}

static inline void blowfish_dec_cbc_4way(struct bf_ctx *ctx, u8 *dst,
					     const u8 *src)
{}

static void blowfish_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{}

static void blowfish_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{}

static int blowfish_setkey_skcipher(struct crypto_skcipher *tfm,
				    const u8 *key, unsigned int keylen)
{}

static int ecb_encrypt(struct skcipher_request *req)
{}

static int ecb_decrypt(struct skcipher_request *req)
{}

static int cbc_encrypt(struct skcipher_request *req)
{}

static int cbc_decrypt(struct skcipher_request *req)
{}

static struct crypto_alg bf_cipher_alg =;

static struct skcipher_alg bf_skcipher_algs[] =;

static bool is_blacklisted_cpu(void)
{}

static int force;
module_param(force, int, 0);
MODULE_PARM_DESC();

static int __init blowfish_init(void)
{}

static void __exit blowfish_fini(void)
{}

module_init();
module_exit(blowfish_fini);

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_ALIAS_CRYPTO();
MODULE_ALIAS_CRYPTO();