Previous | ToC | Next Labs: Cryptography. Part 1. Math Alive

HBO Application


We have studied binary and parity addition because these operations are used in many applications, in cryptography and elsewhere. The encryption method that you will be learning here uses parity addition.

In order to be able to transmit some movie channels to their customers, local cable companies subscribing to the movie service must have a password to unscramble the signal sent to them by the television station. As we discussed in class, the key is broadcast separately. Each subscriber has a key, consisting of a binary string of (say) 20 digits. The password itself is also a binary string with 20 entries. The television station sends out an enormous string that contains, in successive 20-digit strings, the parity addition of the password and every acceptable key, in random order.

Therefore the complete string might look like this:

(password oplus key3) (password oplus key6) (password oplus key1) (password oplus key7) (password oplus key5) (password oplus key4)

As we have seen, parity addition has the neat property that if you parity add the (password oplus key) to the key, then you will get back the password.

For example:

password:10110110111010
your key:01011011110011
password oplus your key:11101101001001

password oplus your key :11101101001001
your key :01011011110011
(password oplus your key) oplus your key10110110111010


In the tool below you see a stream of 45 binary strings; they respresent the TV station transmission. We have been sent the key 00001000000100010010 earlier. The objective is to find the correct string that enables us to decode into the TV transmission. To do this we must parity add our key to one of the 45 strings. This may be done by inserting our key into the field that says 'Enter your number here'. We then click on each of the strings sequentially until we find the correct code. If you get the correct one, the signal will get unscrambled. The number that appears in the place that says 'The result' is then the password.
You can use the password to calculate other subscribers' keys by parity adding your password to another users' code (e.g., the first code that appears, 11000001011011001001). Calculate the first three keys that correspond to the first three strings in the first column. Check that you have the correct keys by entering the result in the box that says 'Enter your number here' and then clicking on the corresponding code to see if the result is the password so that the transmission is unscrambled.