Skip to contents

Describes the installed package: its version, the C ABI it publishes, the algorithms it provides, and the vendored cryptographic backend it was compiled against.

Usage

crypt_info()

Value

A list with elements:

version

the zucrypt package version, as a package_version.

abi_version

the C ABI version published to LinkingTo consumers, as an integer: 1. The archive's ABI is frozen as ABI 1 from 0.1.0; see zucrypt_c_api.

algorithms

the digest algorithms this build provides, which is exactly the set crypt_hash() and crypt_hmac() accept.

vendored

a data frame with one row per vendored source, giving its source name and the version the compiled library reports.

build_flags

a named list: random_backend, the operating-system random source compiled in; aes_implementation, which AES this machine runs – "aesni" or "aesce" on a CPU with AES instructions, "software" otherwise, decided at run time; and hardware_acceleration, TRUE when that is a hardware path. See the "Side channels" section of crypt_aes_cbc_nopad for why it matters.

Details

Everything here is read from the compiled library, never from tools/vendor/manifest.tsv. The manifest is maintainer tooling and is not installed, so it could only describe the tree a build was made from – which is the one thing a user holding a binary package cannot check.

Examples

info <- crypt_info()
info$version
#> [1] ‘0.1.0’
info$algorithms
#> [1] "sha1"   "sha256" "sha384" "sha512"
info$vendored
#>          source version
#> 1 TF-PSA-Crypto   1.1.1