/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (c) 2014-2019, Linaro Limited */ static inline void get_des2_key(const uint8_t **key, size_t *key_len, uint8_t *tmp) { if (*key_len == 16) { /* * This corresponds to a 2DES key. The 2DES encryption * algorithm is similar to 3DES. Both perform and * encryption step, then a decryption step, followed * by another encryption step (EDE). However 2DES uses * the same key for both of the encryption (E) steps. */ memcpy(tmp, *key, 16); memcpy(tmp + 16, *key, 8); *key = tmp; *key_len = 24; } }