Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
cipher.h File Reference

Crypto Cipher APIs. More...

#include <device.h>
#include <errno.h>
#include <sys/util.h>
#include <sys/__assert.h>
#include "cipher_structs.h"

Go to the source code of this file.

Data Structures

struct  crypto_driver_api
 

Functions

static int cipher_query_hwcaps (const struct device *dev)
 Query the crypto hardware capabilities. More...
 
static int cipher_begin_session (const struct device *dev, struct cipher_ctx *ctx, enum cipher_algo algo, enum cipher_mode mode, enum cipher_op optype)
 Setup a crypto session. More...
 
static int cipher_free_session (const struct device *dev, struct cipher_ctx *ctx)
 Cleanup a crypto session. More...
 
static int cipher_callback_set (const struct device *dev, crypto_completion_cb cb)
 Registers an async crypto op completion callback with the driver. More...
 
static int cipher_block_op (struct cipher_ctx *ctx, struct cipher_pkt *pkt)
 Perform single-block crypto operation (ECB cipher mode). This should not be overloaded to operate on multiple blocks for security reasons. More...
 
static int cipher_cbc_op (struct cipher_ctx *ctx, struct cipher_pkt *pkt, uint8_t *iv)
 Perform Cipher Block Chaining (CBC) crypto operation. More...
 
static int cipher_ctr_op (struct cipher_ctx *ctx, struct cipher_pkt *pkt, uint8_t *iv)
 Perform Counter (CTR) mode crypto operation. More...
 
static int cipher_ccm_op (struct cipher_ctx *ctx, struct cipher_aead_pkt *pkt, uint8_t *nonce)
 Perform Counter with CBC-MAC (CCM) mode crypto operation. More...
 
static int cipher_gcm_op (struct cipher_ctx *ctx, struct cipher_aead_pkt *pkt, uint8_t *nonce)
 Perform Galois/Counter Mode (GCM) crypto operation. More...
 

Detailed Description

Crypto Cipher APIs.

This file contains the Crypto Abstraction layer APIs.

[Experimental] Users should note that the APIs can change as a part of ongoing development.