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 21const char *IDEA_options(void) 22{ 23 return "idea(int)"; 24} 25 26void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, 27 IDEA_KEY_SCHEDULE *ks) 28{ 29 IDEA_INT 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