Encryption
Encryption is a method of protecting data by transforming it so that only authorized users can read the message. To decrypt the message and access it, these users use a special key. Data encryption is used to ensure confidential transmission of information in military matters, banking transactions, secret commercial and diplomatic correspondence, and in the operation of certain internet services and instant messaging apps.
History of encryption
People attempted to reliably encrypt information in the most ancient civilizations of the Middle East (Ancient Egypt, Mesopotamia, Persia), in the ancient states, in China, and elsewhere. The oldest cipher discovered is an ancient Egyptian papyrus listing monuments from the time of Pharaoh Amenemhat II. In it, the author modified some hieroglyphs—though it is not known for certain whether this was done to conceal information or simply to impress the reader.
Another example of an ancient cipher is the Semitic atbash. Cryptograms (encrypted texts) written with it are found in the Hebrew Tanakh (Bible). This is a classic monoalphabetic cipher, in which encryption is achieved by substituting Hebrew letters in words according to the formula n – i + 1, where i is the number of the letter being substituted and n is the number of letters in the alphabet. The “Caesar cipher,” used in ancient Rome, operated on a similar principle.
One of the first known cryptographic devices, the scytale, was invented in Ancient Greece and Sparta. A strip of parchment was wound in a spiral around a faceted cylinder of a certain diameter. Encrypted information was written on the strip along one facet. The parchment strip was then unwound, and the remaining spaces were filled with random letters. The cipher could only be deciphered by winding the parchment strip around a cylinder of the same diameter.

Encryption achieved great success in the Middle Ages in Arab countries, where such important sciences as linguistics and mathematics were highly developed. Polyalphabetic ciphers, in which the letters of one alphabet were substituted for those of another, were first used there. Furthermore, it was there that cryptanalysis—the technique of deciphering without a key—was born.
Cryptography received a new impetus for its development in modern Europe, where the work of Arab scholars merged with European traditions of text encryption and the latest advances in Western science and technology. Cryptography, from scattered practices, began to emerge as a fully-fledged discipline. Its scope of application also expanded: while encryption had previously been used primarily by the military, it was now increasingly employed in civilian spheres, primarily in trade and banking to protect commercial information.
In 1466, the Italian mathematician Leon Battista Alberti invented a cipher device in the form of a disk with two rotating parts—an outer and an inner one. Both were inscribed with letters and numbers, but in different orders. To encrypt messages, each character of the ciphertext had to be first found on the outer part and replaced with the character on the inner part. The inner part was then moved, and a replacement for the next character in the ciphertext was found on it. Thus, it was one of the first complex cryptographic mechanisms based on a polyalphabetic cipher. He also wrote one of the first fundamental works on cryptography, the “Treatise on Ciphers.”

The first encryption machines appeared during the Industrial Revolution. In 1790, Thomas Jefferson, the future American president, invented a device called the “Jefferson cylinder,” which allowed for automatic encryption of text. With the invention of the telegraph in the 19th century, the first electromechanical encryption machines appeared, and bigram-based ciphers (pairs of symbols) began to be used in military affairs. Military cryptography received a particular boost from the First and Second World Wars, during which mobile encryption devices were widely used by all sides. The most famous of these, the German Enigma, was long considered completely unbreakable. But in Great Britain, at the secret Bletchley Park, a team of codebreakers, including the renowned mathematician and computer theorist Alan Turing, invented a specialized computer, the “Bombe.” It enabled the decryption of German naval command transmissions. Thus began a new computer era in the history of cryptography.
What is encryption?
In many articles, the terms encryption and coding are used synonymously, but this is not the case. Coding is the transformation of information using a symbolic system from a form convenient for immediate use to a form suitable for transmission, processing, and storage. In the most general sense, coding is the recording of data using a standard alphabet or numbers. In a narrower sense, it can be, for example, the conversion of a text message into a telegraph message using Morse code, or a computer program into machine code (a set of zeros and ones).
Encryption is a special case of coding, the purpose of which is to conceal information from unauthorized persons. This process involves applying two algorithms (information transformation processes) to the original open data:
- Encryption – it transforms the original plaintext (data set) into a secret code;
- Decryption – this algorithm, on the contrary, is used to convert the secret code back into an open data set.
The set of algorithm parameters used to activate an algorithm is called a key. In some encryption systems, an object or special device can play this role—for example, in the Greek scytale, it was a cylinder of a certain diameter and length. The key is the instrument used to encrypt/decrypt a message. In modern cryptography, a principle formulated by the 19th-century Dutch military cryptographer Auguste Kerckhoffs is used to increase the security of an encryption system. This principle, which can be summarized as follows:
- The encryption algorithm itself must be open – this prevents an unauthorized person from hacking the system by simply studying it;
- The secret must be the key – that is, a certain set of algorithm parameters.
For example, Allied cryptographers generally understood the encryption algorithm used in the German Enigma electromechanical cipher machine. Simply put, it involved replacing letters of the original text with new ones through successive movements of the rotor mechanism. However, the encryption key itself was unknown to the Allies. Enigma was cracked only through a combination of indirect factors:
- carelessness and errors made by the Germans when encrypting messages;
- samples of the machine with accompanying documentation that fell into the hands of the students and the study of the precise operation of the rotary mechanisms;
- encrypted messages containing known information (for example, weather reports) that fell into the hands of the Allies, etc.
The invention of decryption devices played a decisive role in breaking Enigma. Initially, these were Polish “cryptanalytic bombes,” which allowed the decryption of early, less secure commercial versions of the German machine. Then, during World War II, British cryptanalysts at Bletchley Park used these devices to invent the “Bomba” machine, which calculated the daily position of the rotor mechanisms of military versions of Enigma, which formed the core of the key.
However, even simple encoding of information can, in some situations, be considered encryption. For example, for someone who doesn’t know how to write, any text will be an incomprehensible cipher until they learn the key (the alphabet). In particular, the Rosetta Stone, on which the same text was written in hieroglyphs, simplified (Demotic) Egyptian script, and Greek, a language well known to Europeans, helped the French orientalist Jean-François Champollion understand ancient Egyptian hieroglyphic writing. By comparing these inscriptions and using linguistic analysis, he was able to first decipher the names of Egyptian pharaohs written in hieroglyphs and, from there, decipher other hieroglyphs.
Encryption methods
Modern cryptography is based on the same principles as before, but methods for encrypting information have become more reliable and sophisticated through the widespread use of mathematical methods and computer technology. Two main types of encryption are used today.
- Symmetric. It uses the same key to encrypt and decrypt messages. For symmetric encryption to provide the required data security, this key must be secret but known to both the sender and recipient of the message. Obviously, such a system will not be completely secure—an unauthorized person who learns the key can either read confidential information or send a false message. However, symmetric encryption algorithms speed up the encryption/decryption process and are therefore widely used for transmitting large amounts of information.

- Asymmetric encryption. This type of encryption uses two different keys, mathematically related, to encrypt and decrypt a message. While the first key may be public, the second key is always kept secret. This means that even an unauthorized person with the first key cannot decrypt the message (but can send a false one). However, asymmetric encryption is more complex and time-consuming, so it is often used for securely transmitting small amounts of information.

Combined encryption is also widely used in practice. For example, a faster symmetric encryption method is used to transmit the data itself, while an asymmetric encryption method is used to transmit the key needed to decrypt the data (which is also information).
In modern computer data transmission systems (messengers, email, etc.), keys are a specific set of characters generated by a random character generator or mathematical algorithms. This allows for the rapid creation of different keys for each communication session or even individual messages, significantly increasing the security of transmitted data.
What is decryption?
Decryption is the reverse process of encryption, converting secret data into something readable (storable, usable). The simplest method of decrypting an encrypted message is using a key. However, this is not the only method. There are methods for decrypting a message without a key—the study and development of these methods is the subject of cryptanalysis.
The simplest method of decrypting a message without knowing the key is brute-force, which involves trying all possible combinations until the correct one is found. Essentially, this method can be used to crack any cryptosystem except those that are absolutely secure. In practice, the effectiveness of brute-force decryption depends on the ability to determine the correctness of the decrypted message, which poses the following problems:
- With manual selection, a cryptanalyst can relatively easily determine the correctness of the decryption, but quickly selecting the required key in this case will only be possible for simple cryptographic systems;
- When automatically selecting a key using a computer program, it is possible to quickly sort through a large number of possible key options, but there are difficulties with the program determining the correctness of the decrypted message.
Another frequently used decryption method is the analysis of intercepted messages. Given encrypted information and at least a rough idea of its content, it is possible to determine the encryption algorithm and brute-force the key. These can then be used to decrypt other messages. The unique feature of this method is that data interception requires less complex, expensive, and cumbersome equipment than brute-force key guessing. For example, an email sent over an encrypted channel can be read from a CRT monitor using a simple television antenna that captures the electromagnetic signals emitted by the cathode ray tube (the Van Eyck interception). Specialized sniffer programs (including free ones) are available for reading encrypted internet traffic.
Analyzing the cryptographic system itself—specifically, the device or program used to create the cipher—can help decrypt a message. Combined with message interception and reverse engineering, this allows, if not to find the key, then at least to understand the encryption algorithm.
Among non-technical methods of decrypting messages, various social engineering techniques are widely used. In the context of information security, these refer to various methods of psychological influence and manipulation of people in order to extract information about the content of encrypted messages, the operating principles of cryptographic devices, keys, encryption algorithms, etc. A typical example of social engineering is a phishing email in the form of an official email with a link leading to a fake website imitating the website of an organization. Upon landing on this website, the inexperienced user enters their login information (login and password, bank card number, etc.), which grants access to personal information, funds in their bank account, etc.
Today, encryption (cryptography) is the foundation of information security across a wide range of industries. It is used by ordinary people in everyday and work correspondence, money transfers, and when storing data on home computers. Data privacy is particularly important in government administration, diplomacy, banking, the military, commercial activities, and elsewhere. To ensure this, sophisticated cryptographic algorithms and encryption tools, multi-factor user authentication methods, hack-resistant equipment, and other measures are used to minimize the possibility of unauthorized access.
Explore More IT Terms
#
A
- A Guide to SQL Query Formatting
- A/B testing
- AES Encryption Algorithm: How It Works and Where It's Used
- Agile
- Algorithm
- Algorithm complexity in 5 minutes
- Algorithms and Data Structures in C#
- An overview of the C # programming language
- An overview of the Python programming language
- Anaconda Python
- Android
- Android App Bundle
- Android SDK
- Angular
- Ansible
- Apache
- Apache Airflow
- Apache Kafka
- Apache Tomcat
- App Store
- AppCode
- Applications of microcontrollers: From simple circuits in electronics to complex systems
- Applications of the derivative
- Arduino: How to Program It: Basics for Beginners
- Array-based stack
- ArrayList
- ASCII
- ASP.NET
- Assembly Language Lessons
B
C
D
- Data Analytics: applications of data analysis in companies
- Data Engineer - Who is it, what does a data engineer do, and an overview of the profession
- Data modeling: what it is, types, and process steps.
- Data preprocessing: a complete guide for beginners and professionals.
- Data structure
- Database Tests with Answers
- Deep Learning
- Defining Aliases
- Defining Arrays
- Deque
- Developing a Website from Scratch
- Differential Equations
- Differentiation of functions
- Digital data: understand the importance of this asset for businesses.
- Double integrals
- Doubly linked lists
E
F
H
- Handling errors and exceptions
- Heads or Tails? How Probability Theory Is Used in IT
- History of the development of computer science
- How to effectively organize your workflow
- How to Learn Java: Tips for Beginner Developers
- How to Learn PHP: A Beginner's Guide
- How to Use S3 Storage in Kubernetes with CSI
- HTML
- HTML and CSS: Definition, Application, and Operating Principles
- HTML and CSS. Layout from Scratch: What to Learn, Where to Learn, and How Long Will It Take?
- HTML Frame Structure
- HTML Link Formatting
I
- if..else construction
- Infinite sequences and series
- Information properties
- Inheritance in Java: A Complete Guide to Principles and Implementation
- Inserting an Image
- Integration of functions
- Interactive Python Tutorial – Learn Programming from Scratch
- Interpreter
- Interview Problem: Finding a Deleted Element in O(N)
- Interview Scare: The FizzBuzz Challenge
- Introduction to C++
- Introduction to Machine Learning
- Introduction to Networking | Network Fundamentals Part 1
- Introduction to Number Systems (Binary, Octal, Hexadecimal) | Math for CS Foundations #1
- IT Specialist Resume (CV)
J
K
M
- Machine Learning
- Machine Learning Basic Tool: NumPy
- Machine Learning Basic Tool: Pandas
- Machine Learning Mathematics
- Mathematics for programmers: what is really needed?
- MD5 encryption algorithm: What is it and why is it needed?
- Microcontroller and Microprocessor - what's the difference?
- ML Engineer: Who They Are, What They Do, How Much They Earn, and How to Become a Neural Network Specialist
- Monte Carlo Simulation: How It Works and What It's For
O
P
- PHP lessons
- Private DNS server and its configuration
- Program code
- Programmer's Dictionary
- Programming
- Programming with pseudocode
- Python Code Formatting Guide: PEP8
- Python for data analysis: how to do it and main libraries
- Python Lessons
- Python Superstar: 5 Ways to Use the * Operator
- Python vs. Julia: Should You Replace Python with Julia?
R
S
- SFML Graphics Library Tutorials
- Sorting Algorithms in Programming: Types, Descriptions, and Comparisons
- SQL commands: see what they are, what the main ones are + examples
- SQL Interview Questions and Tasks
- SQL Lessons
- SQL Stored Procedures
- SQL Syntactic Sugar: The COALESCE Function
- Stack
- Start in analytics: Python or R
- Statistical analysis: importance for decision making.
- String formatting in Python
- Structure of computer science
- Swift Lessons
- switch/match construct
- Syntax
T
- Terms in programming
- Text and paragraph formatting tags
- The concept of information and its transmission
- The Future of Python: Key Trends and Insights from Global Researc
- The Infrastructure of Code: A Complete Guide to Repositories for Languages, Frameworks, and Compilers
- The pip package manager in Python
- The role of informatization in the development of society
- Transfers
- Tutorials / Articles
- TypeScript: What It Is and Why Developers Need It
W
- What are databases, and why do they need DBMS and SQL?
- What do Linux distributions consist of?
- What is .NET and what is it used for?
- What is a GPU in a computer, in simple terms?
- What is a quantum computer: 100,500 problems in one second
- What is Arduino: How it Works and the Platform's Capabilities
- What is Big Data? Introduction, Types, Characteristics, and Examples
- What is Golang and what is it used for?
- What is Haskell and what is it used for?
- What is Kotlin and what is it used for?
- What is Linux? The History of Linux
- What is machine learning, and how does it work?
- What is Power BI: everything about the data analytics software
- What is the C++ programming language?
- What is the OSI Model: A Complete Explanation of the Seven Layers and Their Role in Networking
- What's the difference between x86 and ARM processors?
- Where to start learning the C programming language?
- Which Linux distribution should you choose? A Linux distribution overview


