xref: /plan9/sys/src/cmd/ssh1/ciphertwiddle.c (revision 63afb9a5d3f910047231762bcce0ee49fed3d07c)
1*63afb9a5SDavid du Colombier #include "ssh.h"
2*63afb9a5SDavid du Colombier 
3*63afb9a5SDavid du Colombier static CipherState*
inittwiddle(Conn * c,int)4*63afb9a5SDavid du Colombier inittwiddle(Conn *c, int)
5*63afb9a5SDavid du Colombier {
6*63afb9a5SDavid du Colombier 	/* must be non-nil */
7*63afb9a5SDavid du Colombier 	fprint(2, "twiddle key is %.*H\n", SESSKEYLEN, c->sesskey);
8*63afb9a5SDavid du Colombier 	return (CipherState*)~0;
9*63afb9a5SDavid du Colombier }
10*63afb9a5SDavid du Colombier 
11*63afb9a5SDavid du Colombier static void
twiddle(CipherState *,uchar * buf,int n)12*63afb9a5SDavid du Colombier twiddle(CipherState*, uchar *buf, int n)
13*63afb9a5SDavid du Colombier {
14*63afb9a5SDavid du Colombier 	int i;
15*63afb9a5SDavid du Colombier 
16*63afb9a5SDavid du Colombier 	for(i=0; i<n; i++)
17*63afb9a5SDavid du Colombier 		buf[i] ^= 0xFF;
18*63afb9a5SDavid du Colombier }
19*63afb9a5SDavid du Colombier 
20*63afb9a5SDavid du Colombier Cipher ciphertwiddle =
21*63afb9a5SDavid du Colombier {
22*63afb9a5SDavid du Colombier 	SSH_CIPHER_TWIDDLE,
23*63afb9a5SDavid du Colombier 	"twiddle",
24*63afb9a5SDavid du Colombier 	inittwiddle,
25*63afb9a5SDavid du Colombier 	twiddle,
26*63afb9a5SDavid du Colombier 	twiddle,
27*63afb9a5SDavid du Colombier };
28*63afb9a5SDavid du Colombier 
29