home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OpenStep 4.2J (Developer)
/
os42jdev.iso
/
NextDeveloper
/
Headers
/
bsd
/
softdes.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-23
|
1KB
|
64 lines
/* @(#)softdes.h 1.1 88/04/04 4.0NFSSRC SMI; from 1.5 88/02/08 Copyr 1986 Sun Micro */
/*
* softdes.h, Data types and definition for software DES
* Copyright (C) 1986, Sun Microsystems, Inc.
*/
/*
* A chunk is an area of storage used in three different ways
* - As a 64 bit quantity (in high endian notation)
* - As a 48 bit quantity (6 low order bits per byte)
* - As a 32 bit quantity (first 4 bytes)
*/
typedef union {
struct {
#if defined(vax) || defined(i386)
u_long _long1;
u_long _long0;
#else
u_long _long0;
u_long _long1;
#endif
} _longs;
#define long0 _longs._long0
#define long1 _longs._long1
struct {
#if defined(vax) || defined(i386)
u_char _byte7;
u_char _byte6;
u_char _byte5;
u_char _byte4;
u_char _byte3;
u_char _byte2;
u_char _byte1;
u_char _byte0;
#else
u_char _byte0;
u_char _byte1;
u_char _byte2;
u_char _byte3;
u_char _byte4;
u_char _byte5;
u_char _byte6;
u_char _byte7;
#endif
} _bytes;
#define byte0 _bytes._byte0
#define byte1 _bytes._byte1
#define byte2 _bytes._byte2
#define byte3 _bytes._byte3
#define byte4 _bytes._byte4
#define byte5 _bytes._byte5
#define byte6 _bytes._byte6
#define byte7 _bytes._byte7
} chunk_t;
/*
* Intermediate key storage
* Created by des_setkey, used by des_encrypt and des_decrypt
* 16 48 bit values
*/
struct deskeydata {
chunk_t keyval[16];
};