From 00484347f12f56caf9a61d260c11b4f438cb85b6 Mon Sep 17 00:00:00 2001 From: Aaron Kaiser Date: Mon, 22 Apr 2024 10:56:26 +0200 Subject: [PATCH] Use actual randombytes implementation --- syscall/jasmin_syscall.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/syscall/jasmin_syscall.c b/syscall/jasmin_syscall.c index f926752..fa84a89 100644 --- a/syscall/jasmin_syscall.c +++ b/syscall/jasmin_syscall.c @@ -15,16 +15,36 @@ #include #include -uint8_t *__jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) { +// uint8_t *__jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) { +// int i; +// uint8_t *x = _x; +// +// printf("%lx:\n", x); +// +// for (i = 0; i < xlen; i++) { +// printf("%02X", _x[i]); +// } +// printf("\n"); +// +// return _x; +// } +// +uint8_t* __jasmin_syscall_randombytes__(uint8_t* _x, uint64_t xlen) +{ int i; - uint8_t *x = _x; + uint8_t* x = _x; - printf("%lx:\n", x); + while (xlen > 0) { + if (xlen < 1048576) i = xlen; else i = 1048576; - for (i = 0; i < xlen; i++) { - printf("%02X", _x[i]); + i = getrandom(x,i,0); + if (i < 1) { + sleep(1); + continue; + } + x += i; + xlen -= i; } - printf("\n"); return _x; }