int main(void) { unsigned int i; unsigned long long t[NRUNS]; pk = calloc(crypto_dh_PUBLICKEYBYTES,1); if(!pk) fail("allocation of pk failed"); sk = calloc(crypto_dh_SECRETKEYBYTES,1); if(!sk) fail("allocation of sk failed"); s = calloc(crypto_dh_BYTES,1); if(!s) fail("allocation of s failed"); for(i=0;i<NRUNS;i++) { t[i] = cpucycles(); crypto_dh_keypair(pk,sk); } print_speed(XSTR(crypto_dh_keypair),-1,t,NRUNS); for(i=0;i<NRUNS;i++) { t[i] = cpucycles(); crypto_dh(s,pk,sk); } print_speed(XSTR(crypto_dh),-1,t,NRUNS); free(pk); free(sk); free(s); avr_end(); return 0; }
int main() { print("mul_asm: "); stack_mul(mul_asm); avr_end(); return 0; }
int main(void) { volatile unsigned char a; /* Mark the beginning of the stack */ for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_verify(x,y); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_verify),0,ctr); avr_end(); return 0; }
int main(void) { volatile unsigned char a; /* Mark the beginning of the stack */ for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_sign_keypair(pk,sk); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_sign_keypair),-1,ctr); for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_sign(sm,&smlen,sm,0,sk); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_sign),0,ctr); for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_sign_open(sm,&mlen,sm,smlen,pk); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_sign_open),smlen,ctr); for(j=1;j<=MAXTEST_BYTES;j<<=1) { mlen = j; for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_sign(sm,&smlen,sm,mlen,sk); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_sign),mlen,ctr); for(i=0;i<5;i++) { canary = random(); WRITE_CANARY(&a); crypto_sign_open(sm,&mlen,sm,smlen,pk); newctr =(unsigned int)&a - (unsigned int)&_end - stack_count(canary); ctr = (newctr>ctr)?newctr:ctr; } print_stack(XSTR(crypto_sign_open),smlen,ctr); } avr_end(); return 0; }
int main() { int i; print("====== BEGIN CPUCYCLES TEST ======\n"); for(i=0;i<NTIMINGS;i++) { t[i] = cpucycles(); _delay_ms(1); } for(i=0;i<NTIMINGS-1;i++) { printllu(t[i+1]-t[i]); print(" "); } print("\n"); for(i=0;i<NTIMINGS;i++) { t[i] = cpucycles(); _delay_ms(2); } for(i=0;i<NTIMINGS-1;i++) { printllu(t[i+1]-t[i]); print(" "); } print("\n"); for(i=0;i<NTIMINGS;i++) { t[i] = cpucycles(); _delay_ms(3); } for(i=0;i<NTIMINGS-1;i++) { printllu(t[i+1]-t[i]); print(" "); } print("\n"); for(i=0;i<NTIMINGS;i++) { t[i] = cpucycles(); _delay_ms(4); } for(i=0;i<NTIMINGS-1;i++) { printllu(t[i+1]-t[i]); print(" "); } print("\n"); for(i=0;i<NTIMINGS;i++) { t[i] = cpucycles(); _delay_ms(5); } for(i=0;i<NTIMINGS-1;i++) { printllu(t[i+1]-t[i]); print(" "); } print("\n"); print("====== END CPUCYCLES TEST ======\n"); avr_end(); return 0; }