密钥生成中心
RU EN ES 中文

密钥生成中心

Ludus Lab · 用游戏把复杂的事情变简单

密钥生成中心是如何工作的 +

密钥生成中心(CVK)是一个基于用户熵生成密码密钥的模拟器。与算法生成器不同,它利用不可预测的光标移动来生成真正随机的序列。

1 收集熵

系统收集三个熵源:光标的 X 坐标、Y 坐标,以及以毫秒为单位的当前时间。鼠标移动得越混乱,熵的质量就越高。

2 数值的奇偶性

对这三个数值中的每一个,系统判断它是奇数(奇偶位 = 1)还是偶数(奇偶位 = 0)。

例如:X=125 → 奇数 → 1;Y=84 → 偶数 → 0;时间=1623456789 → 奇数 → 1

3 异或运算

三个奇偶位(X、Y、时间)按模 2 相加(异或运算)。

异或的规则是:如果 1 的个数(奇数值的个数)是奇数,结果就是 1。

  • 0+0+0 = 0 → 1 的个数为偶数 → 比特 = 0
  • 1+0+1 = 2 → 1 的个数为偶数 → 比特 = 0
  • 1+1+1 = 3 → 1 的个数为奇数 → 比特 = 1
  • 1+0+0 = 1 → 1 的个数为奇数 → 比特 = 1
4 生成一个密钥比特

异或运算的结果成为未来密码密钥的一个比特。每隔固定的时间间隔,针对每一个新的光标位置重复这一运算。

5 组装密钥

比特依次填入密钥的各个格子。收集到足够的比特后(本模拟中为 16 位),完整的密码密钥就形成了。

6 安全性

用这种方式生成的密钥具有很高的密码强度,因为不知道确切的光标轨迹和每次采样的时间,就无法预测它。

实际应用:类似的方法用于需要高度随机性的系统——密码协议、会话密钥生成、加密中的初始化向量。

X = — → 奇数? ?
Y = — → 奇数? ?
时间 = — → 奇数? ?
异或:奇数值的个数 = 0
比特 = ?
点击“生成密钥”

主密钥生成成功:

你可以复制它以备后用。