我使用标准程序在虚拟机中生成了 WireGuard 密钥wg genkey | tee privatekey | wg pubkey > publickey
。VM 通过 KVM 运行,并由 支持的 virtio RNG /dev/urandom
。
生成的私钥如下所示:
WEAKqv5b*****************************SS5w2M=
(星号是我加的,被审查的字符看起来像是正常的随机字符)
以 开头的键有特殊含义吗WEAK
?或者这只是人类在随机性中寻找模式的一个例子?
我出于谨慎而生成了一个新密钥,但它没有表现出这种模式。
答案1
这是一个有趣的巧合,但 WireGuard 并没有试图告诉你任何事情——它只是从 /dev/urandom 读取 32 个字节,并使用结果作为密钥(经过一点点操作以使其为 Curve25519 做好准备)。在这种情况下,前 3 个字节在经过 base64 编码后恰好拼写为 WEAK。