Trình tạo số ngẫu nhiên ARC4

@frozen
public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator

Việc triển khai SeedableRandomNumberGenerator bằng ARC4.

ARC4 là một mật mã luồng tạo ra luồng byte giả ngẫu nhiên. PRNG này sử dụng hạt giống làm khóa của nó.

ARC4 được mô tả trong Schneier, B., “Mật mã ứng dụng: Giao thức, thuật toán và mã nguồn trong C”, tái bản lần 2, 1996.

Một trình tạo riêng lẻ không an toàn cho luồng, nhưng các trình tạo riêng biệt không chia sẻ trạng thái. Dữ liệu ngẫu nhiên được tạo ra có chất lượng cao nhưng không phù hợp với các ứng dụng mã hóa.

  • Tuyên ngôn

    public static var global: ARC4RandomNumberGenerator
  • Khởi tạo ARC4RandomNumberGenerator bằng cách sử dụng mảng UInt8. Mảng phải có độ dài từ 1 đến 256.

    Tuyên ngôn

    public init(seed: [UInt8])
  • Tuyên ngôn

    public mutating mutating func next() -> UInt64