Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cipher.h File Reference

Crypto Cipher structure definitions. More...

#include <zephyr/device.h>
#include <zephyr/sys/util.h>

Go to the source code of this file.

Data Structures

struct  cipher_ops
 
struct  ccm_params
 
struct  ctr_params
 
struct  gcm_params
 
struct  cipher_ctx
 Structure encoding session parameters. More...
 
struct  cipher_pkt
 Structure encoding IO parameters of one cryptographic operation like encrypt/decrypt. More...
 
struct  cipher_aead_pkt
 Structure encoding IO parameters in AEAD (Authenticated Encryption with Associated Data) scenario like in CCM. More...
 

Typedefs

typedef int(* block_op_t) (struct cipher_ctx *ctx, struct cipher_pkt *pkt)
 
typedef int(* cbc_op_t) (struct cipher_ctx *ctx, struct cipher_pkt *pkt, uint8_t *iv)
 
typedef int(* ctr_op_t) (struct cipher_ctx *ctx, struct cipher_pkt *pkt, uint8_t *ctr)
 
typedef int(* ccm_op_t) (struct cipher_ctx *ctx, struct cipher_aead_pkt *pkt, uint8_t *nonce)
 
typedef int(* gcm_op_t) (struct cipher_ctx *ctx, struct cipher_aead_pkt *pkt, uint8_t *nonce)
 
typedef void(* cipher_completion_cb) (struct cipher_pkt *completed, int status)
 

Enumerations

enum  cipher_algo { CRYPTO_CIPHER_ALGO_AES = 1 }
 Cipher Algorithm. More...
 
enum  cipher_op { CRYPTO_CIPHER_OP_DECRYPT = 0 , CRYPTO_CIPHER_OP_ENCRYPT = 1 }
 Cipher Operation. More...
 
enum  cipher_mode {
  CRYPTO_CIPHER_MODE_ECB = 1 , CRYPTO_CIPHER_MODE_CBC = 2 , CRYPTO_CIPHER_MODE_CTR = 3 , CRYPTO_CIPHER_MODE_CCM = 4 ,
  CRYPTO_CIPHER_MODE_GCM = 5
}
 Possible cipher mode options. More...
 

Detailed Description

Crypto Cipher structure definitions.

This file contains the Crypto Abstraction layer structures.

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