In this paper, we describe a new algorithm for discrete logarithms in small characteristic. This algorithm is based on index calculus and includes two new contributions. The first is a new method for generating multiplicative relations among elements of a small smoothness basis. The second is a new descent strategy that allows us to express the logarithm of an arbitrary finite field element in terms of the logarithm of elements from the smoothness basis. For a small characteristic finite field of size Q = p, this algorithm achieves heuristic complexity LQ(1/4 + o(1)). For technical reasons, unless n is already a composite with factors of the right size, this is done by embedding FQ in a small extension FQe with e ≤ 2dlogp ne.