
In
cryptology, a code is a method used to
encrypt
In cryptography, encryption (more specifically, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the information, known as plai ...
a
message
A message is a unit of communication that conveys information from a sender to a receiver. It can be transmitted through various forms, such as spoken or written words, signals, or electronic data, and can range from simple instructions to co ...
that operates at the level of meaning; that is, words or phrases are converted into something else. A code might transform "change" into "CVGDK" or "cocktail lounge". The U.S.
National Security Agency
The National Security Agency (NSA) is an intelligence agency of the United States Department of Defense, under the authority of the director of national intelligence (DNI). The NSA is responsible for global monitoring, collection, and proces ...
defined a code as "A substitution cryptosystem in which the plaintext elements are primarily words, phrases, or sentences, and the code equivalents (called "code groups") typically consist of letters or digits (or both) in otherwise meaningless combinations of identical length."
[A History of U.S. Communications Security; the David G. Boak Lectures]
, National Security Agency (NSA), Volumes I, 1973, Volumes II 1981, partially released 2008, additional portions declassified October 14, 2015 A ''
codebook
A codebook is a type of document used for gathering and storing cryptography codes. Originally, codebooks were often literally , but today "codebook" is a byword for the complete record of a series of codes, regardless of physical format.
Cr ...
'' is needed to encrypt, and decrypt the phrases or words.
By contrast,
ciphers encrypt messages at the level of individual letters, or small groups of letters, or even, in modern ciphers, individual
bits. Messages can be transformed first by a code, and then by a cipher. Such
multiple encryption, or "superencryption" aims to make
cryptanalysis
Cryptanalysis (from the Greek ''kryptós'', "hidden", and ''analýein'', "to analyze") refers to the process of analyzing information systems in order to understand hidden aspects of the systems. Cryptanalysis is used to breach cryptographic se ...
more difficult.
Another comparison between codes and ciphers is that a code typically represents a letter or groups of letters directly without the use of mathematics. As such the numbers are configured to represent these three values: 1001 = A, 1002 = B, 1003 = C, ... . The resulting message, then would be 1001 1002 1003 to communicate ABC. Ciphers, however, utilize a mathematical formula to represent letters or groups of letters. For example, A = 1, B = 2, C = 3, ... . Thus the message ABC results by multiplying each letter's value by 13. The message ABC, then would be 13 26 39.
Codes have a variety of drawbacks, including susceptibility to
cryptanalysis
Cryptanalysis (from the Greek ''kryptós'', "hidden", and ''analýein'', "to analyze") refers to the process of analyzing information systems in order to understand hidden aspects of the systems. Cryptanalysis is used to breach cryptographic se ...
and the difficulty of managing the cumbersome
codebook
A codebook is a type of document used for gathering and storing cryptography codes. Originally, codebooks were often literally , but today "codebook" is a byword for the complete record of a series of codes, regardless of physical format.
Cr ...
s, so ciphers are now the dominant technique in modern cryptography.
In contrast, because codes are representational, they are not susceptible to mathematical analysis of the individual codebook elements. In the example, the message 13 26 39 can be cracked by dividing each number by 13 and then ranking them alphabetically. However, the focus of codebook cryptanalysis is the comparative frequency of the individual code elements matching the same frequency of letters within the plaintext messages using
frequency analysis
In cryptanalysis, frequency analysis (also known as counting letters) is the study of the frequency of letters or groups of letters in a ciphertext. The method is used as an aid to breaking classical ciphers.
Frequency analysis is based on th ...
. In the above example, the code group, 1001, 1002, 1003, might occur more than once and that frequency might match the number of times that ABC occurs in plain text messages.
(In the past, or in non-technical contexts, ''code'' and ''cipher'' are often used to refer to any form of
encryption
In Cryptography law, cryptography, encryption (more specifically, Code, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the inf ...
).
One- and two-part codes
Codes are defined by "codebooks" (physical or notional), which are dictionaries of codegroups listed with their corresponding plaintext. Codes originally had the codegroups assigned in 'plaintext order' for convenience of the code designed, or the encoder. For example, in a code using numeric code groups, a plaintext word starting with "a" would have a low-value group, while one starting with "z" would have a high-value group. The same codebook could be used to "encode" a plaintext message into a coded message or "codetext", and "decode" a codetext back into plaintext message.
In order to make life more difficult for codebreakers, codemakers designed codes with no predictable relationship between the codegroups and the ordering of the matching plaintext. In practice, this meant that two codebooks were now required, one to find codegroups for encoding, the other to look up codegroups to find plaintext for decoding. Such "two-part" codes required more effort to develop, and twice as much effort to distribute (and discard safely when replaced), but they were harder to break. The
Zimmermann Telegram in January 1917 used the German diplomatic "0075" two-part code system which contained upwards of 10,000 phrases and individual words.
One-time code
A one-time code is a prearranged word, phrase or symbol that is intended to be used only once to convey a simple message, often the signal to execute or abort some plan or confirm that it has succeeded or failed. One-time codes are often designed to be included in what would appear to be an innocent conversation. Done properly they are almost impossible to detect, though a trained analyst monitoring the communications of someone who has already aroused suspicion might be able to recognize a comment like "Aunt Bertha has gone into labor" as having an ominous meaning. Famous example of one time codes include:
*In the Bible,
Jonathan prearranges a code with
David
David (; , "beloved one") was a king of ancient Israel and Judah and the third king of the United Monarchy, according to the Hebrew Bible and Old Testament.
The Tel Dan stele, an Aramaic-inscribed stone erected by a king of Aram-Dam ...
, who is going into hiding from Jonathan's father, King Saul. If, during archery practice, Jonathan tells the servant retrieving arrows "the arrows are on this side of you," it's safe for David to return to court, if the command is "the arrows are beyond you," David must flee.
[I Samuel 20:20-22]
*"One if by land; two if by sea" in "
Paul Revere's Ride" made famous in the poem by
Henry Wadsworth Longfellow
Henry Wadsworth Longfellow (February 27, 1807 – March 24, 1882) was an American poet and educator. His original works include the poems " Paul Revere's Ride", '' The Song of Hiawatha'', and '' Evangeline''. He was the first American to comp ...
*"Climb Mount Niitaka" - the signal to Japanese planes to begin the
attack on Pearl Harbor
The attack on Pearl HarborAlso known as the Battle of Pearl Harbor was a surprise military strike by the Empire of Japan on the United States Pacific Fleet at Naval Station Pearl Harbor, its naval base at Pearl Harbor on Oahu, Territory of ...
*During
World War II
World War II or the Second World War (1 September 1939 – 2 September 1945) was a World war, global conflict between two coalitions: the Allies of World War II, Allies and the Axis powers. World War II by country, Nearly all of the wo ...
the
British Broadcasting Corporation
The British Broadcasting Corporation (BBC) is a British public broadcasting, public service broadcaster headquartered at Broadcasting House in London, England. Originally established in 1922 as the British Broadcasting Company, it evolved in ...
's overseas service frequently included "
personal messages" as part of its regular broadcast schedule. The seemingly nonsensical stream of messages read out by announcers were actually one time codes intended for
Special Operations Executive
Special Operations Executive (SOE) was a British organisation formed in 1940 to conduct espionage, sabotage and reconnaissance in German-occupied Europe and to aid local Resistance during World War II, resistance movements during World War II. ...
(SOE) agents operating behind enemy lines. An example might be "The princess wears red shoes" or "Mimi's cat is asleep under the table". Each code message was read out twice. By such means, the
French Resistance
The French Resistance ( ) was a collection of groups that fought the German military administration in occupied France during World War II, Nazi occupation and the Collaboration with Nazi Germany and Fascist Italy#France, collaborationist Vic ...
were instructed to start sabotaging rail and other transport links the night before
D-day
The Normandy landings were the landing operations and associated airborne operations on 6 June 1944 of the Allied invasion of Normandy in Operation Overlord during the Second World War. Codenamed Operation Neptune and often referred to as ...
.
*"Over all of Spain, the sky is clear" was a signal (broadcast on radio) to start
the nationalist military revolt in Spain on July 17, 1936.
Sometimes messages are not prearranged and rely on shared knowledge hopefully known only to the recipients. An example is the telegram sent to U.S. President
Harry Truman
Harry S. Truman (May 8, 1884December 26, 1972) was the 33rd president of the United States, serving from 1945 to 1953. As the 34th vice president in 1945, he assumed the presidency upon the death of Franklin D. Roosevelt that year. Subsequen ...
, then at the
Potsdam Conference to meet with Soviet premier
Joseph Stalin
Joseph Vissarionovich Stalin (born Dzhugashvili; 5 March 1953) was a Soviet politician and revolutionary who led the Soviet Union from 1924 until Death and state funeral of Joseph Stalin, his death in 1953. He held power as General Secret ...
, informing Truman of the
first successful test of an
atomic bomb
A nuclear weapon is an explosive device that derives its destructive force from nuclear reactions, either fission (fission or atomic bomb) or a combination of fission and fusion reactions (thermonuclear weapon), producing a nuclear expl ...
.
:"Operated on this morning. Diagnosis not yet complete but results seem satisfactory and already exceed expectations. Local press release necessary as interest extends great distance.
Dr. Groves pleased. He returns tomorrow. I will keep you posted."
''See also''
one-time pad
The one-time pad (OTP) is an encryption technique that cannot be Cryptanalysis, cracked in cryptography. It requires the use of a single-use pre-shared key that is larger than or equal to the size of the message being sent. In this technique, ...
, an unrelated cypher algorithm
Idiot code
An ''idiot code'' is a code that is created by the parties using it. This type of communication is akin to the hand signals used by armies in the field.
Example: Any sentence where 'day' and 'night' are used means 'attack'. The location mentioned in the following sentence specifies the location to be attacked.
*''Plaintext:'' Attack X.
*''Codetext:'' We walked day and night through the streets but couldn't find it! Tomorrow we'll head into X.
An early use of the term appears to be by George Perrault, a character in the science fiction book ''
Friday
Friday is the day of the week between Thursday and Saturday. In countries that adopt the traditional "Sunday-first" convention, it is the sixth day of the week. In countries adopting the ISO 8601-defined "Monday-first" convention, it is the fifth ...
''
[''Friday'' (1982) by Robert A. Heinlein] by
Robert A. Heinlein:
:The simplest sort
f codeand thereby impossible to break. The first ad told the person or persons concerned to carry out number seven or expect number seven or it said something about something designated as seven. This one says the same with respect to code item number ten. But the meaning of the numbers cannot be deduced through statistical analysis because the code can be changed long before a useful statistical universe can be reached. It's an idiot code... and an idiot code can never be broken if the user has the good sense not to go too often to the well.
Terrorism expert Magnus Ranstorp said that the men who carried out the
September 11 attacks
The September 11 attacks, also known as 9/11, were four coordinated Islamist terrorist suicide attacks by al-Qaeda against the United States in 2001. Nineteen terrorists hijacked four commercial airliners, crashing the first two into ...
on the United States used basic e-mail and what he calls "idiot code" to discuss their plans.
[Radio Free Europe / Radio Liberty]
"Middle East: Islamic Militants Take Jihad To The Internet" By Jeffrey Donovan
, 16 June 2004.
Cryptanalysis of codes
While solving a
monoalphabetic substitution cipher is easy, solving even a simple code is difficult. Decrypting a coded message is a little like trying to translate a document written in a foreign language, with the task basically amounting to building up a "dictionary" of the codegroups and the plaintext words they represent.
One fingerhold on a simple code is the fact that some words are more common than others, such as "the" or "a" in English. In telegraphic messages, the codegroup for "STOP" (i.e., end of sentence or paragraph) is usually very common. This helps define the structure of the message in terms of sentences, if not their meaning, and this is cryptanalytically useful.
Further progress can be made against a code by collecting many codetexts encrypted with the same code and then using information from other sources
*spies
*newspapers
*diplomatic cocktail party chat
*the location from where a message was sent
*where it was being sent to (i.e.,
traffic analysis
Traffic analysis is the process of intercepting and examining messages in order to deduce information from patterns in communication. It can be performed even when the messages are encrypted. In general, the greater the number of messages observ ...
)
*the time the message was sent,
*events occurring before and after the message was sent
*the normal habits of the people sending the coded messages
*etc.
For example, a particular codegroup found almost exclusively in messages from a particular army and nowhere else might very well indicate the commander of that army. A codegroup that appears in messages preceding an attack on a particular location may very well stand for that location.
Cribs can be an immediate giveaway to the definitions of codegroups. As codegroups are determined, they can gradually build up a critical mass, with more and more codegroups revealed from context and educated guesswork. One-part codes are more vulnerable to such educated guesswork than two-part codes, since if the codenumber "26839" of a one-part code is determined to stand for "bulldozer", then the lower codenumber "17598" will likely stand for a plaintext word that starts with "a" or "b". At least, for simple one part codes.
Various tricks can be used to "
plant
Plants are the eukaryotes that form the Kingdom (biology), kingdom Plantae; they are predominantly Photosynthesis, photosynthetic. This means that they obtain their energy from sunlight, using chloroplasts derived from endosymbiosis with c ...
" or "sow" information into a coded message, for example by executing a raid at a particular time and location against an enemy, and then examining code messages sent after the raid. Coding errors are a particularly useful fingerhold into a code; people reliably make errors, sometimes disastrous ones. Planting data and exploiting errors works against ciphers as well.
* The most obvious and, in principle at least, simplest way of cracking a code is to steal the codebook through bribery, burglary, or raiding parties — procedures sometimes glorified by the phrase "practical cryptography" — and this is a weakness for both codes and ciphers, though codebooks are generally larger and used longer than cipher
keys. While a good code may be harder to break than a cipher, the need to write and distribute codebooks is seriously troublesome.
Constructing a new code is like building a new language and writing a dictionary for it; it was an especially big job before computers. If a code is compromised, the entire task must be done all over again, and that means a lot of work for both cryptographers and the code users. In practice, when codes were in widespread use, they were usually changed on a periodic basis to frustrate codebreakers, and to limit the useful life of stolen or copied codebooks.
Once codes have been created, codebook distribution is logistically clumsy, and increases chances the code will be compromised. There is a saying that "Three people can keep a secret if two of them are dead," (
Benjamin Franklin - Wikiquote) and though it may be something of an exaggeration, a secret becomes harder to keep if it is shared among several people. Codes can be thought reasonably secure if they are only used by a few careful people, but if whole armies use the same codebook, security becomes much more difficult.
In contrast, the security of ciphers is generally dependent on protecting the cipher keys. Cipher keys can be stolen and people can betray them, but they are much easier to change and distribute.
Superencipherment
It was common to encipher a message after first encoding it, to increase the difficulty of cryptanalysis. With a numerical code, this was commonly done with an "additive" - simply a long key number which was digit-by-digit added to the code groups, modulo 10. Unlike the codebooks, additives would be changed frequently. The famous Japanese Navy code,
JN-25, was of this design.
References
Sources
*
*
*
American Army Field Codes In the American Expeditionary Forces During The First World War William Friedman, U.S. War Department, June 1942. Exhibits many examples in its appendix, including a "Baseball code" (p. 254)
See also
*
Cipher
In cryptography, a cipher (or cypher) is an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure. An alternative, less common term is ''encipherment''. To encipher or encode i ...
*
Code
In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communicati ...
, its more general
communication
Communication is commonly defined as the transmission of information. Its precise definition is disputed and there are disagreements about whether Intention, unintentional or failed transmissions are included and whether communication not onl ...
s meaning
*
Trench code
*
JN-25
*
Zimmermann telegram
*
Code talkers
A code talker was a person employed by the military during wartime to use a little-known language as a means of secret communication. The term is most often used for United States service members during the World Wars who used their knowledge ...
{{DerivedGoebelCrypto
Cryptography
it:Crittografia