Use actual randombytes implementation
This commit is contained in:
@@ -15,16 +15,36 @@
|
|||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
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;
|
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++) {
|
i = getrandom(x,i,0);
|
||||||
printf("%02X", _x[i]);
|
if (i < 1) {
|
||||||
|
sleep(1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
x += i;
|
||||||
|
xlen -= i;
|
||||||
}
|
}
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
return _x;
|
return _x;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user