Classes | Typedefs | Enumerations

Philox Classes and Typedefs

Classes

class  r123::Philox2x32_R< ROUNDS >
class  r123::Philox2x64_R< ROUNDS >
class  r123::Philox4x32_R< ROUNDS >
class  r123::Philox4x64_R< ROUNDS >

Typedefs

typedef Philox2x32_R
< philox2x32_rounds > 
r123::Philox2x32
typedef Philox2x64_R
< philox2x64_rounds > 
r123::Philox2x64
typedef Philox4x32_R
< philox4x32_rounds > 
r123::Philox4x32
typedef Philox4x64_R
< philox4x64_rounds > 
r123::Philox4x64

Enumerations

enum  { philox2x32_rounds = 10 }
enum  { philox4x32_rounds = 10 }
enum  { philox2x64_rounds = 10 }
enum  { philox4x64_rounds = 10 }

Detailed Description

The PhiloxNxW classes export the member functions, typedefs and operator overloads required by a CBRNG class.

As described in Parallel Random Numbers: As Easy as 1, 2, 3 . The Philox family of counter-based RNGs use integer multiplication, xor and permutation of W-bit words to scramble its N-word input key. Philox is a mnemonic for Product HI LO Xor).


Typedef Documentation

Philox2x32 is equivalent to Philox2x32_R<10>. With 10 rounds, Philox2x32 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

Philox2x64 is equivalent to Philox2x64_R<10>. With 10 rounds, Philox2x64 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

Philox4x32 is equivalent to Philox4x32_R<10>. With 10 rounds, Philox4x32 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

Philox4x64 is equivalent to Philox4x64_R<10>. With 10 rounds, Philox4x64 has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.


Enumeration Type Documentation

anonymous enum
Enumerator:
philox2x32_rounds 
anonymous enum
Enumerator:
philox4x32_rounds 
anonymous enum
Enumerator:
philox2x64_rounds 
anonymous enum
Enumerator:
philox4x64_rounds 
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines