假设已知特定有效负载的有效散列,这样的一些C代码会容易受到长度扩展攻击吗?
#include <openssl/hmac.h>
...
unsigned char *calculated_hash = HMAC(EVP_md5(), &key,sizeof(key) - 1, payload, payload_len, NULL, NULL);
...
if(memcmp(calculated_hash, received_hash, 16) == 0){
dprintf(client_fd, "Payload Valid\n");
exit(0);
} else {
dprintf(client_fd, "Payload Invalid\n");
exit(1);
}发布于 2019-04-17 23:59:18
HMAC-MD5不容易受到延长长度的攻击。
如果这是您的代码计算的内容,那么您的代码就不会受到长度扩展攻击的攻击。尽管如此:
memcmp进行比较。在OpenSSL中,您应该使用CRYPTO_memcmp。https://crypto.stackexchange.com/questions/68855
复制相似问题