1 /* 2 * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (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 10 /* 11 * IDEA low level APIs are deprecated for public use, but still ok for internal 12 * use where we're using them to implement the higher level EVP interface, as is 13 * the case here. 14 */ 15 #include "internal/deprecated.h" 16 17 #include <openssl/idea.h> 18 #include "idea_local.h" 19 #include <openssl/opensslv.h> 20 21 const char *IDEA_options(void) 22 { 23 return "idea(int)"; 24 } 25 26 void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, 27 IDEA_KEY_SCHEDULE *ks) 28 { 29 unsigned long l0, l1, d[2]; 30 31 n2l(in, l0); 32 d[0] = l0; 33 n2l(in, l1); 34 d[1] = l1; 35 IDEA_encrypt(d, ks); 36 l0 = d[0]; 37 l2n(l0, out); 38 l1 = d[1]; 39 l2n(l1, out); 40 l0 = l1 = d[0] = d[1] = 0; 41 } 42