Pseudo-Random-Generator
逆同餘生成器
素數域上的反同餘生成器 $ k=Z/pZ $ 由地圖的迭代給出 $ x\mapsto a/x+b $ 如果 $ x\neq 0 $ 或者 $ b $ 如果 $ x=0 $ . 一個可以選擇 $ a,b $ 在 $ k $ 使得迭代的軌道長度恰好是 $ p $ . 我的問題很簡單:
逆同餘生成器是否真的用於密碼學?是否有任何已知的針對它的攻擊?
逆同餘生成器在密碼學中並不常用。事實上,它的基本描述使它完全不適合它——一旦你知道 $ x $ ,您可以預測序列的其餘部分,這是安全偽隨機生成器不應該允許的。
為避免上述微不足道的攻擊,您可以將輸出截斷為,例如, $ x $ . 但是截斷的逆生成器也可以通過更 複雜的 方法來預測,只要你截斷的位少於一半。
最重要的是,取反模 $ p $ 是一個非常緩慢的操作,這使得這個生成器非常低效。因此,即使出於非加密目的,這也不是一個好的生成器。
它不是密碼學的 PRNG。它是可預測的。但它具有良好的統計特性,是一個很好的 PRNG。可用的 Python 庫 https://github.com/fsssosei/Pure_PRNG