des_locl.h (63249) | des_locl.h (78064) |
---|---|
1/* $FreeBSD: head/sys/crypto/des/des_locl.h 62587 2000-07-04 16:35:15Z itojun $ */ 2/* $KAME: des_locl.h,v 1.4 2000/03/27 04:43:46 sumikawa Exp $ */ | 1/* $FreeBSD: head/sys/crypto/des/des_locl.h 78064 2001-06-11 12:39:29Z ume $ */ 2/* $KAME: des_locl.h,v 1.6 2000/11/06 13:58:09 itojun Exp $ */ |
3 4/* lib/des/des_locl.h */ 5/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) 6 * All rights reserved. 7 * 8 * This file is part of an SSL implementation written 9 * by Eric Young (eay@mincom.oz.au). 10 * The implementation was written so as to conform with Netscapes SSL --- 39 unchanged lines hidden (view full) --- 50/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 51 * 52 * Always modify des_locl.org since des_locl.h is automatically generated from 53 * it during SSLeay configuration. 54 * 55 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 56 */ 57 | 3 4/* lib/des/des_locl.h */ 5/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) 6 * All rights reserved. 7 * 8 * This file is part of an SSL implementation written 9 * by Eric Young (eay@mincom.oz.au). 10 * The implementation was written so as to conform with Netscapes SSL --- 39 unchanged lines hidden (view full) --- 50/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 51 * 52 * Always modify des_locl.org since des_locl.h is automatically generated from 53 * it during SSLeay configuration. 54 * 55 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 56 */ 57 |
58#include <sys/param.h> 59#include <sys/malloc.h> 60#include <sys/mbuf.h> 61#include <sys/systm.h> 62 | |
63#ifndef HEADER_DES_LOCL_H 64#define HEADER_DES_LOCL_H 65 | 58#ifndef HEADER_DES_LOCL_H 59#define HEADER_DES_LOCL_H 60 |
66#if defined(WIN32) || defined(WIN16) 67#ifndef MSDOS 68#define MSDOS 69#endif 70#endif 71 72/* 73#include <stdio.h> 74#include <stdlib.h> 75#ifndef MSDOS 76#include <unistd.h> 77#endif 78*/ | |
79#include <crypto/des/des.h> 80 | 61#include <crypto/des/des.h> 62 |
81/* the following is tweaked from a config script, that is why it is a 82 * protected undef/define */ 83#ifndef DES_PTR | |
84#undef DES_PTR | 63#undef DES_PTR |
85#endif | |
86 | 64 |
87#ifdef MSDOS /* Visual C++ 2.1 (Windows NT/95) */ 88#include <stdlib.h> 89#include <errno.h> 90#include <time.h> 91#include <io.h> 92#ifndef RAND 93#define RAND 94#endif 95#undef NOPROTO 96#endif 97 98#if !defined(_KERNEL) && (defined(__STDC__) || defined(VMS) || defined(M_XENIX) || defined(MSDOS)) 99#ifndef __NetBSD__ 100#include <string.h> 101#endif 102#endif 103 104#ifdef __NetBSD__ 105#include <sys/systm.h> 106#endif 107 108#ifndef RAND 109#define RAND 110#endif 111 112#ifdef linux 113#undef RAND 114#endif 115 116#ifdef MSDOS 117#define getpid() 2 118#define RAND 119#undef NOPROTO 120#endif 121 122#if defined(NOCONST) 123#define const 124#endif 125 | |
126#ifdef __STDC__ 127#undef NOPROTO 128#endif 129 | 65#ifdef __STDC__ 66#undef NOPROTO 67#endif 68 |
130#ifdef RAND 131#define srandom(s) srand(s) 132#define random rand 133#endif 134 | |
135#define ITERATIONS 16 136#define HALF_ITERATIONS 8 137 138/* used in des_read and des_write */ 139#define MAXWRITE (1024*16) 140#define BSIZE (MAXWRITE+4) 141 142#define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ --- 46 unchanged lines hidden (view full) --- 189 case 5: *(--(c))=(unsigned char)(((l2) )&0xff); \ 190 case 4: *(--(c))=(unsigned char)(((l1)>>24L)&0xff); \ 191 case 3: *(--(c))=(unsigned char)(((l1)>>16L)&0xff); \ 192 case 2: *(--(c))=(unsigned char)(((l1)>> 8L)&0xff); \ 193 case 1: *(--(c))=(unsigned char)(((l1) )&0xff); \ 194 } \ 195 } 196 | 69#define ITERATIONS 16 70#define HALF_ITERATIONS 8 71 72/* used in des_read and des_write */ 73#define MAXWRITE (1024*16) 74#define BSIZE (MAXWRITE+4) 75 76#define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ --- 46 unchanged lines hidden (view full) --- 123 case 5: *(--(c))=(unsigned char)(((l2) )&0xff); \ 124 case 4: *(--(c))=(unsigned char)(((l1)>>24L)&0xff); \ 125 case 3: *(--(c))=(unsigned char)(((l1)>>16L)&0xff); \ 126 case 2: *(--(c))=(unsigned char)(((l1)>> 8L)&0xff); \ 127 case 1: *(--(c))=(unsigned char)(((l1) )&0xff); \ 128 } \ 129 } 130 |
197#if defined(WIN32) 198#define ROTATE(a,n) (_lrotr(a,n)) 199#else | |
200#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n)))) | 131#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n)))) |
201#endif | |
202 203/* The changes to this macro may help or hinder, depending on the 204 * compiler and the achitecture. gcc2 always seems to do well :-). 205 * Inspired by Dana How <how@isl.stanford.edu> 206 * DO NOT use the alternative version on machines with 8 byte longs. 207 * It does not seem to work on the Alpha, even when DES_LONG is 4 208 * bytes, probably an issue of accessing non-word aligned objects :-( */ 209#ifdef DES_PTR --- 98 unchanged lines hidden (view full) --- 308 register DES_LONG tt; \ 309 PERM_OP(l,r,tt, 1,0x55555555L); \ 310 PERM_OP(r,l,tt, 8,0x00ff00ffL); \ 311 PERM_OP(l,r,tt, 2,0x33333333L); \ 312 PERM_OP(r,l,tt,16,0x0000ffffL); \ 313 PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \ 314 } 315#endif | 132 133/* The changes to this macro may help or hinder, depending on the 134 * compiler and the achitecture. gcc2 always seems to do well :-). 135 * Inspired by Dana How <how@isl.stanford.edu> 136 * DO NOT use the alternative version on machines with 8 byte longs. 137 * It does not seem to work on the Alpha, even when DES_LONG is 4 138 * bytes, probably an issue of accessing non-word aligned objects :-( */ 139#ifdef DES_PTR --- 98 unchanged lines hidden (view full) --- 238 register DES_LONG tt; \ 239 PERM_OP(l,r,tt, 1,0x55555555L); \ 240 PERM_OP(r,l,tt, 8,0x00ff00ffL); \ 241 PERM_OP(l,r,tt, 2,0x33333333L); \ 242 PERM_OP(r,l,tt,16,0x0000ffffL); \ 243 PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \ 244 } 245#endif |
316 317 318/* 319#define mbuf2char(i_mbuf, i_index, in) \ 320 { \ 321 register int i; \ 322 struct mbuf *m; \ 323 char *buf; \ 324 m = i_mbuf; \ 325 for (i = 0; i < 8; i ++){ \ 326 if (i_index + i == m->m_len){ \ 327 m = m->m_next; \ 328 } \ 329 buf = mtod(m, char *); \ 330 in[i] = *(buf + i); \ 331 } 332 333 334#define char2mbuf(o_mbuf, o_index, out) \ 335 { \ 336 register int i; \ 337 struct mbuf *m; \ 338 char *buf; \ 339 m = o_mbuf; \ 340 for (i = 0; i < 8; i ++){ \ 341 if (i_index + i == m->m_len){ \ 342 m = m->m_next; \ 343 } \ 344 buf = mtod(m, char *); \ 345 *(buf + i) = out[i]; \ 346 } 347*/ 348 | |