Zephyr API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Crypto APIs . More...

Topics

 Cipher
 Crypto Cipher APIs .
 
 Crypto Driver Backend API
 
 
 Hash
 Crypto Hash APIs .
 
 Random Function APIs
 Random Function APIs .
 

Files

file  crypto.h
 Crypto Cipher APIs.
 

Functions

static int crypto_query_hwcaps (const struct device *dev)
 Query the crypto hardware capabilities.
 

Crypto capability flags

Capability flags returned by crypto_query_hwcaps() and selected in cipher_ctx::flags or hash_ctx::flags during session setup.

Not all drivers support all flags. More flags to be added as necessary.

#define CAP_OPAQUE_KEY_HNDL   BIT(0)
 Key material is referenced through an opaque driver-specific handle.
 
#define CAP_RAW_KEY   BIT(1)
 Key material is supplied as raw key bytes.
 
#define CAP_KEY_LOADING_API   BIT(2)
 TBD.
 
#define CAP_INPLACE_OPS   BIT(3)
 In-place operations are supported.
 
#define CAP_SEPARATE_IO_BUFS   BIT(4)
 Separate input and output buffers are supported.
 
#define CAP_SYNC_OPS   BIT(5)
 Synchronous operations are supported.
 
#define CAP_ASYNC_OPS   BIT(6)
 Asynchronous operations with completion notifications are supported.
 
#define CAP_AUTONONCE   BIT(7)
 Automatic nonce generation is supported.
 
#define CAP_NO_IV_PREFIX   BIT(8)
 Cipher output does not include a prefixed IV.
 

Detailed Description

Crypto APIs .

Since
1.7
Version
1.0.0

Macro Definition Documentation

◆ CAP_ASYNC_OPS

#define CAP_ASYNC_OPS   BIT(6)

#include <zephyr/crypto/crypto.h>

Asynchronous operations with completion notifications are supported.

◆ CAP_AUTONONCE

#define CAP_AUTONONCE   BIT(7)

#include <zephyr/crypto/crypto.h>

Automatic nonce generation is supported.

◆ CAP_INPLACE_OPS

#define CAP_INPLACE_OPS   BIT(3)

#include <zephyr/crypto/crypto.h>

In-place operations are supported.

◆ CAP_KEY_LOADING_API

#define CAP_KEY_LOADING_API   BIT(2)

#include <zephyr/crypto/crypto.h>

TBD.

◆ CAP_NO_IV_PREFIX

#define CAP_NO_IV_PREFIX   BIT(8)

#include <zephyr/crypto/crypto.h>

Cipher output does not include a prefixed IV.

◆ CAP_OPAQUE_KEY_HNDL

#define CAP_OPAQUE_KEY_HNDL   BIT(0)

#include <zephyr/crypto/crypto.h>

Key material is referenced through an opaque driver-specific handle.

◆ CAP_RAW_KEY

#define CAP_RAW_KEY   BIT(1)

#include <zephyr/crypto/crypto.h>

Key material is supplied as raw key bytes.

◆ CAP_SEPARATE_IO_BUFS

#define CAP_SEPARATE_IO_BUFS   BIT(4)

#include <zephyr/crypto/crypto.h>

Separate input and output buffers are supported.

◆ CAP_SYNC_OPS

#define CAP_SYNC_OPS   BIT(5)

#include <zephyr/crypto/crypto.h>

Synchronous operations are supported.

Function Documentation

◆ crypto_query_hwcaps()

static int crypto_query_hwcaps ( const struct device * dev)
inlinestatic

#include <zephyr/crypto/crypto.h>

Query the crypto hardware capabilities.

This API is used by the app to query the capabilities supported by the crypto device. Based on this the app can specify a subset of the supported options to be honored for a session during cipher_begin_session().

Parameters
devPointer to the device structure for the driver instance.
Returns
bitmask of supported options.