Appendix B. Hilbert class polynomials

 

This appendix gives the code that creates the Hilbert class polynomials used in the book to find pairing-friendly curves. In chapter 14, I introduce the method of complex multiplication for finding pairing-friendly curves. The process of finding a correct curve involves solving for the j-invariant using Hilbert class polynomials.

The discriminants \(\alpha\) are all equal to 3 mod 4 and range from 7 to 163. While that is sufficient for this book, there is no reason to stop at 163. The output file is listed after the program.

B.1 Generation code

The program to create the list of Hilbert class polynomials is simple in PARI. Listing B.1 shows a loop over the \(\alpha\) values \(7, 11, 15, 19, 23\) + \(a*20\) for \(a\in \{0,1,\cdots7\}.\)

B.2 Hilbert class polynomial file