Double check for crypto_auth_verify()

This commit is contained in:
Frank Denis 2014-08-03 21:15:04 -07:00
parent be41f72e0e
commit c5a9d46386
3 changed files with 9 additions and 3 deletions

View File

@ -1,9 +1,11 @@
#include "api.h"
#include "crypto_verify_32.h"
#include "utils.h"
int crypto_auth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
{
unsigned char correct[32];
crypto_auth(correct,in,inlen,k);
return crypto_verify_32(h,correct);
return crypto_verify_32(h,correct) | (-(h - correct == 0)) |
sodium_memcmp(correct,h,32);
}

View File

@ -1,10 +1,12 @@
#include "api.h"
#include "crypto_verify_64.h"
#include "utils.h"
int crypto_auth_verify(const unsigned char *h, const unsigned char *in,
unsigned long long inlen, const unsigned char *k)
{
unsigned char correct[64];
crypto_auth(correct,in,inlen,k);
return crypto_verify_64(h,correct);
return crypto_verify_64(h,correct) | (-(h - correct == 0)) |
sodium_memcmp(correct,h,64);
}

View File

@ -1,10 +1,12 @@
#include "api.h"
#include "crypto_verify_32.h"
#include "utils.h"
int crypto_auth_verify(const unsigned char *h, const unsigned char *in,
unsigned long long inlen, const unsigned char *k)
{
unsigned char correct[32];
crypto_auth(correct,in,inlen,k);
return crypto_verify_32(h,correct);
return crypto_verify_32(h,correct) | (-(h - correct == 0)) |
sodium_memcmp(correct,h,32);
}