gpt4 book ai didi

c - OpenSSL EVP API 无冲突与单向属性 MAC

转载 作者:行者123 更新时间:2023-11-30 15:14:39 26 4
gpt4 key购买 nike

我正在做一项作业,我必须比较使用 C 语言中的 OpenSSL EVP 库对无碰撞 MAC 进行的暴力攻击与单向属性 MAC 的攻击。只是澄清一下,我不是寻找有关任务的任何帮助,只是执行 EVP。

我创建了以下代码,它创建给定输入字符串的哈希值:

OpenSSL_add_all_digests();

// Set Hash Digest

md = EVP_get_digestbyname("MD5");

// Create Hash
EVP_MD_CTX_init(&c);
EVP_DigestInit_ex(&c, md, NULL);
EVP_DigestUpdate(&c, plaintext, strlen(plaintext));
EVP_DigestFinal_ex(&c, hash, &hash_len);
EVP_MD_CTX_cleanup(&c);

这完全按照创建哈希所需的方式工作。如何将属性设置为单向与无碰撞?我在文档中找不到任何具体内容,只需要对此进行澄清。

最佳答案

我认为您将算法的属性与对象的属性或(用 C 术语来说)上下文的属性混淆了。 MD5具有单向特性,就像太阳具有发出淡黄色光的特性一样。您无法删除或配置该属性。因此您需要使用不同的哈希方法,而不是配置特定的哈希方法。

请注意,MD5 本身并不是 MAC(HMAC-MD5 是),它是一种安全哈希算法。

关于c - OpenSSL EVP API 无冲突与单向属性 MAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com