box2.c 1.8 KB

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