DUE Monday, September 14th, 2026

Reminder: Test 1 (Module 1) is in class on Wednesday, September 16th.

Relevant Textbook Sections:

2.10.3 (Index Calculus), 2.10.4 (Runtime), and for review, 2.10.1 (The Baby-Step Giant-Step Algorithm) and 2.12 (ElGamal Encryption)

To Do:

  1. Reminder: the first test is in class on Wednesday, September 16th, 2026 (Module 1). See the Tests page for the syllabus and review problems.
  2. Solutions to the last daily post (the parity of the discrete log, baby-step giant-step for 51=2x(mod83)51 = 2^x \pmod{83}, the tower 2(32026)(mod33)2^{(3^{2026})} \pmod{33}, and the runtime analysis) are now posted: Solutions to Daily Due Sep 11. All daily post solutions are collected on the Archive page.
  3. To Know: If you’re interested in the runtime of the Index Calculus, I have more detail in the textbook (Section 2.10.4). Additionally, here are some course notes that cover it in more detail (from Andrew Sutherland’s MIT course on elliptic curves). This may be an interesting topic for a graduate student project: runtime for index calculus and/or index calculus improvements mod pp and/or in other finite fields.
  4. Solve the discrete logarithm problem for p=131p=131, g=2g=2, h=17h=17, using the Index Calculus method. You may use the Index Calculus Tools and Sage’s modular arithmetic and plain arithmetic computations to avoid by-hand computations, but please solve the linear system by hand (i.e. choosing which equations to subtract from which etc.). Note: this is a randomized algorithm, so you will get different relations than someone else, or next time you run the tool. If you are not finding a very nice linear system, just try to get some more relations and pick simple manageable ones.
  5. An awkward linear system. Keep p=131p = 131 and g=2g = 2, and write L(a)L(a) for the discrete log of aa base 22 (so L(a)L(a) is only defined modulo p−1=130p - 1 = 130). One relation the tool can hand you is 214≡9=32(mod131)2^{14} \equiv 9 = 3^2 \pmod{131}, which says 14≡2L(3)(mod130)14 \equiv 2L(3) \pmod{130}.
    1. Suppose you “divide by two” to conclude L(3)=7L(3) = 7. Check this by computing 27(mod131)2^7 \pmod{131}. Is it 33?
    2. Explain what went wrong. How many solutions yy does 2y≡14(mod130)2y \equiv 14 \pmod{130} have, and what are they? Which one is L(3)L(3)?
    3. Find the parity of L(3)L(3) using the test from the last daily post (raise 33 to the 6565th power modulo 131131). Explain how this picks out the right solution in part (2) without any further checking.
    4. Here are three more relations: 28≡532^{8} \equiv 5^3, 212≡5⋅72^{12} \equiv 5 \cdot 7, and 238≡3⋅7(mod131)2^{38} \equiv 3 \cdot 7 \pmod{131}. Use them to find L(5)L(5), L(7)L(7) and L(3)L(3) without ever dividing by an even number (you will need an inverse modulo 130130), and check that your L(3)L(3) agrees with part (3).
    5. In general, which integers are safe to divide by (i.e. multiply by an inverse) when solving relations modulo p−1p-1?
  6. Runtime comparison. The (heuristic) runtime of the Index Calculus modulo pp, with a well-chosen factor base, is about eln⁡p⋅ln⁡ln⁡pe^{\sqrt{\ln p \cdot \ln \ln p}} operations (Section 2.10.4), while Baby-Step Giant-Step takes about p\sqrt{p} operations.
    1. Compute both quantities (to two significant figures, in scientific notation) for a 2020-digit prime, a 4040-digit prime, and a 100100-digit prime.
    2. Suppose 102010^{20} operations is the most an attacker can afford. About how many digits must pp have to be safe against Baby-Step Giant-Step? Against the Index Calculus? (Treat the two formulas as exact; the real constants are different, but the moral is the same.)
    3. Explain in a sentence why the Index Calculus is called subexponential: compare eln⁡p⋅ln⁡ln⁡pe^{\sqrt{\ln p \cdot \ln \ln p}} with pε=eεln⁡pp^{\varepsilon} = e^{\varepsilon \ln p} for a fixed ε>0\varepsilon > 0 as p→∞p \to \infty.
  7. Remember to upload to canvas!

Added Sept 25: solutions to this daily post (the Index Calculus for 2x≡17(mod131)2^x \equiv 17 \pmod{131}, the awkward linear system, and the runtime comparison) are now posted: Solutions to Daily Due Sep 14.