cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

atmel-authenc.h (1703B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * API for Atmel Secure Protocol Layers Improved Performances (SPLIP)
      4 *
      5 * Copyright (C) 2016 Atmel Corporation
      6 *
      7 * Author: Cyrille Pitchen <cyrille.pitchen@atmel.com>
      8 *
      9 * This driver is based on drivers/mtd/spi-nor/fsl-quadspi.c from Freescale.
     10 */
     11
     12#ifndef __ATMEL_AUTHENC_H__
     13#define __ATMEL_AUTHENC_H__
     14
     15#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC)
     16
     17#include <crypto/authenc.h>
     18#include <crypto/hash.h>
     19#include <crypto/sha1.h>
     20#include <crypto/sha2.h>
     21#include "atmel-sha-regs.h"
     22
     23struct atmel_aes_dev;
     24typedef int (*atmel_aes_authenc_fn_t)(struct atmel_aes_dev *, int, bool);
     25
     26struct atmel_sha_authenc_ctx;
     27
     28bool atmel_sha_authenc_is_ready(void);
     29unsigned int atmel_sha_authenc_get_reqsize(void);
     30
     31struct atmel_sha_authenc_ctx *atmel_sha_authenc_spawn(unsigned long mode);
     32void atmel_sha_authenc_free(struct atmel_sha_authenc_ctx *auth);
     33int atmel_sha_authenc_setkey(struct atmel_sha_authenc_ctx *auth,
     34			     const u8 *key, unsigned int keylen, u32 flags);
     35
     36int atmel_sha_authenc_schedule(struct ahash_request *req,
     37			       struct atmel_sha_authenc_ctx *auth,
     38			       atmel_aes_authenc_fn_t cb,
     39			       struct atmel_aes_dev *dd);
     40int atmel_sha_authenc_init(struct ahash_request *req,
     41			   struct scatterlist *assoc, unsigned int assoclen,
     42			   unsigned int textlen,
     43			   atmel_aes_authenc_fn_t cb,
     44			   struct atmel_aes_dev *dd);
     45int atmel_sha_authenc_final(struct ahash_request *req,
     46			    u32 *digest, unsigned int digestlen,
     47			    atmel_aes_authenc_fn_t cb,
     48			    struct atmel_aes_dev *dd);
     49void  atmel_sha_authenc_abort(struct ahash_request *req);
     50
     51#endif /* CONFIG_CRYPTO_DEV_ATMEL_AUTHENC */
     52
     53#endif /* __ATMEL_AUTHENC_H__ */