Module leo_ssec

Function Index

block_decrypt_data/2block decrypt data using the user key.
block_decrypt_data/3block decrypt data using the user key.
block_decrypt_data/4block decrypt data using key and custome settings with IV.
block_encrypt_data/2block encrypt data using the user key and default settings.
block_encrypt_data/3block encrypt data using the user key and custom settings.
block_encrypt_data/4block encrypt data using key and custome settings with IV.
decrypt_object/4High Level Wrapper for SSE-C decryption.
encrypt_object/2High Level Wrapper for SSE-C encryption.
gen_hash/3generate hash of user key using the salt.
gen_salt/1generate a random salt.
stream_decrypt_data/3
stream_decrypt_data/4stream decrypt data using the user key and init vector.
stream_encrypt_data/3stream encrypt data using the user key and settings (no default).
stream_encrypt_data/4stream encrypt data using the user key and init vector.
verify_block_encryption/3verify that block data is encrypted correctly.
verify_key/3verify that the userkey and salt combination matches the provided hash.
verify_ssec_algorithm/1verifies that the user demanded the correct algorithm only AES256 allowed.
verify_ssec_key/2verifies that the user provided key matches the hash Key and hash are Base64 encoded.
verify_stream_encryption/3verify that stream data is encrypted correctly.

Function Details

block_decrypt_data/2

block_decrypt_data(UserKey, Data) -> PlainData

block decrypt data using the user key

block_decrypt_data/3

block_decrypt_data(UserKey, Data, AlgoMetaData) -> PlainData

block decrypt data using the user key

block_decrypt_data/4

block_decrypt_data(UserKey, Data, AlgoMetaData, IV) -> PlainData

block decrypt data using key and custome settings with IV

block_encrypt_data/2

block_encrypt_data(UserKey, Data) -> CipherPadData

block encrypt data using the user key and default settings

block_encrypt_data/3

block_encrypt_data(UserKey, Data, AlgoMetaData) -> CipherPadData

block encrypt data using the user key and custom settings

block_encrypt_data/4

block_encrypt_data(UserKey, Data, AlgoMetaData, IV) -> CipherPadData

block encrypt data using key and custome settings with IV

decrypt_object/4

decrypt_object(Cipher, UserKey, Hash, Salt) -> {error, invalid} | {ok, Object}

High Level Wrapper for SSE-C decryption

encrypt_object/2

encrypt_object(Object, UserKey) -> {ok, Cipher, Hash, Salt}

High Level Wrapper for SSE-C encryption

gen_hash/3

gen_hash(Type, UserKey, Salt) -> {Type, Mac}

generate hash of user key using the salt

gen_salt/1

gen_salt(Length) -> {ok, Salt} | {error, ErrorDescription}

generate a random salt

stream_decrypt_data/3

stream_decrypt_data(UserKey, Data, AlgoMetaData) -> {State, CipherData}

stream_decrypt_data/4

stream_decrypt_data(UserKey, Data, IVec, AlgoMetaData) -> {State, CipherData}

stream decrypt data using the user key and init vector

stream_encrypt_data/3

stream_encrypt_data(UserKey, Data, AlgoMetaData) -> {State, CipherData}

stream encrypt data using the user key and settings (no default)

stream_encrypt_data/4

stream_encrypt_data(UserKey, Data, IVec, AlgoMetaData) -> {State, CipherData}

stream encrypt data using the user key and init vector

verify_block_encryption/3

verify_block_encryption(Key, Msg, AlgoMetaData) -> {Status, EncryptedMsg}

verify that block data is encrypted correctly

verify_key/3

verify_key(UserKey, Salt, Hash) -> Status

verify that the userkey and salt combination matches the provided hash

verify_ssec_algorithm/1

verify_ssec_algorithm(Algorithm) -> {Status, ValidAlgorithms}

verifies that the user demanded the correct algorithm only AES256 allowed

verify_ssec_key/2

verify_ssec_key(ASCIIKey, Checksum) -> {Status, ErrorDescription}

verifies that the user provided key matches the hash Key and hash are Base64 encoded

verify_stream_encryption/3

verify_stream_encryption(_Key, _Msg, _AlgoMetaData) -> {Status, EncryptedMsg}

verify that stream data is encrypted correctly


Generated by EDoc