例如,让我们采用伪代码,该伪代码尝试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内存归零?如果不是这种情况,我们应该在释放内存之前手动用零填充已分配的内存吗?