CAE - Cryptography and Encryption (Overview)

Cryptography and Encryption

Introduction

The big idea of this module is exploration of the binary, decimal, and hexadecimal systems, along with encryption and steganography concepts. How do you communicate with your friends, teachers, family, etc.? We typically use words in whatever language is appropriate, such as English, and numbers 0-9, right? By the way, numbers 0-9 are used in the decimal system.

However, as you will learn in this module, computers communicate at a very basic level, binary code, using electric impulses, on and off, 0s and 1s. Therefore, it is important to learn about the language of computers in order to understand how they work. Just like we need to learn a foreign language if we need to communicate with people who speak other languages. You will also learn about the hexadecimal system, which is particularly useful in computing for its efficiency in representing binary data in a more compact form.

Once we know how computers communicate, we can further explore the realm of information security through the introduction of encryption, a process by which plaintext information is converted into a coded form (ciphertext) to prevent unauthorized access. It covers various encryption methodologies, their applications, and the importance of cryptographic keys in securing the encrypted data. Complementing encryption, steganography is the art and science of hiding information within other non-secret text or media, such that the very existence of the hidden information is concealed, offering an additional layer of security. This module does not only impart technical knowledge on how data is structured and manipulated in computing but also instills an understanding of the critical importance of data security in the digital age.

Learning Questions

  1. What are bits, bytes, and binary numbers?
  2. How do hexadecimal numbers work and how can we convert back and forth from decimal numbers?
  3. What are different ways to encode data to help secure data?
  4. How have various cryptography methods been used from ancient history to modern day to protect vital information?
  5. What is steganography and what are the tools that can be used to implement steganography?

Key Terms

Algorithm (aka Cipher): A set of mathematical instructions or rules that, especially in computing, are designed to solve a problem or perform a task; for example, the AES algorithm is used for secure data encryption.

ASCII: American Standard Code for Information Interchange, a character encoding standard for electronic communication; for example, the ASCII code for the letter 'A' is 65.

Binary Number System: A base-2 numeral system that uses only two symbols, typically 0 and 1, to represent values; for example, the binary representation of the decimal number 5 is 101.

Binwalk Tool: A tool used for analyzing and extracting firmware images and finding hidden files and signatures; for example, it can be used to extract a file system from a firmware image.

Bit: The smallest unit of data in computing, represented by a 0 or 1; for example, in the binary number 1010, each 1 and 0 is a bit.

Byte: A group of eight bits, commonly used to represent a character in computing; for example, the letter 'A' in ASCII is represented by the byte 01000001.

Ciphertext: Encrypted text transformed from plaintext using an algorithm and a key; for example, the result of encrypting "hello" with a shift cipher might be "khoor.”

Compiler: A program that translates code written in a high-level programming language into machine code that a computer's processor can execute; for example, a C compiler converts C code into executable machine code.

Computer Language: A set of syntax and semantic rules used to instruct a computer to perform specific tasks; for example, Python is a popular high-level programming language.

Cryptanalysis: The study of analyzing information systems to understand hidden aspects of the systems, often used to break cryptographic security systems; for example, breaking the Enigma cipher during World War II.

Cryptography: The practice and study of techniques for secure communication in the presence of third parties; for example, using RSA encryption to securely transmit data over the internet.

Data Security: Measures and controls that ensure data is protected from unauthorized access or alterations; for example, using encryption to protect sensitive information stored on a laptop.

Decimal: A base-10 numeral system, the most widely used number system, employing 10 different symbols from 0 to 9; for example, the decimal number 123 represents one hundred and twenty-three.

Encoding: The process of converting data into a different form, often for compression or transmission; for example, converting an image into a Base64 string for embedding in HTML.

Exfiltration: The unauthorized transfer of data from a computer or other device to an external location; for example, a hacker stealing confidential documents from a corporate network.

Frequency Analysis: A technique in cryptanalysis used to break simple ciphers by analyzing the frequency of letters or groups of letters in a ciphertext; for example, in English, the letter 'E' is likely to be the most common letter in a plaintext.

Hashing: The process of converting data into a fixed-size string of characters, which is typically a hash code; for example, the SHA-256 algorithm can hash data into a 256-bit signature.

Hexadecimal: A base-16 numeral system using sixteen distinct symbols, 0-9 and A-F, to represent values; for example, the hexadecimal representation of the decimal number 255 is FF.

Key: A piece of information used in cryptography to determine the functional output of a cryptographic algorithm; for example, a password that decrypts an encrypted file.

Machine Language: The set of binary instructions that a computer's CPU executes directly; for example, a simple machine language instruction might tell the computer to add two numbers.

Metadata: Data that provides information about other data; for example, a digital photo's metadata may include information about the camera used, the date it was taken, and the location.

Monoalphabetic Ciphers: Encryption methods that use a single substitution alphabet to replace plaintext letters; for example, a Caesar cipher shifts all letters in the plaintext by a fixed number.

Obfuscation: The deliberate act of making something difficult to understand or interpret, often to hide its true meaning; for example, obfuscating code to protect intellectual property.

OTP = One-Time Pad: A cryptographic algorithm where plaintext is paired with a random secret key of the same length and each character of the plaintext is encrypted one at a time; for example, using a random set of letters to encrypt a message where each letter of the plaintext is shifted by a number derived from the corresponding letter in the key.

Plaintext: Unencrypted text or data that is readable without any cryptographic analysis or decryption; for example, the message "hello world" before encryption.

Polyalphabetic Cipher: A cipher that uses multiple substitution alphabets to encrypt the plaintext; for example, the Vigenère cipher uses a series of different Caesar ciphers based on the letters of a keyword.

Programming: The process of designing, writing, testing, debugging, and maintaining the source code of computer programs; for example, developing a software application in Java.

Scripting: Writing short programs, often written in scripting languages like Python or Bash, to automate tasks; for example, a script to backup files from a computer to a storage device.

Shift Cipher: A type of monoalphabetic cipher where the letters of the plaintext are shifted a certain number of places down or up the alphabet; for example, a shift of 3 would encrypt 'A' to 'D'.

Steganography: The practice of hiding messages or information within other non-secret text or data; for example, hiding a secret message within an image file.

Substitution: In cryptography, the method of replacing elements of the plaintext with corresponding elements of a ciphertext alphabet; for example, replacing each letter with the letter three positions down the alphabet.

Transistors: Semiconductor devices used to amplify or switch electronic signals and electrical power; for example, transistors are the building blocks of computer processors.

Transposition: A cryptographic technique that rearranges the characters of the plaintext to form the ciphertext; for example, writing a message in a grid row-wise and reading it off column-wise to encrypt it.

 

[CC BY-NC-SA 4.0 Links to an external site.] UNLESS OTHERWISE NOTED | IMAGES: LICENSED AND USED ACCORDING TO TERMS OF SUBSCRIPTION - INTENDED ONLY FOR USE WITHIN LESSON.