首页
社区
课程
招聘
[求助]关于openssl中HMAC函数的一些疑问?
2014-3-31 20:00 6048

[求助]关于openssl中HMAC函数的一些疑问?

2014-3-31 20:00
6048
void test_hmac(u_char *pBUF, BIGNUM * pKey)
{
        const EVP_MD *evp_md1 = EVP_sha1();       
        memset((void*)(&evp_md1->flags), 0, 4);
        u_char *c_md2 = NULL;       
        c_md2 = HMAC(evp_md1, pBUF, 128, (u_char*)pKey, 128, NULL, 0);
        showArray(c_md2, 20, "HMAC cmd2");
}
我在学习openssl加解密逆向时,发现,对HMAC函数每次传入相同的入参,而每次产生的c_md2串都是随机的,如果我保证所有的入参内容都是相同的,并且保证pKey的地址也和上次的相同,则两次的输出的md串相同。

我现在的疑问是:
1、HMAC 函数中有没有把地址加入运算?
2、是不是两次产生不同的MD串可以同一段的密文?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 508
活跃值: (264)
能力值: ( LV4,RANK:41 )
在线值:
发帖
回帖
粉丝
ghostrong 2014-3-31 20:39
2
0
2、是不是两次产生不同的MD串可以解同一段的密文?
雪    币: 81
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
rodent 2014-3-31 22:15
3
0
BIGNUM 直接转char?你的结果可能是BIGNUM未初始化的数据引起的
雪    币: 81
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
rodent 2014-3-31 22:20
4
0
你的结果是因为你在用key的地址加密而不是用key的内容加密
雪    币: 508
活跃值: (264)
能力值: ( LV4,RANK:41 )
在线值:
发帖
回帖
粉丝
ghostrong 2014-4-2 11:39
5
0
感谢感谢,重新看了一遍发现确实是参数传错了。
游客
登录 | 注册 方可回帖
返回