Course outline
Module 1
Module 1: Introduction to Cryptography
Introduction to Cryptography
Knowledge check
Q1. What is the primary purpose of cryptography?
- A. To create secure communication channels
- B. To ensure data confidentiality, integrity, and authenticity ✓
- C. To develop mathematical algorithms
- D. To encrypt data for storage
Why: Cryptography ensures data confidentiality, integrity, and authenticity by using various techniques to protect information from unauthorized access and tampering.
Q2. Which of the following is a fundamental concept in cryptography?
- A. Data compression
- B. Key exchange ✓
- C. Data transmission
- D. Data backup
Why: Key exchange is a fundamental concept in cryptography as it allows secure sharing of cryptographic keys between parties.
Q3. What does symmetric key cryptography involve?
- A. Using different keys for encryption and decryption
- B. Using the same key for encryption and decryption ✓
- C. Using public keys for encryption and private keys for decryption
- D. Using mathematical functions for encryption only
Why: Symmetric key cryptography involves using the same key for both encryption and decryption, making it efficient for certain applications.
Q4. Which of the following is an example of a cryptographic hash function?
- A. AES
- B. RSA
- C. SHA-256 ✓
- D. DES
Why: SHA-256 is an example of a cryptographic hash function, which produces a fixed-size output from variable-length input and is used for data integrity checks.
Q5. What is the main difference between symmetric and asymmetric cryptography?
- A. Symmetric uses one key, asymmetric uses two keys ✓
- B. Symmetric is faster, asymmetric is slower
- C. Symmetric is used for encryption, asymmetric for authentication
- D. Symmetric is used for hashing, asymmetric for encryption
Why: The main difference is that symmetric cryptography uses a single key for both encryption and decryption, while asymmetric cryptography uses a pair of keys: a public key for encryption and a private key for decryption.
Module 2
Module 2: Number Theory in Cryptography
Number Theory in Cryptography
Knowledge check
Q1. What is the greatest common divisor (GCD) of 24 and 36?
Why: The GCD of 24 and 36 is the largest number that divides both 24 and 36 without leaving a remainder, which is 12.
Q2. Which of the following numbers is a prime number?
- A. 15
- B. 21
- C. 23 ✓
- D. 27
Why: A prime number is a number greater than 1 that has no divisors other than 1 and itself. 23 is a prime number.
Q3. What is the result of 7 mod 3?
Why: The modulo operation gives the remainder when one number is divided by another. 7 divided by 3 gives a remainder of 1.
Q4. Which of the following is an example of congruence modulo 5?
- A. 12 ≡ 7 (mod 5)
- B. 10 ≡ 15 (mod 5) ✓
- C. 8 ≡ 3 (mod 5)
- D. 9 ≡ 4 (mod 5)
Why: Congruence modulo 5 means the difference between the numbers is divisible by 5. 10 and 15 differ by 5, so they are congruent modulo 5.
Q5. What is the Euler's totient function φ(9)?
Why: Euler's totient function φ(n) counts the number of integers less than n that are coprime to n. For 9, the numbers 1, 2, 4, 5, 7, and 8 are coprime to 9, so φ(9) = 6.
Module 3
Module 3: Symmetric Key Algorithms
Symmetric Key Algorithms
Knowledge check
Q1. What is the primary purpose of a symmetric key algorithm?
- A. To securely exchange keys over an insecure channel
- B. To encrypt and decrypt data using the same key ✓
- C. To authenticate the identity of users
- D. To generate digital signatures
Why: Symmetric key algorithms use the same key for both encryption and decryption, making them efficient for encrypting large amounts of data.
Q2. Which of the following is a common example of a symmetric key algorithm?
- A. RSA
- B. AES ✓
- C. DSA
- D. Diffie-Hellman
Why: AES (Advanced Encryption Standard) is a widely used symmetric key algorithm known for its security and efficiency.
Q3. In symmetric key cryptography, what is the main challenge when sharing keys?
- A. Key generation
- B. Key distribution ✓
- C. Key storage
- D. Key expiration
Why: The main challenge in symmetric key cryptography is securely distributing the same key to both the sender and the receiver without it being intercepted.
Q4. Which of the following is NOT a characteristic of symmetric key algorithms?
- A. Fast encryption and decryption
- B. Use of public and private keys ✓
- C. Suitable for encrypting large data sets
- D. Requires secure key exchange
Why: Symmetric key algorithms do not use public and private keys; they use the same key for encryption and decryption.
Q5. What is the key size typically used in the AES algorithm for the highest level of security?
- A. 128 bits
- B. 192 bits
- C. 256 bits ✓
- D. 512 bits
Why: AES can use key sizes of 128, 192, or 256 bits, with 256 bits providing the highest level of security.
Module 4
Module 4: Public Key Cryptography
Public Key Cryptography
Knowledge check
Q1. What is the primary purpose of public key cryptography?
- A. To provide symmetric encryption
- B. To enable secure communication without sharing a secret key ✓
- C. To generate random numbers
- D. To create digital signatures
Why: Public key cryptography allows secure communication without the need to share a secret key beforehand, using a pair of keys (public and private) for encryption and decryption.
Q2. Which of the following algorithms is based on the difficulty of factoring large prime numbers?
- A. RSA ✓
- B. Diffie-Hellman
- C. Elliptic Curve Cryptography
- D. AES
Why: RSA is based on the mathematical difficulty of factoring large prime numbers, which forms the basis of its security.
Q3. In public key cryptography, what is the function of the private key?
- A. It is used for encryption
- B. It is used for decryption and signing ✓
- C. It is shared with others for secure communication
- D. It is used to generate public keys
Why: The private key is used for decryption and creating digital signatures, ensuring that only the owner of the private key can perform these actions.
Q4. Which of the following is a common use case for public key cryptography?
- A. Encrypting data at rest
- B. Securely exchanging symmetric keys ✓
- C. Hashing passwords
- D. Compressing files
Why: Public key cryptography is commonly used to securely exchange symmetric keys, which are then used for encrypting larger amounts of data efficiently.
Q5. What is the role of the public key in public key cryptography?
- A. It is kept secret and used for decryption
- B. It is shared openly and used for encryption and verifying signatures ✓
- C. It is used to generate private keys
- D. It is used for hashing data
Why: The public key is shared openly and is used for encrypting messages and verifying digital signatures, ensuring authenticity and confidentiality.
Module 5
Module 5: Hash Functions and Message Authentication
Hash Functions and Message Authentication
Knowledge check
Q1. What is the primary purpose of a hash function?
- A. To encrypt data
- B. To produce a fixed-size output from variable-size input ✓
- C. To decrypt data
- D. To authenticate users
Why: A hash function takes an input (or 'message') and returns a fixed-size string of bytes, which is typically represented as a hexadecimal number. This output is called a hash value or digest.
Q2. Which of the following is NOT a property of a cryptographic hash function?
- A. Deterministic
- B. Collision resistance
- C. Pre-image resistance
- D. Reversible ✓
Why: Cryptographic hash functions are not reversible, meaning it is computationally infeasible to determine the original input from the hash value.
Q3. What is a collision in the context of hash functions?
- A. When two different inputs produce the same hash output ✓
- B. When the same input produces different hash outputs
- C. When a hash function fails to compute a hash
- D. When a hash function is too slow
Why: A collision occurs when two different messages produce the same hash value, which is a critical weakness in cryptographic hash functions.
Q4. Which of the following is a common use case for message authentication codes (MACs)?
- A. Encrypting data
- B. Verifying the integrity and authenticity of a message ✓
- C. Storing passwords securely
- D. Generating random numbers
Why: Message authentication codes (MACs) are used to verify both the integrity and authenticity of a message, ensuring that it has not been altered and that it comes from a legitimate source.
Q5. Which of the following is a well-known cryptographic hash function?
- A. RSA
- B. AES
- C. SHA-256 ✓
- D. Diffie-Hellman
Why: SHA-256 is a widely used cryptographic hash function that produces a 256-bit (32-byte) hash value, commonly used in security applications and protocols.
Module 6
Module 6: Elliptic Curve Cryptography
Elliptic Curve Cryptography
Knowledge check
Q1. What is the general form of an elliptic curve over a field?
- A. y^2 = x^3 + ax + b ✓
- B. y^2 = x^3 + ax^2 + bx + c
- C. y^2 = x^4 + ax + b
- D. y^3 = x^2 + ax + b
Why: The general form of an elliptic curve over a field is y^2 = x^3 + ax + b, provided that the discriminant is non-zero.
Q2. What is the main advantage of elliptic curve cryptography (ECC) over RSA?
- A. It uses smaller key sizes for the same level of security ✓
- B. It is faster in encryption
- C. It is easier to implement
- D. It is more secure in all cases
Why: ECC provides the same level of security as RSA but with much smaller key sizes, making it more efficient.
Q3. What is the identity element in the group of points on an elliptic curve?
- A. (0, 0)
- B. (1, 1)
- C. The point at infinity ✓
- D. (x, y) where x = 0
Why: The identity element in the group of points on an elliptic curve is the point at infinity, which is used in the addition operation.
Q4. What is the term for the number of points on an elliptic curve over a finite field?
- A. Order ✓
- B. Size
- C. Length
- D. Dimension
Why: The number of points on an elliptic curve over a finite field is referred to as the order of the curve.
Q5. Which of the following is a common application of elliptic curve cryptography?
- A. Digital signatures ✓
- B. Text compression
- C. Image processing
- D. Audio encoding
Why: Elliptic curve cryptography is commonly used in digital signatures, due to its efficiency and security.
Module 7
Module 7: Cryptographic Protocols
Cryptographic Protocols
Knowledge check
Q1. What is the primary purpose of a cryptographic protocol?
- A. To encrypt data for storage
- B. To ensure secure communication between parties ✓
- C. To generate random numbers
- D. To verify digital signatures
Why: Cryptographic protocols are designed to establish secure communication channels between parties by ensuring confidentiality, integrity, and authentication.
Q2. Which of the following is a well-known cryptographic protocol used for secure web communication?
- A. RSA
- B. AES
- C. TLS ✓
- D. SHA-256
Why: TLS (Transport Layer Security) is a cryptographic protocol used to secure web communications, such as HTTPS.
Q3. In the Diffie-Hellman key exchange, what is the main goal?
- A. To encrypt messages
- B. To authenticate users
- C. To securely exchange a shared secret over an insecure channel ✓
- D. To generate public keys
Why: The Diffie-Hellman key exchange allows two parties to securely exchange a shared secret over an insecure channel without prior knowledge of each other.
Q4. Which cryptographic protocol is used for secure email communication?
- A. SSL
- B. S/MIME
- C. IPsec
- D. PGP ✓
Why: PGP (Pretty Good Privacy) is a cryptographic protocol used for secure email communication, providing encryption and digital signatures.
Q5. What is a common use case for the Kerberos protocol?
- A. Secure file transfer
- B. User authentication in a network environment ✓
- C. Data compression
- D. Digital rights management
Why: Kerberos is a cryptographic protocol commonly used for user authentication in a network environment, providing secure single sign-on capabilities.