示例#1
0
文件: attacksim.c 项目: ebichu/dd-wrt
void addRound(uint8_t * key, PTW_attackstate * state) {
	int j;
	uint8_t iv[3];
	uint8_t ks[KEYBYTES];
	rc4state rc4s;
	for (j = 0; j < IVBYTES; j++) {
		key[j] = rand()%n;
		iv[j] = key[j];
	}
	rc4init(key, KEYBYTES, &rc4s);
	for (j = 0; j < KEYBYTES; j++) {
		ks[j] = rc4update(&rc4s);
	}
	PTW_addsession(state, iv, ks);
	return;
}
示例#2
0
static void add_keystream(struct wstate *ws, struct ieee80211_frame* wh, int rd)
{
	unsigned char clear[1024];
	int dlen = rd - sizeof(struct ieee80211_frame) - 4 - 4;
	int clearsize;
	unsigned char *body = (unsigned char*) (wh+1);
	int i, weight[16], k, j;

	k = known_clear(clear, &clearsize, weight, (void*) wh, dlen);
	if (clearsize < 16)
		return;

        for (j=0; j<k; j++)
        {
            for (i = 0; i < clearsize; i++)
                    clear[i+(32*j)] ^= body[4+i];
        }
        PTW_addsession(ws->ws_ptw, body, clear, weight, k);
}