# Math 98 - Winter 98

### Homework Assignments

Current Week's Assignment

### Week 1:

Read Chapter 3  section 1, in the text, and prepare a diary entry due on Tuesday 13 January.

### Week 2:

Read all of Chapter 3, and start reading the material from Chapters 1 and 2 germane to the current class discussion.

For Tuesday 20, January:

• Prepare a diary entry
• Do the following problems from Koblitz:
• page 77:  16 - 19 (theory).
• page 77:  variation on 14 (applied)

• The variation on problem is as follows --- working through 14 (for which there is a solution in Koblitz) should provide much insight.  You may also feel free to use the program ``Block Ciphers'' in the math 98 folder on PUBLIC.  Use the same 30-letter alphabet as Koblitz.  Your message to decrypt is
WLAPLZK, CW.IXFQ , UIWASW.IIWVHC,L CFGWLAPLZISDJRELM?RYWEFAIRE
(it ends with the E and notice that there are 4 embedded spaces)

You are provided with the following information.  The original message was encrypted using block encryption with 2 X 2 matrices.  Moreover, you are told that the 6-letter ciphertext
``HC,L C'' corresponds to the 6-letter plaintext ``VEST I''.  What is the original plaintext message?

### Week 3:

For Tuesday 27, January:

• Prepare a diary entry
• Do the following problems:
• Write a computer program  in your language of choice (e.g., True Basic, Maple, Objective C, ...) which implements the algorithm for a fast computation of a^m (mod n):
• Recall it had the form:
Function powermod(a,m,n)

If m = 0 then return 1
If m is even then return [powermod(a,m/2,n)]^2 (mod n)
{otherwise} return [a * powermod(a,m-1,n)] (mod n)

Include this function in a program which lists the value of
m and 7^m (mod 1001) for m = 1 to 30.  If in True Basic, print
m, powermod(a,m,n) and mod(a^m,n) for comparison.  Nasty things happen quickly.

Hand in a listing of the program and the output requested above

• In the Math 98 folder on PUBLIC is a folder titled M98 HW Week 3.  In it are two True Basic Documents:  RSAencrypted and RSADecrypt*.   The first file is a data file for the second consisting of the output of an RSA encryption.  In this pass at RSA, I shall give you lots of information.  In the standard notation p = 103, q = 9973 and e = 47.  Decrypt the message indicating your steps.  The program RSADecrypt* is already compiled, but can be run.  It will ask simply for the value of n (the encryption modulus) and d (the decryption exponent (for you to find)).  This is really a trivial exercise, but designed to get you familiar with the functions in Maple.  Some demo programs have been on the PUBLIC file server which should be of use in determining d.

• It is my intent to have you write an RSA encryption and decryption program.  That is a program that will take in text in character form, convert it to numeric equivalents, break in up into blocks and encipher it with RSA.  Then given a collection of blocks and the encryption block size, use RSA to decrypt and convert back to text.  You should hand in a draft of the encryption side of things with this weeks homework.  Note this need not be a working program, but your draft (pseudo-code) needs to be well thought out.  Most of the routines you need for converting things are already in programs I have left in our folder on PUBLIC.

• Other things?  (haven't decided yet  18 january 17:20)

### Week 4:

For Tuesday, 3 February:
•  Read:  Chapter 2, section 2 and Chapter 5 section 1
• Prepare a diary entry
• Do the following problems from Koblitz:
•     Chapter 2, section 2:  21
•     Chapter 5, section 1:  1, 16
• Note:  On the homework, I expect complete solutions.  Sketches of the answers are in the book, but Koblitz leaves out a number of the details.  I expect neatly written, well thought out solutions which give references to theorems in the book which have been used.  The words ``clearly'' and ``obviously'' should be expunged from your mathematical vocabulary
• Expect to have a working implementation of RSA by 10 February.

### Week 5:

For Tuesday, 10 February:
• Read:  Chapter 5, sections 2 and beginning of 3
• By 17 February, I want a 1 page typed outline of your term paper/project
• Prepare a diary entry
• Do the following problems from Koblitz:
•     Chapter 5, section 2:  4, 5, 6
• Hand in your working implementation of RSA. Details:
• This should be a complete working program which has been carefully documented.
• Your program should take in a text string to encrypt, convert string to a numerical equivalent amenable to modular exponentiaton, perform the RSA encryption, and then convert the numerical output back to text.  Your program need NOT have any fancy user interface to obtain the string or RSA modulus or encryption exponent.  However in the end, it should print the input text followed by the output text.
• Hand in a listing of the program and output from a run satifying the following constraints:
• Choose an n = pq which allows an input blocksize of at least 3, and use an input block size of at least 3.
• If you are fixing your own alphabet (other than the full ASCII character set), fix the first letter of your alphabet to be a blank (space).
• You should probably allow for variable block size in and out.  In that way, your encryption routine automatically becomes a decryption routine as well.
• You need only provide the encryption side of RSA.  As I said above, if you do it right, essentially you have both sides.
• Hand in the output from a run using an encryption exponent = 1, and where the text to encrypt is your alphabet.
• Optionally,  hand in a run in which you encrypt:

• Albert Einstein, when asked to describe radio, replied: You see, wire telegraph is a kind of a very, very long cat.  You pull his tail in New York and his head is meowing in Los Angeles.  Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there.  The only difference is that there is no cat.

### Week 6:

For Tuesday, 17 February:
• Prepare a diary entry
• Read in Koblitz, Chpater V, sections 3 and 4 (up to CFRAC algorithm)
• Prepare a 1 page typewritten outline of your term project.
Note:  I am purposely not assigning written work out of Koblitz  or computer work this week to allow you the time to think hard about your term project.  Good places to begin our your own interests to date or the RSA FAQ which is available in the m98 folder, or online.  There are many web pages devoted to cryptography.  Get those web browsers cranking.  Your term paper should be approximately 15 - 20 pages typed (double spaced), and the intent is for you to address a somewhat narrow topic in some depth rather than giving a fluffy summary of some broad area. However, the main idea for this project is for you to dig, learn something new, and reveal its wonders to us, and not to summarize things we have already done in the course.  Of course you may feel free to explore some topic introduced in the course --- just take the content of the course as your starting point.

• I think it would be nice to have you talk briefly about your research to the class, and while I would like to give 50 minute slots for you to talk, constraints of the term would force you to start talking next week.  As I think it unlikely many of you will be ready at that point, we will opt for 25 minute talks (4 talks per class) in the last three classes of the term:  March 3, 5, and 10.  Blitz me your preferences for which day to speak (rank the three days in order).  I will accept preferences anytime after 8pm, 10 February, and preferences will be scheduled on a first-come, first served basis.  Results will be posted.

•
• Term papers are due by noon on the first day of exams:  13 March, 1998.  They will count for 30% of your final grade.

### Week 7:

For Tuesday, 24 February:
• Prepare a diary entry
• Read in Koblitz, Chpater V, section 4
• Do the following problems:
• Compute the continued fraction expansion of 37/17.
• Compute the continued fraction expansion of sqrt(43).
• Using the CFRAC algorithm, find a nontrivial factorization of 37003423, showing all your work.

• You may feel free to use the Maple implementation of CFRAC demonstrated in class, and available in the M98 folder on PUBLIC.  A final printout of your success is adequate work.

• The schedule of talks on term papers  is now complete.  Remaining entries were filled by default once two of the three days were filled.  Recall that term papers are due by noon on the first day of exams:  13 March, 1998.  (Details about term paper in Week 6 entry above).
Tuesday, March 3:
1.  David Pichler
2.  Kathleen Barry
3.  Andrew Hessick
4.  Gregory Ramseth
Thursday, March 5:
1.  Tiffany Downing
2.  David Ellingrud
3.  Danielle Flanders
4.  Kristin Kelly
Tuesday, March 10 (last day of class)
1.  David Gondek
2.  Joy Lisi
3.  Yue-Seng Chiu
4.  Cem Paya

### Week 8:

For Tuesday, 3 March:
• Prepare a diary entry
• Work on term paper.  Your term paper should be approximately 15 - 20 pages typed (double spaced), and the intent is for you to address a somewhat narrow topic in some depth rather than giving a fluffy summary of some broad area. However, the main idea for this project is for you to dig, learn something new, and reveal its wonders to us, and not to summarize things we have already done in the course.  Of course you may feel free to explore some topic introduced in the course --- just take the content of the course as your starting point. Recall that term papers are due by noon on the first day of exams:  13 March, 1998.
• The schedule of (25 minute) talks on term papers:  (titles to be added)
Tuesday, March 3:
1.  David Pichler:  TBA
2.  Kathleen Barry :  Authentication versus Authorization
3.  Andrew Hessick:   The  Knapsack Problem and the Merkle-Hellman System
4.  Gregory Ramseth:  Enigma
Thursday, March 5:
1.  Tiffany Downing:   The elliptic curve analogs of traditional public key cryptosystems
2.  David Ellingrud:  Tracking Electronic Cash
3.  Danielle Flanders:  Blind Signatures and Electronic Money
4.  Kristin Kelly:  The Importance of Hash Functions to Cryptography
Tuesday, March 10 (last day of class)
1.  David Gondek:  Probabilistic and Quantum Encryption
2.  Joy Lisi:   Two Classical Problems of Cryptography:  The Voynich "Roger Bacon"
Manuscript and Cryptography in the Francis Bacon/Shakespeare Controversy
3.  Yue-Seng Chiu:  TBA
4.  Cem Paya:  Introduction To Block Ciphers:  DES, RC4, IDEA

### Week 9:

For Tuesday, 10 March:
• In place of last diary entry, submit written answers the questions sent to you by email.
• Work on term paper.  Your term paper should be approximately 15 - 20 pages typed (double spaced), and the intent is for you to address a somewhat narrow topic in some depth rather than giving a fluffy summary of some broad area. However, the main idea for this project is for you to dig, learn something new, and reveal its wonders to us, and not to summarize things we have already done in the course.  Of course you may feel free to explore some topic introduced in the course --- just take the content of the course as your starting point. Recall that term papers are due by noon on the first day of exams:  13 March, 1998.
• The schedule of (25 minute) talks on term papers:
Tuesday, March 3:
1.  David Pichler:  The Enigma
2.  Kathleen Barry :  Authentication versus Authorization
3.  Andrew Hessick:   The  Knapsack Problem and the Merkle-Hellman System
4.  Gregory Ramseth:  1,657,411
Thursday, March 5:
1.  Tiffany Downing:   The elliptic curve analogs of traditional public key cryptosystems
2.  David Ellingrud:   Implications of Cryptography to Money Laundering Prevention
3.  Danielle Flanders:  Blind Signatures and Electronic Money
4.  Kristin Kelly:  The Importance of Hash Functions to Cryptography
Tuesday, March 10 (last day of class)
1.  David Gondek:  Probabilistic and Quantum Encryption
2.  Joy Lisi:   Two Classical Problems of Cryptography:  The Voynich "Roger Bacon"
Manuscript and Cryptography in the Francis Bacon/Shakespeare Controversy
3.  Yue-Seng Chiu:  TBA
4.  Cem Paya:  Introduction To Block Ciphers:  DES, RC4, IDEA