summaryrefslogtreecommitdiffstats
path: root/eBones/des/3ecb_enc.c
blob: 4bd22865c6a9d79661ec041c54a54db0c367c3fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* 3ecb_enc.c */
/* Copyright (C) 1993 Eric Young - see README for more details */

/*-
 *	$Id: 3ecb_enc.c,v 1.1.1.1 1994/09/30 14:49:50 csgr Exp $
 */

#include "des_locl.h"

int des_3ecb_encrypt(input,output,ks1,ks2,encrypt)
des_cblock *input;
des_cblock *output;
des_key_schedule ks1,ks2;
int encrypt;
	{
	register unsigned long l0,l1;
	register unsigned char *in,*out;
	unsigned long ll[2];

	in=(unsigned char *)input;
	out=(unsigned char *)output;
	c2l(in,l0);
	c2l(in,l1);
	ll[0]=l0;
	ll[1]=l1;
	des_encrypt(ll,ll,ks1,encrypt);
	des_encrypt(ll,ll,ks2,!encrypt);
	des_encrypt(ll,ll,ks1,encrypt);
	l0=ll[0];
	l1=ll[1];
	l2c(l0,out);
	l2c(l1,out);
	return(0);
	}

OpenPOWER on IntegriCloud