小编İbr*_*pek的帖子

是否可以通过分配内存来恢复秘密数据(例如用于解密的空闲内存中的RSA私钥)?

例如,让我们采用伪代码,该伪代码尝试free使用此方法将RSA私钥存储在已分配(然后是d)的内存中:

int main(){
    bigNum priKey;


    while(true) {
        void *mem = malloc(2024); //allocate a good amount of chunk

        if(rsaKeyIn(mem, &priKey))
            break;
    }

    printf("RSA PRK found: %s", priKey.getText())

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题:这可能吗?还是有可能恢复其他秘密数据?

还是free为了安全起见,操作系统将'd内存归零?如果不是这种情况,我们应该在释放内存之前手动用零填充已分配的内存吗?

c malloc cryptography

5
推荐指数
1
解决办法
99
查看次数

标签 统计

c ×1

cryptography ×1

malloc ×1