summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/des_locl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/des/des_locl.h')
-rw-r--r--src/lib/libcrypto/des/des_locl.h79
1 files changed, 42 insertions, 37 deletions
diff --git a/src/lib/libcrypto/des/des_locl.h b/src/lib/libcrypto/des/des_locl.h
index 1ace8f5930..70e833be3f 100644
--- a/src/lib/libcrypto/des/des_locl.h
+++ b/src/lib/libcrypto/des/des_locl.h
@@ -59,19 +59,19 @@
59#ifndef HEADER_DES_LOCL_H 59#ifndef HEADER_DES_LOCL_H
60#define HEADER_DES_LOCL_H 60#define HEADER_DES_LOCL_H
61 61
62#if defined(WIN32) || defined(WIN16) 62#include <openssl/e_os2.h>
63#ifndef MSDOS 63
64#define MSDOS 64#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16)
65#ifndef OPENSSL_SYS_MSDOS
66#define OPENSSL_SYS_MSDOS
65#endif 67#endif
66#endif 68#endif
67 69
68#include <stdio.h> 70#include <stdio.h>
69#include <stdlib.h> 71#include <stdlib.h>
70 72
71#include <openssl/opensslconf.h> 73#ifndef OPENSSL_SYS_MSDOS
72 74#if !defined(OPENSSL_SYS_VMS) || defined(__DECC)
73#ifndef MSDOS
74#if !defined(VMS) || defined(__DECC)
75#ifdef OPENSSL_UNISTD 75#ifdef OPENSSL_UNISTD
76# include OPENSSL_UNISTD 76# include OPENSSL_UNISTD
77#else 77#else
@@ -82,17 +82,22 @@
82#endif 82#endif
83#include <openssl/des.h> 83#include <openssl/des.h>
84 84
85#ifdef MSDOS /* Visual C++ 2.1 (Windows NT/95) */ 85#ifdef OPENSSL_SYS_MSDOS /* Visual C++ 2.1 (Windows NT/95) */
86#include <stdlib.h> 86#include <stdlib.h>
87#include <errno.h> 87#include <errno.h>
88#include <time.h> 88#include <time.h>
89#include <io.h> 89#include <io.h>
90#endif 90#endif
91 91
92#if defined(__STDC__) || defined(VMS) || defined(M_XENIX) || defined(MSDOS) 92#if defined(__STDC__) || defined(OPENSSL_SYS_VMS) || defined(M_XENIX) || defined(OPENSSL_SYS_MSDOS)
93#include <string.h> 93#include <string.h>
94#endif 94#endif
95 95
96#ifdef OPENSSL_BUILD_SHLIBCRYPTO
97# undef OPENSSL_EXTERN
98# define OPENSSL_EXTERN OPENSSL_EXPORT
99#endif
100
96#define ITERATIONS 16 101#define ITERATIONS 16
97#define HALF_ITERATIONS 8 102#define HALF_ITERATIONS 8
98 103
@@ -155,7 +160,7 @@
155 } \ 160 } \
156 } 161 }
157 162
158#if defined(WIN32) && defined(_MSC_VER) 163#if defined(OPENSSL_SYS_WIN32) && defined(_MSC_VER)
159#define ROTATE(a,n) (_lrotr(a,n)) 164#define ROTATE(a,n) (_lrotr(a,n))
160#else 165#else
161#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n)))) 166#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n))))
@@ -278,24 +283,24 @@
278 u1=(int)u&0x3f; \ 283 u1=(int)u&0x3f; \
279 u2&=0x3f; \ 284 u2&=0x3f; \
280 u>>=16L; \ 285 u>>=16L; \
281 LL^=des_SPtrans[0][u1]; \ 286 LL^=DES_SPtrans[0][u1]; \
282 LL^=des_SPtrans[2][u2]; \ 287 LL^=DES_SPtrans[2][u2]; \
283 u3=(int)u>>8L; \ 288 u3=(int)u>>8L; \
284 u1=(int)u&0x3f; \ 289 u1=(int)u&0x3f; \
285 u3&=0x3f; \ 290 u3&=0x3f; \
286 LL^=des_SPtrans[4][u1]; \ 291 LL^=DES_SPtrans[4][u1]; \
287 LL^=des_SPtrans[6][u3]; \ 292 LL^=DES_SPtrans[6][u3]; \
288 u2=(int)t>>8L; \ 293 u2=(int)t>>8L; \
289 u1=(int)t&0x3f; \ 294 u1=(int)t&0x3f; \
290 u2&=0x3f; \ 295 u2&=0x3f; \
291 t>>=16L; \ 296 t>>=16L; \
292 LL^=des_SPtrans[1][u1]; \ 297 LL^=DES_SPtrans[1][u1]; \
293 LL^=des_SPtrans[3][u2]; \ 298 LL^=DES_SPtrans[3][u2]; \
294 u3=(int)t>>8L; \ 299 u3=(int)t>>8L; \
295 u1=(int)t&0x3f; \ 300 u1=(int)t&0x3f; \
296 u3&=0x3f; \ 301 u3&=0x3f; \
297 LL^=des_SPtrans[5][u1]; \ 302 LL^=DES_SPtrans[5][u1]; \
298 LL^=des_SPtrans[7][u3]; } 303 LL^=DES_SPtrans[7][u3]; }
299#endif 304#endif
300#ifdef DES_RISC2 305#ifdef DES_RISC2
301#define D_ENCRYPT(LL,R,S) {\ 306#define D_ENCRYPT(LL,R,S) {\
@@ -306,25 +311,25 @@
306 u2=(int)u>>8L; \ 311 u2=(int)u>>8L; \
307 u1=(int)u&0x3f; \ 312 u1=(int)u&0x3f; \
308 u2&=0x3f; \ 313 u2&=0x3f; \
309 LL^=des_SPtrans[0][u1]; \ 314 LL^=DES_SPtrans[0][u1]; \
310 LL^=des_SPtrans[2][u2]; \ 315 LL^=DES_SPtrans[2][u2]; \
311 s1=(int)u>>16L; \ 316 s1=(int)u>>16L; \
312 s2=(int)u>>24L; \ 317 s2=(int)u>>24L; \
313 s1&=0x3f; \ 318 s1&=0x3f; \
314 s2&=0x3f; \ 319 s2&=0x3f; \
315 LL^=des_SPtrans[4][s1]; \ 320 LL^=DES_SPtrans[4][s1]; \
316 LL^=des_SPtrans[6][s2]; \ 321 LL^=DES_SPtrans[6][s2]; \
317 u2=(int)t>>8L; \ 322 u2=(int)t>>8L; \
318 u1=(int)t&0x3f; \ 323 u1=(int)t&0x3f; \
319 u2&=0x3f; \ 324 u2&=0x3f; \
320 LL^=des_SPtrans[1][u1]; \ 325 LL^=DES_SPtrans[1][u1]; \
321 LL^=des_SPtrans[3][u2]; \ 326 LL^=DES_SPtrans[3][u2]; \
322 s1=(int)t>>16; \ 327 s1=(int)t>>16; \
323 s2=(int)t>>24L; \ 328 s2=(int)t>>24L; \
324 s1&=0x3f; \ 329 s1&=0x3f; \
325 s2&=0x3f; \ 330 s2&=0x3f; \
326 LL^=des_SPtrans[5][s1]; \ 331 LL^=DES_SPtrans[5][s1]; \
327 LL^=des_SPtrans[7][s2]; } 332 LL^=DES_SPtrans[7][s2]; }
328#endif 333#endif
329 334
330#else 335#else
@@ -333,14 +338,14 @@
333 LOAD_DATA_tmp(R,S,u,t,E0,E1); \ 338 LOAD_DATA_tmp(R,S,u,t,E0,E1); \
334 t=ROTATE(t,4); \ 339 t=ROTATE(t,4); \
335 LL^=\ 340 LL^=\
336 des_SPtrans[0][(u>> 2L)&0x3f]^ \ 341 DES_SPtrans[0][(u>> 2L)&0x3f]^ \
337 des_SPtrans[2][(u>>10L)&0x3f]^ \ 342 DES_SPtrans[2][(u>>10L)&0x3f]^ \
338 des_SPtrans[4][(u>>18L)&0x3f]^ \ 343 DES_SPtrans[4][(u>>18L)&0x3f]^ \
339 des_SPtrans[6][(u>>26L)&0x3f]^ \ 344 DES_SPtrans[6][(u>>26L)&0x3f]^ \
340 des_SPtrans[1][(t>> 2L)&0x3f]^ \ 345 DES_SPtrans[1][(t>> 2L)&0x3f]^ \
341 des_SPtrans[3][(t>>10L)&0x3f]^ \ 346 DES_SPtrans[3][(t>>10L)&0x3f]^ \
342 des_SPtrans[5][(t>>18L)&0x3f]^ \ 347 DES_SPtrans[5][(t>>18L)&0x3f]^ \
343 des_SPtrans[7][(t>>26L)&0x3f]; } 348 DES_SPtrans[7][(t>>26L)&0x3f]; }
344#endif 349#endif
345#endif 350#endif
346 351
@@ -405,8 +410,8 @@
405 PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \ 410 PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \
406 } 411 }
407 412
408OPENSSL_EXTERN const DES_LONG des_SPtrans[8][64]; 413OPENSSL_EXTERN const DES_LONG DES_SPtrans[8][64];
409 414
410void fcrypt_body(DES_LONG *out,des_key_schedule ks, 415void fcrypt_body(DES_LONG *out,DES_key_schedule *ks,
411 DES_LONG Eswap0, DES_LONG Eswap1); 416 DES_LONG Eswap0, DES_LONG Eswap1);
412#endif 417#endif