WEP uses the RC4 cipher. The RC4 cipher generates pseudorandom bytes to XOR (mix) with your data to create the encrypted data. It generates these using an algorithm that "shuffles" the numbers 0-255 around in an array.
The initial arrangement of this array is derived from the key, by what is called a Key Scheduling Algorithm. In certain cases, this key scheduling algorithm can be worked backwards from the output of RC4 (the pseudorandom data) (if you can figure out enough about what the state of the array is) to get the key.
It is not secure to use the same key twice when doing symmetric crypto, so an Initialization Vector (just some extra data that is different for each message) is usually combined with the "key" to create a new key for each message. The IV is not a secret and usually sent along with the message in plaintext since you have to know the rest of the key anyway. However, in RC4, certain IVs cause working the Key Scheduling Algorithm backwards to be much easier.
All of the fake-auth attacks, deauths, and whatnot that aircrack does are for forcing machines on the network to generate more packets, because that increases the chance a packet will have a "weak" IV.
To expand more on this great answer; the point of the deauth attack ans so forth are designed to generate a large number of IV's with which to work on.
The idea is that you can use weak IV's (as described above) to attack the subsequent bytes in the encryption key. The important thing to know is that the next byte cannot be definitively calculated - you can only calculate a possible value. The reason a lot of weak IV's is needed is so you can perform the same attack multiple times - at which point the correct byte value will appear much more often than any other value.
(incidentally; the theory behind it is actually pretty simple but you do have to be up on your encryption terminology for it to make sense on first reading :) when I learned all this from scratch it took me ages to get my head round it)
The initial arrangement of this array is derived from the key, by what is called a Key Scheduling Algorithm. In certain cases, this key scheduling algorithm can be worked backwards from the output of RC4 (the pseudorandom data) (if you can figure out enough about what the state of the array is) to get the key.
It is not secure to use the same key twice when doing symmetric crypto, so an Initialization Vector (just some extra data that is different for each message) is usually combined with the "key" to create a new key for each message. The IV is not a secret and usually sent along with the message in plaintext since you have to know the rest of the key anyway. However, in RC4, certain IVs cause working the Key Scheduling Algorithm backwards to be much easier.
All of the fake-auth attacks, deauths, and whatnot that aircrack does are for forcing machines on the network to generate more packets, because that increases the chance a packet will have a "weak" IV.
http://en.wikipedia.org/wiki/Fluhrer,_Mantin_and_Shamir_atta...