`Deoxys-II-256` Authenticated Encryption with Additional Data (`AEAD`) algorithm. - [[ https://sites.google.com/view/deoxyscipher ]] - [[ https://thomaspeyrin.github.io/web/assets/docs/papers/Jean-etal-JoC2021.pdf ]]

Collection Info

View Source
Collection
core
Path
crypto/deoxysii
Entries
9

Source Files

Constants

3

IV_SIZE #

Source
IV_SIZE :: 15

IV_SIZE iss the Deoxys-II-256 IV size in bytes.

KEY_SIZE #

Source
KEY_SIZE :: 32

KEY_SIZE is the Deoxys-II-256 key size in bytes.

TAG_SIZE #

Source
TAG_SIZE :: 16

TAG_SIZE is the Deoxys-II-256 tag size in bytes.

Types

1

Procedures

5

is_hardware_accelerated #

Source
is_hardware_accelerated :: proc "contextless" () -> bool {…}

is_hardware_accelerated returns true if and only if (⟺) hardware accelerated Deoxys-II is supported.

open #

Source
@(require_results)
open :: proc(
	ctx:                           ^Context, 
	dst, iv, aad, ciphertext, tag: []u8, 
) -> bool {…}

open authenticates the aad and ciphertext, and decrypts the ciphertext, with the provided Context, iv, and tag, and stores the output in dst, returning true if and only if (⟺) the authentication was successful. If authentication fails, the destination buffer will be zeroed. dst and plaintext MUST alias exactly or not at all.

reset #

Source
reset :: proc "contextless" (ctx: ^Context) {…}

reset sanitizes the Context. The Context must be re-initialized to be used again.

seal #

Source
seal :: proc(
	ctx:                          ^Context, 
	dst, tag, iv, aad, plaintext: []u8, 
) {…}

seal encrypts the plaintext and authenticates the aad and ciphertext, with the provided Context and iv, stores the output in dst and tag. dst and plaintext MUST alias exactly or not at all.