All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations
Threefry Classes and Typedefs

Classes

class  r123::Threefry2x32_R< ROUNDS >
 
class  r123::Threefry2x64_R
 
class  r123::Threefry4x32_R< ROUNDS >
 
class  r123::Threefry4x64_R
 

Typedefs

typedef Threefry2x32_R
< threefry2x32_rounds
r123::Threefry2x32
 
typedef Threefry4x32_R
< threefry4x32_rounds
r123::Threefry4x32
 

Enumerations

enum  r123_enum_threefry2x32 { threefry2x32_rounds = 20 }
 
enum  r123_enum_threefry4x32 { threefry4x32_rounds = 20 }
 

Detailed Description

The ThreefryNxW 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 Threefry family is closely related to the Threefish block cipher from Skein Hash Function. Threefry is not suitable for cryptographic use.

Threefry uses integer addition, bitwise rotation, xor and permutation of words to randomize its output.

Typedef Documentation

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

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

Enumeration Type Documentation

Enumerator
threefry2x32_rounds 
Enumerator
threefry4x32_rounds