monotone

monotone Mtn Source Tree

Root/botan/x931_rng.h

1/*************************************************
2* ANSI X9.31 RNG Header File *
3* (C) 1999-2007 The Botan Project *
4*************************************************/
5
6#ifndef BOTAN_ANSI_X931_RNG_H__
7#define BOTAN_ANSI_X931_RNG_H__
8
9#include <botan/base.h>
10
11namespace Botan {
12
13/*************************************************
14* ANSI X9.31 RNG *
15*************************************************/
16class ANSI_X931_RNG : public RandomNumberGenerator
17 {
18 public:
19 void randomize(byte[], u32bit) throw(PRNG_Unseeded);
20 bool is_seeded() const;
21 void clear() throw();
22 std::string name() const;
23
24 ANSI_X931_RNG(const std::string& = "", RandomNumberGenerator* = 0);
25 ~ANSI_X931_RNG();
26 private:
27 void add_randomness(const byte[], u32bit);
28 void update_buffer();
29
30 BlockCipher* cipher;
31 RandomNumberGenerator* prng;
32 SecureVector<byte> V, R;
33 u32bit position;
34 };
35
36}
37
38#endif

Archive Download this file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status