aboutsummaryrefslogtreecommitdiff
path: root/openssl-1.1.0h/crypto/des/ecb_enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'openssl-1.1.0h/crypto/des/ecb_enc.c')
-rw-r--r--openssl-1.1.0h/crypto/des/ecb_enc.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/openssl-1.1.0h/crypto/des/ecb_enc.c b/openssl-1.1.0h/crypto/des/ecb_enc.c
new file mode 100644
index 0000000..32df460
--- /dev/null
+++ b/openssl-1.1.0h/crypto/des/ecb_enc.c
@@ -0,0 +1,51 @@
+/*
+ * 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 "des_locl.h"
+#include <openssl/opensslv.h>
+#include <openssl/bio.h>
+
+
+const char *DES_options(void)
+{
+ static int init = 1;
+ static char buf[32];
+
+ if (init) {
+ const char *size;
+
+ if (sizeof(DES_LONG) != sizeof(long))
+ size = "int";
+ else
+ size = "long";
+ BIO_snprintf(buf, sizeof(buf), "des(%s)", size);
+ 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;
+}