Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_posix/sys/src/cmd/ssh1/cipher3des.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "ssh.h"
2
 
3
struct CipherState
4
{
5
	DESstate enc3des[3];
6
	DESstate dec3des[3];
7
};
8
 
9
static CipherState*
10
init3des(Conn *c, int)
11
{
12
	int i;
13
	CipherState *cs;
14
 
15
	cs = emalloc(sizeof(CipherState));
16
	for(i=0; i<3; i++){
17
		setupDESstate(&cs->enc3des[i], c->sesskey+8*i, nil);
18
		setupDESstate(&cs->dec3des[i], c->sesskey+8*i, nil);
19
	}
20
	return cs;
21
}
22
 
23
static void
24
encrypt3des(CipherState *cs, uchar *buf, int nbuf)
25
{
26
	desCBCencrypt(buf, nbuf, &cs->enc3des[0]);
27
	desCBCdecrypt(buf, nbuf, &cs->enc3des[1]);
28
	desCBCencrypt(buf, nbuf, &cs->enc3des[2]);
29
}
30
 
31
static void
32
decrypt3des(CipherState *cs, uchar *buf, int nbuf)
33
{
34
	desCBCdecrypt(buf, nbuf, &cs->dec3des[2]);
35
	desCBCencrypt(buf, nbuf, &cs->dec3des[1]);
36
	desCBCdecrypt(buf, nbuf, &cs->dec3des[0]);
37
}
38
 
39
Cipher cipher3des =
40
{
41
	SSH_CIPHER_3DES,
42
	"3des",
43
	init3des,
44
	encrypt3des,
45
	decrypt3des,
46
};
47