The Log Table Method Discrete Log Problem (DLP): Given b ∈ G (where G is a group), and y ∈ hbi, find n = DLb(y), the discrete log of y to the base b : y = bn and 0 ≤ n < ord(b). Log Table Method for solving (DLP): Construct a log table to the base b by inverting a power table. Time Estimate: To construct the power table for b ∈ G takes n multiplications in G, where n = ord(b). Space Estimate: We need space for n group elements. Example: G = F× p , p = 11, b = 2. Power Table Log Table n bn 0 1 1 2 2 4 3 8 4 5 5 10 6 9 7 7 8 3 9 6 y DLb(y) 1 0 2 1 3 8 4 2 5 4 6 9 7 7 8 3 9 6 10 5 2 Note: If G = F× p = hbi, where p is a prime, then the above time/space estimates can be made more precise: Time: O(p log2(p)) bit operations Space: O(p log(p)) bits Indeed, these follow from the above estimates because each 2 multiplication in F× p takes O(log (p)) bit operations, and each element requires O(log(p)) bits to store. Remark: For G = F× p as above, we can give a fairly precise estimate for the storage space sp of the log table: we have nr−1 < sp < nr , where r is the number of bits of p and nr = (r − 1)2r + 1 is the storage space (in bits) of all numbers of bitsize ≤ r. Indeed, since there are precisely 2k−1 numbers of bit size k, these require 2k−1k bits to store, and so (by induction) nr = r X k2k−1 = (r − 1)2r + 1. k=1 Important Observation: If y has a (much) smaller order than b, and if k = ord(y) can be determined quickly, then we only need to consider a log table for of size k rather than of size n = ord(b). Indeed, we have that y ∈ hbn/k i, and so we only have to construct a log table for bn/k , which consists of k elements. Note that we have the relation: n DLb(y) = DLbn/k (y). k