5.5. Using a Mixing Function to Stretch Random Bits (使用混合函数扩展随机比特)
5.5. Using a Mixing Function to Stretch Random Bits (使用混合函数扩展随机比特)
有人可能会认为可以将少量"随机"比特输入混合函数并产生更多"随机"输出比特。虽然从某种意义上说可以做到这一点, 但请记住, 这将完全失去混合的好处。这种"扩展"的全部目的必须是为了经济性, 因为少量随机比特更容易获得。但是在这种情况下, 用于"扩展"它的混合函数是众所周知的, 因此攻击者将知道它。攻击者可以像您一样简单地运行所有可能的短输入通过函数, 因此输出不会比输入更难猜测。
当然, 如果输出长度小于或等于输入长度, 则无论如何都不会将比特"扩展"得更远。这种情况下是使用混合函数去偏斜一个更长的部分随机输入字符串以产生更短的更好的输出比特字符串的情况。这是一个完全合理的混合应用, 如第4节所述。