tracker.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // Local imports
  2. #include "crypto.h"
  3. #include "rng.h"
  4. #define MLEN 32
  5. // Energia constructors
  6. #include "Arduino.h"
  7. //#include "Energia.h"
  8. void setup();
  9. void loop();
  10. uint8_t aes_key[16] = {
  11. 0x03, 0x02, 0x01, 0x00,
  12. 0x07, 0x06, 0x05, 0x04,
  13. 0x0b, 0x0a, 0x09, 0x08,
  14. 0x0f, 0x0e, 0x0d, 0x0c
  15. };
  16. uint8_t AESData[MLEN], *AESResult, AESResult2[MLEN];
  17. uint32_t AESDataLength=MLEN;
  18. void setup() {
  19. // initialising
  20. Serial.begin(9600);
  21. Serial.print("Setup RNG ..");
  22. RNGSetup();
  23. Serial.println("OK");
  24. Serial.print("Setup AES ..");
  25. AESSetup(AES_KEY_128BIT, aes_key);
  26. Serial.println("OK");
  27. String msg = "This is secret!";
  28. msg.toCharArray((char *)AESData, MLEN);
  29. //
  30. // Serial.print("KEY: ");
  31. // for(int i=0;i<16;i++) {
  32. // Serial.print(aes_key[i], HEX);
  33. // Serial.print(' ');
  34. // }
  35. // Serial.println();
  36. //
  37. // Serial.print("IV: ");
  38. // for(int i=0;i<16;i++) {
  39. // Serial.print(aes_iv[i], HEX);
  40. // Serial.print(' ');
  41. // }
  42. // Serial.println();
  43. //
  44. // Serial.print("Message: ");
  45. // for(int i=0;i<MLEN;i++) {
  46. // Serial.print(AESData[i], HEX);
  47. // Serial.print(' ');
  48. // }
  49. // Serial.println();
  50. //
  51. AESResult = AESEncrypt(AESData, AESDataLength);
  52. // AESCrypt(AES_DIR_ENCRYPT, aes_iv, AESData, AESResult, AESDataLength);
  53. Serial.print("Encrypted: ");
  54. for(uint32_t i=0;i<AESDataLength+getBlockSize();i++) {
  55. Serial.print(AESResult[i], HEX);
  56. Serial.print(' ');
  57. }
  58. Serial.println();
  59. // AESCrypt(AES_DIR_DECRYPT, &aesv, AESResult, AESResult2, AESDataLength);
  60. // Serial.print("Decrypted: ");
  61. // for(int i=0;i<MLEN;i++) {
  62. // Serial.print(AESResult2[i], HEX);
  63. // Serial.print(' ');
  64. // }
  65. // Serial.println();
  66. }
  67. void loop() {
  68. while (Serial.available() > 0) {
  69. Serial.println(random(), HEX);
  70. }
  71. }