gpt4 book ai didi

encryption - 如何将 256 位公钥编码为可变长度的单词序列

转载 作者:行者123 更新时间:2023-12-04 05:13:42 25 4
gpt4 key购买 nike

[编辑]
我已经完全改写了这个问题,试图更简洁明了

我正在寻找一个 1-1 函数,encode ,这样

  • encode( 32_bytes_of_data ) => {w_1, w_2, ..., w_n} ,其中:
  • w_1 ... w_n 是真正的英文单词
  • n 应该是合理的——我不想用 256 个字来编码 256 位

  • 理想情况下:
    - n 对于所有输入值不应相同,但这不是一个非常重要的要求。

    目标 - 使公钥更具人类可读性和可识别性。

    最佳答案

    如果您不担心手动检查,而只想防止出现明显的正则表达式,那么有几种替代方案,但会增加烦恼:

  • ROT13已经在usenet上无数次用于这种事情。它将击败 base-64 检测
  • 使用 256 位作为整数,并在 ASCII 中使用它的 base-10 表示。它看起来像这样:115792089237316195423570985008687907853269984665640564039457584007913129639936
  • 您可以将之前的数字编码为 look-and-say sequence并拼写:二一、一五、一七...
  • Encode the 256 bits into a base-26 ,并使用编码的 26 个字母作为短语中每个单词的第一个字符。你需要大约 55 个单词。如果您觉得有创意,您可以使用每个单词的前两个字符,并将其减少到 27 个,但您可能确实必须使用非常奇怪的单词。如果你不在乎外表,就发55个字:ennjuuzflkeenzhszxamvlrnusvcpknavbgzllukzllrkvatszirbkq
  • 如果你想使用 unicode,有 110,000 different characters .假设其中只有一半是可打印的,那么每个字符的熵略多于 15 位,因此您需要 17 个字符来编码 256 位
  • 如果您和您的收件人可以预先共享任意数量的数据(您至少必须共享有关“隐写术”方法的知识),您可以为字典中的每个单词分配一个数值。大约有1,000,000 words in the English language ,所以每一个都有大约 20 位的熵。您需要 256/20=13 个单词。生成 key 以正确的语法和语法进行编码并重写 Jabberwocky 的奖励积分
  • 关于encryption - 如何将 256 位公钥编码为可变长度的单词序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14562539/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com