keylara_aes (keylara v1.0.0)

Summary

Functions

Decrypt data using AES with IV

Decrypt data using AES with specified IV

Encrypt data using AES with a randomly generated IV

Encrypt data using AES with specified IV

Generate random IV for AES

Generate AES key using Alara distributed entropy network

Generate AES key of specific size using Alara distributed entropy network

Get AES cipher type based on key size

Validate AES IV

Validate AES key

Types

aes_encrypted/0

-type aes_encrypted() :: {aes_iv(), binary()}.

aes_iv/0

-type aes_iv() :: binary().

aes_key/0

-type aes_key() :: binary().

aes_key_size/0

-type aes_key_size() :: 128 | 192 | 256.

entropy_error/0

-type entropy_error() ::
          {entropy_generation_failed, term()} |
          {insufficient_entropy, integer(), integer()} |
          {alara_network_error, term(), term()}.

keylara_error/0

-type keylara_error() :: {error, term()}.

Functions

decrypt(EncryptedData, AESKey)

-spec decrypt(aes_encrypted() | binary(), aes_key()) -> {ok, binary()} | keylara_error().

Decrypt data using AES with IV

decrypt(EncryptedData, AESKey, IV)

-spec decrypt(binary(), aes_key(), aes_iv()) -> {ok, binary()} | keylara_error().

Decrypt data using AES with specified IV

encrypt(Data, AESKey)

-spec encrypt(binary(), aes_key()) -> {ok, aes_encrypted()} | keylara_error().

Encrypt data using AES with a randomly generated IV

encrypt(Data, AESKey, IV)

-spec encrypt(binary(), aes_key(), aes_iv()) -> {ok, binary()} | keylara_error().

Encrypt data using AES with specified IV

generate_iv()

-spec generate_iv() -> aes_iv().

Generate random IV for AES

generate_key(NetPid)

-spec generate_key(pid()) -> {ok, aes_key()} | keylara_error().

Generate AES key using Alara distributed entropy network

generate_key(NetPid, KeySize)

-spec generate_key(pid(), aes_key_size()) -> {ok, aes_key()} | keylara_error().

Generate AES key of specific size using Alara distributed entropy network

get_key_type(AESKey)

-spec get_key_type(aes_key()) -> {ok, atom()} | keylara_error().

Get AES cipher type based on key size

validate_iv(IV)

-spec validate_iv(aes_iv()) -> ok | keylara_error().

Validate AES IV

validate_key(AESKey)

-spec validate_key(aes_key()) -> ok | keylara_error().

Validate AES key