diff options
author | Uros Majstorovic <majstor@majstor.org> | 2020-08-05 03:38:22 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2020-08-05 03:38:22 +0200 |
commit | 5cd610a07468137066ea4daa5176c3e7045113b0 (patch) | |
tree | a6a5b572572f8f37ec2cb87332fa46e9bcc53aa7 /ecp/src/crypto/crypto.h | |
parent | 2473a7d5c51806ab8651cd3c4e07a15b62084eb5 (diff) |
ecp moved to root; fixed utils and tests
Diffstat (limited to 'ecp/src/crypto/crypto.h')
-rw-r--r-- | ecp/src/crypto/crypto.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ecp/src/crypto/crypto.h b/ecp/src/crypto/crypto.h new file mode 100644 index 0000000..86b072c --- /dev/null +++ b/ecp/src/crypto/crypto.h @@ -0,0 +1,31 @@ +#define CURVE25519_SIZE_KEY 32 +#define CHACHA20_SIZE_KEY 32 +#define POLY1305_SIZE_TAG 16 +#define CHACHA20_SIZE_NONCE 8 + +#define ECP_ECDH_SIZE_KEY 32 +#define ECP_AEAD_SIZE_KEY 32 +#define ECP_AEAD_SIZE_TAG 16 +#define ECP_AEAD_SIZE_NONCE 8 + +#define ECP_DSA_SIZE_KEY 32 + +typedef uint8_t ecp_dh_public_t[ECP_ECDH_SIZE_KEY]; +typedef uint8_t ecp_dh_private_t[ECP_ECDH_SIZE_KEY]; +typedef uint8_t ecp_aead_key_t[ECP_AEAD_SIZE_KEY]; +typedef uint8_t ecp_dsa_public_t[ECP_DSA_SIZE_KEY]; +typedef uint8_t ecp_dsa_private_t[ECP_DSA_SIZE_KEY]; + +int +aead_chacha20_poly1305_seal(unsigned char *out, size_t *out_len, + size_t max_out_len, unsigned char key[32], unsigned char tag_len, + const unsigned char *nonce, size_t nonce_len, + const unsigned char *in, size_t in_len, + const unsigned char *ad, size_t ad_len); + +int +aead_chacha20_poly1305_open(unsigned char *out, size_t *out_len, + size_t max_out_len, unsigned char key[32], unsigned char tag_len, + const unsigned char *nonce, size_t nonce_len, + const unsigned char *in, size_t in_len, + const unsigned char *ad, size_t ad_len); |