Lines Matching refs:keylen

137 static void rc4init ( uint8_t * key, int keylen, rc4state * state) {
144 j = (j + state->s[i] + key[i % keylen]) % n;
219 static int correct(PTW_attackstate * state, uint8_t * key, int keylen) {
226 memcpy(&keybuf[IVBYTES], key, keylen);
228 rc4init(keybuf, keylen+IVBYTES, &rc4state);
241 static void getdrv(PTW_tableentry orgtable[][n], int keylen, double * normal, double * ausreiser) {
254 for (i = 0; i < keylen; i++) {
285 static int doRound(PTW_tableentry sortedtable[][n], int keybyte, int fixat, uint8_t fixvalue, int * searchborders, uint8_t * key, int keylen, PTW_attackstate * state, uint8_t sum, int * strongbytes) {
288 if (keybyte == keylen) {
289 return correct(state, key, keylen);
296 if(doRound(sortedtable, keybyte+1, fixat, fixvalue, searchborders, key, keylen, state, (256-tmp+sum)%256, strongbytes) == 1) {
304 return doRound(sortedtable, keybyte+1, fixat, fixvalue, searchborders, key, keylen, state, fixvalue, strongbytes);
308 if (doRound(sortedtable, keybyte+1, fixat, fixvalue, searchborders, key, keylen, state, sortedtable[keybyte][i].b, strongbytes) == 1) {
319 static int doComputation(PTW_attackstate * state, uint8_t * key, int keylen, PTW_tableentry table[][n], sorthelper * sh2, int * strongbytes, int keylimit) {
326 for (i = 0; i < keylen; i++) {
339 if (doRound(table, 0, fixat, fixvalue, choices, key, keylen, state, 0, strongbytes) == 1) {
348 for (j = 0; j < keylen; j++) {
363 int PTW_computeKey(PTW_attackstate * state, uint8_t * keybuf, int keylen, int testlimit) {
375 PTW_tableentry (*table)[n] = alloca(sizeof(PTW_tableentry) * n * keylen);
380 memcpy(table, state->table, sizeof(PTW_tableentry) * n * keylen);
383 for (i = 0; i < keylen; i++) {
388 sorthelper (* sh)[n-1] = alloca(sizeof(sorthelper) * (n-1) * keylen);
395 for (i = 0; i < keylen; i++) {
402 qsort(sh, (n-1)*keylen, sizeof(sorthelper), &comparesorthelper);
405 if (doComputation(state, keybuf, keylen, table, (sorthelper *) sh, strongbytes, simple)) {
410 getdrv(state->table, keylen, normal, ausreisser);
411 for (i = 0; i < keylen-1; i++) {
415 qsort(helper, keylen-1, sizeof(doublesorthelper), &comparedoublesorthelper);
417 if (doComputation(state, keybuf, keylen, table, (sorthelper *) sh, strongbytes, onestrong)) {
423 if (doComputation(state, keybuf, keylen, table, (sorthelper *) sh, strongbytes, twostrong)) {