Gerador de números aleatórios ARC4

@frozen
public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator

Uma implementação de SeedableRandomNumberGenerator usando ARC4.

ARC4 é uma cifra de fluxo que gera um fluxo pseudo-aleatório de bytes. Este PRNG usa a semente como chave.

ARC4 é descrito em Schneier, B., “Applied Cryptography: Protocols, Algorithms, and Source Code in C”, 2nd Edition, 1996.

Um gerador individual não é thread-safe, mas geradores distintos não compartilham estado. Os dados aleatórios gerados são de alta qualidade, mas não são adequados para aplicações criptográficas.

  • Declaração

    public static var global: ARC4RandomNumberGenerator
  • Inicialize ARC4RandomNumberGenerator usando uma matriz de UInt8. A matriz deve ter comprimento entre 1 e 256 inclusive.

    Declaração

    public init(seed: [UInt8])
  • Declaração

    public mutating mutating func next() -> UInt64