Gestión de identidad mediante pruebas de conocimiento cero y su rendimiento en sistemas embebidos
Juan Marín Noguera
Junio de 2023
Tutor: Jorge Bernal Bernabé
Codirector: Jesús García Rodríguez
...without having to identify users.
* Vote counting would need to be checked by other means.
PPT interactive systems satisfying:
struct dpabcProofVtbl {
const struct dpabcSerialVtbl *pre;
const struct dpabcSerialVtbl *img;
const struct dpabcSerialVtbl *param;
void *(*morph)(const Zp *val, const void *data, const void *param);
void (*maddpre)(void *dest, const Zp *factor, const void *addend);
void (*maddimg)(void *dest, const Zp *factor, const void *addend);
bool (*eqimg)(const void *im1, const void *im2);
void *(*cloneimg)(const void *img);
int (*fromitem)(
const void *itdata, void **pre, void **randpre, void **param);
void (*freeitem)(void *itdata);
bool (*checkparm)(
const void *itdata, const void *param, const void *inst);
bool (*checkval)(const void *itdata, const Zp *val);
};
struct dpabcSerialVtbl {
void (*write)(char *out, const void *obj);
void *(*read)(const char *in);
size_t (*size)(void);
void (*free)(void *obj);
};
int sscanrec(const char *bytes, const char *fmt, ...);
int sprintrec(char *out, const char *fmt, ...);
int ssizrec(const char *fmt, ...);
// Later
sprintrec(res, "c1zz****",
p->type, p->commped, p->respval, p->resprand,
tbl->img, p->inst, tbl->img, p->comm,
tbl->pre, p->resp, tbl->param, p->param);
Raspberry Pi 4 model B. 1.8 GHz Cortex-A72 CPU, ARMv8 ISA (64 bits), 1 GB RAM. | |
Raspberry Pi 2 model B. 900 MHz Cortex-A7 CPU, ARM v7 ISA (32 bits), 1 GB RAM. | |
ESP32-C3. 160 MHz scalar CPU, RISC-V RV32IMC ISA (32 bits), 400 kB SRAM. |