#include <crypto/akcipher.h>
#include <crypto/internal/sig.h>
#include <linux/cryptouser.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/scatterlist.h>
#include <linux/seq_file.h>
#include <linux/string.h>
#include <net/netlink.h>
#include "internal.h"
#define CRYPTO_ALG_TYPE_SIG_MASK …
static const struct crypto_type crypto_sig_type;
static int crypto_sig_init_tfm(struct crypto_tfm *tfm)
{ … }
static void __maybe_unused crypto_sig_show(struct seq_file *m,
struct crypto_alg *alg)
{ … }
static int __maybe_unused crypto_sig_report(struct sk_buff *skb,
struct crypto_alg *alg)
{ … }
static const struct crypto_type crypto_sig_type = …;
struct crypto_sig *crypto_alloc_sig(const char *alg_name, u32 type, u32 mask)
{ … }
EXPORT_SYMBOL_GPL(…);
int crypto_sig_maxsize(struct crypto_sig *tfm)
{ … }
EXPORT_SYMBOL_GPL(…);
int crypto_sig_sign(struct crypto_sig *tfm,
const void *src, unsigned int slen,
void *dst, unsigned int dlen)
{ … }
EXPORT_SYMBOL_GPL(…);
int crypto_sig_verify(struct crypto_sig *tfm,
const void *src, unsigned int slen,
const void *digest, unsigned int dlen)
{ … }
EXPORT_SYMBOL_GPL(…);
int crypto_sig_set_pubkey(struct crypto_sig *tfm,
const void *key, unsigned int keylen)
{ … }
EXPORT_SYMBOL_GPL(…);
int crypto_sig_set_privkey(struct crypto_sig *tfm,
const void *key, unsigned int keylen)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;