有没有标准的方法可以做到这一点?
谷歌搜索-"approximate entropy" bits-发现了多篇学术论文,但我只想找到一堆伪代码,为给定长度的任意位串定义近似熵。
(如果说起来容易做起来难,并且要取决于应用程序,我的应用程序将使用16,320位加密数据(密文)。但是,加密是一个难题,并非意味着不可能破解。我想我应该先检查一下熵,但无法轻易找到这样的一个很好的定义,因此似乎应该在StackOverflow上解决这个问题!也欢迎从哪里开始对16k随机寻找位进行解密的想法……)
另请参阅以下相关问题:
What is the computer science definition of entropy?
最佳答案
熵不是您获得的字符串的属性,而是您可能已经获得的字符串的属性。换句话说,它限定了生成字符串的过程。
在简单的情况下,您从一组N个可能的字符串中获得一个字符串,其中每个字符串与其他字符串相比具有相同的被选择概率,即1 / N。在这种情况下,字符串被称为具有N的熵。该熵通常以位表示,这是对数标度:“n位”的熵是等于2n的熵。
例如:我想将密码生成为两个小写字母,然后是两个数字,然后是两个小写字母,最后是两个数字(例如va85mw24
)。字母和数字是随机,一致且彼此独立地选择的。此过程可能会产生26 * 26 * 10 * 10 * 26 * 26 * 10 * 10 = 4569760000个不同的密码,并且所有这些密码都有相等的机会被选择。这样的密码的熵就是4569760000,这意味着大约32.1位。
关于encryption - 如何计算位串的近似熵?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2979174/