Sha256: e480a9f5d2c6a325e6cda9c494a64a4920ef3ead62c165f5d510004199b5cd27
Contents?: true
Size: 1.15 KB
Versions: 3
Compression:
Stored size: 1.15 KB
Contents
#include <string> using std::string; #include <stdio.h> #include <stdlib.h> #include "crypto_onetimeauth_poly1305.h" #include "randombytes.h" main() { int clen; int i; for (clen = 0;clen < 10000;++clen) { unsigned char key_bytes[32]; randombytes(key_bytes,sizeof key_bytes); string key((char *) key_bytes,sizeof key_bytes); unsigned char c_bytes[clen]; randombytes(c_bytes,sizeof c_bytes); string c((char *) c_bytes,sizeof c_bytes); string a = crypto_onetimeauth_poly1305(c,key); try { crypto_onetimeauth_poly1305_verify(a,c,key); } catch(const char *s) { printf("fail %d %s\n",clen,s); return 100; } if (clen > 0) { size_t pos = random() % clen; c.replace(pos,1,1,c[pos] + 1 + (random() % 255)); try { crypto_onetimeauth_poly1305_verify(a,c,key); printf("forgery %d\n",clen); } catch(const char *s) { ; } pos = random() % a.size(); a.replace(pos,1,1,a[pos] + 1 + (random() % 255)); try { crypto_onetimeauth_poly1305_verify(a,c,key); printf("forgery %d\n",clen); } catch(const char *s) { ; } } } return 0; }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby_nacl-0.1.2 | ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp |
ruby_nacl-0.1.1 | ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp |
ruby_nacl-0.1.0 | ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp |