计算力保证的加密遗言延迟发布工具
确保加密遗言的秘钥必须在足够长的时间内获取,程序运行避免依赖网络。
- 输入预设问题答案,计算答案散列字符串,作为秘钥计算初始值。
- 在初值后追加字符再次计算新的散列字符串,直到取得设定好的值。
- 此时预设问题答案散列+追加字符串再次散列即解密密文使用的秘钥。
第1步、第2步、第3步均使用不同的盐。
- 预设问题。
- 预设问题答案,如果答案错误将导致第三步计算无限运行,而不会提示答案错误。
- 盐1、盐2、盐3。
- 追加字符串,长度决定取得密钥需要的计算力。
- 秘钥散列,通过答案+追加字符串散列预先计算所得,使用盐2。
- 明文
- 密文,通过盐3计算答案+追加字符串散列得到密钥。
参数2、4、6需要在使用后销毁,并避免保存到磁盘,必要时需要关闭系统页面文件,以保证内存不被页面交换写入磁盘。
- 盐2设置过于简单,通过彩虹表逆推,由于盐3是公开的,破解秘钥散列相当于取得了秘钥。