mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Double check for crypto_auth_verify()
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user