1. A system for generating a curve for use with cryptography, comprising: a general purpose computing device; a computer program comprising program modules executable by the general purpose computing device, wherein the computing device is directed by the program modules of the computer program to: for each prime number selected from a set of prime numbers: identify a curve in the isogeny class for the prime number, find an initial maximal curve in the isogeny class for the prime number by applying isogenies of general degree to the identified curve, find other maximal curves in the isogeny class by applying isogenies of general degree to the initial maximal curve, and construct an Igusa class polynomial modulo the prime number from the set of maximal curves for the prime number; generate Igusa class polynomials over rational numbers from the computed Igusa class polynomials modulo the set of prime numbers; and generate a genus 2 curve from the Igusa class polynomials over rational numbers.