core3.c 913 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. #include "crypto_core_salsa20.h"
  3. #include "crypto_hash_sha256.h"
  4. unsigned char secondkey[32] = {
  5. 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9
  6. ,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88
  7. ,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9
  8. ,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4
  9. } ;
  10. unsigned char noncesuffix[8] = {
  11. 0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
  12. } ;
  13. unsigned char c[16] = {
  14. 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33
  15. ,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b
  16. } ;
  17. unsigned char in[16] = { 0 } ;
  18. unsigned char output[64 * 256 * 256];
  19. unsigned char h[32];
  20. int main()
  21. {
  22. int i;
  23. long long pos = 0;
  24. for (i = 0;i < 8;++i) in[i] = noncesuffix[i];
  25. do {
  26. do {
  27. crypto_core_salsa20(output + pos,in,secondkey,c);
  28. pos += 64;
  29. } while (++in[8]);
  30. } while (++in[9]);
  31. crypto_hash_sha256(h,output,sizeof output);
  32. for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
  33. return 0;
  34. }