2013-03-20 4 views
7

私は格安の擬似ランダム探して一対一int32-> int32の機能

  • 全単射(1対1対応)
  • あるint32-> int32の機能を探しています少なくとも1つの方向で計算する
  • は、増加するシーケンス0,1,2,3、...を良い擬似ランダムシーケンスのように見えるシーケンスに変換するパターン)
+0

何か試しましたか? –

+2

同様の質問:[IDの難読化](http://stackoverflow.com/q/8554286/1009831)。 –

+0

「安い」とはどのくらい安いですか?任意の合理的なブロック暗号は、あなたの擬似ランダム/ビットフリップの欲求を提供する必要があります。 –

答えて

10

ge奇数とxorまたは別のものとxor。

Bijection:奇数は2のモジュロ乗の逆数を持ちますので、乗算は逆数の乗算によって取り消されます。もちろん、xorは別のxorによって元に戻されます。

これは、基本的に線形合同擬似乱数ジェネレータがどのように機能するかです。

3

おそらくこのタスクの過剰な攻撃ですが、pseudo random permutationや他のプリミティブを適用することを検討してもらえますか?block ciphersです。たとえば、カウンタモードの既知のキーを使用してdesを使用して行うことができます。

younumber xor (des (key, number counter)) 
関連する問題