i_ecb.c 808 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the OpenSSL license (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. #include <openssl/idea.h>
  10. #include "idea_lcl.h"
  11. #include <openssl/opensslv.h>
  12. const char *IDEA_options(void)
  13. {
  14. return "idea(int)";
  15. }
  16. void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out,
  17. IDEA_KEY_SCHEDULE *ks)
  18. {
  19. unsigned long l0, l1, d[2];
  20. n2l(in, l0);
  21. d[0] = l0;
  22. n2l(in, l1);
  23. d[1] = l1;
  24. IDEA_encrypt(d, ks);
  25. l0 = d[0];
  26. l2n(l0, out);
  27. l1 = d[1];
  28. l2n(l1, out);
  29. l0 = l1 = d[0] = d[1] = 0;
  30. }