diff options
author | Riccardo Spagni <ric@spagni.net> | 2015-08-24 19:34:10 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2015-10-26 18:00:53 +0200 |
commit | bb0c161e7d4bff0e70b59c2f4267da96f34742af (patch) | |
tree | 6218bba2ad3cdaa4a8c0be027587db736a2cc946 /src/crypto/shen_ed25519_ref/randombytes.c | |
parent | Merge pull request #448 (diff) | |
download | monero-bb0c161e7d4bff0e70b59c2f4267da96f34742af.tar.xz |
renamed folder
Diffstat (limited to 'src/crypto/shen_ed25519_ref/randombytes.c')
-rwxr-xr-x | src/crypto/shen_ed25519_ref/randombytes.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/crypto/shen_ed25519_ref/randombytes.c b/src/crypto/shen_ed25519_ref/randombytes.c deleted file mode 100755 index fa7d42149..000000000 --- a/src/crypto/shen_ed25519_ref/randombytes.c +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _WIN32 -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> - -/* it's really stupid that there isn't a syscall for this */ - -static int ed25519_random_fd = -1; - -static inline void ed25519_randombytes(unsigned char *x,unsigned long long xlen) -{ - int i; - - if (ed25519_random_fd == -1) { - for (;;) { - ed25519_random_fd = open("/dev/urandom",O_RDONLY); - if (ed25519_random_fd != -1) break; - sleep(1); - } - } - - while (xlen > 0) { - if (xlen < 1048576) i = xlen; else i = 1048576; - - i = read(ed25519_random_fd,x,i); - if (i < 1) { - sleep(1); - continue; - } - - x += i; - xlen -= i; - } -} - -#else -#include <windows.h> -#include <wincrypt.h> - -static inline void ed25519_randombytes(unsigned char *x,unsigned long long xlen) -{ - HCRYPTPROV prov = 0; - - CryptAcquireContextW(&prov, NULL, NULL, - PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT); - - CryptGenRandom(prov, xlen, x); - CryptReleaseContext(prov, 0); -} - -#endif /* _WIN32 */ |