]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/cast/c_ecb.c
Deprecate the Low Level CAST APIs
[thirdparty/openssl.git] / crypto / cast / c_ecb.c
CommitLineData
b1322259
RS
1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
58964a49 3 *
a5024e06 4 * Licensed under the Apache License 2.0 (the "License"). You may not use
b1322259
RS
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
58964a49
RE
8 */
9
0ae5d4d6
MC
10/*
11 * CAST low level APIs are deprecated for public use, but still ok for
12 * internal use.
13 */
14#include "internal/deprecated.h"
15
ec577822 16#include <openssl/cast.h>
706457b7 17#include "cast_local.h"
ec577822 18#include <openssl/opensslv.h>
58964a49 19
90ba7e21 20void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,
0f113f3e
MC
21 const CAST_KEY *ks, int enc)
22{
23 CAST_LONG l, d[2];
58964a49 24
0f113f3e
MC
25 n2l(in, l);
26 d[0] = l;
27 n2l(in, l);
28 d[1] = l;
29 if (enc)
30 CAST_encrypt(d, ks);
31 else
32 CAST_decrypt(d, ks);
33 l = d[0];
34 l2n(l, out);
35 l = d[1];
36 l2n(l, out);
37 l = d[0] = d[1] = 0;
38}