mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
4f22f40507
Reviewed-by: Richard Levitte <levitte@openssl.org>
31 lines
979 B
C
31 lines
979 B
C
/*
|
|
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
#include "rpc_des.h"
|
|
#include "des_locl.h"
|
|
|
|
int _des_crypt(char *buf, int len, struct desparams *desp);
|
|
int _des_crypt(char *buf, int len, struct desparams *desp)
|
|
{
|
|
DES_key_schedule ks;
|
|
int enc;
|
|
|
|
DES_set_key_unchecked(&desp->des_key, &ks);
|
|
enc = (desp->des_dir == ENCRYPT) ? DES_ENCRYPT : DES_DECRYPT;
|
|
|
|
if (desp->des_mode == CBC)
|
|
DES_ecb_encrypt((const_DES_cblock *)desp->UDES.UDES_buf,
|
|
(DES_cblock *)desp->UDES.UDES_buf, &ks, enc);
|
|
else {
|
|
DES_ncbc_encrypt(desp->UDES.UDES_buf, desp->UDES.UDES_buf,
|
|
len, &ks, &desp->des_ivec, enc);
|
|
}
|
|
return (1);
|
|
}
|