mirror of
https://github.com/polhenarejos/pico-keys-sdk
synced 2026-06-01 02:51:22 +02:00
Switching to new style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -22,21 +22,19 @@
|
||||
#include "hwrng.h"
|
||||
|
||||
#define RANDOM_BYTES_LENGTH 32
|
||||
static uint32_t random_word[RANDOM_BYTES_LENGTH/sizeof(uint32_t)];
|
||||
static uint32_t random_word[RANDOM_BYTES_LENGTH / sizeof(uint32_t)];
|
||||
|
||||
void random_init(void)
|
||||
{
|
||||
void random_init(void) {
|
||||
int i;
|
||||
|
||||
neug_init(random_word, RANDOM_BYTES_LENGTH/sizeof(uint32_t));
|
||||
neug_init(random_word, RANDOM_BYTES_LENGTH / sizeof(uint32_t));
|
||||
|
||||
for (i = 0; i < NEUG_PRE_LOOP; i++) {
|
||||
neug_get();
|
||||
}
|
||||
}
|
||||
|
||||
void random_fini(void)
|
||||
{
|
||||
void random_fini(void) {
|
||||
neug_fini();
|
||||
}
|
||||
|
||||
@@ -45,15 +43,14 @@ void random_fini(void)
|
||||
*/
|
||||
void random_bytes_free(const uint8_t *p);
|
||||
#define MAX_RANDOM_BUFFER 1024
|
||||
const uint8_t *random_bytes_get(size_t len)
|
||||
{
|
||||
const uint8_t *random_bytes_get(size_t len) {
|
||||
if (len > MAX_RANDOM_BUFFER) {
|
||||
return NULL;
|
||||
}
|
||||
static uint32_t return_word[MAX_RANDOM_BUFFER/sizeof(uint32_t)];
|
||||
static uint32_t return_word[MAX_RANDOM_BUFFER / sizeof(uint32_t)];
|
||||
for (int ix = 0; ix < len; ix += RANDOM_BYTES_LENGTH) {
|
||||
neug_wait_full();
|
||||
memcpy(return_word+ix/sizeof(uint32_t), random_word, RANDOM_BYTES_LENGTH);
|
||||
memcpy(return_word + ix / sizeof(uint32_t), random_word, RANDOM_BYTES_LENGTH);
|
||||
random_bytes_free((const uint8_t *) random_word);
|
||||
}
|
||||
return (const uint8_t *) return_word;
|
||||
@@ -62,8 +59,7 @@ const uint8_t *random_bytes_get(size_t len)
|
||||
/*
|
||||
* Free pointer to random 32-byte
|
||||
*/
|
||||
void random_bytes_free(const uint8_t *p)
|
||||
{
|
||||
void random_bytes_free(const uint8_t *p) {
|
||||
(void) p;
|
||||
memset(random_word, 0, RANDOM_BYTES_LENGTH);
|
||||
neug_flush();
|
||||
@@ -72,8 +68,7 @@ void random_bytes_free(const uint8_t *p)
|
||||
/*
|
||||
* Return 4-byte salt
|
||||
*/
|
||||
void random_get_salt(uint8_t *p)
|
||||
{
|
||||
void random_get_salt(uint8_t *p) {
|
||||
uint32_t rnd;
|
||||
|
||||
rnd = neug_get();
|
||||
@@ -86,8 +81,7 @@ void random_get_salt(uint8_t *p)
|
||||
/*
|
||||
* Random byte iterator
|
||||
*/
|
||||
int random_gen(void *arg, unsigned char *out, size_t out_len)
|
||||
{
|
||||
int random_gen(void *arg, unsigned char *out, size_t out_len) {
|
||||
uint8_t *index_p = (uint8_t *) arg;
|
||||
uint8_t index = index_p ? *index_p : 0;
|
||||
size_t n;
|
||||
|
||||
Reference in New Issue
Block a user