| block_decrypt_data/2 | block decrypt data using the user key. |
| block_decrypt_data/3 | block decrypt data using the user key. |
| block_decrypt_data/4 | block decrypt data using key and custome settings with IV. |
| block_encrypt_data/2 | block encrypt data using the user key and default settings. |
| block_encrypt_data/3 | block encrypt data using the user key and custom settings. |
| block_encrypt_data/4 | block encrypt data using key and custome settings with IV. |
| decrypt_object/4 | High Level Wrapper for SSE-C decryption. |
| encrypt_object/2 | High Level Wrapper for SSE-C encryption. |
| gen_hash/3 | generate hash of user key using the salt. |
| gen_salt/1 | generate a random salt. |
| stream_decrypt_data/3 | |
| stream_decrypt_data/4 | stream decrypt data using the user key and init vector. |
| stream_encrypt_data/3 | stream encrypt data using the user key and settings (no default). |
| stream_encrypt_data/4 | stream encrypt data using the user key and init vector. |
| verify_block_encryption/3 | verify that block data is encrypted correctly. |
| verify_key/3 | verify that the userkey and salt combination matches the provided hash. |
| verify_ssec_algorithm/1 | verifies that the user demanded the correct algorithm only AES256 allowed. |
| verify_ssec_key/2 | verifies that the user provided key matches the hash Key and hash are Base64 encoded. |
| verify_stream_encryption/3 | verify that stream data is encrypted correctly. |
block_decrypt_data(UserKey, Data) -> PlainData
UserKey = crypto:block_key()Data = binary()PlainData = iodata()
block decrypt data using the user key
block_decrypt_data(UserKey, Data, AlgoMetaData) -> PlainData
UserKey = crypto:block_key()Data = binary()AlgoMetaData = #algo_metadata{}PlainData = iodata()
block decrypt data using the user key
block_decrypt_data(UserKey, Data, AlgoMetaData, IV) -> PlainData
UserKey = crypto:block_key()Data = binary()AlgoMetaData = #algo_metadata{}IV = binary()PlainData = iodata()
block decrypt data using key and custome settings with IV
block_encrypt_data(UserKey, Data) -> CipherPadData
UserKey = crypto:block_key()Data = crypto:io_data()CipherPadData = binary()
block encrypt data using the user key and default settings
block_encrypt_data(UserKey, Data, AlgoMetaData) -> CipherPadData
UserKey = crypto:block_key()Data = crypto:io_data()AlgoMetaData = #algo_metadata{}CipherPadData = binary()
block encrypt data using the user key and custom settings
block_encrypt_data(UserKey, Data, AlgoMetaData, IV) -> CipherPadData
UserKey = crypto:block_key()Data = crypto:io_data()AlgoMetaData = #algo_metadata{}IV = crypto:io_data()CipherPadData = binary()
block encrypt data using key and custome settings with IV
decrypt_object(Cipher, UserKey, Hash, Salt) -> {error, invalid} | {ok, Object}
Object = crypto:io_data()UserKey = crypto:io_data()Cipher = binary()Hash = binary()Salt = binary()
High Level Wrapper for SSE-C decryption
encrypt_object(Object, UserKey) -> {ok, Cipher, Hash, Salt}
Object = crypto:io_data()UserKey = crypto:io_data()Cipher = binary()Hash = binary()Salt = binary()
High Level Wrapper for SSE-C encryption
gen_hash(Type, UserKey, Salt) -> {Type, Mac}
Type = crypto:hash_algorithms()UserKey = iodata()Salt = iodata()Mac = binary()
generate hash of user key using the salt
gen_salt(Length) -> {ok, Salt} | {error, ErrorDescription}
Length = integer()Salt = binary()ErrorDescription = string()
generate a random salt
stream_decrypt_data(UserKey, Data, AlgoMetaData) -> {State, CipherData}
UserKey = {key, crypto:io_data()} | StateData = crypto:io_data()AlgoMetaData = #algo_metadata{}State = {state, crypto:opaque()}CipherData = binary()
stream_decrypt_data(UserKey, Data, IVec, AlgoMetaData) -> {State, CipherData}
UserKey = {key, crypto:io_data()} | StateData = crypto:io_data()IVec = binary()AlgoMetaData = #algo_metadata{}State = {state, crypto:opaque()}CipherData = binary()
stream decrypt data using the user key and init vector
stream_encrypt_data(UserKey, Data, AlgoMetaData) -> {State, CipherData}
UserKey = crypto:io_data()Data = crypto:io_data()AlgoMetaData = #algo_metadata{}State = {state, crypto:opaque()}CipherData = binary()
stream encrypt data using the user key and settings (no default)
stream_encrypt_data(UserKey, Data, IVec, AlgoMetaData) -> {State, CipherData}
UserKey = crypto:io_data()Data = crypto:io_data()IVec = binary()AlgoMetaData = #algo_metadata{}State = crypto:opaque()CipherData = binary()
stream encrypt data using the user key and init vector
verify_block_encryption(Key, Msg, AlgoMetaData) -> {Status, EncryptedMsg}
Key = crypto:block_key()Msg = crypto:io_data()AlgoMetaData = #algo_metadata{}Status = boolean()EncryptedMsg = binary()
verify that block data is encrypted correctly
verify_key(UserKey, Salt, Hash) -> Status
UserKey = iodata()Salt = iodata()Hash = {Type, binary()}Type = crypto:hash_algorithms()Status = boolean()
verify that the userkey and salt combination matches the provided hash
verify_ssec_algorithm(Algorithm) -> {Status, ValidAlgorithms}
Algorithm = string()Status = boolean()ValidAlgorithms = [string()]
verifies that the user demanded the correct algorithm only AES256 allowed
verify_ssec_key(ASCIIKey, Checksum) -> {Status, ErrorDescription}
ASCIIKey = string()Checksum = {Type, ASCIIHash}Type = md5ASCIIHash = string()Status = boolean()ErrorDescription = string()
verifies that the user provided key matches the hash Key and hash are Base64 encoded
verify_stream_encryption(_Key, _Msg, _AlgoMetaData) -> {Status, EncryptedMsg}
_Key = crypto:stream_key()_Msg = crypto:io_data()_AlgoMetaData = #algo_metadata{}Status = boolean()EncryptedMsg = binary()
verify that stream data is encrypted correctly
Generated by EDoc