Reference on LZW is the handout 320/lz.cc .
Notation on RSA is as in 320/rsa.map .
Handin problems, due Wednesday, 4/17/96
-
Give the 12 bit codeunits produced by the Limpel-Zev compaction of the
string "aaaaaaaaaa".
-
Give the encryption of those 12 bit codeunits using the RSA method
and keys generated by rsa.map (with maple) when p := 103 and q := 53.
-
Then verify correctness by decrypting and uncompressing.
[show your work]
-
What does the encrypted text C look like if it happens in building the
keys that d is a prime (so that sh = 1)?
-
In building RSA keys, what
is bad about it turning out that d is the square of a prime number
(for example when p := 101 and q := 103)?
Claim problems, rsa 1 and rsa 2
-
-
Explain how you could break a RSA key set if you could factor n.
That is, you know P = [ph, n], p, and q. How do you compute sh?
- It may be, though, that there is a much easier way to find sh, a way
which does not involve finding out p and q. It turns out that this idea is
essentially false. The problem "factor a large number n which is known
to be the product of two primes" is of approximately the same difficulty
as the problem "find sh, knowing ph and n".
Give evidence for this claimed "equivalent difficulty" of these two problems
by showing that if ph, sh and n are known it is not too much trouble to
find out p and q.
Hint: Assume d-1 is easy to factor and usually has a fair number of small
factors. and a few larger ones.
For example for ph = 5, sh = 1061, and n = 5459, we see that d-1 factors as
2*2*2*3*13*17. How can you use this to find p and q?
-
Break the code (i.e. find sh) when the public key is P = [5, 13529].
You may use maple and the script 320/rsa.map (modified
as you wish) as tools while working this assignment.
saunders@cis.udel.edu