vSMC
vSMC: Scalable Monte Carlo
Classes | Typedefs

Random number generating using AES-NI. More...

Classes

class  vsmc::AES128Engine< ResultType, Blocks >
 AES-128 RNG engine. More...
 
class  vsmc::AES128KeySeq< ResultType >
 AES128Engine key sequence generator. More...
 
class  vsmc::AES192Engine< ResultType, Blocks >
 AES-192 RNG engine. More...
 
class  vsmc::AES192KeySeq< ResultType >
 AES192Engine key sequence generator. More...
 
class  vsmc::AES256Engine< ResultType, Blocks >
 AES-256 RNG engine. More...
 
class  vsmc::AES256KeySeq< ResultType >
 AES256Engine key sequence generator. More...
 
class  vsmc::AESNIEngine< ResultType, KeySeq, KeySeqInit, Rounds, Blocks >
 RNG engine using AES-NI instructions. More...
 
class  vsmc::ARSEngine< ResultType, Rounds, Blocks >
 ARS RNG engine. More...
 
class  vsmc::ARSKeySeq< ResultType >
 Default ARSEngine key sequence generator. More...
 

Typedefs

typedef AES128Engine< uint32_t, 1 > vsmc::AES128_1x32
 AES-128 RNG engine with 32-bits integers output and 1 block. More...
 
typedef AES128Engine< uint64_t, 1 > vsmc::AES128_1x64
 AES-128 RNG engine with 64-bits integers output and 1 block. More...
 
typedef AES128Engine< uint32_t, 2 > vsmc::AES128_2x32
 AES-128 RNG engine with 32-bits integers output and 2 blocks. More...
 
typedef AES128Engine< uint64_t, 2 > vsmc::AES128_2x64
 AES-128 RNG engine with 64-bits integers output and 2 blocks. More...
 
typedef AES128Engine< uint32_t > vsmc::AES128_32
 AES-128 RNG engine with 32-bits integers output and default blocks. More...
 
typedef AES128Engine< uint32_t, 4 > vsmc::AES128_4x32
 AES-128 RNG engine with 32-bits integers output and 4 blocks. More...
 
typedef AES128Engine< uint64_t, 4 > vsmc::AES128_4x64
 AES-128 RNG engine with 64-bits integers output and 4 blocks. More...
 
typedef AES128Engine< uint64_t > vsmc::AES128_64
 AES-128 RNG engine with 64-bits integers output and default blocks. More...
 
typedef AES128Engine< uint32_t, 8 > vsmc::AES128_8x32
 AES-128 RNG engine with 32-bits integers output and 8 blocks. More...
 
typedef AES128Engine< uint64_t, 8 > vsmc::AES128_8x64
 AES-128 RNG engine with 64-bits integers output and 8 blocks. More...
 
typedef AES192Engine< uint32_t, 1 > vsmc::AES192_1x32
 AES-192 RNG engine with 32-bits integers output and 1 block. More...
 
typedef AES192Engine< uint64_t, 1 > vsmc::AES192_1x64
 AES-192 RNG engine with 64-bits integers output and 1 block. More...
 
typedef AES192Engine< uint32_t, 2 > vsmc::AES192_2x32
 AES-192 RNG engine with 32-bits integers output and 2 blocks. More...
 
typedef AES192Engine< uint64_t, 2 > vsmc::AES192_2x64
 AES-192 RNG engine with 64-bits integers output and 2 blocks. More...
 
typedef AES192Engine< uint32_t > vsmc::AES192_32
 AES-192 RNG engine with 32-bits integers output and default blocks. More...
 
typedef AES192Engine< uint32_t, 4 > vsmc::AES192_4x32
 AES-192 RNG engine with 32-bits integers output and 4 blocks. More...
 
typedef AES192Engine< uint64_t, 4 > vsmc::AES192_4x64
 AES-192 RNG engine with 64-bits integers output and 4 blocks. More...
 
typedef AES192Engine< uint64_t > vsmc::AES192_64
 AES-192 RNG engine with 64-bits integers output and default blocks. More...
 
typedef AES192Engine< uint32_t, 8 > vsmc::AES192_8x32
 AES-192 RNG engine with 32-bits integers output and 8 blocks. More...
 
typedef AES192Engine< uint64_t, 8 > vsmc::AES192_8x64
 AES-192 RNG engine with 64-bits integers output and 8 blocks. More...
 
typedef AES256Engine< uint32_t, 1 > vsmc::AES256_1x32
 AES-256 RNG engine with 32-bits integers output and 1 block. More...
 
typedef AES256Engine< uint64_t, 1 > vsmc::AES256_1x64
 AES-256 RNG engine with 64-bits integers output and 1 block. More...
 
typedef AES256Engine< uint32_t, 2 > vsmc::AES256_2x32
 AES-256 RNG engine with 32-bits integers output and 2 blocks. More...
 
typedef AES256Engine< uint64_t, 2 > vsmc::AES256_2x64
 AES-256 RNG engine with 64-bits integers output and 2 blocks. More...
 
typedef AES256Engine< uint32_t > vsmc::AES256_32
 AES-256 RNG engine with 32-bits integers output and default blocks. More...
 
typedef AES256Engine< uint32_t, 4 > vsmc::AES256_4x32
 AES-256 RNG engine with 32-bits integers output and 4 blocks. More...
 
typedef AES256Engine< uint64_t, 4 > vsmc::AES256_4x64
 AES-256 RNG engine with 64-bits integers output and 4 blocks. More...
 
typedef AES256Engine< uint64_t > vsmc::AES256_64
 AES-256 RNG engine with 64-bits integers output and default blocks. More...
 
typedef AES256Engine< uint32_t, 8 > vsmc::AES256_8x32
 AES-256 RNG engine with 32-bits integers output and 8 blocks. More...
 
typedef AES256Engine< uint64_t, 8 > vsmc::AES256_8x64
 AES-256 RNG engine with 64-bits integers output and 8 blocks. More...
 
typedef ARSEngine< uint32_t, 7, 1 > vsmc::ARS_1x32
 ARS RNG engine with 32-bits integers output, 1 block and default rounds. More...
 
typedef ARSEngine< uint64_t, 7, 1 > vsmc::ARS_1x64
 ARS RNG engine with 64-bits integers output, 1 block and default rounds. More...
 
typedef ARSEngine< uint32_t, 7, 2 > vsmc::ARS_2x32
 ARS RNG engine with 32-bits integers output, 2 blocks and default rounds. More...
 
typedef ARSEngine< uint64_t, 7, 2 > vsmc::ARS_2x64
 ARS RNG engine with 64-bits integers output, 2 blocks and default rounds. More...
 
typedef ARSEngine< uint32_t > vsmc::ARS_32
 ARS RNG engine with 32-bits integers output, default blocks and default rounds. More...
 
typedef ARSEngine< uint32_t, 7, 4 > vsmc::ARS_4x32
 ARS RNG engine with 32-bits integers output, 4 blocks and default rounds. More...
 
typedef ARSEngine< uint64_t, 7, 4 > vsmc::ARS_4x64
 ARS RNG engine with 64-bits integers output, 4 blocks and default rounds. More...
 
typedef ARSEngine< uint64_t > vsmc::ARS_64
 ARS RNG engine with 64-bits integers output, default blocks and default rounds. More...
 
typedef ARSEngine< uint32_t, 7, 8 > vsmc::ARS_8x32
 ARS RNG engine with 32-bits integers output, 8 blocks and default rounds. More...
 
typedef ARSEngine< uint64_t, 7, 8 > vsmc::ARS_8x64
 ARS RNG engine with 64-bits integers output, 8 blocks and default rounds. More...
 

Detailed Description

Random number generating using AES-NI.

Typedef Documentation

typedef AES128Engine<uint32_t, 1> vsmc::AES128_1x32

AES-128 RNG engine with 32-bits integers output and 1 block.

Definition at line 434 of file aes.hpp.

typedef AES128Engine<uint64_t, 1> vsmc::AES128_1x64

AES-128 RNG engine with 64-bits integers output and 1 block.

Definition at line 454 of file aes.hpp.

typedef AES128Engine<uint32_t, 2> vsmc::AES128_2x32

AES-128 RNG engine with 32-bits integers output and 2 blocks.

Definition at line 438 of file aes.hpp.

typedef AES128Engine<uint64_t, 2> vsmc::AES128_2x64

AES-128 RNG engine with 64-bits integers output and 2 blocks.

Definition at line 458 of file aes.hpp.

typedef AES128Engine<uint32_t> vsmc::AES128_32

AES-128 RNG engine with 32-bits integers output and default blocks.

Definition at line 430 of file aes.hpp.

typedef AES128Engine<uint32_t, 4> vsmc::AES128_4x32

AES-128 RNG engine with 32-bits integers output and 4 blocks.

Definition at line 442 of file aes.hpp.

typedef AES128Engine<uint64_t, 4> vsmc::AES128_4x64

AES-128 RNG engine with 64-bits integers output and 4 blocks.

Definition at line 462 of file aes.hpp.

typedef AES128Engine<uint64_t> vsmc::AES128_64

AES-128 RNG engine with 64-bits integers output and default blocks.

Definition at line 450 of file aes.hpp.

typedef AES128Engine<uint32_t, 8> vsmc::AES128_8x32

AES-128 RNG engine with 32-bits integers output and 8 blocks.

Definition at line 446 of file aes.hpp.

typedef AES128Engine<uint64_t, 8> vsmc::AES128_8x64

AES-128 RNG engine with 64-bits integers output and 8 blocks.

Definition at line 466 of file aes.hpp.

typedef AES192Engine<uint32_t, 1> vsmc::AES192_1x32

AES-192 RNG engine with 32-bits integers output and 1 block.

Definition at line 622 of file aes.hpp.

typedef AES192Engine<uint64_t, 1> vsmc::AES192_1x64

AES-192 RNG engine with 64-bits integers output and 1 block.

Definition at line 642 of file aes.hpp.

typedef AES192Engine<uint32_t, 2> vsmc::AES192_2x32

AES-192 RNG engine with 32-bits integers output and 2 blocks.

Definition at line 626 of file aes.hpp.

typedef AES192Engine<uint64_t, 2> vsmc::AES192_2x64

AES-192 RNG engine with 64-bits integers output and 2 blocks.

Definition at line 646 of file aes.hpp.

typedef AES192Engine<uint32_t> vsmc::AES192_32

AES-192 RNG engine with 32-bits integers output and default blocks.

Definition at line 618 of file aes.hpp.

typedef AES192Engine<uint32_t, 4> vsmc::AES192_4x32

AES-192 RNG engine with 32-bits integers output and 4 blocks.

Definition at line 630 of file aes.hpp.

typedef AES192Engine<uint64_t, 4> vsmc::AES192_4x64

AES-192 RNG engine with 64-bits integers output and 4 blocks.

Definition at line 650 of file aes.hpp.

typedef AES192Engine<uint64_t> vsmc::AES192_64

AES-192 RNG engine with 64-bits integers output and default blocks.

Definition at line 638 of file aes.hpp.

typedef AES192Engine<uint32_t, 8> vsmc::AES192_8x32

AES-192 RNG engine with 32-bits integers output and 8 blocks.

Definition at line 634 of file aes.hpp.

typedef AES192Engine<uint64_t, 8> vsmc::AES192_8x64

AES-192 RNG engine with 64-bits integers output and 8 blocks.

Definition at line 654 of file aes.hpp.

typedef AES256Engine<uint32_t, 1> vsmc::AES256_1x32

AES-256 RNG engine with 32-bits integers output and 1 block.

Definition at line 769 of file aes.hpp.

typedef AES256Engine<uint64_t, 1> vsmc::AES256_1x64

AES-256 RNG engine with 64-bits integers output and 1 block.

Definition at line 789 of file aes.hpp.

typedef AES256Engine<uint32_t, 2> vsmc::AES256_2x32

AES-256 RNG engine with 32-bits integers output and 2 blocks.

Definition at line 773 of file aes.hpp.

typedef AES256Engine<uint64_t, 2> vsmc::AES256_2x64

AES-256 RNG engine with 64-bits integers output and 2 blocks.

Definition at line 793 of file aes.hpp.

typedef AES256Engine<uint32_t> vsmc::AES256_32

AES-256 RNG engine with 32-bits integers output and default blocks.

Definition at line 765 of file aes.hpp.

typedef AES256Engine<uint32_t, 4> vsmc::AES256_4x32

AES-256 RNG engine with 32-bits integers output and 4 blocks.

Definition at line 777 of file aes.hpp.

typedef AES256Engine<uint64_t, 4> vsmc::AES256_4x64

AES-256 RNG engine with 64-bits integers output and 4 blocks.

Definition at line 797 of file aes.hpp.

typedef AES256Engine<uint64_t> vsmc::AES256_64

AES-256 RNG engine with 64-bits integers output and default blocks.

Definition at line 785 of file aes.hpp.

typedef AES256Engine<uint32_t, 8> vsmc::AES256_8x32

AES-256 RNG engine with 32-bits integers output and 8 blocks.

Definition at line 781 of file aes.hpp.

typedef AES256Engine<uint64_t, 8> vsmc::AES256_8x64

AES-256 RNG engine with 64-bits integers output and 8 blocks.

Definition at line 801 of file aes.hpp.

typedef ARSEngine<uint32_t, 7 , 1> vsmc::ARS_1x32

ARS RNG engine with 32-bits integers output, 1 block and default rounds.

Definition at line 161 of file ars.hpp.

typedef ARSEngine<uint64_t, 7 , 1> vsmc::ARS_1x64

ARS RNG engine with 64-bits integers output, 1 block and default rounds.

Definition at line 186 of file ars.hpp.

typedef ARSEngine<uint32_t, 7 , 2> vsmc::ARS_2x32

ARS RNG engine with 32-bits integers output, 2 blocks and default rounds.

Definition at line 166 of file ars.hpp.

typedef ARSEngine<uint64_t, 7 , 2> vsmc::ARS_2x64

ARS RNG engine with 64-bits integers output, 2 blocks and default rounds.

Definition at line 191 of file ars.hpp.

typedef ARSEngine<uint32_t> vsmc::ARS_32

ARS RNG engine with 32-bits integers output, default blocks and default rounds.

Definition at line 156 of file ars.hpp.

typedef ARSEngine<uint32_t, 7 , 4> vsmc::ARS_4x32

ARS RNG engine with 32-bits integers output, 4 blocks and default rounds.

Definition at line 171 of file ars.hpp.

typedef ARSEngine<uint64_t, 7 , 4> vsmc::ARS_4x64

ARS RNG engine with 64-bits integers output, 4 blocks and default rounds.

Definition at line 196 of file ars.hpp.

typedef ARSEngine<uint64_t> vsmc::ARS_64

ARS RNG engine with 64-bits integers output, default blocks and default rounds.

Definition at line 181 of file ars.hpp.

typedef ARSEngine<uint32_t, 7 , 8> vsmc::ARS_8x32

ARS RNG engine with 32-bits integers output, 8 blocks and default rounds.

Definition at line 176 of file ars.hpp.

typedef ARSEngine<uint64_t, 7 , 8> vsmc::ARS_8x64

ARS RNG engine with 64-bits integers output, 8 blocks and default rounds.

Definition at line 201 of file ars.hpp.