Chapter 10 Understanding Cryptography and PKI Flashcards
______ provides assurances that data has not been modified. Hashing ensures that data has retained integrity.
Integrity
A ____ is a number derived from performing a calculation on data, such as a message, patch, or file.
Hash
_______ creates a fixed-size string of bits or hexadecimal characters, which cannot be reversed to re-create the original data.
Hashing
Common hashing algorithms include ___ and ______ ____ ________.
MD5 and Secure Hash Algorithm (SHA)
_________ ensures that data is only viewable by authorized users.
Confidentiality
_______ protects the confidentiality of data.
Encryption
_______ scrambles, or ciphers, data to make it unreadable if intercepted.
Encryption
_______ normally includes an algorithm and a key.
Encryption
_______ _________ uses the same key to encrypt and decrypt data.
Symmetric encryption
_________ _________ uses two keys (public and private) created as a matched pair.
Asymmetric encryption
_________ _________ requires a Public Key Infrastructure (PKI) to issue certificates.
Asymmetric encryption
True or False: Anything encrypted with the public key can only be decrypted with the matching private key.
True
True or False: Anything encrypted with the private key can only be decrypted with the matching public key.
True
_____ ______ encrypt data 1 bit at a time.
Stream ciphers
_____ _______ encrypt data in blocks.
Block ciphers
___________ provides a level of confidentiality by hiding data within other files.
Steganography
A ______ _______ provides authentication, non-repudiation, and integrity.
Digital signature
__________ validates an identity.
Authentication
____________ prevents a party from denying an action.
Non-repudiation
True or False : Users sign emails with a digital signature, which is a hash of an email message encrypted with the sender’s private key.
True
True or False : Only the sender’s public key can decrypt the hash, providing verification it was encrypted with the sender’s private key.
True
True or False : No matter how many times you execute the hashing algorithm against the data, the hash will always be the same if the data is the same.
True
_______ _______ is a common hashing algorithm that produces a 128-bithash.
Message Digest 5 (MD5)
True or False : Although, security experts now consider MD5 cracked and discourage its use, it is still widely used to verify the integrity of files. This includes email, files stored on disks, files downloaded from the Internet, executable files, and more.
True
List the different types of SHA
- SHA-0 - not used
- SHA-1 - creates 160-bit hashes. deprecated by NIST in 2011
- SHA-2 - four version SHA-256, SHA-512, SHA-224, SHA-384. The last two create truncated versions of the first two
- SHA-3 - similar to SHA-2
An ____ is a fixed-length string of bits similar to other hashing algorithms such as MD5 and SHA-1
HMAC
True or False : HMAC also uses a shared secret key to add some randomness to the result and only the sender and receiver know the secret key.
True
True or False : Internet Protocol security (IPsec) and Transport Layer Security (TLS) often use a version of HMAC such as HMAC-MD5 and HMAC-SHA1.
True
_____ _________ ________ _______ ______ ______ is another hash function used for integrity, though it isn’t as widely used as MD5, SHA, and HMAC.
RACE Integrity Primitives Evaluation Message Digest (RIPEMD)
True or False : Many applications calculate and compare hashes automatically without any user intervention.
True
_________ is a free program anyone can use to create hashes of files.
sha1sum.exe
True or False : Hashing is a one-way function that creates a string of characters. You cannot reverse the hash to re-create the original file. Passwords are often stored as hashes instead of storing the actual password. Additionally, applications often salt passwords with extra characters before hashing them.
True
___ _________ is a technique used to increase the strength of stored passwords and can help thwart brute force and rainbow table attacks.
Key stretching (sometimes called key strengthening)
True or False : Key stretching techniques salt the passwords with additional random bits to make them even more complex.
True
List two common key stretching techniques
- Bcrypt
2. Password-based key derivation function 2 (PBKDF2)
______ is based on the Blowfish block cipher and is used on many Unix and Linux distributions to protect the passwords stored in the shadow password file.
Bcrypt
_____ salts the password by adding additional random bits before encrypting in.
Bcrypt
True or False: The result of bcrypt is a 60-character string
True
True or False : As an added measure, it’s possible to add some pepper to the salt to further randomize the bcrypt string.
True
The pepper is another set of random bits stored elsewhere
________ uses salts of at least 64 bits and uses a pseudo-random function such as HMAC to protect passwords.
PBKDF2
True or False : Many algorithms such as Wi-Fi Protected Access II (WPA2), Apple’s iOS mobile operating system, and Cisco operating systems use PBKDF2 to increase the security of passwords.
True
True or False : Some security experts believe that PBKDF2 is more susceptible to brute force attacks than bcrypt.
True
True or False : If a question asks what you would use to encrypt data and it lists hashing algorithms, you can quickly eliminate them because hashing algorithms don’t encrypt data.
True
_________ data is in a ciphertext format that is unreadable.
Encrypted
True or False : if data is sent in cleartext, an attacker can capture and read the data using a protocol analyzer.
True
_____ __ ____ refers to any data stored on media and it’s common to encrypt sensitive data.
Data-at-rest
____ __ _______ refers to any data sent over a network and it’s common to encrypt sensitive data-in-transit.
Data-in-transit
____ __ ___ refers to data being used by a computer.
Data-in-use
What two elements are included in symmetric and asymmetric encryption?
- Algorithm
2. Key
The _______ performs mathematical calculations on data and is always the same
Algorithm
The ___ is a number that provides variability for the encryption. It is either kept private and/or changed frequently.
Key
True or False : Many encryption schemes require a random or pseudo-random number as an input.
True
An ______ _____ provides a starting value for a cryptographic algorithm. It is a fixed-size random or pseudo-random number that helps create random encryption keys.
Initialization vector (IV)
A ______ is a number used once.
Nonce
True or False : Many cryptographic algorithms use a random or pseudo- random nonce as a seed or a starting number.
True
___ operations compare two inputs.
XOR
In the context of encryption, _______ means that the ciphertext is significantly different than the plaintext.
Confusion
Effective ______ techniques ensure that small changes in the plaintext result in large changes in the ciphertext.
Diffusion
A _______ algorithm is one that is kept private.
Secret
True or False : A weak algorithm can be cracked, allowing an attacker to easily convert ciphertext back to plaintext.
True
Within cryptography, ____ _______ refers to the security of an encryption key even if an attacker discovers part of the key.
High resiliency
A ____ _____ encrypts data in specific-sized blocks, such as 64-bit blocks or 128-bit blocks.
Block cipher
True or False : The block cipher divides large files or messages into these blocks and then encrypts each individual block separately.
True
A _____ ______ encrypts data as a stream of bits or bytes rather than dividing it into blocks.
Stream cipher
In general, ______ _______ are more efficient than block ciphers when the size of the data is unknown or sent in a continuous stream, such as when streaming audio and video over a network.
Stream ciphers
_____ _______ are more efficient when the size of the data is known, such as when encrypting a file or a specific-sized database field.
Block ciphers
True or False : An important principle when using a stream cipher is that encryption keys should never be reused.
True
If a key is reused, it is easier to crack the encryption.
Algorithms that use ___ divide the plaintext into blocks and then encrypt each block using the same key.
Electronic Codeblock ECB
True or False : The Electronic Codebook (ECB) mode of operation is the simplest cipher mode
True
True or False : ECB is not recommended for use in any cryptographic protocols today.
True
_____ ______ ________ mode is used by some symmetric block ciphers. It uses an IV for randomization when encrypting the first block. It then combines each subsequent block with the previous block using an XOR operation.
Cipher Block Chaining (CBC)
Because encryption of each block is dependent on the encryption of all previous blocks, ____ sometimes suffers from pipeline delays, making it less efficient than some other modes.
CBC
_______ mode effectively converts a block cipher into a stream cipher. It combines an IV with a counter and uses the result to encrypt each plaintext block. Each block uses the same IV, but ___ combines it with the counter value, resulting in a different encryption key for each block.
Counter (CTM)
It’s much more common to see it listed as CTR or CM.
True or False : Multiprocessor systems can encrypt or decrypt multiple blocks at the same time, allowing the algorithm to be quicker on multiprocessor or multicore systems.
True
True or False : CTM is not widely used and respected as a secure mode of operation.
True
______ ______ ____ is a mode of operation used by many block ciphers. It combines the _____ mode of operation with the _____ mode of authentication.
Galois/Counter Mode (GCM), Counter, Galois
True or False : In addition to encrypting the data for confidentiality, Galios/Counter Mode includes hashing techniques for integrity.
True
Symmetric encryption is also called ______ ___ encryption or _______ ___ encryption.
Secret-key or session-key
A ________ _____ replaces plaintext with ciphertext using a fixed system.
Substitution cipher
The ______ cipher uses the same substitution algorithm, but always uses a key of 13.
ROT13 (short for rotate 13 places)
True or False : ROT13 uses both the same algorithm and the same key, it doesn’t provide true encryption but instead just obfuscates the data.
True