VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/Random.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/Random.h')
-rw-r--r--src/Common/Random.h152
1 files changed, 76 insertions, 76 deletions
diff --git a/src/Common/Random.h b/src/Common/Random.h
index 0d397091..f41428f4 100644
--- a/src/Common/Random.h
+++ b/src/Common/Random.h
@@ -1,76 +1,76 @@
-/*
- Legal Notice: Some portions of the source code contained in this file were
- derived from the source code of TrueCrypt 7.1a, which is
- Copyright (c) 2003-2012 TrueCrypt Developers Association and which is
- governed by the TrueCrypt License 3.0, also from the source code of
- Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux
- and which is governed by the 'License Agreement for Encryption for the Masses'
- Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2016 IDRIX
- and are governed by the Apache License 2.0 the full text of which is
- contained in the file License.txt included in VeraCrypt binary and source
- code distribution packages. */
-
-
-#include "Crypto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RNG defines & pool pointers */
-#define RNG_POOL_SIZE 320 // Must be divisible by the size of the output of each of the implemented hash functions. (in bytes)
-
-#if RNG_POOL_SIZE % SHA512_DIGESTSIZE || RNG_POOL_SIZE % WHIRLPOOL_DIGESTSIZE || RNG_POOL_SIZE % RIPEMD160_DIGESTSIZE
-#error RNG_POOL_SIZE must be divisible by the size of the output of each of the implemented hash functions.
-#endif
-
-#define RANDOMPOOL_ALLOCSIZE RNG_POOL_SIZE
-
-// After every RANDMIX_BYTE_INTERVAL-th byte written to the pool, the pool mixing function is applied to the entire pool
-#define RANDMIX_BYTE_INTERVAL 16
-
-// FastPoll interval (in milliseconds)
-#define FASTPOLL_INTERVAL 500
-
-void RandAddInt ( unsigned __int32 x );
-int Randinit ( void );
-void RandStop (BOOL freePool);
-BOOL IsRandomNumberGeneratorStarted ();
-void RandSetHashFunction ( int hash_algo_id );
-int RandGetHashFunction (void);
-void SetRandomPoolEnrichedByUserStatus (BOOL enriched);
-BOOL IsRandomPoolEnrichedByUser ();
-BOOL Randmix ( void );
-void RandaddBuf ( void *buf , int len );
-BOOL FastPoll ( void );
-BOOL SlowPoll ( void );
-
-/* Get len random bytes from the pool (max. RNG_POOL_SIZE bytes per a single call) */
-BOOL RandgetBytes ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll );
-
-/* Get len random bytes from the pool.
- * If allowAnyLength is FALSE, then len must be less or equal to RNG_POOL_SIZE
- * If allowAnyLength is TRUE, then len can have any positive value
- */
-BOOL RandgetBytesFull ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength);
-
-#ifdef _WIN32
-
-extern BOOL volatile bFastPollEnabled;
-extern BOOL volatile bRandmixEnabled;
-extern DWORD CryptoAPILastError;
-extern DWORD ProcessedMouseEventsCounter;
-
-BOOL RandpeekBytes ( void* hwndDlg, unsigned char *buf , int len, DWORD* mouseCounter );
-void RandAddInt64 ( unsigned __int64 x );
-
-LRESULT CALLBACK MouseProc ( int nCode , WPARAM wParam , LPARAM lParam );
-LRESULT CALLBACK KeyboardProc ( int nCode , WPARAM wParam , LPARAM lParam );
-static unsigned __stdcall PeriodicFastPollThreadProc (void *dummy);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
+/*
+ Legal Notice: Some portions of the source code contained in this file were
+ derived from the source code of TrueCrypt 7.1a, which is
+ Copyright (c) 2003-2012 TrueCrypt Developers Association and which is
+ governed by the TrueCrypt License 3.0, also from the source code of
+ Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux
+ and which is governed by the 'License Agreement for Encryption for the Masses'
+ Modifications and additions to the original source code (contained in this file)
+ and all other portions of this file are Copyright (c) 2013-2016 IDRIX
+ and are governed by the Apache License 2.0 the full text of which is
+ contained in the file License.txt included in VeraCrypt binary and source
+ code distribution packages. */
+
+
+#include "Crypto.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RNG defines & pool pointers */
+#define RNG_POOL_SIZE 320 // Must be divisible by the size of the output of each of the implemented hash functions. (in bytes)
+
+#if RNG_POOL_SIZE % SHA512_DIGESTSIZE || RNG_POOL_SIZE % WHIRLPOOL_DIGESTSIZE || RNG_POOL_SIZE % RIPEMD160_DIGESTSIZE
+#error RNG_POOL_SIZE must be divisible by the size of the output of each of the implemented hash functions.
+#endif
+
+#define RANDOMPOOL_ALLOCSIZE RNG_POOL_SIZE
+
+// After every RANDMIX_BYTE_INTERVAL-th byte written to the pool, the pool mixing function is applied to the entire pool
+#define RANDMIX_BYTE_INTERVAL 16
+
+// FastPoll interval (in milliseconds)
+#define FASTPOLL_INTERVAL 500
+
+void RandAddInt ( unsigned __int32 x );
+int Randinit ( void );
+void RandStop (BOOL freePool);
+BOOL IsRandomNumberGeneratorStarted ();
+void RandSetHashFunction ( int hash_algo_id );
+int RandGetHashFunction (void);
+void SetRandomPoolEnrichedByUserStatus (BOOL enriched);
+BOOL IsRandomPoolEnrichedByUser ();
+BOOL Randmix ( void );
+void RandaddBuf ( void *buf , int len );
+BOOL FastPoll ( void );
+BOOL SlowPoll ( void );
+
+/* Get len random bytes from the pool (max. RNG_POOL_SIZE bytes per a single call) */
+BOOL RandgetBytes ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll );
+
+/* Get len random bytes from the pool.
+ * If allowAnyLength is FALSE, then len must be less or equal to RNG_POOL_SIZE
+ * If allowAnyLength is TRUE, then len can have any positive value
+ */
+BOOL RandgetBytesFull ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength);
+
+#ifdef _WIN32
+
+extern BOOL volatile bFastPollEnabled;
+extern BOOL volatile bRandmixEnabled;
+extern DWORD CryptoAPILastError;
+extern DWORD ProcessedMouseEventsCounter;
+
+BOOL RandpeekBytes ( void* hwndDlg, unsigned char *buf , int len, DWORD* mouseCounter );
+void RandAddInt64 ( unsigned __int64 x );
+
+LRESULT CALLBACK MouseProc ( int nCode , WPARAM wParam , LPARAM lParam );
+LRESULT CALLBACK KeyboardProc ( int nCode , WPARAM wParam , LPARAM lParam );
+static unsigned __stdcall PeriodicFastPollThreadProc (void *dummy);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif