A local copy of OpenSSL from GitHub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.3 KiB

* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
* Licensed under the Apache License 2.0 (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
* DES low level APIs are deprecated for public use, but still ok for internal
* use.
#include "internal/deprecated.h"
#include "des_local.h"
#include <openssl/opensslv.h>
#include <openssl/bio.h>
const char *DES_options(void)
static int init = 1;
static char buf[12];
if (init) {
if (sizeof(DES_LONG) != sizeof(long))
OPENSSL_strlcpy(buf, "des(int)", sizeof(buf));
OPENSSL_strlcpy(buf, "des(long)", sizeof(buf));
init = 0;
return buf;
void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
DES_key_schedule *ks, int enc)
register DES_LONG l;
DES_LONG ll[2];
const unsigned char *in = &(*input)[0];
unsigned char *out = &(*output)[0];
c2l(in, l);
ll[0] = l;
c2l(in, l);
ll[1] = l;
DES_encrypt1(ll, ks, enc);
l = ll[0];
l2c(l, out);
l = ll[1];
l2c(l, out);
l = ll[0] = ll[1] = 0;