mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
60 lines
1.8 KiB
C
60 lines
1.8 KiB
C
/*
|
|
* This is D3DES (V5.09) by Richard Outerbridge with the double and
|
|
* triple-length support removed for use in VNC.
|
|
*
|
|
* These changes are:
|
|
* Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
|
|
*
|
|
* This software is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
|
|
/* d3des.h -
|
|
*
|
|
* Headers and defines for d3des.c
|
|
* Graven Imagery, 1992.
|
|
*
|
|
* Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge
|
|
* (GEnie : OUTER; CIS : [71755,204])
|
|
*/
|
|
|
|
#define EN0 0 /* MODE == encrypt */
|
|
#define DE1 1 /* MODE == decrypt */
|
|
|
|
/* init to 0 */
|
|
typedef struct {
|
|
unsigned long KnL[32];
|
|
} DESContext;
|
|
|
|
extern void deskey (DESContext * ctx, unsigned char *, int);
|
|
|
|
/* hexkey[8] MODE
|
|
* Sets the internal key register according to the hexadecimal
|
|
* key contained in the 8 bytes of hexkey, according to the DES,
|
|
* for encryption or decryption according to MODE.
|
|
*/
|
|
|
|
extern void usekey (DESContext * ctx, unsigned long *);
|
|
|
|
/* cookedkey[32]
|
|
* Loads the internal key register with the data in cookedkey.
|
|
*/
|
|
|
|
extern void cpkey (DESContext * ctx, unsigned long *);
|
|
|
|
/* cookedkey[32]
|
|
* Copies the contents of the internal key register into the storage
|
|
* located at &cookedkey[0].
|
|
*/
|
|
|
|
extern void des (DESContext * ctx, unsigned char *, unsigned char *);
|
|
|
|
/* from[8] to[8]
|
|
* Encrypts/Decrypts (according to the key currently loaded in the
|
|
* internal key register) one block of eight bytes at address 'from'
|
|
* into the block at address 'to'. They can be the same.
|
|
*/
|
|
|
|
/* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery
|
|
********************************************************************/
|