Virgil IoT KIT
Data Fields
vs_secmodule_impl_t Struct Reference

Security Module implementation. More...

#include <secmodule.h>

Collaboration diagram for vs_secmodule_impl_t:
Collaboration graph
[legend]

Data Fields

vs_secmodule_deinit_t deinit
 Security module destruction. More...
 
vs_secmodule_slot_save_t slot_save
 Slot save information. More...
 
vs_secmodule_slot_load_t slot_load
 Slot load information. More...
 
vs_secmodule_slot_delete_t slot_clean
 Slot delete. More...
 
vs_secmodule_random_t random
 Get random data. More...
 
vs_secmodule_keypair_create_t create_keypair
 Key pair generation. More...
 
vs_secmodule_keypair_get_pubkey_t get_pubkey
 Get public key. More...
 
vs_secmodule_ecdsa_sign_t ecdsa_sign
 ECDSA sign. More...
 
vs_secmodule_ecdsa_verify_t ecdsa_verify
 ECDSA verify. More...
 
vs_secmodule_ecdh_t ecdh
 ECDH. More...
 
vs_secmodule_aes_encrypt_t aes_encrypt
 AES encrypt. More...
 
vs_secmodule_aes_decrypt_t aes_decrypt
 AES decrypt. More...
 
vs_secmodule_aes_auth_decrypt_t aes_auth_decrypt
 AES decrypt with authentication. More...
 
vs_secmodule_sw_sha256_init_t hash_init
 SHA-256 hash initialize. More...
 
vs_secmodule_sw_sha256_update_t hash_update
 SHA-256 update. More...
 
vs_secmodule_sw_sha256_final_t hash_finish
 SHA-256 finalization. More...
 
vs_secmodule_hash_create_t hash
 Create hash. More...
 
vs_secmodule_hmac_t hmac
 HMAC calculate. More...
 
vs_secmodule_kdf_t kdf
 KDF calculate. More...
 
vs_secmodule_hkdf_t hkdf
 HKDF calculate. More...
 

Detailed Description

Security Module implementation.

This structure contains all implementations needed for cryptographic operations. There are slot operations (load, save, clean) and cryptographic ones (RNG, key pair, ECDSA, ECDH, AES, hash, HMAC, HKDF, ECIES).

Field Documentation

◆ aes_auth_decrypt

vs_secmodule_aes_auth_decrypt_t vs_secmodule_impl_t::aes_auth_decrypt

AES decrypt with authentication.

◆ aes_decrypt

vs_secmodule_aes_decrypt_t vs_secmodule_impl_t::aes_decrypt

AES decrypt.

◆ aes_encrypt

vs_secmodule_aes_encrypt_t vs_secmodule_impl_t::aes_encrypt

AES encrypt.

◆ create_keypair

vs_secmodule_keypair_create_t vs_secmodule_impl_t::create_keypair

Key pair generation.

◆ deinit

vs_secmodule_deinit_t vs_secmodule_impl_t::deinit

Security module destruction.

◆ ecdh

vs_secmodule_ecdh_t vs_secmodule_impl_t::ecdh

ECDH.

◆ ecdsa_sign

vs_secmodule_ecdsa_sign_t vs_secmodule_impl_t::ecdsa_sign

ECDSA sign.

◆ ecdsa_verify

vs_secmodule_ecdsa_verify_t vs_secmodule_impl_t::ecdsa_verify

ECDSA verify.

◆ get_pubkey

vs_secmodule_keypair_get_pubkey_t vs_secmodule_impl_t::get_pubkey

Get public key.

◆ hash

vs_secmodule_hash_create_t vs_secmodule_impl_t::hash

Create hash.

◆ hash_finish

vs_secmodule_sw_sha256_final_t vs_secmodule_impl_t::hash_finish

SHA-256 finalization.

◆ hash_init

vs_secmodule_sw_sha256_init_t vs_secmodule_impl_t::hash_init

SHA-256 hash initialize.

◆ hash_update

vs_secmodule_sw_sha256_update_t vs_secmodule_impl_t::hash_update

SHA-256 update.

◆ hkdf

vs_secmodule_hkdf_t vs_secmodule_impl_t::hkdf

HKDF calculate.

◆ hmac

vs_secmodule_hmac_t vs_secmodule_impl_t::hmac

HMAC calculate.

◆ kdf

vs_secmodule_kdf_t vs_secmodule_impl_t::kdf

KDF calculate.

◆ random

vs_secmodule_random_t vs_secmodule_impl_t::random

Get random data.

◆ slot_clean

vs_secmodule_slot_delete_t vs_secmodule_impl_t::slot_clean

Slot delete.

◆ slot_load

vs_secmodule_slot_load_t vs_secmodule_impl_t::slot_load

Slot load information.

◆ slot_save

vs_secmodule_slot_save_t vs_secmodule_impl_t::slot_save

Slot save information.


The documentation for this struct was generated from the following file: