#include <stdio.h>#define ROTORSZ 256#define MASK 0377char	t1[ROTORSZ];char	t2[ROTORSZ];char	t3[ROTORSZ];/* setup rotors with 13 character string */_setup(pw)char *pw;{	int ic, i, k, temp;	unsigned random;	char buf[13];	long seed;	for (i=0; i<13; i++) buf[i] = pw[i];	seed = 123;	for (i=0; i<13; i++)		seed = seed*buf[i] + i;	for(i=0;i<ROTORSZ;i++) {		t1[i] = i;		t3[i] = 0;	}	for(i=0;i<ROTORSZ;i++) {		seed = 5*seed + buf[i%13];		random = seed % 65521;		k = ROTORSZ-1 - i;		ic = (random&MASK)%(k+1);		random >>= 8;		temp = t1[k];		t1[k] = t1[ic];		t1[ic] = temp;		if(t3[k]!=0) continue;		ic = (random&MASK) % k;		while(t3[ic]!=0) ic = (ic+1) % k;		t3[k] = ic;		t3[ic] = k;	}	for(i=0;i<ROTORSZ;i++)		t2[t1[i]&MASK] = i;}