ARC4乱数ジェネレーター

@frozen
public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator

ARC4 を使用したSeedableRandomNumberGeneratorの実装。

ARC4 は、擬似ランダムなバイト ストリームを生成するストリーム暗号です。この PRNG はシードをキーとして使用します。

ARC4 については、Schneier, B.、「Applied Cryptography: Protocols, Algorithms, and Source Code in C」、第 2 版、1996 年に説明されています。

個々のジェネレーターはスレッドセーフではありませんが、個別のジェネレーターは状態を共有しません。生成されるランダム データは高品質ですが、暗号化アプリケーションには適していません。

  • 宣言

    public static var global: ARC4RandomNumberGenerator
  • UInt8 の配列を使用して ARC4RandomNumberGenerator を初期化します。配列の長さは 1 ~ 256 でなければなりません。

    宣言

    public init(seed: [UInt8])
  • 宣言

    public mutating mutating func next() -> UInt64