// http://en.wikipedia.org/wiki/RC4#Test_vectors // gcc tv6.c x.c #include //#include typedef unsigned char ch; typedef struct {ch s[256]; ch i; ch j;} state; void mv(ch *, state *, int); void initst(state *, ch *); ch ans[1024]; state s; int main(){ initst(&s, (ch*)"Fortitude"); {int j=1<<17; while(j--) mv(ans, &s, 1024);} {int j; for(j=0; j<256; ++j) printf("%s%02X", j&15?"":"\n", s.s[j]); printf("\ni=%02x j=%02x\n", s.i, s.j);} return 0;} /* 2453238529ECA01EEB2B1B39BFC317BD 6076207798DC724079B5159D83FE8870 3AF41AED9FCBD6EE6D962C020DF18E5E 19E37A8B226164813755DDACE280B24A 31AFF68A1074A100DE7D4B25D78DF8F7 44FB7128E4D3560B5AB35F91903FC99A 0CDB47C23CA85C1FEA5DBA1614BED44D F57FCDCE26094E6AAEAD9E01943599BB 959207338C733808BCF3C53ED5B8A74F 05F0E0C1E64CD089ABCCE93DFFD26612 AA49510E1D18F258936CFCE7030F2168 6E875B9BC6542EFD11F9E12FB68F3B6F 5206B459B7DAD1CA7C7EB04384659741 7B50C704DF482D3067A9CF2A9CFAC0E8 0A4645A21C3463A5A68257C8786BE5D9 867513364262EFA4C427D832A369B1B9 */