如果你想在Java中使用加密强大的随机数,你可以使用SecureRandom
.不幸的是,SecureRandom
可能会很慢.如果它/dev/random
在Linux上使用,它可以阻止等待足够的熵建立.你如何避免性能损失?
有没有人使用Uncommon Maths作为解决这个问题的方法?
任何人都可以确认JDK 6中已经解决了这个性能问题吗?
我正在使用此行为node.js生成sha1 id:
crypto.createHash('sha1').digest('hex');
Run Code Online (Sandbox Code Playgroud)
问题是它每次都返回相同的id.
是否可以让它每次生成一个随机ID,以便我可以将它用作数据库文档ID?
如何计算文件的熵?(或者
我只是说一堆字节)我有一个想法,但我不确定它在数学上是否正确.
我的想法如下:
好吧,现在我被卡住了.如何以一种所有结果介于0.0和1.0之间的方式"计划"计数器结果?但我敢肯定,这个想法无论如何都是不一致的......
我希望有人有更好更简单的解决方案吗?
注意:我需要整个事情来对文件的内容做出假设:(
明文,标记,压缩或一些二进制文件,......)
安装程序:虚拟机上的Ubuntu服务器,具有6个内核和3GB内存.
当我试图生成像这样的asymmetric key pair
通道.我收到以下错误:GPG
gpg --gen-key
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy!
Run Code Online (Sandbox Code Playgroud)
我试着谷歌一点点.这就是我意识到,我需要启动另一个终端并键入cat /udev/random
- >它随机生成一系列随机生成的值以增加熵.
我在这里看不到任何变化 watch cat /proc/sys/kernel/random/entropy_avail
它仍然坚持给我同样的错误
我最近在我的大学开设了数据压缩课程.但是,我发现使用术语"熵",因为它适用于计算机科学而不是模棱两可.据我所知,它大致转化为系统或结构的"随机性".
计算机科学"熵"的正确定义是什么?
computer-science entropy data-compression information-theory
在我的项目中,我需要多次计算0-1向量的熵.这是我的代码:
def entropy(labels):
""" Computes entropy of 0-1 vector. """
n_labels = len(labels)
if n_labels <= 1:
return 0
counts = np.bincount(labels)
probs = counts[np.nonzero(counts)] / n_labels
n_classes = len(probs)
if n_classes <= 1:
return 0
return - np.sum(probs * np.log(probs)) / np.log(n_classes)
Run Code Online (Sandbox Code Playgroud)
有更快的方法吗?
有没有标准的方法来做到这一点?
谷歌搜索 - "近似熵"位 - 揭示多篇学术论文,但我想找到一个伪代码块来定义任意长度的给定位串的近似熵.
(如果这说起来容易做起,而且取决于应用程序,我的应用程序涉及16,320位加密数据(密文).但加密为难题而不是无法破解.我以为我先检查一下熵,但不能轻易找到这样的好定义.所以这似乎是一个应该在StackOverflow上的问题!关于从哪里开始去除16k随机看似位的想法也是受欢迎的......)
另请参阅此相关问题:
熵的计算机科学定义是什么?
我正在使用/dev/urandom
为我的程序生成随机数据.我知道它/dev/random
可以是空的,因为不同的是/dev/urandom
,当没有足够的字节生成时它不使用SHA./dev/random
使用" 内核熵池 ".显然它依赖于键盘计时,鼠标移动和IDE计时.
但这如何真正起作用?
并且不可能"提供"熵池使/ dev/random输出可预测吗?
如果它与OS X实现不同,我主要SecRandomCopyBytes
对iOS上的实现感兴趣.(我认为它确实如此,因为移动设备比台式计算机拥有越来越多的现成熵源.)
有没有人有关于的信息:
文档没有涵盖这些要点.
我只能找到听到 - 说评论它使用来自无线电,指南针,加速度计和其他来源的信息,但实际上代表Apple的人没有引用.
我有两个黑白图像,我需要计算互信息.
Image 1 = X
Image 2 = Y
Run Code Online (Sandbox Code Playgroud)
我知道互信息可以定义为:
MI = entropy(X) + entropy(Y) - JointEntropy(X,Y)
Run Code Online (Sandbox Code Playgroud)
MATLAB已经具有内置函数来计算熵但不计算联合熵.我想真正的问题是:我如何计算两幅图像的联合熵?
这是我想要找到的联合熵的图像示例:
X =
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Y =
0 0 0 0 0 0
0 0 0.38 0.82 0.38 0.04
0 0 0.32 0.82 0.68 0.17
0 0 0.04 0.14 0.11 0
0 0 0 …
Run Code Online (Sandbox Code Playgroud)