Merge branch 'xchacha20' of github.com:ECrownofFire/enacl
This commit is contained in:
@@ -66,6 +66,14 @@
|
||||
aead_chacha20poly1305_ABYTES/0,
|
||||
aead_chacha20poly1305_MESSAGEBYTES_MAX/0,
|
||||
|
||||
%% No Tests!
|
||||
aead_xchacha20poly1305_encrypt/4,
|
||||
aead_xchacha20poly1305_decrypt/4,
|
||||
aead_xchacha20poly1305_KEYBYTES/0,
|
||||
aead_xchacha20poly1305_NONCEBYTES/0,
|
||||
aead_xchacha20poly1305_ABYTES/0,
|
||||
aead_xchacha20poly1305_MESSAGEBYTES_MAX/0,
|
||||
|
||||
%% EQC
|
||||
stream_key_size/0,
|
||||
stream_nonce_size/0,
|
||||
@@ -1140,6 +1148,61 @@ aead_chacha20poly1305_ABYTES() ->
|
||||
aead_chacha20poly1305_MESSAGEBYTES_MAX() ->
|
||||
enacl_nif:crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX().
|
||||
|
||||
%% AEAD XChaCha20 Poly1305
|
||||
%% ----------------------
|
||||
%% @doc aead_xchacha20poly1305_encrypt/4 encrypts `Message' with additional data
|
||||
%% `AD' using `Key' and `Nonce'. Returns the encrypted message followed by
|
||||
%% `aead_xchacha20poly1305_ABYTES/0' bytes of MAC.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_encrypt(Key, Nonce, AD, Msg) -> binary() | {error, term()}
|
||||
when Key :: binary(),
|
||||
Nonce :: binary(),
|
||||
AD :: binary(),
|
||||
Msg :: binary().
|
||||
aead_xchacha20poly1305_encrypt(Key, Nonce, AD, Msg) ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_encrypt(Key, Nonce, AD, Msg).
|
||||
|
||||
%% @doc aead_xchacha20poly1305_decrypt/4 decrypts ciphertext `CT' with additional
|
||||
%% data `AD' using `Key' and `Nonce'. Note: `CipherText' should contain
|
||||
%% `aead_xchacha20poly1305_ABYTES/0' bytes that is the MAC. Returns the decrypted
|
||||
%% message.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_decrypt(Key, Nonce, AD, CT) -> binary() | {error, term()}
|
||||
when Key :: binary(),
|
||||
Nonce :: binary(),
|
||||
AD :: binary(),
|
||||
CT :: binary().
|
||||
aead_xchacha20poly1305_decrypt(Key, Nonce, AD, CT) ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_decrypt(Key, Nonce, AD, CT).
|
||||
|
||||
%% @doc aead_xchacha20poly1305_KEYBYTES/0 returns the number of bytes
|
||||
%% of the key used in AEAD XChaCha20 Poly1305 encryption/decryption.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_KEYBYTES() -> pos_integer().
|
||||
aead_xchacha20poly1305_KEYBYTES() ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_KEYBYTES().
|
||||
|
||||
%% @doc aead_xchacha20poly1305_NONCEBYTES/0 returns the number of bytes
|
||||
%% of the Nonce in AEAD XChaCha20 Poly1305 encryption/decryption.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_NONCEBYTES() -> pos_integer().
|
||||
aead_xchacha20poly1305_NONCEBYTES() ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_NPUBBYTES().
|
||||
|
||||
%% @doc aead_xchacha20poly1305_ABYTES/0 returns the number of bytes
|
||||
%% of the MAC in AEAD XChaCha20 Poly1305 encryption/decryption.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_ABYTES() -> pos_integer().
|
||||
aead_xchacha20poly1305_ABYTES() ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_ABYTES().
|
||||
|
||||
%% @doc aead_xchacha20poly1305_MESSAGEBYTES_MAX/0 returns the max number of bytes
|
||||
%% allowed in a message in AEAD XChaCha20 Poly1305 encryption/decryption.
|
||||
%% @end
|
||||
-spec aead_xchacha20poly1305_MESSAGEBYTES_MAX() -> pos_integer().
|
||||
aead_xchacha20poly1305_MESSAGEBYTES_MAX() ->
|
||||
enacl_nif:crypto_aead_xchacha20poly1305_MESSAGEBYTES_MAX().
|
||||
|
||||
%% Obtaining random bytes
|
||||
|
||||
%% @doc randombytes/1 produces a stream of random bytes of the given size
|
||||
|
||||
@@ -74,6 +74,13 @@
|
||||
crypto_aead_chacha20poly1305_ABYTES/0,
|
||||
crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX/0,
|
||||
|
||||
crypto_aead_xchacha20poly1305_encrypt/4,
|
||||
crypto_aead_xchacha20poly1305_decrypt/4,
|
||||
crypto_aead_xchacha20poly1305_KEYBYTES/0,
|
||||
crypto_aead_xchacha20poly1305_NPUBBYTES/0,
|
||||
crypto_aead_xchacha20poly1305_ABYTES/0,
|
||||
crypto_aead_xchacha20poly1305_MESSAGEBYTES_MAX/0,
|
||||
|
||||
crypto_auth_BYTES/0,
|
||||
crypto_auth_KEYBYTES/0,
|
||||
|
||||
@@ -257,6 +264,13 @@ crypto_aead_chacha20poly1305_NPUBBYTES() -> erlang:nif_
|
||||
crypto_aead_chacha20poly1305_ABYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX() -> erlang:nif_error(nif_not_loaded).
|
||||
|
||||
crypto_aead_xchacha20poly1305_encrypt(_Key, _Nonce, _AD, _Message) -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_xchacha20poly1305_decrypt(_Key, _Nonce, _AD, _Message) -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_xchacha20poly1305_KEYBYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_xchacha20poly1305_NPUBBYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_xchacha20poly1305_ABYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_aead_xchacha20poly1305_MESSAGEBYTES_MAX() -> erlang:nif_error(nif_not_loaded).
|
||||
|
||||
crypto_auth_BYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_auth_KEYBYTES() -> erlang:nif_error(nif_not_loaded).
|
||||
crypto_auth(_Msg, _Key) -> erlang:nif_error(nif_not_loaded).
|
||||
|
||||
Reference in New Issue
Block a user