Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Review Questions CHAPTER 1

1.1 What is the OSI security architecture?


The OSI (Open Systems Interconnection) security architecture is a conceptual framework
for understanding and implementing security measures in a networked environment. It is a
part of the broader OSI model, which defines the functions and protocols used in
networking. The OSI security architecture consists of the following key components:

1. **Security Services:
2. **Security Mechanisms:
3. **Security Policies
4. **Security Attacks:
5. **Security Models:
6. **Security Architecture Components:

The OSI security architecture helps organizations plan, implement, and maintain effective
security measures by providing a structured framework for addressing security concerns in
a networked environment. It is a reference model for designing and evaluating security
solutions and ensuring that all aspects of network security are considered.
1.2 List and briefly define the three key objectives of computer security.
The three key objectives of computer security are:

1. **Confidentiality:** Ensuring that data is only accessible to authorized users or


systems and remains private, protecting it from unauthorized access or disclosure.

2. **Integrity:** Ensuring the accuracy and trustworthiness of data by protecting it from


unauthorized modification, tampering, or corruption.

3. **Availability:** Ensuring that data and systems are accessible and operational when
needed, preventing disruption, downtime, or denial of service.

1.3 List and briefly define categories of passive and active security attacks.
**Passive Security Attacks:**
1. **Eavesdropping:** Unauthorized listening to data.
2. **Traffic Analysis:** Examining communication patterns.
3. **Reconnaissance:** Gathering information for future attacks.
4. **Monitoring:** Unauthorized surveillance of systems or users.

**Active Security Attacks:**


1. **Data Modification:** Intercepting and altering data.
2. **Denial of Service (DoS):** Overwhelming a system to disrupt service.
3. **Distributed Denial of Service (DDoS):** Coordinated DoS from multiple sources.
4. **Masquerading:** Impersonating authorized users.
5. **Replay Attacks:** Capturing and reusing intercepted data.
6. **Man-in-the-Middle (MitM):** Intercepting and potentially altering communication.

1.4 List and briefly define categories of security services.


**Categories of Security Services:**

1. **Authentication:** Verifying the identity of users, systems, or entities seeking access


to resources.
2. **Access Control:** Regulating and restricting access to resources based on user
permissions and policies.
3. **Data Confidentiality:** Ensuring that data remains private and is not disclosed to
unauthorized parties.
4. **Data Integrity:** Guaranteeing the accuracy and trustworthiness of data by
preventing unauthorized modification.
5. **Non-Repudiation:** Providing evidence to prove that a particular action or
transaction occurred, preventing denial of involvement.
6. **Availability:** Ensuring that resources and services are accessible and operational
when needed, preventing disruptions and downtime.
7. **Authorization:** Granting or denying specific privileges and permissions to users or
systems based on their authenticated identity.
8. **Auditing and Monitoring:** Recording and analyzing activities and events for security
analysis, compliance, and incident response.

These security services are essential for safeguarding information and systems in various
contexts, such as computer networks, applications, and data storage.

1.5 List and briefly define categories of security mechanisms.


Categories of Security Mechanisms:

1. **Encryption:** Protects data through encoding.


2. **Firewalls:** Control network traffic based on rules.
3. **Access Control Lists (ACLs):** Specify resource access permissions.
4. **Intrusion Detection Systems (IDS):** Monitor for unauthorized access.
5. **Antivirus Software:** Detect and remove malware.
6. **Public Key Infrastructure (PKI):** Supports secure communication.
7. **Multi-Factor Authentication (MFA):** Requires multiple forms of authentication.
8. **SSL/TLS:** Secures data transmission.
9. **Digital Signatures:** Authenticate data with a private key.
10. **Tokenization:** Replaces sensitive data with tokens.

1.6 List and briefly define the fundamental security design principles.
Fundamental Security Design Principles:

1. **Least Privilege:** Provide the minimum level of access necessary for users or systems.
2. **Defense in Depth:** Implement multiple layers of security to protect against various
threats.
3. **Fail-Safe Defaults:** Configure systems to be secure by default.
4. **Security through Obscurity:** Avoid relying solely on secrecy for security.
5. **Economy of Mechanism:** Keep security mechanisms simple and easy to understand.
6. **Complete Mediation:** Enforce security checks on every access attempt.
7. **Open Design:** Rely on the security of the design, not the secrecy of the algorithm.
8. **Least Common Mechanism:** Minimize shared resources to reduce vulnerabilities.
9. **Psychological Acceptability:** Ensure that security measures are acceptable and
usable by users.
10. **Isolation:** Separate processes and resources to contain security breaches.

1.7 Explain the difference between an attack surface and an attack tree.

**Attack Surface:**
- The attack surface refers to the sum of all the points, methods, and interactions through
which an attacker can potentially exploit or compromise a system, application, or network.
- It encompasses all possible entry points, interfaces, and vulnerabilities that may be targeted
by malicious actors.
- The goal is to minimize the attack surface by reducing unnecessary access points and
strengthening security measures.

**Attack Tree:**
- An attack tree is a graphical representation of potential attack paths or scenarios that an
attacker might follow to achieve a specific goal.
- It breaks down an attack into a hierarchical structure, starting with the primary goal (the root
node) and branching into different sub-goals and attack steps (nodes) that an attacker would
need to accomplish.
- Attack trees help in visualizing, analyzing, and prioritizing potential threats and attack vectors.

In summary, the attack surface is the entire range of potential attack points or vulnerabilities
within a system, while an attack tree is a structured diagram that illustrates the possible paths
an attacker might take to achieve a particular objective within that attack surface. Attack trees
are a tool used to assess and plan for security threats, while the attack surface is the broader
context in which these threats exist.

Review Questions CHAPTER 3

3.1 Describe the main requirements for the secure use of symmetric encryption.
The main requirements for secure symmetric encryption are:

1. Strong Key Management: Generate, protect, and distribute encryption keys securely.
2. Data Confidentiality: Encrypt data using a strong algorithm and unique Initialization Vectors
(IVs).
3. Data Integrity: Implement integrity checks and verify data before decryption.
4. Secure Storage: Encrypt data at rest and safeguard stored encryption keys.
5. Access Control: Restrict access to keys and encrypted data.
6. Secure Transmission: Encrypt data in transit using secure protocols.
7. Monitoring and Compliance: Monitor activities, comply with regulations, and have an
incident response plan in place.

3.2 What are the two basic functions used in encryption algorithms?
Encryption algorithms use two basic functions:
1. **Encryption:** This function transforms plaintext data into ciphertext using a secret key.
2. **Decryption:** This function reverses the encryption, converting ciphertext back into
plaintext using the same secret key.

3.3 Differentiate between secret-key encryption and public-key encryption.


Secret-key (symmetric) encryption:
- Uses the same key for both encryption and decryption.
- Faster and more efficient.
- Requires secure key distribution.

Public-key (asymmetric) encryption:


- Uses a pair of keys (public and private) for encryption and decryption.
- Slower but more secure for key exchange.
- No need for secure key distribution.

3.4 What is the difference between a block cipher and a stream cipher?
Block cipher:
- Encrypts data in fixed-size blocks.
- Processes data in chunks, padding if necessary.
- AES is an example.

Stream cipher:
- Encrypts data one bit or byte at a time.
- Generates a pseudorandom stream of bits for encryption.
- RC4 is an example.

3.5 What are the two general approaches to attacking a cipher?


Two general approaches to attacking a cipher:
1. **Cryptanalysis:** Analyzing the cipher's algorithm and properties to find
vulnerabilities.
2. **Brute Force:** Trying all possible keys to decrypt the ciphertext.
3.6 List and briefly define types of cryptanalytic attacks based on what is known
to the attacker.
3. Cryptanalytic attacks are categorized based on what the attacker knows. Here are some
types:

1. **Ciphertext-Only Attack:** The attacker only has access to the encrypted ciphertext.
The goal is to deduce the plaintext or the key.

2. **Known-Plaintext Attack:** The attacker possesses pairs of plaintext and


corresponding ciphertext. The objective is to deduce the encryption key.

3. **Chosen-Plaintext Attack:** The attacker can choose and encrypt specific plaintexts,
observing the resulting ciphertext. The aim is to deduce the key.

4. **Chosen-Ciphertext Attack:** The attacker can request the decryption of specific


ciphertexts and observe the results. This can reveal information about the key.

5. **Adaptive Chosen-Ciphertext Attack (CCA):** Similar to chosen-ciphertext, but the


attacker can adapt their requests based on previous results, making it more powerful.

6. **Known-Key Attack:** The attacker knows the encryption key and aims to recover the
plaintext from ciphertext or vice versa.

7. **Differential Cryptanalysis:** Analyzes the differences between pairs of plaintext-


ciphertext to deduce the key or vulnerabilities in the encryption algorithm.

8. **Linear Cryptanalysis:** Uses linear equations to relate the plaintext, ciphertext, and
key to find patterns or the key.
9. **Meet-in-the-Middle Attack:** Encrypts plaintext with different keys and stores
intermediate results, then tries to find matching pairs to deduce the key.

10. **Side-Channel Attacks:** Exploits information leaked by the physical implementation


of a cryptographic system, such as power consumption, electromagnetic radiation, or
execution time.

3.7
What is the difference between an unconditionally secure cipher and a
computationally secure cipher?
The difference between an unconditionally secure cipher and a computationally
secure cipher lies in the level of security they provide and the conditions under
which they remain secure:

1. **Unconditionally Secure Cipher (Perfect Secrecy):**


- This type of cipher, like the one-time pad, offers perfect secrecy.
- Unconditionally secure ciphers are theoretically proven to be unbreakable if
used correctly.
- They are secure regardless of the computational resources available to an
attacker, meaning no amount of computing power can break the encryption.
- However, they have limitations, such as requiring truly random keys that are at
least as long as the message, making them impractical for most real-world
scenarios.

2. **Computationally Secure Cipher:**


- Computationally secure ciphers, also known as practical or modern ciphers,
rely on the assumption that certain computational problems are difficult to solve
within a reasonable time frame.
- These ciphers are considered secure as long as it is computationally infeasible
for an attacker to break the encryption in a reasonable amount of time.
- Their security is based on the assumption that the computational resources
needed to break the cipher exceed what is currently or feasibly available to
attackers.
- Many widely-used ciphers, such as AES and RSA, fall into this category.

3.8 Why is the Caesar cipher substitution technique vulnerable to a brute-force


cryptanalysis?
The Caesar cipher is vulnerable to brute-force cryptanalysis because it has a very limited key
space (only 26 possible keys), making it easy for an attacker to systematically try all possible
keys to decrypt the message.

3.9 How much key space is available when a monoalphabetic substitution cipher
is used to replace plaintext with ciphertext?
In a monoalphabetic substitution cipher, the key space is equivalent to the total number of
possible permutations of the alphabet, where each letter in the plaintext is replaced by another
letter in the ciphertext. This is typically equal to 26! (26 factorial) since there are 26 letters in
the English alphabet.

26! = 26 x 25 x 24 x ... x 3 x 2 x 1 ≈ 4 x 10^26

So, there are approximately 4 x 10^26 possible keys in the key space for a monoalphabetic
substitution cipher. However, despite this seemingly large key space, monoalphabetic ciphers
are relatively weak due to frequency analysis and patterns that can be exploited by
cryptanalysts.

3.10 What is the drawback of a Playfair cipher?


The drawback of a Playfair cipher can be summarized in these points:

1. **Vulnerability to Frequency Analysis:** Playfair ciphers are still susceptible to frequency


analysis, making it easier for attackers to decipher the message based on the frequency of
digrams.
2. **Repetition Handling:** Dealing with repeated letters or digrams in the plaintext can be
complex and sometimes results in patterns that can be exploited.

3. **Key Selection Sensitivity:** The security of the Playfair cipher is sensitive to the choice of
the encryption key, and a poorly chosen key can lead to weaker encryption.

4. **Lack of Modern Security:** In the context of modern cryptography, the Playfair cipher is
considered relatively weak, and it doesn't provide a high level of security against more
sophisticated cryptanalysis methods.

3.11 What is the difference between a monoalphabetic cipher and a


polyalphabetic cipher?
The primary difference between a monoalphabetic cipher and a polyalphabetic cipher lies in
how they substitute letters in the plaintext with letters in the ciphertext:

1. **Monoalphabetic Cipher:**
- In a monoalphabetic cipher, each letter in the plaintext is replaced by a single, fixed
corresponding letter in the ciphertext.
- It uses a simple one-to-one letter substitution throughout the entire message.
- Examples include the Caesar cipher and Atbash cipher.

2. **Polyalphabetic Cipher:**
- In a polyalphabetic cipher, the substitution of letters in the plaintext can vary based on their
position or context within the message.
- It uses multiple substitution alphabets or keys, often determined by a repeating key phrase
or a key schedule.
- Examples include the Vigenère cipher and the Playfair cipher.
In essence, a monoalphabetic cipher employs a fixed letter-to-letter substitution scheme, while
a polyalphabetic cipher uses a more complex and dynamic approach to letter substitution.
Polyalphabetic ciphers are generally more secure than monoalphabetic ciphers.

3.12 What are two problems with the one-time pad?


The one-time pad is a theoretically unbreakable encryption method when used correctly, but it
has two significant practical problems:

1. **Key Distribution:** Distributing truly random and unique keys of the same length as the
message to both the sender and receiver is challenging. Secure key distribution is a logistical
problem, and if not done correctly, the security of the one-time pad can be compromised.

2. **Key Reuse:** If the same one-time pad key is used for multiple messages or if a key is
reused, it becomes vulnerable to cryptanalysis. Reusing a key undermines the perfect secrecy
property of the one-time pad and can lead to the recovery of the plaintext.

3.13 What is a transposition cipher?


A transposition cipher is a type of cryptographic algorithm that works by rearranging the
positions of characters or blocks of text within a message, rather than replacing the characters
as in a substitution cipher. In a transposition cipher, the characters themselves are not
changed; instead, their order is modified based on a specific rule or key.

Transposition ciphers can be simple or complex, and they are often used in combination with
other cryptographic techniques to enhance security. Common types of transposition ciphers
include the Rail Fence cipher and the Columnar Transposition cipher. They are typically less
secure than modern encryption methods but can still be effective when used in the right
context or with strong keys.

3.14 What are the drawbacks of Steganography?

Drawbacks of Steganography:
1. Security relies on secrecy.
2. Limited data capacity.
3. File format dependency.
4. Detection tools exist.
5. Content alteration.
6. Data extraction challenges.
7. Limited authentication.
8. Not a replacement for encryption.

Review Questions CHAPTER 4

4.1 Briefly define a nonsingular transformation.


A nonsingular transformation is a mathematical operation that does not result in a degenerate
or singular outcome. In other words, it is a transformation that preserves the integrity,
invertibility, and non-collapsing nature of the original data or structure, often used in linear
algebra and various mathematical contexts.

4.2 What is the difference between a block cipher and a stream cipher?
The primary difference between a block cipher and a stream cipher is how they
encrypt data:
1. **Block Cipher:**
- Operates on fixed-size blocks of data, typically in chunks of 128, 192, or 256 bits.
- Encrypts the entire block of plaintext at once, producing a block of ciphertext.
- Requires padding for the last block if the input data is not a perfect multiple of the block
size.
- Examples include AES and DES.
2. **Stream Cipher:**
- Encrypts data one bit or byte at a time or in a continuous stream.
- Often uses a pseudorandom keystream generator to combine with the plaintext to produce
the ciphertext.
- Can be more efficient for real-time or continuous data transmission.
- Examples include RC4 and A5/1.

In summary, block ciphers encrypt data in fixed-size blocks, while stream ciphers encrypt data
one piece at a time. Each has its advantages and use cases, depending on the specific
requirements of the encryption scenario.

4.3 Why is it not practical to use an arbitrary reversible substitution cipher of


the kind shown in Table 4.1?
Using an arbitrary reversible substitution cipher, like the one shown in Table
4.1, is generally not practical for several reasons:

1. Key Management: Reversible substitution ciphers require a key to perform the


substitution, and if you want to keep your data secure, you need to manage these keys
properly.
2. Vulnerable to Cryptanalysis: Reversible substitution ciphers are vulnerable to various
cryptanalysis techniques, including frequency analysis.
3. Lack of Perfect Security: Unlike strong encryption methods like modern block ciphers
(e.g., AES) or public-key cryptography (e.g., RSA), arbitrary substitution ciphers do not
provide perfect security.
4. Limited Key Space: The key space (the number of possible keys) in reversible
substitution ciphers is typically limited, making them susceptible to brute force attacks.
5. Inefficient for Large Datasets: Reversible substitution ciphers are not efficient for
encrypting large datasets because they perform character-level substitutions.
6. Lack of Forward Security: Forward security is the property where the compromise of a
single key does not jeopardize the security of past or future communications.
7. Lack of Authentication: Substitution ciphers do not provide authentication, which means
that an attacker could potentially modify the ciphertext or insert their own data without
detection.
8. No Perfect Secrecy: Reversible substitution ciphers do not provide perfect secrecy, also
known as information-theoretic security.
In summary, while reversible substitution ciphers can be educational or serve as puzzles, they
are not practical for securing sensitive data in real-world applications. Strong encryption
methods, such as those based on mathematical algorithms with well-established security
properties, are far more suitable for ensuring data confidentiality and integrity.

4.4 Briefly define the terms substitution and permutation.

- Substitution: Substitution is a cryptographic technique where elements (usually characters or


bits) in the plaintext are replaced with other elements in the ciphertext based on a predefined
rule or key. This process transforms the original data into a different form to achieve
confidentiality and security.
- Permutation: Permutation is a rearrangement or reordering of elements in a specific
sequence. In cryptography, it is used to shuffle the positions of characters, bits, or other data
elements in a way that is reversible when the decryption key is applied. Permutations are often
used to create confusion and diffusion in encryption algorithms.

4.5 What is the difference between diffusion and confusion?


Diffusion and confusion are two fundamental principles in cryptography, often associated with
the design of encryption algorithms. Here's the difference between the two:

1. Diffusion:
- Diffusion refers to the property of an encryption algorithm that spreads the influence of
each plaintext element (e.g., a bit or character) across the entire ciphertext.
- It ensures that small changes in the plaintext result in extensive changes in the ciphertext,
making it challenging for an attacker to identify patterns in the data.
- Achieved through operations like bit permutations or mixing, it helps in hiding the statistical
properties of the plaintext.
2. Confusion:
- Confusion refers to the property of an encryption algorithm that makes the relationship
between the plaintext, the key, and the ciphertext as complex as possible.
- It obscures the connection between the input and output of the encryption process, making
it difficult for an attacker to deduce the key or any specific information about the plaintext from
the ciphertext.
- Confusion is typically achieved through operations like substitution (replacing elements with
others based on the key) and complex mathematical functions.

In summary, diffusion focuses on spreading the influence of plaintext elements throughout the
ciphertext, while confusion emphasizes making the encryption process complex and non-linear,
obscuring the connection between the key, plaintext, and ciphertext. Both diffusion and
confusion are critical components of achieving strong encryption and data security .

4.6
Which parameters and design choices determine the actual algorithm of a
Feistel cipher?
The design of a Feistel cipher involves several parameters and design choices that determine its
specific algorithm. These include:
1. Block Size: The size of the input data block (e.g., 64 bits, 128 bits) determines the size of
data the cipher can process at a time.

2. Number of Rounds: The Feistel cipher operates through a series of rounds. The number
of rounds specifies how many times the data is processed through the Feistel structure.

3. Key Schedule: The method for generating round keys from the main encryption key.
Different Feistel ciphers may use various key scheduling techniques.

4. Subkey Generation: How subkeys are derived from the main round key for each round.
5. F-function: The Feistel function, F, is a critical component that operates on half of the
data block. It incorporates various operations such as substitution, permutation, and
mixing to introduce confusion and diffusion.
6. Data Division: How the input block is split into two halves for processing in each round.
7. Round Function: The specific algorithm used in each round, which typically includes
applying the F-function to one half and performing bitwise operations with the other
half.
8. Data Mixing: How the output of the F-function is mixed or combined with the other half
of the data.
9. Feistel Structure: The arrangement of the rounds in the Feistel structure, which may
vary in terms of order and operations.
10. Inverse Transformation: The process to reverse the encryption to achieve decryption. It
often involves using the same components but in reverse order.

These parameters and design choices collectively define the unique behavior and security of a
Feistel cipher. Variations in these choices can result in different Feistel-based encryption
algorithms, each with its own characteristics and security properties.

4.7 What are the critical aspects of Feistel cipher design?

1. The critical aspects of Feistel cipher design are as follows:

1. **Block Size:** The size of the data blocks the Feistel cipher operates on, typically 64
bits or 128 bits, affects the security and efficiency of the algorithm.

2. **Number of Rounds:** The number of rounds determines the number of


times the data goes through the Feistel structure. More rounds generally
provide stronger security but can impact performance.
3. **Key Schedule:** The method for generating round keys from the main
encryption key. An effective key schedule is crucial for maintaining security.
4. **F-function:** The Feistel function is a central component. Its design,
including substitution, permutation, and mixing operations, is critical for
introducing confusion and diffusion.
5. **Subkey Generation:** The process of generating subkeys for each round
from the main encryption key. The subkey generation method should be
secure.
6. **Data Division:** How the input block is split into two halves for
processing in each round. The choice of data division can influence the
algorithm's behavior.
7. **Round Function:** The specific algorithm used within each round, which
may include applying the F-function and performing bitwise operations.
8. **Data Mixing:** How the output of the F-function is combined with the
other half of the data, affecting diffusion.
9. **Feistel Structure:** The arrangement of rounds in the Feistel structure,
such as the order of operations, is an essential design choice.
10.**Inverse Transformation:** The process used for decryption, which
typically involves using the same components but in reverse order to
recover the plaintext.
11.**Avalanche Effect:** A desirable property where small changes in the
input (plaintext or key) should result in significant changes in the output
(ciphertext).
12.**Key Size:** The size and strength of the encryption key can significantly
impact the security of the Feistel cipher.
13.**Security Analysis:** A comprehensive evaluation of the cipher's security
properties, including resistance to known attacks and vulnerabilities.

Balancing these aspects and ensuring that the Feistel cipher provides both
confusion and diffusion properties is essential for creating a secure encryption
algorithm.

You might also like