Crypto - 2. Secret Flashcards
What is a secret key used for in cryptography?
A secret key is used to encrypt and decrypt data securely between parties.
Name three methods for distributing a secret key.
Hand-to-hand, smart card, or a key establishment scheme.
What is a stream cipher?
A stream cipher generates a keystream that is XORed with plaintext to encrypt or with ciphertext to decrypt.
How does a Linear Feedback Shift Register (LFSR) work in cryptography?
An LFSR uses a feedback polynomial to generate a keystream, common in many stream ciphers.
Fill in the blank: The ______ cipher is a well-known stream cipher that has faced vulnerabilities.
RC4
What is the main difference between a block cipher and a stream cipher?
A block cipher encrypts fixed-size blocks of data, while a stream cipher encrypts data bit by bit using a keystream.
Define a block cipher.
A block cipher is a mapping that encrypts fixed-size data blocks using a secret key, with a reversible function for decryption.
What does a pseudo-random permutation (PRP) in block ciphers ensure?
PRP ensures the block cipher output is indistinguishable from a random permutation without the key.
Fill in the blank: The ______ cipher was one of the first standardized block ciphers, based on a Feistel network structure.
DES
Explain Triple-DES and its key strength.
Triple-DES applies DES encryption three times with different keys, resulting in a 112-bit or 168-bit key strength.
What was the goal of the Advanced Encryption Standard (AES) competition?
To find a secure block cipher to replace DES, with 128-bit block size and key sizes of 128, 192, and 256 bits.
Who developed the Rijndael cipher, later standardized as AES?
Joan Daemen and Vincent Rijmen.
What field is used for finite field arithmetic in AES?
AES uses the Galois Field GF(2^8) for its arithmetic operations.
Fill in the blank: The four main transformations in AES are _______, _______, _______, and _______.
SubBytes, ShiftRows, MixColumns, and AddRoundKey.
What is Electronic Codebook (ECB) mode?
ECB mode encrypts each plaintext block independently, which can reveal patterns in the data.