Random 使用自然文本作为种子,为一次性键盘生成加密安全密钥的实用手动(笔和纸)方法是什么?

Random 使用自然文本作为种子,为一次性键盘生成加密安全密钥的实用手动(笔和纸)方法是什么?,random,text,numbers,generator,manual,Random,Text,Numbers,Generator,Manual,当我读到这篇文章时,我想我已经找到了问题的答案: 在那里,一张海报声称你的种子词的gematria mod 10是一个随机数。换句话说,对一个单词的字母进行求和,将每个字母视为其在字母表中位置的数字。然后除以10,剩下的就是你的随机数 另一张海报甚至“证明”了这个数字是随机的,在输入数千个常用英语单词作为种子后,显示了一个表示数字平面分布的图形 但当我尝试这个时,我得到了一个非常不平坦的分布。9和1是除3以外任何其他数字的两倍 那么,有没有一种切实可行的方法(用笔和纸)使用自然文本作为种子手动

当我读到这篇文章时,我想我已经找到了问题的答案:

在那里,一张海报声称你的种子词的gematria mod 10是一个随机数。换句话说,对一个单词的字母进行求和,将每个字母视为其在字母表中位置的数字。然后除以10,剩下的就是你的随机数

另一张海报甚至“证明”了这个数字是随机的,在输入数千个常用英语单词作为种子后,显示了一个表示数字平面分布的图形

但当我尝试这个时,我得到了一个非常不平坦的分布。9和1是除3以外任何其他数字的两倍


那么,有没有一种切实可行的方法(用笔和纸)使用自然文本作为种子手动生成加密安全的伪随机数?

根据定义,加密安全的RNG必须具有某种真实熵的物理来源。现代CPU有专门的硬件;在此之前,OSs将使用键盘和鼠标计时等功能。无论您使用什么程序,都必须涉及翻转硬币、掷骰子或类似的操作,否则这只是输入文本的哈希函数。我很乐意使用一个实用的纸笔哈希函数来生成适合一次性键盘的键。我的要求是不可能的吗?如果你坚持使用自然文本作为种子,那是不可能的。即使你得到的东西看起来是随机的,它也不可能是加密安全的,因为确定性算法将始终反映输入到输出的结构。即使如此,攻击者也不必首先弄清楚我使用了什么算法来实现这一原则吗?我写了一个脚本,将自然文本转换成一个简单的小写字母字符串,每组5个。每组的Gematria(字母表中字母位置的总和)模数10连接成一个数字串。每个数字的频率为10%。如果我用这个做一次性的垫子,谁能把它弄破呢?