我正在做一项任务,我必须使用 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);
这完全符合创建哈希的需要。如何设置单向与无碰撞的属性?我无法在文档中找到任何具体内容,只需要围绕这一点进行澄清。