MODD / Mr. Hansen |
Name: _______________________________________ |
12/18/2013 |
Mr. Hansen’s use only: ___ |
Test on Error Correction, RGB, PKI, Etc.
Calculator is permitted throughout.
Part I. Fill in each blank with the word or phrase that
best fits. |
|
1. |
When digital data are
stored or transmitted, there is always a chance that bits will be garbled.
Therefore, clever engineers have devised hundreds of __________ __________
protocols so that there is a high probability of being able to recover 100%
of the data. Of these many hundreds of protocols, we looked at only one,
called ________________(____,____) . The name refers to the fact that in a
7-bit codeword, there are 4 data bits in the “actual data” portion, which is
called the ___________ . The other 3 bits are ________ bits, which because of
the cleverness of Mr. Hamming, allow us to figure out which bit of the 7 has
been corrupted, as long as only 1 bit has been corrupted. If there are 2 or
more bit errors, the Hamming technique may not be able to correct the errors
but can usually at least __________ that an error has occurred. The simplest error
______________ protocol is simple even parity. For example, in the byte 0xFA,
which equals binary ________________ , where the 8th bit is treated as
parity, we can tell that the byte is probably ____________ (write “valid” or
“invalid”) because of the parity check. Error detection is less sophisticated
than error correction, but even error detection protocols are useful; if an
error is detected, the sender can be instructed to ____________ the block of
data containing the parity error(s). Data compression,
error-correcting codes, and encryption are all examples of the ______________
of data in various ways. The purpose of data compression is to reduce the
occurrence of __________________ contained within a file, i.e., to produce a
smaller file with a greater entropy density. Encryption can be
accomplished either by symmetric technologies (e.g., where each pair of users
exchange a secret _______________ that is used for both encryption and
decryption) or asymmetric technologies. We looked at a “scaled-down” example
of PKI, or ___________ ___________ ___________ , in which each user has a private
key that can be combined with other users’ ___________ keys in order to
create shared secrets. A shared secret is typically a number that can be used
as a ___________ to start a PRNG, which can then be used for XOR encryption
that scrambles all the data exchanged between the two parties so that nobody
else can decipher it without knowing the shared secret. PRNG stands for ___________
___________ ___________ ___________ (3 or 4 words, depending on whether or
not you hyphenate). It is important that the output of a PRNG have extremely
high entropy. In other words, the output of a PRNG should be totally
______________________ unless someone knows the parameter values and the seed
value. If a PRNG has low entropy, an evil ___________ (or the NSA) could easily
compromise it and substantially speed up the process of breaking into the
shared secret! |
|
|
2. |
Compute 444445
mod 13. Show your work. |
|
|
3. |
The Hansen PKI (HPKI for
short) uses C = 4597 and N = 256. Your private key is 4, and Jeremy’s
public key is 11. |
|
|
(a) |
Compute your public key.
Show work. Give answer in decimal or hex (your choice, doesn’t matter). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(b) |
Compute the shared secret
that you and Jeremy could use to communicate secretly. Show work, and give
final answer in hex this time. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(c) |
Describe (2-3 sentences)
how you would use the answer to part (b) in order to carry on some
XOR-encrypted message traffic between you and Jeremy. No nitty-gritty technical
details are needed; just give a 2-3 sentence overview of the major things
that will be happening. |
4. |
We will define a PRNG as
follows: X(0) = 129, A = 4377, B = 1051, N = 256. The
next output X(i + 1) is always found by
taking the previous output, X(i), and running
it through the AX(i) + B mod N function machine. Find X(4),
which is the 4th output of the PRNG. Hint:
X(0) is called the seed. Show work. |
5. |
The keyspace
for a 500-bit binary key has size ____________________________ , which is
approximately equal to 10 to the ______________________ power. You may show
work below for partial credit if you wish. |
|
|
7. |
The following 5 bytes have been
transmitted. Each one consists of a 7-bit ASCII character (yes, I know that
ASCII characters are supposed to be 8 bits, but all the important characters
are found in the lower 128 and therefore can be represented in 7 bits)
followed by a parity bit. Even parity protocol is used. (a) Circle the byte
that contains an error.
|
|
|
|
|
|
|
|
|
|
|
8. |
When a weatherman is
photographed against a blue screen, the image of him against the blue screen
is “thresholded” to save a 1 in each position that
is a pure blue pixel and a _____________ everywhere else. This altered image,
which we might call S', is then _____________
(i.e., all 0’s replaced with 1’s and vice versa) to produce an image that we
might call ~S'. Describe, in words,
the results of doing pixel-by-pixel multiplication of ~S' with the original image of the weatherman against a blue
screen. A sketch is permitted but will not earn any additional points. It is
your verbal description that will be graded. |
|
|
|
_____________________________________________________________________________ |
|
|
|
_____________________________________________________________________________ |
|
|
9. |
Convert each of the
following RGB values to a color name: |
|
|
10. |
Convert each color name to
its RGB value: |
|
|
11. |
Compute the storage
requirement for 20 minutes of digital video (no sound), uncompressed, 30 fps,
6 million pixels per frame, and using standard 24-bit RGB color codes as
illustrated in #9 and #10. Give answer in GB. |