blob: afed7cd1b32661c5cfe748caef1b048f45129c04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// rdrand.cpp - written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
/* modified for VeraCrypt */
#include "chacha256.h"
#include "cpu.h"
#include "misc.h"
void CRYPTOPP_FASTCALL MASM_RDRAND_GenerateBlock(byte*, size_t);
void CRYPTOPP_FASTCALL MASM_RDSEED_GenerateBlock(byte*, size_t);
int RDRAND_getBytes(unsigned char* buf, size_t bufLen)
{
if (!buf || !HasRDRAND())
return 0;
if (bufLen)
MASM_RDRAND_GenerateBlock(buf, bufLen);
return 1;
}
int RDSEED_getBytes(unsigned char* buf, size_t bufLen)
{
if (!buf || !HasRDSEED())
return 0;
if (bufLen)
MASM_RDSEED_GenerateBlock(buf, bufLen);
return 1;
}
|