AES-128_V10.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /******************************************************************************************
  2. * Copyright 2015, 2016 Ideetron B.V.
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU Lesser General Public License as published by
  6. * the Free Software Foundation, either version 3 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. ******************************************************************************************/
  17. /******************************************************************************************
  18. *
  19. * File: AES-128_V10.h
  20. * Author: Gerben den Hartog
  21. * Compagny: Ideetron B.V.
  22. * Website: http://www.ideetron.nl/LoRa
  23. * E-mail: info@ideetron.nl
  24. *
  25. ******************************************************************************************/
  26. /****************************************************************************************
  27. *
  28. * Created on: 20-10-2015
  29. * Supported Hardware: ID150119-02 Nexus board with RFM95
  30. *
  31. * Firmware Version 1.0
  32. * First version
  33. ****************************************************************************************/
  34. #ifndef AES128_V10_H
  35. #define AES128_V10_H
  36. /*
  37. ********************************************************************************************
  38. * FUNCTION PORTOTYPES
  39. ********************************************************************************************
  40. */
  41. void AES_Encrypt(unsigned char *Data, unsigned char *Key);
  42. void AES_Add_Round_Key(unsigned char *Round_Key);
  43. unsigned char AES_Sub_Byte(unsigned char Byte);
  44. void AES_Shift_Rows();
  45. void AES_Mix_Collums();
  46. void AES_Calculate_Round_Key(unsigned char Round, unsigned char *Round_Key);
  47. void Send_State();
  48. #else
  49. #error "AES128_V10_H not defined"
  50. #endif