对于我想尝试的加密,我有一个奇怪的想法,它可能很糟糕,而且它可能以前做过,但我只是为了好玩。问题的简短版本是:是否有可能从一个小种子生成一个长的、确定的和非均匀分布的数字字符串/序列?
长(er)版本:我正在考虑通过更改编码来加密文本。新的编码将通过 Huffman 算法生成。为了运行良好,霍夫曼算法需要相当长且分布不均匀的文本。然后字符可以具有不同的位长,这将是这种加密的主要强度。问题在于,每次要解密文本时输入/记住长文本是不切实际的。所以我想知道是否可以从密码种子生成文本?
文本是什么并不重要,只要它的字符分布不均匀,并且每次给它相同的种子时都可以重新创建完全相同的序列。最好,Python中是否有任何功能/扩展可以做到这一点?
编辑:扩展不同位长的“强度”:如果我有一个字符串“test”,ASCII 值 116、101、115、116,它给出的位值为 1110100 1100101 1110011 1110100
然后,假设我的霍夫曼算法生成像 t = 101 e = 1100111 s = 10001 这样的编码
最终的字符串是 101 1100111 10001 101,如果我们将其编码回 ASCII,我们会得到 1011100 1111000 1101000,这是 3 个完全不同的字符,即“\xh”。显然,不可能对此进行任何类型的频率分析或类似的事情。