]>
Commit | Line | Data |
---|---|---|
d2e9e320 RS |
1 | /* |
2 | * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. | |
d02b48c6 | 3 | * |
d2e9e320 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 "des_locl.h" | |
ec577822 | 11 | #include <openssl/opensslv.h> |
d420ac2c | 12 | #include <openssl/bio.h> |
d02b48c6 | 13 | |
d02b48c6 | 14 | |
c2e4f17c | 15 | const char *DES_options(void) |
0f113f3e MC |
16 | { |
17 | static int init = 1; | |
18 | static char buf[32]; | |
d02b48c6 | 19 | |
0f113f3e | 20 | if (init) { |
3e9e810f | 21 | const char *size; |
d02b48c6 | 22 | |
0f113f3e MC |
23 | if (sizeof(DES_LONG) != sizeof(long)) |
24 | size = "int"; | |
25 | else | |
26 | size = "long"; | |
0904e79a | 27 | sprintf(buf, "des(%s)", size); |
0f113f3e MC |
28 | init = 0; |
29 | } | |
30 | return (buf); | |
31 | } | |
d02b48c6 | 32 | |
c2e4f17c | 33 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, |
0f113f3e MC |
34 | DES_key_schedule *ks, int enc) |
35 | { | |
36 | register DES_LONG l; | |
37 | DES_LONG ll[2]; | |
38 | const unsigned char *in = &(*input)[0]; | |
39 | unsigned char *out = &(*output)[0]; | |
d02b48c6 | 40 | |
0f113f3e MC |
41 | c2l(in, l); |
42 | ll[0] = l; | |
43 | c2l(in, l); | |
44 | ll[1] = l; | |
45 | DES_encrypt1(ll, ks, enc); | |
46 | l = ll[0]; | |
47 | l2c(l, out); | |
48 | l = ll[1]; | |
49 | l2c(l, out); | |
50 | l = ll[0] = ll[1] = 0; | |
51 | } |