diff options
author | James Meyer <james.meyer@operamail.com> | 2009-03-14 04:07:05 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2009-03-14 04:07:05 (GMT) |
commit | c2941a012cbea19073e72af561b37a1255a1fe6c (patch) | |
tree | 168850edb01eea2168329eada8f2025bf3f21e23 /abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base | |
parent | a501f7114b788b2879bab105ed4dcd7ed6a94f39 (diff) | |
download | linhes_pkgbuild-c2941a012cbea19073e72af561b37a1255a1fe6c.zip linhes_pkgbuild-c2941a012cbea19073e72af561b37a1255a1fe6c.tar.gz linhes_pkgbuild-c2941a012cbea19073e72af561b37a1255a1fe6c.tar.bz2 |
Remove wlan-ng26 as the drivers are now in the kernel.
Diffstat (limited to 'abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base')
-rw-r--r-- | abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base b/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base deleted file mode 100644 index fe29738..0000000 --- a/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/add-ons/keygen/.svn/text-base/keygen.c.svn-base +++ /dev/null @@ -1,183 +0,0 @@ -/* - * keygen.c - * WEP Key Generators - * - * This program generates WEP keys using de facto standard key - * generators for 40 and 128 bit keys. - * - * Link against OpenSSL's libcrypto.a - * - * I place this code in the public domain. - * May 2001, Tim Newsham - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <sys/types.h> -#include <openssl/md5.h> - -#define WEPKEYSIZE 5 -#define WEPSTRONGKEYSIZE 13 -#define WEPKEYS 4 -#define WEPKEYSTORE (WEPKEYSIZE * WEPKEYS) -#define WEPSTRONGKEYSTORE (WEPSTRONGKEYSIZE * WEPKEYS) - -/* - * generate four subkeys from a seed using the defacto standard - */ -void -wep_seedkeygen(int val, u_char *keys) -{ - int i; - - for(i = 0; i < WEPKEYSTORE; i++) { - val *= 0x343fd; - val += 0x269ec3; - keys[i] = val >> 16; - } - return; -} - -/* - * generate one key from a string using the de facto standard - * - * resultant key is stored in - * one 128 bit key: keys[0-15] - * - * (NOTE: I'm not sure why, but it seems that only values 0-12 are used, - * resulting in 104 bits of keying, not 128) - */ -void -wep_keygen128(char *str, u_char *keys) -{ - MD5_CTX ctx; - u_char buf[64]; - int i, j; - - /* repeat str until buf is full */ - j = 0; - for(i = 0; i < 64; i++) { - if(str[j] == 0) - j = 0; - buf[i] = str[j++]; - } - - MD5_Init(&ctx); - MD5_Update(&ctx, buf, sizeof buf); - MD5_Final(buf, &ctx); - - memcpy(keys, buf, WEPSTRONGKEYSTORE); - for(i = 0; i < WEPSTRONGKEYSIZE; i++) { - keys[i] = buf[i]; - } - for(; i < WEPSTRONGKEYSTORE; i++) { - keys[i] = 0; - } - return; -} - -/* - * generate four subkeys from a string using the defacto standard - * - * resultant keys are stored in - * four 40 bit keys: keys[0-4], keys[5-9], keys[10-14] and keys[15-20] - */ -void -wep_keygen40(char *str, u_char *keys) -{ - int val, i, shift; - - /* - * seed is generated by xor'ing in the keystring bytes - * into the four bytes of the seed, starting at the little end - */ - val = 0; - for(i = 0; str[i]; i++) { - shift = i & 0x3; - val ^= (str[i] << (shift * 8)); - } - - wep_seedkeygen(val, keys); - return; -} - -void -wep_keyprint40(u_char *keys) -{ - int i; - char sepchar; - - for(i = 0; i < WEPKEYSTORE; i++) { - sepchar = (i % WEPKEYSIZE == WEPKEYSIZE - 1) ? '\n' : ':'; - printf("%02x%c", keys[i], sepchar); - } - return; -} - -void -wep_keyprint128(u_char *keys) -{ - int i; - char sepchar; - - for(i = 0; i < WEPSTRONGKEYSTORE; i++) { - sepchar = (i % WEPSTRONGKEYSIZE == WEPSTRONGKEYSIZE - 1) ? '\n' : ':'; - printf("%02x%c", keys[i], sepchar); - } - return; -} -void -usage(char *prog) -{ - printf("Usage: %s keystring [-s || 5 || 13]\n", prog); - exit(1); -} - -int -main(int argc, char **argv) -{ - u_char keys[WEPKEYSTORE]; - u_char strongkeys[WEPSTRONGKEYSTORE]; - char *prog, *genstr; - int strong, ch; - - prog = argv[0]; - strong = 0; - while((ch = getopt(argc, argv, "s")) != EOF) { - switch(ch) { - case 's': - strong ++; - break; - default: - usage(prog); - } - } - argc -= optind; - argv += optind; - - if(argc==2) - if(!strcmp(argv[1],"13")) - { - strong++; - argc--; - } - else argc--; - - if(argc != 1) - usage(prog); - genstr = argv[0]; - - if(strong) - { - wep_keygen128(genstr, strongkeys); - wep_keyprint128(strongkeys); - } - else - { - wep_keygen40(genstr, keys); - wep_keyprint40(keys); - } - return 0; -} |