Author: Thiago Nascimento Rodrigues
By the end of the text, you will have learned:
Conceptualize encryption
Identify the cryptography theoretical fundamentals
Describe encryption applications
The need to hide information or to guarantee the secrecy of messages exchanged between two
parties dates back to the most ancient periods of human history. Whether the reason is the simple
guarantee of a communication channel privacy or strategic reasons of a financial or military nature,
the demand for confidentiality has grown over the years. As a result, new technologies continue to
be developed to meet an increasingly critical security level. Especially with the advent of the
Internet, this need has gained unprecedented relevance.
In this scenario, cryptography has consolidated itself as a science that subsidizes any development
and implementation of security mechanisms. And with the rapid increase in computing power each
year, more mathematical foundations have been being incorporated into research and studies in
cryptography. This ensures the design of more robust and complex algorithms to be breached.
In this course, you will get an introduction to this field of study that is at the heart of all modern
digital security. The main encryption strategies will be explored along with the respective
mathematical foundation. Furthermore, practical examples will be detailed providing a more applied
view of encryption techniques.
Introduction to Cryptography
The word cryptography has its origins in two Greek words that mean “secret writing” and is the art and
science of hiding the meaning. Encryption appears to be closely linked to modern electronic
communication. However, cryptography is a very old art/science, with the earliest examples dating back
to around 2000 BC, when non-standard “secret” hieroglyphics were used in ancient Egypt. Since
Egyptian days, cryptography has been used in one form or another in many, if not most, cultures that
developed a written language. For example, there are documented cases of secret writing in ancient
Greece and Rome (Paar e Pelzl, 2010).
Know More: The Egyptians were able to communicate by written messages with hieroglyphics.
This code was the secret of a selected category of people: the scribes. Scribes used to pass on
the secret of writing hieroglyphics from father to son until society collapsed. It was only several
millennia later, in 1822, that this secret code was broken by French Egyptologist Jean-François
Champollion (Vaudenay, 2006).
Another example of writing protection or use of primitive cryptography in antiquity was employed by
the Spartan warriors who used to encrypt messages using scytaless. Scytales were cylinders around which
they wrapped a leather belt. Encryption was accomplished by writing the message onto a leather belt
along the axis of the cylinder and unwrapping the belt. The reverse operation or “decryption” was
performed by wrapping the belt around a cylinder of the same diameter and reading the message along the
axis (Vaudenay, 2006). Figure 1 illustrates the structure of a Spartan scytale.
, Figure 1: Spartan Scytale (Emory Oxford College, 2021)
Historically, the biggest consumers of cryptography were military organizations and governments.
Such communication with secret codes was commonly required
by diplomacy: governments had to communicate with their remote embassies in suspicious
environments;
during war: an army headquarters needed to communicate in hostile environments;
for individual or corporate privacy: people wanted to be protected from neighbors (against
jealous spouses, against dictatorships, etc.), companies wanted to protect their assets from
competition.
Most of these scenarios, however, used encryption in a trivial way. Furthermore, most secret codes had
a security based on obscurity: the secret codes were dedicated to specific applications and people who
wanted to communicate securely had to choose their own secret code. Thus, all users involved in the
communication should be able to manipulate the related encryption technique. The history of modern
cryptography began with electrical communication technology, for which this model has clearly proved
inadequate.
Until the late 20th century, cryptography was actually largely an art. Building good codes, or breaking
existing ones, depended on creativity and a developed sense of how codes work. There was little theory to
fall back on and, for a long time, no working definition of what constitutes a good code. Beginning in the
1970s and 1980s, this scenario of cryptography changed radically. A rich theory began to emerge,
allowing the rigorous study of cryptography as a science and mathematical discipline. This perspective, in
turn, has influenced the way researchers think about the broader field of computer security (Katz and
Lindell, 2015).
In short, cryptography has moved from a heuristic set of tools concerned with securing secret military
communication to a science that helps protect systems for ordinary people around the world. It also means
that cryptography has become a more central topic in computer science.
Encryption
Encryption is the main application of cryptography. It makes data incomprehensible to ensure its
confidentiality - security that certain information cannot be accessed by unauthorized persons. The
encryption process uses an algorithm called a cipher and a secret value called a key so that if someone
doesn't know this secret key, he will be able neither to decrypt, nor to learn any information about the
encrypted message.
When a message is encrypted (or ciphered), plain text refers to the unencrypted message and
ciphertext to the encrypted message. A cipher is therefore made up of two functions: encryption that
turns plain text into ciphertext, and decryption that turns ciphertext into plain text. But, in general, the
term “cipher” is used interchangeably with the term “cryptography”. For example, Figure 2 shows a
cipher, E, represented as a box taking a plain text, P, and a key, K, as input, and producing a ciphertext,
C, as output. This relationship is commonly denoted by C = E(K, P). Likewise, when the cipher is in
decryption mode, the relationship is expressed as D(K, C).