随机抽取器是一个函数,它从高熵分布中抽取一个输入,输出一个接近均匀分布的值。它与PRG略有不同。PRGs采用均匀分布的采样输入,输出较大的长度字符串,计算上与均匀字符串是无法区分的。随机抽取器从高熵分布中抽取输入样本,输出较小的长度字符串,在统计上接近均匀分布。
在我的方案中,我使用随机抽取器。在该方案中,提取器从Z_N^*的子群中提取一个均匀采样的元素,其中N是两个大素数的乘积。提取器需要输出一个位字符串。我想实现这个方案,但找不到随机抽取器的任何实现。sagemath中是否有任何随机抽取器,或者其他库?
发布于 2019-05-20 15:12:02
随机抽取器从高熵分布中抽取输入样本,输出较小的长度字符串,在统计上接近均匀分布。
不完全是。随机抽取器不是简单的函数F\colon A \to S,如果F(X)具有较高的最小熵,则X与均匀度的距离较小。相反,随机抽取器是一个关键的函数族F_k\colon A \to S,如果K是均匀分布的,而X具有较高的最小熵,那么F_K(X)距离均匀性很小。换句话说,前提是你已经有了一个统一的随机密钥。
所以,本质上是没有理由在实际应用中使用随机抽取器。。一般来说,要么是:
之类的散列函数,以高最小熵的方式提供您的初始秘密。
发布于 2018-12-20 16:42:28
文献中有一些奇怪而精彩的理论提取器,但在实践中,人们最终使用了某种形式的通用哈希算法。你要么自己写,要么用认可的表格。实现语言可以是任何可以执行以下操作的内容:
这并不重要,因为随机抽取器的典型应用意味着整个系统状态是不可恢复的。
尽管..。您提到了从Z_N^*的一个子组中提取。从算法中提取出来是不寻常的,因为您将拥有一个伪随机生成器。如果确实如此,则需要加密散列,因为状态发现在数学上是可能的。不然的话,向前和向后的安全性就会受到损害。然而,我从未见过一个正式的随机抽取器和一个算法状态突变器在一个结构中一起使用。
另一种选择是,如果由于vN的某些代数性质而无法进行反演,则使用von ( Z )。然后,您必须对x进行修饰,创建独立的示例,然后应用vN。最常见的去相关方法是从x中删除更高的位,直到自相关级别变得可以接受为止。只有你知道你的ZS行为,所以可能不得不删除较低的比特。在顺序x_i值中也存在FIR滤波。顺序x_i值的异或也可以充当ersatz FIR滤波器。不过,如果可以进行反演,简单的vN在密码学方面仍将是不安全的。
https://crypto.stackexchange.com/questions/66021
复制相似问题