你这第一段话的里的硬件设备很像OpenPGP智能卡这类东西,它的密钥是不可能读出来的,所有的解密操作全都在卡里完成。
这类加密应用的一般做法是生成一个随机的对称密钥,用公钥加密这个对称密钥,解密的时候把加密后的对称密钥送给智能卡,让智能卡把解密出来的对称密钥输出到用于解密的应用程序。
【 在 bihai (new half life) 的大作中提到: 】
: 最近开发一个小应用, 在Linux设备上要加密一个文件。我们是从硬件设备上获得一个秘钥来加密另一个秘钥。第二个秘钥是用来加密文件的。然后用第一个秘钥加密第二个秘钥,可以保存。
: 我的方案是第一个秘钥用原来的程序,稍作修改,把结果输出到文件,另写一个程序来进行加密,从文件中读取秘钥,从拎一个文件读取内容,加密结果输出到第三个文件。反馈说不行,怕文件被swap了,就是去保密了。
: 那我用pipe可以吧,stdout | stdin.
: ...................
--
FROM 123.112.67.*