xtea.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* xtea.h */
  2. /*
  3. This file is part of the ARM-Crypto-Lib.
  4. Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de)
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  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 General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. /*
  17. * Author: Daniel Otte
  18. * Date: 06.06.2006
  19. * License: GPL
  20. */
  21. #ifndef XTEA_H_
  22. #define XTEA_H_
  23. #include <stdint.h>
  24. /*
  25. * this fits for xtea.c and xtea-asm.S
  26. *
  27. */
  28. #define XTEA_BLOCKSIZE 64
  29. #define XTEA_BLOCKSIZEB ((XTEA_BLOCKSIZE+7)/8)
  30. #define XTEA_KEYSIZE 128
  31. #define XTEA_KEYSIZEB ((XTEA_KEYSIZE+7)/8)
  32. /*
  33. * dest: the destination where result of operation will be placed (64 bit)
  34. * v: the block to operate on (64 bit)
  35. * k: the key for en/decryption (128 bit)
  36. */
  37. void xtea_enc(void* dest, const void* v, const void* k);
  38. void xtea_dec(void* dest, const void* v, const void* k);
  39. #endif /*XTEA_H_*/