INTRODUCTION TO CRYPTOGRAPHY OA ACTUAL EXAM 300
QUESTIONS AND CORRECT DETAILED ANSWERS WITH
RTIONALES|ALREADY GRADED A+
__________ is a symmetric block cipher that was designed in 1993 by Bruce Schneier. This cryptography
algorithm is intended as a replacement for DES. Like DES, it is a 16-round Feistel cipher working on 64bit
blocks. However, unlike DES, it can have varying key sizes ranging from 32 bits to 448 bits. There are
really two parts to this algorithm. The first part handles the expansion of the key. The second part
actually encrypts the data. The key expansion is handled in several steps. The first step is to break the
original key into a set of subkeys. Specifically, a key of no more than 448 bits is separated into 4,168
bytes. There is a P-array and four 32-bit S-boxes. The P-array contains 18 32-bit subkeys, while each Sbox
contains 256 entries. - ANSWER-Blowfish
Like Blowfish, _________ is a symmetric key block cipher which was a finalist in the AES contest. This
algorithm was designed by Ross Anderson, Eli Biham, and Lars Knudsen. It has a block size of 128 bits
and can have a key size of 128, 192, or 256 bits, much like AES. The algorithm is also a
substitutionpermutation network like AES. It uses 32 rounds working with a block of four 32-bit words.
Each round applies one of eight 4-bit to 4-bit S-boxes 32 times in parallel. It was designed so that all
operations can be executed in parallel. - ANSWER-Serpent
_________ uses a block size of 128 bits and key sizes up to 256 bits. It is a Feistel cipher. It was designed
by Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson. -
ANSWERTwofish
Designed by NSA for the clipper chip, ___________ uses an 80-bit key to encrypt or decrypt 64-bit data
blocks. It is an unbalanced Feistel network with 32 rounds. - ANSWER-Skipjack
The_________________ is a block cipher. The algorithm was published in 1991 and was designed by
James Massey and Xuejia Lai. It operates on 64-bit blocks and has a 128-bit key. The algorithm consists of
a series of eight identical transformations (each round) and an output transformation. It was designed as
a replacement for DES. - ANSWER-International Data Encryption Algorithm (IDEA)
________________ was created by David Wheeler and Roger Needham and first publicly presented in
1994. It is a simple algorithm, easy to implement in code. It is a Feistel cipher that uses 64 rounds (note
this is a suggestion, it can be implemented with fewer or more rounds). The rounds should be even since
they are implemented in pairs called, cycles. it uses a 128-bit key operating on a 64-bit block. It also uses
,a constant that is defined as 232/the golden ratio. - ANSWER-TEA, or Tiny Encryption Algorithm
___________ was invented by a team of cryptographers including Vincent Rijmen, Joan Daemen, Bart
Preneel, Antoon Bosselaers, and Erik De Win. It uses a 64-bit block with a 128-bit key and operates in six
rounds. - ANSWER-SHARK
The most basic encryption mode is the _________________. The message is divided into blocks and
each block is encrypted separately. - ANSWER-electronic codebook (ECB) mode
When using _____________ mode, each block of plaintext is XORed with the previous ciphertext block
before being encrypted. This means there is significantly more randomness in the final ciphertext. This is
much more secure than electronic codebook mode and is the most common mode. - ANSWER-
cipherblock chaining (CBC)
In _____________, the previous ciphertext block is encrypted then the ciphertext produced is XORed
back with the plaintext to produce the current ciphertext block. Essentially it loops back on itself,
increasing the randomness of the resultant ciphertext.
Allows encryption of partial blocks rather than requiring full blocks
for encryption. This eliminates the need to pad a block like in CBC. - ANSWER-cipher feedback mode
(CFB)
The _____________ mode turns a block cipher into a synchronous stream cipher. It generates keystream
blocks, which are then XORed with the plaintext blocks to get the ciphertext. - ANSWERoutput feedback
(OFB)
__________________) is also used to turn a block cipher into a stream cipher. This is much like OFB
mode. CTR generates the next keystream block by encrypting successive values of a "counter." The
counter can be any simple function that produces a sequence that is guaranteed not to repeat for a long
time. - ANSWER-Counter mode (CTR
An ______________ is a fixed-size input to a cryptographic primitive that is random or pseudo-random.
It is added to a cryptographic algorithm and key in order to increase the randomness of the resultant
cipher text. - ANSWER-initialization vector (IV)
Stream ciphers are also sometimes called ________ ciphers. - ANSWER-state
,Ron Rivest created this algorithm in 1987 and it stands for Ron's Cipher. It is the most widely used
software stream cipher. The algorithm is used identically for encryption and decryption as the data
stream is simply XORed with the key. It uses a variable length key from 1 to 256 bytes. That key
constitutes a state table that is used for subsequent generation of pseudo-random bytes and then to
generate a pseudo-random stream which is XORed with the plaintext to produce the ciphertext. It
generates a pseudo-random stream of bits. - ANSWER-RC4
Published by the German engineering firm Seimans in 1993 The__________ (FIbonacci SHrinking) cipher
is a software-based stream cipher using the Lagged Fibonacci generator along with a concept borrowed
from the shrinking generator ciphers - ANSWER-FISH
This algorithm was published in a paper by Ross Anderson as an improvement on FISH. Anderson showed
that Fish was vulnerable to known plaintext attacks. It is both faster and stronger than FISH. - ANSWER-
PIKE
A _______ function H is a function that takes a variable-size input m and returns a fixed-size string. The
value that is returned is called the hash value h or the digest. This can be expressed mathematically as h
= H(m). An example of this is Windows will store that in the Security Accounts Manager (SAM) file in the
Windows System directory. When you log on, Windows cannot "un-hash: your password (remember it is
one way). So, what Windows does is take whatever password you type in, hash it, then compare the
result with what is in the SAM file. If they match (exactly), then you can log in. - ANSWER-hash
In relationship to hashing, the term "________" refers to random bits that are used as one of the inputs
to the hash. Furthermore, it complicates dictionary attacks that use pre-encryption of dictionary entries.
It also is very effective against rainbow table attacks. - ANSWER-salt
This is a 160-bit hash function which resembles the earlier MD5 algorithm. This was designed by the NSA
to be part of the digital signature algorithm. - ANSWER-SHA-1
This is actually two similar hash functions, with different block sizes, known as SHA-256 and SHA-512.
They differ in the word size; SHA-256 uses 32-byte (256 bit) words where SHA-512 uses 64-byte (512 bit)
words. There are also truncated versions of each standardized, known as SHA-224 and SHA-384. These
were also designed by the NSA. - ANSWER-SHA-2
, This is a proposed hash function standard still in development. This is being chosen in a public review
process from non-government designers. An ongoing NIST hash function competition is scheduled to end
with the selection of a winning function, which will be given the name SHA-3 in 2012. - ANSWERSHA-3
This hash function uses 512-bit blocks and implements preset constants that change after each
repetition. Each block is hashed into a 256-bit block through four branches that divides each 512 block
into sixteen 32-bit words that are further encrypted and rearranged. Because the four branches are used
in parallel, whereas SHA-256 uses four serial rounds, ____________ is hard to analyze. - ANSWERFORK-
256
____________________________ is a 160-bit hash algorithm developed by Hans Dobbertin, Antoon
Bosselaers, and Bart Preneel. There exist 128-, 256-, and 320-bit versions of this algorithm, called
RIPEMD-128, RIPEMD-256, and RIPEMD-320, respectively. These all replace the original RIPEMD which
was found to have collision issues. The larger bit sizes make this far more secure that MD5 or RIPEMD. -
ANSWER-RACE Integrity Primitives Evaluation Message Digest (RIPEMD-160)
The input message is broken into 512-byte chunks (16-32 bit integers).
The message is padded with zeros if needed to reach 512-byte chunks.
The length of the message (before padding) is then appended as the last 64 bits of the message.
The algorithm operates on a 128-bit state, divided into four 32-bit words, denoted A, B, C, and D. They
are initialized to an initial variable.
The algorithm consists of four stages or rounds, each of which consists of 16 similar operations.
Those operations are a non-linear function F, a modular operation, and a shift. - ANSWER-The MD5
Algorithm
This hash algorithm was initially defined in the Russian national standard and produces a fixed-length
output of 256 bits. The input message is broken up into chunks of 256-bit blocks. If a block is less than
256 bits, then the message is padded by appending as many zeros to it as are required to bring the
length of the message up to 256 bits. The remaining bits are filled up with a 256-bit integer arithmetic
sum of all previously hashed blocks and then a 256-bit integer representing the length of the original
message, in bits, is produced. - ANSWER-GOST
This hash function was designed by Ross Anderson and Eli Biham in 1995 and is 192 bits. It is designed
using the Merkle-Damgård construction (sometimes call the Merkle-Damgård paradigm). This is a
method to build collision-resistant cryptographic hash functions from collision-resistant one-way