]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/des/rpc_enc.c
Copyright consolidation 06/10
[thirdparty/openssl.git] / crypto / des / rpc_enc.c
CommitLineData
4f22f405
RS
1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
d02b48c6 3 *
4f22f405
RS
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
d02b48c6
RE
8 */
9
10#include "rpc_des.h"
11#include "des_locl.h"
d02b48c6 12
0f113f3e 13int _des_crypt(char *buf, int len, struct desparams *desp);
6b691a5c 14int _des_crypt(char *buf, int len, struct desparams *desp)
0f113f3e
MC
15{
16 DES_key_schedule ks;
17 int enc;
d02b48c6 18
0f113f3e
MC
19 DES_set_key_unchecked(&desp->des_key, &ks);
20 enc = (desp->des_dir == ENCRYPT) ? DES_ENCRYPT : DES_DECRYPT;
d02b48c6 21
0f113f3e
MC
22 if (desp->des_mode == CBC)
23 DES_ecb_encrypt((const_DES_cblock *)desp->UDES.UDES_buf,
24 (DES_cblock *)desp->UDES.UDES_buf, &ks, enc);
25 else {
26 DES_ncbc_encrypt(desp->UDES.UDES_buf, desp->UDES.UDES_buf,
27 len, &ks, &desp->des_ivec, enc);
0f113f3e
MC
28 }
29 return (1);
30}