In both Rubicon and Sherlock last week, by bizzare coincidence, the plots involved the use of something called a Book Code (in Rubicon, one of the characters refers to it as "old school"). The method is simple.
Say you want to communicate with someone secretly. You both buy the same copy of a book, To Kill a Mocking Bird, by Harper Lee. It has to be the same edition, identical. You want to send the message "Meet me tomorrow at the station". "Meet" is on page 31, and is the second word on line 33, "me" is on page 183, the fourth word on line 7 (this is not the first occurance), and so on. "Station" doesn't occur in the book, but "stationed" does, page 112, line 5, fourth word. It'll do. You end up with a string of numbers:
31, 2, 33; 183, 4, 7;...
In Sherlock, these are translated into ancient Chinese numerals; in Rubicon, a string of letters by splitting the numbers up into groups that add up to less than 26. In the example:
3, 12, 3, 3, 18, 3, 4, 7, ...
which becomes:
CLCC RCDG...
In Rubicon, the protagonist figures out straight away that the letters represent numbers, probably because of the number of C's, D's etc. The receiver of the code reverses the process. The strength of the code is that without the book, the code is meaningless.
The KGB and GRU (Russian Army Intelligence) used a similar method. They had a purpose designed code book using four figure numbers, so "meet" would have been 5268, "me" 171, and so on. If there was a word that wasn't in the code book, the letters would have specific numbers, "a" 358, "b" 1051, etc. Encoding the example would, again, give a string of numbers:
5268, 171, 5454, ...
The agents had what was called one-time pads. These had random numbers printed on celuloid, which burns very quickly, and which were unique to each agent. These numbers would be added to first string, only being used once, thus the name. If we add the random numbers 8235, 2760, and 6473, modulus 10000 to give us four figure numbers, to the example we get:
3503, 2931, 1927...
These can then be translated into letters as before to make transmitting in Morse easier.