Cryptographic Attacks Flashcards
What is a monoalphabetic substitution cipher?
A monoalphabetic substitution cipher is a type of encryption where each letter in the plaintext is replaced by a fixed, different letter from the alphabet. The substitution pattern remains consistent throughout the entire message.
For example, if A is replaced by D, then A will always be D in the ciphertext. While simple, it is vulnerable to frequency analysis attacks due to the fixed substitution pattern.
This type of cipher is particularly vulnerable to frequency analysis.
What is a poly alphabetical substitution cipher?
A polyalphabetic substitution cipher is an encryption method where each letter in the plaintext is replaced by multiple possible letters, depending on its position in the text. This is achieved using multiple substitution alphabets (often based on a keyword). Unlike monoalphabetic ciphers, this method varies the substitution pattern throughout the message, making it more resistant to frequency analysis attacks.
An example of this type of cipher is the Vigenère cipher.
What are the four components of a cryptographic system?
- the plaintext
- the algorithm (encryption, decryption, hash generation)
- a key or salt
- the ciphertext.
Remember: this is true for both hashing and encryption algorithms as they are both considered cryptographic processes!
What is the difference between encryption and hashing?
Encryption is a two-way process and is used for the safe transmission of data (confidentiality).
Hashing is a one-way function that produces a fixed length hash digest and is used for data integrity.
What is a salt value and what is it used for?
A salt value is a random piece of text added to the information, typically by prefixing or suffixing it, before creating a hash digest. This is particularly useful in applications that store passwords, as using a salt value effectively prevents dictionary and rainbow table attacks by ensuring that even identical passwords produce different hash values.
What is a Hash collision?
A hash collision occurs when two different inputs produce the same hash value or digest when processed by a hash function. This is a significant concern in cryptography because the primary purpose of a hash function is to uniquely represent data. If a collision occurs, it undermines the security and integrity of systems relying on hash functions, such as digital signatures, password storage, and data integrity checks. Cryptographic hash functions are designed to minimize the likelihood of collisions, but they are theoretically possible due to the finite size of the hash output.
What is are dictionary and rainbow table attacks?
Dictionary attacks involve attackers using a precompiled list of common passwords or words (a “dictionary”) to guess a user’s password by hashing each word and comparing it to the stored hash.
Rainbow table attacks are more advanced, where attackers use a precomputed table of hash values for many possible passwords. This table allows them to quickly find the password corresponding to a given hash, bypassing the need to hash each guess individually. Salting passwords helps protect against these attacks by ensuring that identical passwords produce different hashes.
What are the two primary reasons to attempt to break a hash?
- To retrieve passwords
- To forge digital signatures.
What is a** ciphertext-only attack (COA)**?
A ciphertext-only attack is a type of cryptographic attack where the attacker has access only to the ciphertext, without any knowledge of the plaintext or the encryption key. The attacker attempts to deduce the plaintext or the encryption key by analyzing patterns, frequencies, or using statistical methods. This type of attack is challenging because the attacker has minimal information to work with, but it can still be effective against weak encryption schemes.
What is a known plaintext attack (KPA)?
A known plaintext attack is a type of cryptographic attack where the attacker has access to both the plaintext and its corresponding ciphertext. By analysing the relationship between the plaintext and ciphertext, the attacker attempts to deduce the encryption key or develop a method to decrypt other ciphertexts encrypted with the same key. This type of attack is particularly effective against encryption algorithms that have predictable patterns or weaknesses.
What is a chosen plaintext attack (CPA)?
A chosen plaintext attack is a type of cryptographic attack where the attacker can choose arbitrary plaintexts to be encrypted and then gains access to the corresponding ciphertexts. By carefully selecting the plaintexts and analysing the resulting ciphertexts, the attacker attempts to deduce the encryption key or uncover weaknesses in the encryption algorithm. This type of attack is more powerful than a known plaintext attack because the attacker has control over the input data, allowing for a more targeted analysis of the encryption process.
What is a chosen ciphertext attack (CCA)?
A chosen ciphertext attack is a type of cryptographic attack where the attacker can select arbitrary ciphertexts to be decrypted and then gains access to the corresponding plaintexts. The attacker uses this capability to analyse how the decryption process works, attempting to deduce the encryption key or uncover vulnerabilities in the encryption algorithm. This attack is particularly powerful because it allows the attacker to manipulate the ciphertext in ways that can expose weaknesses in the cryptosystem, especially if the algorithm does not correctly handle certain types of malformed or specially crafted ciphertexts.
NOTE: for a chosen ciphertext attack to be feasible, the attacker must have some level of access to the decryption process, either through authorised means or by exploiting vulnerabilities in the system.
What is a chosen key attack (CKA)?
A chosen key attack is a type of cryptographic attack where the attacker can influence or choose specific keys that are used in the encryption process. The goal is to find weaknesses or patterns in how the encryption algorithm behaves with particular keys, which could allow the attacker to break the encryption or recover the plaintext without knowing the actual key used in the encryption.
In this attack, the attacker doesn’t directly recover the encryption key but instead tries to learn how the encryption system responds to specific keys, potentially revealing vulnerabilities or shortcuts in the encryption process.
Key Parameters for the Attack:
- The attacker must have the ability to select or influence the keys used during the encryption process.
- The attacker can then analyse the resulting ciphertexts or system behavior to uncover weaknesses in the encryption algorithm.
This type of attack is theoretical and often used in cryptanalysis to test the strength and resilience of cryptographic algorithms against unconventional key usage.
What is cryptanalysis?
Cryptanalysis is the study and practice of analysing cryptographic systems to find weaknesses or vulnerabilities, with the aim of breaking the encryption and revealing the plaintext or key. It involves various techniques to defeat or weaken cryptographic security, enabling access to protected information without the original key.
What are the five categories by which you measure an intruders success in Cryptanalysis?
The five categories by which you measure the success of an intruder conducting cryptanalysis are:
- Total Break: The intruder discovers the encryption key, allowing them to decrypt all intercepted messages.
- Global Deduction: The intruder finds an alternative algorithm that is functionally equivalent to the encryption algorithm, enabling decryption without knowing the key.
- Instance (Local) Deduction: The intruder determines the plaintext for a specific ciphertext without knowing the key.
- Information Deduction: The intruder gains some information about the plaintext or key that was not intended to be revealed, even if they cannot fully decrypt the message.
- Distinguishing Algorithm: The intruder can distinguish the output of the encryption algorithm from random data, suggesting they have found a non-random pattern in the ciphertext.