El vector de inicialización en WEP es un valor aleatorio de 24 bits que se utiliza para inicializar el algoritmo RC4.
RC4 es un cifrado de flujo. Esto significa que para cada bit de texto plano, produce un bit de secuencia de teclas y xors los dos, para generar el texto cifrado. El flujo de claves es simplemente un flujo de números aleatorios, generado a partir del algoritmo RC4.
En la operación más básica de un cifrado de flujo, el algoritmo se inicializa con una clave, de modo que la misma clave siempre producirá el mismo flujo de números aleatorios. Dado que tanto el cliente como el servidor conocen la clave, pueden producir el mismo equipo de claves. Esto permite al cliente xor el texto sin formato con el flujo de clave para producir el texto cifrado, y el servidor para xor el texto cifrado con el flujo de clave para producir nuevamente el texto sin formato.
Elproblemaconestoesqueunaclavesolotieneunaspocasdecenasdebits,peroeltextoenclaropuedesergigabytes.DespuésdequeRC4hayaproducidounagrancantidaddebits,losnúmerosaleatoriossevuelvenpredecibles,einclusopuedenvolveralcomienzo.Obviamente,estoesindeseable,yaqueunataquedetextosimpleconocidopodríacomputarlasecuenciadeteclas(c1xorc2=k)yusarlaparadescifrarnuevosmensajes.
Pararesolveresteproblema,seintrodujounaIVparacomplementarlasemilla.ElIVesunvaloraleatoriode24bitsquecambiaperiódicamente,enunintentodeevitarlareutilizacióndelacadenadeclaves.Desafortunadamente,24bitsesbastantepequeño,ylaIVamenudonosegeneródemaneraimpredecible,loquepermitealosatacantesadivinarlasfuturasIVyusarlasparadeducirlaclave.
Losataquesadicionalesinvolucraronlainyecciónactivadepaquetesenlared,engañandoalpuntodeaccesoparaqueemitieramuchosnuevosIVs,loquepermitióalosatacantesdescifrarWEPenminutososegundos.
Lecturaadicional: