Reminder: fill out the poster group form about poster groups (the link was in the last daily post).
Today’s lecture notes: Wednesday, September 23rd (also on the Notes/Videos page) — square roots and factoring, Miller-Rabin, Fermat factoring, and the quadratic sieve.
Friday’s lecture (September 25th) is pre-recorded and already up: the video and notes are on the Notes/Videos page.
Solution to the Kolmogorov complexity proof of the infinitude of primes (last daily post): it is written up in the textbook, Section 3.7 (Primality Testing).
Solutions: solutions to the daily posts due September 16th, 18th, 21st and 23rd are now posted (Sep 16, Sep 18, Sep 21, Sep 23). All daily post solutions are collected on the Archive page.
Relevant Textbook Sections:
3.7.2 (Miller-Rabin Primality Testing), 3.8 (Factoring), 3.8.3 (The role of squares in factoring), 3.8.4 (The quadratic sieve method), 3.6.3 (Short plaintext attack).
To Do:
- Use the Miller-Rabin primality test with to determine if is composite or probably prime. Show your steps.
- If it comes up probably prime, try it with . Show your steps.
- Next, possibly using the Miller-Rabin Tools, implement the Miller-Rabin primality test to test if is composite or probably prime, using the base .
- Use Fermat Factoring to factor . Show the steps.
- I wish to factor . How do I do it, if I have the following info?
- factors as
- factors as
- factors as
- factors as
- factors as
- factors as
- factors as
- The euler-phi function gives . Use this fact to factor . (Hint: if , then knowing and tells you both and , so and are the two roots of a quadratic you can write down.)
- Factor using the Quadratic Sieve Tools page to produce the relations you will need. You may need to expand your factor base or the number of relations the boxes produce.
- If you got lucky and got a single relation that did it, can you instead find a pair or larger combination of relations that do it?
- Many of the messages posted on the #ciphertexts channel during the RSA ciphertext chain were pretty small. Can you attack any of them using the “small message” attack demonstrated in class (the birthday attack on RSA: look for a collision between and , which reveals )? See also the textbook, Section 3.6.3 (Short plaintext attack).
- Optional: If you aren’t familiar with for loops and if statements in Python/Sage, please visit these super quick tutorials: Python: For Loops and Python: If Statements. Then play around with the Sage Sandbox to see if you can find Carmichael numbers. This might require writing a for loop in python.
Added Sept 25: solutions to this daily post (Miller-Rabin, Fermat factoring, factoring from relations and from , the quadratic sieve, the small-message attack, and Carmichael numbers) are now posted: Solutions to Daily Due Sep 25.