Het verschil zit niet in de encryptie van de data, maar in de versleuteling van de key.
WEP gebruikt een symmetrisch protocol met een gegeven vector voor het aanmaken van de eigenlijke sleutel. De onveiligheid zit erin dat de vector nooit herhaald mag worden om niet gekraakt te worden. Initieel werd dit praktisch als onhaalbaar gezien, omdat volgens de theorie iemand dagen de pakketjes af moest luisteren om een kans te hebben een pakket te vinden met dezelfde vector. Echter door op een slimme manier foutmeldingen naar de router te sturen kunnen duizenden pakketten per seconde gegenereerd worden die uniform van inhoud zijn en binnen een paar minuten een gelijke vector op kunnen leveren.
WPA werkt op een totaal andere manier. De sleutel past zichzelf steeds aan, aan de hand van reeds gezonden pakketten. Dat betekend in de praktijk dat iemand (bijna) realtime alle pakketten moet onderscheppen EN kunnen decoden om met 100% zekerheid door te kunnen breken. Ook wordt elke X minuten (meestal 60) een volledig nieuwe sequence gekozen, dus als iemand alle pakketten "opneemt" en offline kraakt, is er een zeer grote kans dat er al een nieuwe key wordt gebruikt voordat de stream gekraakt is.
Wat betreft het doorgeven van de key geldt dat voor WPA-PSK (pre-shared key). Professionele toepassingen kunnen gebruik maken van WPA met RADIUS en gaat het vooraf delen van de sleutel niet op.