-rw-r--r-- 1650 libntruprime-20241021/command/sntrup653-dec.c raw
/* WARNING: auto-generated (by autogen/cli); do not edit */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include "ntruprime.h" /* -lntruprime */ #include "limits.inc" static unsigned char sk[sntrup653_SECRETKEYBYTES]; static unsigned char c[sntrup653_CIPHERTEXTBYTES]; static unsigned char k[sntrup653_BYTES]; static void die_temp(const char *why,const char *why2) { if (why2) fprintf(stderr,"sntrup653-dec: fatal: %s: %s\n",why,why2); else fprintf(stderr,"sntrup653-dec: fatal: %s\n",why); exit(111); } int main() { FILE *skfile; FILE *kfile; limits(); skfile = fdopen(8,"r"); if (!skfile) { fprintf(stderr,"sntrup653-dec: usage: sntrup653-dec 7>sessionkey <ciphertext 8<secretkey\n"); die_temp("fdopen 8 failed",strerror(errno)); } kfile = fdopen(7,"w"); if (!kfile) { fprintf(stderr,"sntrup653-dec: usage: sntrup653-dec 7>sessionkey <ciphertext 8<secretkey\n"); die_temp("fdopen 7 failed",strerror(errno)); } if (fread(sk,1,sizeof sk,skfile) < sizeof sk) { if (ferror(skfile)) die_temp("read secretkey failed",strerror(errno)); die_temp("read secretkey failed","end of file"); } fclose(skfile); if (fread(c,1,sizeof c,stdin) < sizeof c) { if (ferror(stdin)) die_temp("read ciphertext failed",strerror(errno)); die_temp("read ciphertext failed","end of file"); } fclose(stdin); sntrup653_dec(k,c,sk); if (fwrite(k,1,sizeof k,kfile) < sizeof k) die_temp("write sessionkey failed",strerror(errno)); if (fflush(kfile)) die_temp("write sessionkey failed",strerror(errno)); fclose(kfile); return 0; }