Hace unos meses, coincidí con uno de los protagonistas de esta entrada de blog en la discusión sobre qué magnitudes físicas se varían en las ondas para transmitir la información. Es decir, por ejemplo en WiFi, ¿qué ocurre en la onda para saber si está cifrado o no? @aberiain es ingeniero de telecomunicaciones y recientemente ha defendido su tesis en el campo de RFID, y autor de gran parte de esta entrada. Ante la pregunta planteada en este artículo, dio la siguiente respuesta a continuación de la imagen. Es una explicación simplificada para que se entienda, ya que la transmisión real involucra detalles más complejos. Que la disfrutéis:
Cuando queremos emitir algo (supongamos una palabra digital), utilizamos ondas sinusoidales que modificamos de manera que sus características físicas cambian dependiendo de si queremos emitir un ‘1’ o un ‘0’. Dependiendo del tipo de modificación que hagamos en la onda tendremos una modulación en fase, amplitud o frecuencia. De esta forma, una vez que hemos definido el tipo de modulación, una ristra de ‘1’ y ‘0’ definirá una señal modulada de unas determinadas características en el tiempo. Por supuesto, a cada señal modulada le corresponde una única serie de bits, pero si observamos ristras lo suficientemente grandes, a modo macroscópico (por ejemplo viendo el espectro de frecuencial de la señal mediante transformadas de Fourier) la señal modulada tendrá siempre características físicas similares.
Si ahora introducimos una codificación sencilla, como ésta se aplica a nivel digital y no afecta a la modulación, podemos decir que a nivel macroscópico no seremos capaces de diferenciar una señal codificada de una no codificada.
A modo de ejemplo:
Supongamos que queremos emitir la palabra ‘0101’ con una modulación en fase, de manera que:
‘0’=A·cos (αt)
‘1’=A·cos(αt+π/2)
Por definirlo de alguna manera, el receptor y el emisor quedamos en que cada bit se emitirá durante 2 ciclos. Por lo tanto, el emisor emitirá 2 ciclos de A·cos (αt) seguido de 2 ciclos de A·cos(αt+π/2) seguido de 2 ciclos de A·cos(αt) seguido de 2 ciclos de A·cos(αt+π/2). El receptor, como sabe previo a la comunicación tanto la modulación como la emisión de dos ciclos, puede recuperar sin problemas el 0101.
Ahora añadimos una codificación simple. Supongamos que para codificar el 0101 le sumamos (bit por bit y sin arrastrar) una clave de 4 bits que comparte emisor y receptor. Por ejemplo el 1100. De esta manera, lo que emitiremos será 1001. Es decir 2 ciclos de Acos(αt+π/2) seguido de 2 ciclos de Acos(αt+π/2) seguido de 2 ciclos de Acos(αt) seguido de 2 ciclos de Acos(αt). El receptor recibirá y demodulará igual que ha hecho en el caso anterior la onda que le llega y obtendrá el 1001. A continuación, como ambos comparten clave, se la volverá a sumar a la palabra recibida y del 1001+1100=0101, recupera la palabra original.
Con este ejemplo vemos que por supuesto que la codificación afecta a la onda física que emites, pero la onda en sí, en general sigue siendo una onda con 1s y 0s, y no somos capaces de decir si ha sido codificada, o lo que estamos emitiendo es la información original al observar sin tener ni idea sobre cómo se está llevando la comunicación. En caso de que la comunicación siga un protocolo determinado, como es en el WiFi, y ya cada bloque que se emite tenga una cabecera donde el mismo nos diga qué estándar se está utilizando para la comunicación, se pueden utilizar métodos que, mediante prueba y error consiguen descifrar la palabra clave de codificación. ¡Pero siempre porque se tiene información exacta del protocolo y porque existe una interacción iterativa entre el router y el que intenta conseguir el código!