一台[物理断网]+[加密解密专用]的 WIN 电脑,如何在开机后“主动补熵”呢?

发布于

YGHMXFAL:

有一些数据需要长期保存,打算专门新购一台电脑。

最好是“软”方法?即使用程序/代码来主动“制造混乱”,而不需要引入额外硬件?

我的天真想法:

1. 随机(此时可能是低质量随机源)生成不存在的 1000 条命令抛给 PS 执行。
2. 滚键盘输入乱码(可视为高质量随机源?)作为密码,随机选择系统中某一个文件,嵌套加密它 10 次。

这俩动作应该能增加大量 I/O + 系统中断 + CPU 抖动吧?

或者说,执行 openssl rand 命令能够正常输出结果,是不是说明 CSPRNG 已经初始化成功了?

---

原文链接:[点击查看](https://www.v2ex.com/t/1228923)

评论(8)

最简单的物理外挂:拿个麦克风挂在墙上或者放地上录制环境噪音,直接把噪音当做随机源输入进去就行。

· 0 个赞

如果是软件方案的话,可以换个思路:在关机前,你自己先生成并存储一段高质量的随机数据,等下次开机的时候直接读取它作为初始熵源就行了。

· 0 个赞

在 Windows 上,系统底层是怎么去收集和生成随机数的纯属黑盒。作为普通用户,你根本没办法主动去给它内部的熵池手动喂数据。

· 0 个赞

其实完全不用这么折腾,X86 指令集早十几年前就内置了硬件级的真随机数生成指令了,直接看这里就懂了: https://en.wikipedia.org/wiki/RDRAND

· 0 个赞

硬件方案可以考虑学学 Cloudflare 的骚操作:直接给电脑接个摄像头拍熔岩灯,把拍到的照片画面当作随机种子。物理熵源直接拉满。

· 0 个赞

你滚键盘的这种操作,确实可以作为系统的随机熵源。但要搞清楚一点,系统里其他那些乱七八糟的 I/O 活动量高,并不代表就能转化成高质量的熵。Windows 自己底层的随机数生成机制其实考虑得很复杂了,微软官方博客有篇专门讲这个底层逻辑的文章,建议直接搜来看看: https://www.microsoft.com/en-us/security/blog/2019/11/25/going-in-depth-on-the-windows-10-random-number-generation-infrastructure/

· 0 个赞

其实可以靠麦克风录入环境噪音来增加随机性,电脑随便放桌上就行。

· 0 个赞

可以在关机前先保存一部分随机数据作为熵源,下次开机直接读取就行了。

· 0 个赞