box4.cpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include <string>
  2. using std::string;
  3. #include <stdio.h>
  4. #include "crypto_box_curve25519xsalsa20poly1305.h"
  5. char bobsk_bytes[32] = {
  6. 0x5d,0xab,0x08,0x7e,0x62,0x4a,0x8a,0x4b
  7. ,0x79,0xe1,0x7f,0x8b,0x83,0x80,0x0e,0xe6
  8. ,0x6f,0x3b,0xb1,0x29,0x26,0x18,0xb6,0xfd
  9. ,0x1c,0x2f,0x8b,0x27,0xff,0x88,0xe0,0xeb
  10. } ;
  11. char alicepk_bytes[32] = {
  12. 0x85,0x20,0xf0,0x09,0x89,0x30,0xa7,0x54
  13. ,0x74,0x8b,0x7d,0xdc,0xb4,0x3e,0xf7,0x5a
  14. ,0x0d,0xbf,0x3a,0x0d,0x26,0x38,0x1a,0xf4
  15. ,0xeb,0xa4,0xa9,0x8e,0xaa,0x9b,0x4e,0x6a
  16. } ;
  17. char nonce_bytes[24] = {
  18. 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
  19. ,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
  20. ,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
  21. } ;
  22. char c_bytes[147] = {
  23. 0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
  24. ,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
  25. ,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
  26. ,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
  27. ,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
  28. ,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
  29. ,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
  30. ,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
  31. ,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
  32. ,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
  33. ,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
  34. ,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
  35. ,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
  36. ,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
  37. ,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
  38. ,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
  39. ,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
  40. ,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
  41. ,0xe3,0x55,0xa5
  42. } ;
  43. main()
  44. {
  45. int i;
  46. string c(c_bytes,sizeof c_bytes);
  47. string nonce(nonce_bytes,sizeof nonce_bytes);
  48. string alicepk(alicepk_bytes,sizeof alicepk_bytes);
  49. string bobsk(bobsk_bytes,sizeof bobsk_bytes);
  50. try {
  51. string m = crypto_box_curve25519xsalsa20poly1305_open(c,nonce,alicepk,bobsk);
  52. for (i = 0;i < m.size();++i) {
  53. printf(",0x%02x",(unsigned int) (unsigned char) m[i]);
  54. if (i % 8 == 7) printf("\n");
  55. }
  56. printf("\n");
  57. } catch(const char *s) {
  58. printf("%s\n",s);
  59. }
  60. return 0;
  61. }