Botan
3.6.1
Crypto and TLS for C&
src
lib
rng
jitter_rng
jitter_rng.h
Go to the documentation of this file.
1
/*
2
* CPU Jitter Random Number Generator
3
* (C) 2024 Planck Security S.A.
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_JITTER_RNG_H_
9
#define BOTAN_JITTER_RNG_H_
10
11
#include <botan/rng.h>
12
13
namespace
Botan
{
14
15
struct
Jitter_RNG_Internal;
16
17
/*
18
* RNG using libjitterentropy (https://github.com/smuellerDD/jitterentropy-library).
19
*/
20
class
BOTAN_PUBLIC_API
(3, 6)
Jitter_RNG
final
:
public
RandomNumberGenerator
{
21
public
:
22
Jitter_RNG
();
23
~Jitter_RNG
();
24
25
std::string
name
()
const override
{
return
"JitterRNG"
; }
26
27
bool
is_seeded
()
const override
{
return
true
; }
28
29
bool
accepts_input
()
const override
{
return
false
; }
30
31
void
clear()
override
;
32
33
private
:
34
void
fill_bytes_with_input(std::span<uint8_t> out, std::span<const uint8_t> in)
override
;
35
36
std::unique_ptr<Jitter_RNG_Internal> m_jitter;
37
};
38
}
// namespace Botan
39
40
#endif
Botan::Jitter_RNG
Definition
jitter_rng.h:20
Botan::Jitter_RNG::name
std::string name() const override
Definition
jitter_rng.h:25
Botan::Jitter_RNG::~Jitter_RNG
~Jitter_RNG()
Botan::Jitter_RNG::is_seeded
bool is_seeded() const override
Definition
jitter_rng.h:27
Botan::Jitter_RNG::accepts_input
bool accepts_input() const override
Definition
jitter_rng.h:29
Botan::RandomNumberGenerator
Definition
rng.h:31
final
int(* final)(unsigned char *, CTX *)
Definition
commoncrypto_hash.cpp:29
BOTAN_PUBLIC_API
#define BOTAN_PUBLIC_API(maj, min)
Definition
compiler.h:31
Botan
Definition
alg_id.cpp:13
Generated by
1.12.0