secretbox4.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include <string>
  2. using std::string;
  3. #include <stdio.h>
  4. #include "crypto_secretbox_xsalsa20poly1305.h"
  5. char firstkey_bytes[32] = {
  6. 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
  7. ,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
  8. ,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
  9. ,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
  10. } ;
  11. char nonce_bytes[24] = {
  12. 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
  13. ,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
  14. ,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
  15. } ;
  16. char c_bytes[147] = {
  17. 0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
  18. ,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
  19. ,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
  20. ,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
  21. ,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
  22. ,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
  23. ,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
  24. ,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
  25. ,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
  26. ,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
  27. ,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
  28. ,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
  29. ,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
  30. ,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
  31. ,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
  32. ,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
  33. ,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
  34. ,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
  35. ,0xe3,0x55,0xa5
  36. } ;
  37. main()
  38. {
  39. int i;
  40. string firstkey(firstkey_bytes,sizeof firstkey_bytes);
  41. string nonce(nonce_bytes,sizeof nonce_bytes);
  42. string c(c_bytes,sizeof c_bytes);
  43. string m = crypto_secretbox_xsalsa20poly1305_open(c,nonce,firstkey);
  44. for (i = 0;i < m.size();++i) {
  45. printf(",0x%02x",(unsigned int) (unsigned char) m[i]);
  46. if (i % 8 == 7) printf("\n");
  47. }
  48. printf("\n");
  49. return 0;
  50. }