-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Different values of "tag" in cifra and libsodium for the same function #6
Comments
same problem here |
Could you post some code or test vectors? I just tried:
And both libsodium/cifra agree. Cifra also passes the known answer tests in the RFC (though it's possible those are poorly designed and not exhaustive). |
Actually, the test vectors from the RFC don't cover |aad| == 0, and cifra gets this case wrong. Fix incoming. |
Fixed in b6cdf9f. Sorry for the inconvenience and thanks for the report. |
Great! |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
I am using
void cf_chacha20poly1305_encrypt(const uint8_t key[32], const uint8_t nonce[12], const uint8_t *header, size_t nheader, const uint8_t *plaintext, size_t nbytes, uint8_t *ciphertext, uint8_t tag[16])
from cifra andint crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, unsigned char *mac, unsigned long long *maclen_p, const unsigned char *m, unsigned long long mlen, const unsigned char *ad, unsigned long long adlen, const unsigned char *nsec, const unsigned char *npub, const unsigned char *k);
from libsodium. Both of them are suppossed to produce the same ciphertext which they are doing but the tag is coming out to be different. I am not able to understand why this is happening. Please help.The text was updated successfully, but these errors were encountered: