Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I have downloaded the following function from the internet. It's a WEP Key generator for 64-bit from a giving passphrase. and I m wondering if a such algorithm is a standard algorithm? or it's an algorithm invented by the developer?

void wepkey64(char *passphrase, unsigned char k64[4][5])
{
    unsigned char pseed[4] = {0};
    unsigned int randNumber, tmp;
    int i, j;

    for(i = 0; i < strlen(passphrase); i++)
    {
        pseed[i%4] ^= (unsigned char) passphrase[i];
    }

    randNumber = pseed[0] | (pseed[1] << 8) | (pseed[2] << 16) | (pseed[3] << 24);

    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 5; j++)
        {
            randNumber = (randNumber * 0x343fd + 0x269ec3) & 0xffffffff;
            tmp = (randNumber >> 16) & 0xff;
            k64[i][j] = (unsigned char) tmp;
        }
    }
}
share|improve this question

closed as not constructive by Adnan, Terry Chia, AviD May 9 '13 at 11:35

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
Please don't cross-post the exact same question in two or more SE sites, even if it would be on-topic on both. See this FAQ entry for more details. Thank you –  mgibsonbr May 9 '13 at 10:47
    
Welcome to Information Security! Not really sure what you hope to achieve from this question, please see the FAQ and How to Ask. Regardless, DO NOT USE WEP, it is quite broken and considered very insecure. –  AviD May 9 '13 at 11:36

1 Answer 1

WEP was one of the first protocols which tried to secure the wireless networks. It was a part of IEEE 802.11 standards. It was cracked almost a decade back and rarely seen these days.For details on how it worked and its vulnerabilities you may see this

WEP made use of RC4 stream cipher for encryption.The problem with RC4 is if the same key stream was used repeatedly it becomes very easy to crack the key by sniffing enough number of packets and carrying out a passive attack (dictionary attack). The concept of Initialization Vector (IV) was used to make sure that the key streams are not repeated. 24 bits of IVs were added to the key to make it random.

So now

64 bit WEP key = 40 bits key stream + 24 bits of IV

The biggest problem was that the IV length was too small (In a busy network the IV will be repeated) and the 802.11 standards did not specify how to generate the IV. So basically it was left to the vendors to generate the pseudo-random IVs.I think that answers your question.

Nowadays, WPA2 is used.It uses better encryption and has two flavors personal (for home use) and enterprise (an authentication server is used and there is no single passkey shared among multiple users). for details see this and this

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.