Block 3 Part 3 Cryptography Flashcards
Hashing
True or false?
A hashing algorithm produces a unique hash for every different piece of data.
False - it should, but it doesn’t always.
Hashing
What do we call the situation whereby a hashing algorithm has produced the same hash for two different pieces of data?
A c___________
collision
Collisions
Malicious software has been known to take advantage of collisions by including a fake certificate whose hash c_______ with one from a certificate belonging to a genuine, safe application.
collides
Collisions
Are collisions rare or frequent?
Extremely rare - but that they exist at all means it is impossible to completely guarantee the integrity of data hashed using MD5
Salting
Salting is a process in which a computer adds a small amount of a_________ d_______ to a password before it is hashed.
additional data
Salting
A new salt is generated by a s_______ whenever a new password is created or an existing password is m__________.
server
modified
Salting
True or false?
The salt can either be added to the front of a password, the middle, or to the end.
False - It can be added to the front or to the
end.
Salting
True or false?
Typically, salting schemes use equal-length salts and hashes.
True
Key stretching
The primary goal is to slow down or make it computationally expensive for attackers to guess the original password through b_____-f_____ or d________ a_______.
brute-force
dictionary attacks
Encrypting hashes
We can further protect the password file using encryption, obscuring its contents to anyone not possessing a piece of data known as the k___.
key
Encrypting hashes
In the most secure systems, passwords are stored, encrypted and decrypted by h________ s________ m________ (HSM) plugged into a USB or Ethernet port on the host computer.
hardware security modules
The benefits and limitations of hashing
Put the following statements into the correct categories:
a) Hashing can:
b) Hashing cannot:
confirm data has not been changed since the hash was generated
confirm that data has never been changed
authenticate the creator or sender of data.
obscure passwords from casual inspection.
guarantee the confidentiality of data
Hashing can:
confirm data has not been changed since the hash was generated
obscure passwords from casual inspection.
Hashing cannot:
confirm that data has never been changed
guarantee the confidentiality of data
authenticate the creator or sender of data.
Encryption
Encryption is a field of m__________ concerned with o__________ information from unwanted viewers in such a way that the original information can be r_________ later.
mathematics
obscuring
recovered
Encryption
Computer encryption algorithms work on b_________ data, so any data that can be represented in binary can be encrypted.
binary
Encryption - Some terminology
Plaintext
Plaintext is information that can be directly read by humans or a machine. (For example, this flashcard is an example of plaintext.)
True or false?
The phrase ‘plaintext’ may refer to music, movies and computer programs as well as text.
True - Plaintext is an historic term pre-dating computers, when encryption was only used for text. Nowadays, anything can be encrypted, so the phrase ‘plaintext’ may refer to music, movies and computer programs as well as text.
Encryption - Some terminology
Ciphertext
Ciphertext is the e______ d_______.
encrypted data
Encryption - Some terminology
A key
A key is a piece of data that determines the v_________ of the ciphertext when plaintext is encrypted (and vice versa).
value
Encryption - Some terminology
A cipher
A cipher is the a___________ responsible for turning plaintext into ciphertext, and for restoring ciphertext to plaintext, using one or more keys.
algorithm
Encryption - Some terminology
Encryption
Encryption is the process of c_________ p_________ to c____________. (Occasionally you may see it called ‘encipherment’.)
converting
plaintext
ciphertext
Encryption - Some terminology
Decryption
Decryption is the process of r__________ ciphertext to plaintext (occasionally ‘decipherment’).
reverting
Encryption - Some terminology
The ROT13 cypher
The ROT13 cipher (short for ROTate 13) is
perhaps the simplest form of cryptography possible.