Date:         Tue, 10 Dec 2002 15:43:09 -0500
Reply-To:     Reynald LERCIER <lercier@club-internet.fr>
Sender:       Number Theory List <NMBRTHRY@LISTSERV.NODAK.EDU>
From:         Reynald LERCIER <lercier@club-internet.fr>
Subject:      Genus 2 hyperelliptic curve point counting, 16420 bits

Dear Number Theorists,

We are pleased to report that we were able to compute the Zeta function of a genus 2 hyperelliptic curve defined over GF(2^16420). The software that we used is an improved version of the software we used in September for a computation in GF(2^4001) [LeLu0a].

In fact, it turns out that Mestre's ideas [Mestre02] yield equations which can be handled in a similar way as what is now efficiently done for the genus one case [Mestre01, Satoh02, LeLu02b]. This gives a ``Lift and Norm'' algorithm whose complexity is O(n^(2+epsilon)) when GF(2^n) can be represented with the help of a Gaussian Normal Basis.

The total running time was about 30 hours on a 731 MHz Alpha EV6 CPU. The lifting phase was done in 29 hours and the norm computation, in one hour.

A preprint about the implementation and the complexity involved is in preparation [LeLu02c].

R. Lercier (lercier@celar.fr) D. Lubicz (lubicz@celar.fr)

References: -----------

[LeLu02a] R. Lercier and D. Lubicz, Cardinality of a genus 2 hyperelliptic curve over GF(2^4001). Email to the NMBRTHRY list, september 2002.

[LeLu02b] R. Lercier and D. Lubicz, Elliptic Curve Point Counting, 100002 bits. Email to the NMBRTHRY list, december 2002.

[LeLu02c] R. Lercier and D. Lubicz, Mestre's Extension of AGM Algorithm to Hyperelliptic Curves in Charateristic 2, preprint

[Mestre01] Jean-Francois Mestre. Lettre a Gaudry et Harley. Available at http://www.math.jussieu.fr/~mestre, december 2000.

[Mestre02] Jean-Francois Mestre. Algorithmes pour compter des points en petite caracteristique en genre 1 et 2. Available at http://www.maths.univ-rennes1.fr/crypto/seminaire.html.

[Satoh02] Takakazu Satoh. On p-adic point counting algorithms for elliptic curves over finite fields. In Claus Fieker and David R. Kohel, editors, Algorithmic Number Theory, 5th International Symposium, ANTS-V, pages 43-66, Berlin, July 2002. Springer Verlag.

PS: Computational data ----------------------

Let GF(2^16420) be given as GF(2)[t]/(P(t)) with

P(t) = (t^16421+1)/(t+1),

let H(x) = x^3+h2*x^2+h1*x+h0

with

h2 = 0xe38d68f7b06322b0990e2fe41fc56172486ef159ee946df1204d17ba2a0406e\ 9bb7ff124c7635a3465423fb700582a06e8b71d774d158949137ce082b63e1ef1517e1\ dfbc82f64adc2391b09a7ecadee5b4291d7644689532a6e407b9eee220c238ec25993d\ d28b35b5dad106853bce52f608102e2de2c8ca27cdce1484f6b3eaa2a522e81c08131b\ 4164ac99a3b3a1597d76e268f651d793d4f806e01a98cda1c622ed3ca828f93a33b3a4\ 304a641ede1426fc0f58ae65bb7222087bf0b7412f65aa223352e2c5fc8af67d9093af\ e317366f7214845c750ca902cea222ed827a56538a4b2469edde45e7c22f87a627f8c5\ 4c5bee2224ce079135aa162c459e10a8c2b48601115a7785afd239bfa392d828bd3d59\ 9fac82b3e66b0e391bd8c2f2911f05fcb195597230f6832961ddd53574d8438d3b6b94\ 215910c7c25423701665dcbcb75a381abf5ff0ba5a28d0bf615ad64c6282db3ce97711\ ce895f3e0ca0de2e87b6de84b9d68268d29bb5ed0222f947a2ec5fd05fbe74cbcee8d1\ 8750169a1df9e94c7ffc32e3625106d3f92ea8e7a5ccd40b00dd8f8c24db3e410a39c2\ 064d4c4e13bf49ad4875c8a3010ef8c5adb09ed271728398158c3aebe0e55baf64610a\ ebf17d53148dd3885821c2f67834334eb4750931d91215e80efaec92d7589e5c47bfc3\ ac3c2652dc243a7f1bce6b681f251e655e2e7f02cc53bb4a93ba18eb13f2369a4cf9c2\ e1da357ab1b5fff4db7443b7746b6878fd87d53c77a8419700e68128ab556aebe59e3f\ a6be9614799a7a18c323f6ffc2a15e0a7461d92c9b9180b33692feb4f29640da0603c1\ 8480f265d505cdfc44c83e770b672f0d56b3715bc948e25b0c3edc1502c5ea1da37b9f\ 6a7996e5409d7dab89d9c4efe0193bcae8abe048c7bc9782b42f8d82770aebe5f37b31\ c33948b38b7378afd569fba1c529efc54cc6351a638eff09fc66ba5c6ef2b2da438e07\ e544ef857621e3f1fc4bff441bcc7d9a3a07e8ae02c7d3a72d65ebbdb8726fedd29fcb\ 1f8da3c369c1d1a3b48ddc0696b6aa553e9dfc842203f0aa014e557a9573208999a694\ 68a5f7b27e264163104877bfd9110666aa5244f87d2f02db042ecc5644a22bad2f44af\ d50c098fa5d95ebc36542ac7a46cf72311d4477232b6b978538996710eb27ffc9ff7ec\ e0c4b42a5f3d319edd81fa29d9c959c3adca86ca7024f82af86ce0babd5597f1d77a6e\ 2ef7a145fbce7164113857c38866b0fd527a2777dafef57f0bfa3c4cc1ff8110411486\ 99777863cbc2dfb0fd988654ea88abc481b7b4f031793df5804100425712d4252453e2\ 3726ec435b40379facfea52e57c0914d83da5b4dd4aafea7edb5a7eb548d985d69ed7e\ 291bc18ff5835e4bfa97c59933a092cac0479e06ab29c9130eaf178d57bfb0942d5050\ 9284846da3d0f7f60de884dd79ecdae25c7b18470b8b589dda61b7400407a545d77d1d\ e20e3cd4220ee5ef4b988853f03648c28e51777a0e836437b56aff5c99a2172821d951\ ec8e1ac3f8447825ccec534460b34d5ca0c3d2c46ee286718b9cef67f5aba86aedfc70\ d4e098607325f64ddd4876a8321cdf48674dcf985a1b77bfa184608f7bb14f66c15b98\ 860a866af63effc9972ebd08863af36afc9c60f65a9d1b111eb4cadfb5a3ebc07f9a16\ 5405cd06bbf1c13ec490d6664216bf1d5433004f07e14a2310e6de6ce85e06ef71e361\ 9d938f19df81cefb1bd32412c5fa40a7c5cebe489f873bfe5001193861def85a79d98f\ 07c94921c9a06b66369c0a3ff80d714d2860cd0461b06047a158bad1824bc89ad9693d\ 133811e109f4fa72b58ab210407abfb5f314d2031039cbc34e2e76b7a2aadab96e89d6\ 1b562af800abd95b4a5c1e53e172c3e6e8665bef13f3a28f50a2b650bfef1078b97b02\ 320ef9f67770ac6d90c3d2c4e10af5adb95cf88b3ae1843131a48c6483a6059839b1c7\ f6c8d1823c886411c5f9983147d023f77e0a1e40dfa3fed743e44160f351732ec500c7\ d0751450ecd29b6019a6951fd1ad995380e3313749577b52f8c58285aa01cae890a716\ 1854bf7b1a82a51a6e18a087da2645d5e02c21a9925892b56697a4ab9d50e2d3ad7141\ a74fbcc0ea6c80f8e9a4b899affbc6e372c0b792e67f764ff12b9077a45b2278269c03\ fbe61eba1f395e432ab3542cb24f7d73bfde9d3522ee6446b06ba84ceee08911f82e02\ 566cf95038ccafee2b39f5ed9cbf2ae1ff062c89305546c4a921daf7fd2eb1c24954ee\ 73678980a568679a019c01aa9ef7c1b554069c68ba068cfe60047e30741aac553400a9\ 83a58496733488b8cb687daa5c1dbb18520c70e62657ead01ef651f028992b525ed897\ e9601f5e277e4a7cab6c81292ee2cd7e9a61e802e934c9491075cebf2815b87494af69\ 8deaa1b0f349ddf41ff4d42bc27b506d473506e87614adf0b68f478fa22a782993ae98\ e681a5ec465ee4270d19d218c1f0187ac2b0dad67105389a11d33f5212a904ab5f04b2\ d427c530f46459996011160434fae2b0ca5af0efc2d63f7eb6d49d326cb37cfa5e5bc3\ 4e4d3125a889e4486535a51cba208d98f99e41db43335ab24a223dc6d7f45841d98027\ 013113453bf91f6f87c04eb43ec2d043f35f23875345466fe1fa8ba0a844594ca1c53f\ 7782c908900881e28eafeb9aeee3812180a68dc67d3a83403d317e8b2cfb5f83e3bd27\ 1af3c7889d09c9edc0f57b4453faf35232b34ebfeb2617077a5d4b0879e4e88fe8589c\ 2cea2ce3f7e50259402968d502f96d3d37809b6c7c8742d745accd785c9f186fcb44f5\ 9141059e7022c658c325faa858eeb4608dc4d5b00f0c1d6c6d28b0b452e2430027c99e\ c1fc450d7b2baf2f5112d859396da56b558be0fbdec0dcce874b;

h1 = 0x11e5a70c10abd3408d192aa5580516f409e6db9c85359e87ec9624e3a159948\ dc30fe5b5fae09548cddd517729ecb3594ef9d0876079b781fe454eb788bc1acd352f7\ eb388dff9f5b96b27a5c189a1b3c6c6a9237b5d03339398216a685fb971b1d5b3c6727\ f393d59471c015db1fb3b85b4fb655d2d716dc9ef0ed3369368c8d4117427d4e5ed8d2\ dec0620989864f8f99c9b37fbe0313e3166e27efbc636cbdadc13c0118da7d5e96d082\ 5b9fd15c8190f3755abc317f9a241ffbcd22d523d8cc2a1a813f9ceca85159a52af9f9\ df8c5792580a77d66a09c441fff8a32f5a30b4cf252bc8719e83a033807102bae6fa08\ 5e4529e6eeaea0e684e10ddc60b50a07a0ee4b0fe22ea116f2945c8f7a81704fb72fa5\ f59907d2cbd06696864c5f5eac7238dd9a4d5f3419c333fe0c1b61e2d8029b379746e3\ c7d38f74b7c3af83a1b2c334907cd73efc2b8baf4a07b7ce8ed5bb07e0f213a94fb045\ 1dbcc88314c57ab8bfb63f3b104e3c36542f241838a241526127de99a514ae9d4423be\ fffd2396435926f8a5871907bfb31191275e36af6faa88759759dd5c4008c40b955cbd\ 33d97f0598f5223cdd88f8b82a9c0a35fc93ac4aa2d4cf34f4840f631b6738e96c6bd4\ 17c722e36a8669a7c79abf559e81457a263ccce1d3b679aa43288d2d80046f651711fb\ 15fb85abf23618e46cf24761da079ff192a8a42852c9974ba61a637b765b42103e8336\ 2fb18e5a36039ce8f10317bda729a27fbae20f37643b8a2a6eadcb265178367fd95fe0\ 41da340b1d6807183a659633b6941d631f44a04c426661c1eec97c13ab1ec1663b6734\ f8450750b2b039a44d94178476ec419499b37363e49892044432540ed7c383f5320edf\ a93ab0959561b17cb7fe30b94e2f5e3a56d13023bb7967c89748c2ba815c45f24fef36\ d44f57cb80a598bdda2ed5c49666cb93c0e55bf67b89ed52b482628b88c0b6ad494649\ f256ac28a6312aa15d23fbcb579b3e740dba6c8c702183077cc3806e2a8a8b87b8e4e1\ 70e1dd1816c848e97f1670e582db37f352534a44dcb4591990eb638f68f76f73f0207e\ 9caa40e3599c865c54f520dcd648ec14108e687e35d11662af96b0d99db1ff7cf33d4b\ c2bcea76c79b38458ae67c93797f108e3d03076af06566cb1bcd9ece6be038a31159ba\ 9678aa22975b4fc53153b739a055061a88e600e11777359273bdefa368a52b92d4b5b8\ 5b548ab1b16b4456bf37383d1fce3139d321b593387d507ce1397d6c9aa4fee2574fa7\ f0a4d41224291f8c44732553d6cfca9cdb79f7e2fdc027f73e1f8c165f89ff0f485298\ 0b0703d0ba3db6cd1b9dc9aa8ad3b7d7da29647772760a933f4df644a38e57259a3369\ fa604d8b6f0efaf1a1745b757e5094c4fb6f03195c6d4ce6109de4ee2f3505dc388d4b\ 070872481546dee87c89abd2bb637341d339a79c5639fa688d5c8a92eedab74769e073\ 358f1fa88f8e686fa189f6836b5547bf51bd6069384b2cc6e0be0e6a29bdea66f9b222\ 6a01421dbe584f4bc5cd5fc32791ab2707c855c4069d49d6c18bd0f0a70af0552094f9\ 201c22559b09b4be5d6617e0e94d89b193c810f847209bb4a9f2d3350b1d8b503e9b95\ a328605a831b1fbd833eea845b2bbe147aeaa579723503fca4ebaf1aaccf76562f62fa\ 8eb14154e049075c7ba4614186916b1a04444f3c734840babfa3bf208309ada2e7d3c8\ 755bf9fa23021766d156ab34f35896e0a3fb35f7168848038b252aa2cab23e6f0d4717\ bb109cc3b58210b51beb41ed7eebe3ec2fe236265e054d9ee1ea60ce4092d9d0be21a7\ bc3cd1b6d03cffc674c2f8da97935311f571a371400c913d49831bded2d417ee80f461\ e34ac5fa26056338b5f51f639014aeedf9cfd59b35fd27049a0b599287ee74374a5a80\ cd1e05738de0b21f72f9c9ddf0aa9b37385342020129dda78f690794cec7eab7dfb926\ a81e8a687f0f1b3be66608f6d2feeb9fbd36e043cafa51af34a3c04004dab4399fbe60\ 6eef745b20e1e6c53a8465bb50ff9b0a1310fc4796b79110a4db329b512883bcaad8ee\ 3c34d5f21f4b4310d2545d8f1dc4352f3bc386d3ac6c593cecedd0d6a5d70cdeab4aa5\ 452a5a8d59878e89e8775796bdd4572502ddbd0667263ad238529205c3687f99a2fd42\ 9c5f76043ce8c09b0026cc80db828056cb91ad688f3f024bb345b4a521c03dd23c72bd\ 7c77fc8cbc14d7e132ccd0e54bc3cc90a6998685d92d4061e1309e6349a098387f0437\ 312c094980215954eeba65c86699616f12308214ed9b4eab6231654bffeacbe9cd39f9\ 688f4fb34e3c2f83869b240639f2ded3c6cef2081e1c3ab5c0c7c8d55c49ad347d4e27\ a87fa51a7ace237517e4bd4c40bb007587583833f8db2ae6a934d0cffdf302fffa38f0\ 410482d09b3b27ea4aef343693488bcf68d39e9758c895fc692286a8730c5c5611eaad\ 63d4aed82a471b7d83ae75dab3d8c9fdb1e22ecdd513dcff4260e13df5728c29ad95c4\ ac0eb0dfeaafaa12d8479bc761b8a58e34c8265f4ff30b4aae21388765ce6d6354643d\ bdc86e77f5ff0329fe78b30a04fe0dc3f758551f094749d19df38e4d5f0428391ddd47\ 927742daf42374b7a043fd748e3e8087dec25de4ccb41debad6c85d14dcac5a3fa4334\ d2751fdeaa7698422023d644f8c5a36de2ce3c203d03f504a6c00cc4d580efdd0d2f64\ 5eb037724834b6d2042fa4cd4c19a539101e70e377e7d6ecaf914e5a5062a81fec2949\ 1654e802babc0bc5dbab7fd1223a146d54dcf51414bff8bf2dc456505971f1de5cd05c\ 231e56e89817ee769a855cd6836cd11a40d118dedf6c729ec1d8fb93c7656c1028c457\ 3b0f212747e741568941818179970556e34c0772ca29a23d3a72;

h0 = 0x44fbe34cc13480c27245829650e5824a2ce84fd8c46c5c52276bda7709d42f3\ d3947bdfb280db10f307e49ea39c9fea57fe8418b5eb8765304c95624e4c8512199fad\ 4dbc2c9a95cc14b01786eca6c92a8abde068f26ec6a65ce9a0545c458bb509bc5579b9\ b927db3829a14c4f1efd2f17113576ab08017fa756c6938d1e23010ba6ed29bef61420\ 32aa1c7b4ccb7483e992eb54eaf99bdb3316286af96bdc8d7aec52f6db006a854bfc03\ d6f1889d99d7120aef00df246b1bb58ca62721531c5774b72777712559c0f85dccd770\ 7a893c553960bf4d227fe557eb67223d92da05d79fba09401a37e50f437682b52a4504\ a2fecead8b3d9d78c4e5aba74995ac92f4caf9d93950a9ac484e38455df0511428bcf6\ f2f0865586ab7dac5dc253231ccf4bd3ca87c31bcb00e3035bdde5958e77e6133a4851\ fd48c16917eb0002a06b56aca5ccffd45cc801bbe67ba391d7554bb0a4c25b98097080\ 57b812840bc7894ca877874356576e1a598850c52f83e59f2822c446feb77e0d911ff5\ fc3c984dae9b4036db29a2102427be50108a7e6344b820b859bec9e45b30c798e5519b\ cfeb209a9146c4f370aaa683cdbffd52cdb7cc782f36721616aa997c2eb5b525ff89e3\ 33001d7a466fb8b6af45f4d3d976df6fcc559e32444a718a9bd7121e942209e69a6a9f\ 95f7c94307b60749776151aa20611f79fe27eebb1d291ff31d694f19a257f48d8bcc8b\ 9062f1bf0c685ebe0788d25f59c6dc822ecd3885cf9dc5223f1baae4dd4d15207e193d\ 15e148454e692ae39d32dcb8399c9435beb3b1d9b6867a7c3e1f4f8edb2b51ce4068f0\ 4a31d7a38b62c4dcd1cd0f53cb61d2dd863370dcc710d982ff409832fc213b584762c3\ 77e5c65837a0f591d8244f7312abb673aee3642fb2770da9fcbec249fd0cb26119d8af\ 0470844c07b1786137739961b694b27d5df9787ee1418859bec8ee0ad176f75e705c78\ 12757b1bcc98794cce8c01d91fb11483eb47c9303702b95a241ed7910535c88755560e\ c683c09e515c0aa1a78a125bd4ce14953c93e80362b939ff4fdf6df9cd52f9a545fa96\ ff5e0fad058e392e42db5f59a3217de6ac20d7536024a3aa8d9354dc363b93b31c28b4\ b7959ae3734d7cca3aceb8ef4b416d149df009023d797d304f65c346258c8ee32ebe24\ 2526f939b0da7d220628e6ba2f42847c9fd6f7b61a7f65c181e25e167be25c6b95c4ab\ 833f9a7ca2cf657d9281f0c4a7327f907c8d6256abe33960d1d75c56e67fd3c4d4e2f4\ 8150f35e5ae6773cc45a6ff421be6d6a72bda6b49e99ffa4473d995b90c2e8b74554d7\ 9334e9c500323217e6c9b9523ae3241deca606c2e915e8ea581a7bc32e8facb8725ead\ cd595a9cf02e85869f2d6991387faeb6d7d772911accefcce8cea25fbff21930531285\ 58cab921b89afca95161647f518bcd896d8e773b1dcd8e701ce04531cb974de91e27ca\ 5103f9fe1dcc9ec2ec33019e904eed7c898406cdfa95633ae1aae1f47e8267a65b23d3\ 8f729c39736a9cfc31bd4fe443990fba29f66b855f8354c0245ec201f7d9275d5e62c1\ 6e28311538625160b5f1f2b9d7e5ccc7f5e5108d17f896e529334d4cf582277955ba8d\ 8747a6f847d0537fef958385657d2b19a0c0ddac26b2199065ead291395e8b5c0f42a0\ 01e9387dc1a9b225d5539db194b5b44dd12fdb0f5f860006d78de1ae9f954abe09de52\ e24ce4bf661611eb619f76195db075c219321c6113a2513afae410957487b099f3f750\ f6648e1620398e47464e38b826aeccfb778e2503fc251ce37d712cf35b9036f51b7310\ 92f3b7fc9e270973a5d56c7875f0fa81e0b071d75d4726f6339db1db4420de3f166fae\ 2225992f37e24799f48673c1a8564505348c6da4152927eb706793a883da08b37cd8c8\ 0ccaaad7fba8d4e71db2af3898783a65a971e004c86e377f588c8dbf51d86438cb0223\ 12a694362bbfa5a08d16825e8cdbd876932dc4b94303b86ecd0efd11411d1093f50776\ 7b707d14c5dff64f2e43fe372cf36a318176c713f8e4528a514ce2e129eec2ec2371f2\ bb161d9449025db19dccc2eecd7a564ff98e6b7fe0aea24c060baae88c5083a9c7eb13\ 7350dd13d56708d0a490c9713fd9ad08a32362a243420764c5a070437db9d9d4b68508\ c70d83abf7ad79400bb4ddcb8bfdaab8dc27e6f436d3b30af001fee91e93065e39765f\ 40a617a88e2c77fdbda13b062af057ef3c082e7415d73456cbe75ad3c3b50534ada35d\ 060f710bda291be96f33fca0023bd40f3a168a8530b050b51db85440867515698372f7\ 61af1eb7fea3f4ed8fc15d054f93f28d354023bdc5d5e075b5dfef75aeaf0d1c8e2cb3\ 8e5015178f8e03456a8a66ec22de0717415ac71029064e515d87b63565a938da189142\ c09333e575972f22573e4d75d2a7bd7d86aafda59612e241df95507be5f437fdd24569\ 5f97292aee5c74b949ed84526f2c9cf933d891fea8ffae04fcaccafee1d233df364376\ b5514231bd6d6508df641bce0ddf763e0f8a000b3db2998281a15bc5dcae25d9625520\ 2002e24b3a3cfe5509f191e3549cbb3cb5268a0300afc250df9017e5fe3df851b0cd5b\ 0cd272b4a228f6bc504466aa42bb2cf4ff0eaf0dc565259df35fe0db9ac699f099e33b\ e38a50c3bb943004a5cbb486e9a49236f2d843b43ba11596e13ede54a04ab5b5897dde\ 92e86c7e9e446c3e65002fe25e87add38a0eb15bd4f16692fc5f3421eac2f8e27c241e\ 54d921b8f43e72b26906d628b7f28ed95ffcd1808ffec8a4768830c551485235e4836b\ a34bc2c7659608947747a25360279207fe5f37d31f9a5a9caf403c69e09761874930ff\ f534a5845dcf55ab87eed3f9d65947f2e6b45c5d28d1cc5a4974;

let Q(x): = x^3+q2*x^2+q1*x+q0,

with

q2 = 0xc606d78e33c522bd1244af9865c12c6f3a79eb698c249cd416de275ab565ae4\ c3fd24775d8c0710c9a8be828f2c6fe841a5b80c43d7a94e71a869c4895b71256e3e2c\ 0f88d3fc9739bbfa9cf3504ed3eca0fef4b54a85046e54d94a219a51d87d0fceb75ccc\ 3becedba45957c46bc5579f9ed9b178990a666965b8f576ad49d4bf1df47e4a9605a4d\ 0ba98898552a5de7435143739a57bfa628cce7527defc170485f4b3323013191e78478\ 86b04adfe1f819a6ca8e817998e6719ca29b746bf098b2c35397d690a84c5045ff2df8\ 59d5b72d96e21be07170bd6eb89f7199699fa18f619efec40af9f2ef532d75d9250da5\ c74f71af257c84f4dd9559d9b38afefe6957778a12616edb78a57432bd78e88eb68729\ 4a0535440d2b5cedcd3143cef866f22643f9dec76406e3eb862a85a363f491ce9c8c1d\ f8a0c5eec7bfe4eb1e92ef3f8423957c62b11551af37768bae3367f60c8686dff523e2\ 4b7599ff8cd19eff81b22bb8d6a5e36378653320ca798cbb5301411c7e35a6a9156254\ 6c669d6bc2b5b635d1981797a07b6cd1d77314bc17ca2eb9bde128c87c2dbe5ffc6168\ 0e52556ff9cfb8abda082b6da05f0802c594cdf8e95cdda5ce249eb12216facba6d5a0\ 4d3cf60400c206e6b574ea1233d2f6857bb782f0e7f75b2a48f80bb27d8252e30c873e\ a751776524cd952c7ff0293bc5fca2d4c4b0f71261f1a23cc44932c1a35826cea7b918\ 748b3a7934b18bdd80506cd5ac8c0736b10247b334ae38071213d90ed422a6b6386950\ 55e0f9a47c1ecd0f222318f19bc518b0205f28af61bf9302f6f54e4d6c0716b0ef7afb\ 5479c1b9df17bb140472960372d01e08f809560f919a9d76ec446b332af30d188e5eea\ c2e4868627ab049ddc5c39487689cfb40e20dc5c335a2205833505fd5ba4669043b175\ 781142bdc2fdd1d79b51878c2ccc5a595f876e3bce9037eb10f4202aa052b5bc2571ee\ 11138d77be9b16911d12ed629e68aa826c3a866bfe73c9ca58812c2bfa15a9594fb46e\ fea5139ba8b80172349a142e09fa6ded7857bedd0d552522d1b7098c8292711b0aaeb7\ d7e569ac12a4dfac838a72416f170227320560593abb7850d27e5f04b9bbe3723d8a80\ 54e035f859b0419c36dff9277ff5cbb6c2b49fb788420136e1946bd3bd9d01e980e96f\ 8b1c242071b605f096d60a1713696be23f6b2bd6ca8991bb1540c08b6974f72c81420b\ 10e6862b7021af3165ad067de269d86446a8f32ea0ce990339ba306d64c702ea264d9a\ d049cf9c4c26aedbcc8ec084a44a1ad8938bb91f805611c536fc8861c6fa275fe80d51\ 108a1fba7e004ce67bfbe4494b3037504540ce1e97ad1ce057cfe4e8554c04ab807a6d\ 914393c3523a2a45ac8cdba80678cb071d884807cfeaafe685050f2d00438d57ea673a\ 0c9cf0a5034b47da892685c2d288ccf866fd5e77e322d3d23caa6418900feae392a279\ ec61298ca9c828d01b65871687b80d4fc522415e9968c672b8e4b4c0aaa4173e7b934e\ fa558c238ac9e5217da2245cd40855c4d93ada6bf1b087d46c08bed39aeb2430b064f6\ f3057dde83928323ce2e70c22ead85fa77acc85cab382afb395754b23c5feb7770288d\ 148916f1a64106f47057afde8e433b04f84e0fa20035a45016f4f49829e0594eb50d78\ b428e6aa9019e521d9d5a00647726b33492543a6b3be7da74e4705ce33e8bff027b809\ d7c941986ea082ca36b49b64916b1cd3714a4cb2ff1bbde44aacc8e7176d2dc7160449\ f21aa16cb87f1275ca328822cfba72ccf4518955d898dc300553ddf273c145cf35e626\ f78dd06209d7239d1904db40d60ff5b29b269778befdbe5eef4d6ad5dbdc20e6e32fb4\ 97e630c5f8810ae6bb4ec1b74ec851ad12b841fe5b363ffcf3bececec9d0b43e28d86f\ 860e25aff057327c3a9d00f63bdf9bb0b2bac1c8fdc69a2d6122ca7f268f8435690978\ 54380f2fa74dddf9e50505fe603ef6062f3d466f58356b41f4051060d82242e8f09d0e\ a9892ed6495ad42b66da4ba001ab8c7ca136b5dfb505a370d1d822a5d6acf872bf572e\ c6d8ff477cd24d7f9f351af15db4ba1bb2d09412e79ee45806c34f6cc37b454220e254\ 54433ae43bda98c197e72a0fd9b2ec774890409d1df960d422349dc02cb67a945367d1\ b6a21a3d46a517af4fd5be7a67d56ef7207126b78af016574c72b1bde089d0eee153ab\ 71a75618698778c7a2db267de23ad5712ae4e58ad1fea1964b68a5e59cf90ca1757a58\ a6e988fc1ff1af97469e4a8e2933178766b51fcffc4dcb4da538c0155f91de2b769466\ 3e35eea92243ab92ba21e78ab841a4dfa3ec0ecea67d95b57d6de2e7925396c0d90050\ e3490bbbb43e5977e6c8c7cff84a210af2d3f301024f7cab2e0e23cb986e62d35d34a3\ 481a19bac2005f419425d409a682788fd77940ee0e5ee49229b16ef01b61c135de2285\ 3ebe3b8e11823f82bb4a0f0baffc3f6e641d9470eb8f2dc038a55161e9d21b9dd9a113\ 5bb9a9a7837c675bc9a0bc608d134ebfc963e5e6f9b951a76fffa60908ad9c1c97b408\ 44e8f203c014518877d5b6bca799008d8ea3a36d7f53432b062a4238e9bdad2998ce9d\ a5aa01c38184250173f5a1126a323233d49c0d7355351331c61d93e9a20cad8983706a\ e33ebc90f72279d8b3872357b8afd1897a13b9ea64d21bead3ca097b9549be9d20a75e\ b38c6524c0b7ae7ba5f6c63dde0e07d5bef149129470a14bb36236cf486822d0b1bb55\ f5deea8d01c39c59ff465db84a475da79eb7ce6e8142fab14cd3559ca1e85d44132b12\ 482519406df26f2563ba7c33a95b4bcf24db1e3b2e6fbc58dbf405df7c69e43e60486e\ fef7168b61cd1018a41594b9f8525355a7064ce1e179a6f9439c;

q1 = 0xc798b84eab1596a7ff81ee5a9ed59c752599d5fb24b01eb760044c78aa7a37d\ fed1f2550660b5268cf78b79f517f4dc98e0ab198dabbd8f9bf58e714b620c1c2b02ce\ ffcdb53710a344c08b8897b5bdd3e795cf690e4dcdbe444ed8d7bdb216826f00cefe4e\ 32ad2c7dc9467f536336a8c9ea2f849cf64bb5780d57ba351058db2992fcd587723ecc\ 3b46c4ee8517b5bfce32d504a889748f2c042a4ab01ae745e4d3dd2e7d87cbe3015bcf\ 378753c48078e53dd0f7e04d2ba2dd1da59bf64563838ee1723a2cbfba60c703b36908\ 8be3e297027e1d040a888c4ff1d17e4dd214532e1470a6befaecd8f6ce69be482e8810\ 91485992b8b71e1d027cc8d9e5a7e1995b81387ca70fb8b834453bcb853de6bfdb95a0\ f4242f2192fee972325bbfa3b19641152f5ba422ad08e7d7ff87302fa18419de8f069b\ 57a9cccac348d4e3fafb1920d8a80b03a447100833c5c3e19f8004323c6b8271065e68\ 9399be11581694d4d8a4d0ab3d03f70a348db247c8d27b591f9ffeb781939a92967870\ 9e6a5d6915b81f967deec87ab5290c1988a14efbf30da9f9eb5e6147a203ebc376a0ef\ 8c575995d9516c9f61e8e286471d28665fdef7229f504cd1abe5cb41b88df96bc877d3\ 75fa411142d89cba7010a18c71713aa5eb9c574db3927a340a680b7f3debfcb21650c0\ be6e5d1bcfddb3e940f242c37c2e2ec62a735215ae8ef7799183a6090abbed11f2f774\ c53c5e455df16de3334e50c5ada9354ce94e444e46936dbb11d65eedf8c4ca0bbc743d\ 2447e7de1d2a10a4cce4a95f7f8bbc0c5b69549c46cc830f77536bc717c1c389bba2cc\ 2c81c7ce966ac8cebea8aff1415cc926851617d3561d7e92a098f291d1c572db1aa072\ 600df126a6f7550eca21cbea39824433f34e063a47a46ebb0888836cdfaf44620ca110\ 76c02e57baa80158309941dfad009c26334e1908e22622b219191583e9d71d827f1569\ e88910954e82d5c4931093aaa4795ee77e848e83a1da21395076f356a9beec2aea9ae7\ 595ca8b361ea67661615951d5ca2725e9eb727de8b08ba39722425075572db571e7e3d\ eda49f1cb65d43fd2e9bcf5b39f9979c61688ab1e64ab5e7a0c39dc4eb3dcbda3d1103\ d7cb355755afe4ca4e4e95e4478e0812d30796c4fe4adfaf7f76ab5fabeba8dd8530c9\ 97fe0ce5e4cec67870d94f99326ecb8a26be6394bf597ec6d4b1480056d1db8bb67f3c\ 448d280d3c999c10cdc8cf83a23028995a6aaafcd27990489698cc7592073c59331e9e\ d3b4499bf308f7b784763d8a197fffe307ffacb79d4aa8607fe95222f3804c47e79a96\ 093caad3360360fc617e366181c1f874513da1237c5b904065cef71ad10d75321b71be\ 7fdaf720fb6bdd0eb1e54ba66f1529ffac8c35cbe8eba847c07526aae55393d7e22a4f\ 961dcf41bc94f77b45a102f7f3ea7b3155676314cc9d5f067e9314f7bd898cdd6449c9\ efe6accfba3e3757b175dd92a37a773614188adc4b3c256f7e30671a6d445150d918ce\ e3a64a9e045f6e64a5d3a3d64deb4e884c262ca32802a2b5734d3a068529dfce871944\ 2515e0eb32d3390e91aa4705f5315bdec96cf188e1a6c6fd50e4b09d7fdb9ebc182620\ 96f3a18395600ae17a7c342c210844df361ab8e743fe18347aa87838c19be7129fa8d3\ 272a01dcdfd424efe39754ee1ef17358cba4e19b032de45181fa7e6b244eee68c0b6c9\ 6844a64edae2ecd747a11699ea5d7709640d6b55e255c2bcc97049009386eabcd405c0\ 292bd8e4e3a718793ebd9ea8af3dfc6e7c3f124072736f7922b2ea90147680469997fe\ 58c93f13b789deb424f11c96b5e25443ab6f96ead6b41a59e5e3a182bad8ff428e26be\ e2e2948592af17095858e6b9616ae490c67b77292ea2046415b9188560eeb26dce593b\ 1e1ad5dd9daced36203b116cf7588288ac6acea4a9c9a14bea0055ee64a2fd34c8a317\ 93acfc17a01170ad6fad46623bc08b2ff299ef022e239119230648c97e7035b4c5ff9c\ 3d429db7c42d63b785a3440c9515331e1795a280a1084892918f4c6d847132fd6d0cde\ 5bfabcb3da3dd69f7e0bc1b9f5225037b2f04509b9127b88ec71c497ec127681c2c3f5\ 15a076c2490b930230fecd876df8dbf6a9df2207600779838a5a7e7fe2946c4cd9270e\ 4a0e4796f5f765ff08ba9e307817b7e7beb29e85bf7995c13be6586cb21290828e8ecb\ abdebdfc6162615744d367a8414a7c672d4cbaa9e72c03652858798f2a36f9fee374f0\ 67ac5998a418f458a74e49303672db7f84e5d77a99935f22f89446d8d1e10a4f078a68\ 0366b21f2433ab413cc4381c251f6fc684f7eeedc98f020a98f46c3d4626078b7781de\ 509c3f53b5a1de116bd2a316aa486541916cd17bc7a3afae6efe94b3cb8f3eae397b65\ f4b9e8e2bcbcda262d3eeb972307770cab4e3c13d9215b94b5997a708b4e997cab8364\ 5897d491fa26a882bae63bb433cab7a5fa7be7294374c9ced88cac191759277c47053c\ cfa0610000c6fbcd9e0b5eb5b4f5db2fce7c62995bbfedb39f39945f32d18e748c81b4\ cb1a9bf18f566410eb8b2219f89a2a43f75301629ee91542a07400a1da2faf49b6e327\ 0c043d1e04db77bb1fefced6a9ef87cfbf28ad2108e7ec1759c8f5d8409339be7c9caa\ 65540d81cc5cfe7dc547f88ed147150464a1ed205156bba72a63e9e5860cf3d394d637\ b3b5372c56a23e373646d9b50d677ad0e59491f986a9d4d8f590cb277fc40204ccd47f\ 5dff951cbe5475a7d00ee8b4a8c89159e73da9be980da6b704a39eee39f0de360ecede\ 00cfeec2e3583bb9df66fecfe39f2146c183cee6fa2f3422c917a76982a27a0f63ff1b\ ae7146b4a865217e9725f312de8eaa66c0d8373fc9cce0d18532;

q0 = 0x2c23bd41e1ad37caec26ab9efa59b116141ae2ffe0e30b218069734e1edc8df\ d9dc9ee63b7d6b45b6c162323adac84d87640150701f75eb05975405961288b4903749\ 7872f8cbd190ee5666be3e647800de74df0dfd6229c94451858e37c0df698732e43ba6\ 787f5a0308cecc4c86cb9f8bbd4e033437ca172a15b4907e22be518ee967ac8796be87\ b0f92ea7affe7922ad9cf742199a7a51997c2ddfe5d743860bbcaea6616bf7f3d02635\ 7157f8658227f8985b4f0ffd06e6a91b47d91dbe785c141166800e3cb9014b229a576e\ 1c0d865912a4f0e000c03df60a29418b2f3c788296b425252afe4c8cbe43c99f8bca70\ 8a945b04cde476c134011eebe559d899b66db179f6754309438bd0afea18eba9b196b0\ 2d54e5c347d3f91a09edff49a323de2a6b34d4b8cbfb26a7180e738eef78d24e70122a\ 594cf5e3a77e5b57a6e191ddb48a38a30cb5fa166cad630cb4aa041dbc36dd8fbdfe3a\ 684af49b0596c61e7b5eadef8c055144e2a56de260552537be8e82d146c2ad7a0d2852\ b4b878376c2292c34af252689f29239727bc97776bcfcec5b391aac0f874e522a6e3e7\ 0bbd75a22f0a035285db2b4c87c6e1e4c154584902af369b45dbecd64daa402d272ead\ 580f64a0c9ecd644b4500846517dac14078fc91602de6a0acb1bbade862f65bdc02962\ 490328047963b96e62746012641a2d7b057fa9201878b4db32192cf02c2e16a0da9716\ c5582dae67de33a24067f742594a6534f44a70c59529ad8d0964375f08698f03aedbde\ 446515cd26af1928251f91d41ddb783977e2017bba876e7fb1b8670ebac6eaec0b62a1\ d16858936406ec7872a702f9a4dbd8af555e2c2215b2932af38b35c0db7cb13e55f526\ 8171db0d00a21478dd0bf1d5ff39bb3b098cf27f151b804692a639a1cbfb76877e400c\ 683a0fe2770c0b15b9c275b624367a6649cd1f66acb07ebf6d9de121c1d12c3f01626c\ 6a26e65ca9bd0720cecd63f0d1ae6e0b5ab8ba5fa6632b157ad08b651bd026cc87288d\ 5a482ac6c7d51dca04010b9774d06e3ded14df87e29e3e73a301779cb9651ab56c052a\ 0605cdef20e36125df056b9ea24f48b9b6b0b20f1f540e953752ef39dfed0c517f2786\ f6ff4ee8990ff59a0a6b35af39b319188e610cce7fec21298500d1cd0c5f62fdd8b1f3\ 4c1026b4e393d23e89526341b0b7de9729edaa048e87722b8c238f375645c8e04114a4\ 8c71a75d7e1825aa468dd944c572e3914a60c9230b1fce590f7268a06f0e5f868c3db5\ 4b45ab3b359b1816dfdf0b2c4509d5665f388b92e7835beb85ec156f49a45b8a45d899\ 2128e0202b28a3c913c3db459f8bd0dc7a80095d83eb1a1bb3a34f67e4174d73946ee4\ 73377d8b5fca0593eb2f7145ce554c6b39125bd29d97b56d71342cb4d4c47301312db3\ 27250d191c1630071b3ca091b4015716efe7acbefa8f80edc4e2b94382510ea1063a4e\ 0df8d29d58523f7249a113b2525029b58e2b40b3809803a619b6845116c304518438c1\ 257c3e9ee3d277b9f07c2205ce07ddac0ffffce94ec4a9bf0a340723bd62b0688f9d99\ 2c82973a1bda96d92a7182323fcbfc2f3a3ca51234aee512afd9954b22d009c094b86b\ 43455f25eac5e277743510758ea346e8189a69c2eb926aec5b4ccb840620bf67738527\ 4be8b8440e55529ca7ca3b5ded2952eccbfbefe26b945e14170b55af31953b043b86f1\ 602f569e95199526c91d1c7a4991646e9e283aa167da962436460fb53128e1bfbace5f\ 0cf94564f5239bb092ed462a1c02676982371dcc2c1b8d087b18d0ceff67d2ff0216f1\ 37b2d74c7a5a64b097d4eb84e517088b7d327f622f729d1534b03bb5d645515cf43cee\ 9040540524e3e0adb792e32aff73a4e12e1c2080bfd37b46192069d2fdcec0ea16314b\ 3700617d1cea1ea45e2dd117938b5a467ae98ee696f42050df89a6f8d7bba351c1d275\ 4e423fcd8f0a902c932c350d9de05216bff820cd84c4e48d485a83c1526b35202c7f1a\ 654739717e787e4480da4c6eba6f4d9ad7e50dc2d4ea15c50ebc98dea0cf8eef1ed055\ 862257d6639a9b5d764269b101d4fd99d3510a3b5aa6fa9e719a66f7d87c3d9eba8f4b\ b63bdb6bf3dd817743106043dad9d0c8e138b27c6e2f99a71e8b89f3ed23bcc2f1971f\ 8e823cb13ed2fed5cca082f2c8180d05c3d9a7c4562d8ff5fd8eb6ed542e93951fa393\ 171a141a1cee448b950b87937a0e359248a7b0a1b930c5cfbd747d7a42cf5c8c623bca\ bd6a84ab915a7a0996875cfc375e057eb118cbbe15de68a4157a00f8e9dbcd12f0049a\ 2ab9de491cfc7170597f922e9a0fb2775fdc313eacaf7b2f23e5da12324b133151c035\ 4ed34ec86ff37d27fc69ca4bcc3e80ab78c1d1d8c4b3a8c70c3e3fdb30559d5e109b87\ e14565d707cced6701f329585f023a7c2aab4859d50c2aee3627267d19330b760c81b4\ f95274479d9e7efd53f81228f4c020b488258e818bf392d52f5cec6c02979debd1be03\ f293dfb8c65e972ee347a762ee4570126de9f9fd50e7e9bb1d8ae4476c2ae8245c00b8\ 2c3c3ce7cbdb5bf1cadbbe12536b6ecf2aa4770c7bb0208e974c83eee8b796298875ae\ 4bb7b87f3b1d6c2e62716f0d8179a029845a62e53c6a74eb86ec294132b0dfefb408aa\ 5cec6c2c330110b9a3c317d208254eeb305a3049a74a3871d8f40fce7cb408e3641693\ b550f6e5a3955fe450dbf3331dfb91570aea55c37fce95be5922183140e44e8ee630e9\ dbf8b2a824a726b3e93464114ab9b4fa40aeacd1290f7f56900ade34826bf6ee11062f\ 0c371c2fb459a2eecb7f735841c1b2737a5b1e3adb41dd8ca6517a80a699684742548c\ 7e253e19154fdfea2cf443ef879e87952867e321707fd2745395;

then the Zeta Function of the genus 2 hyperelliptic curve C given by the affine equation

y^2+H(x)*y+Q(x)*H(x)

is equal to X^4*P(1/X)/(1-2^16420*X)*(1-X) where

P(X) := X^4-a*X^3+b*X^2-a*2^16420*X+2^32840

and

a = 0x1a0245738a4775721b201a8778dad407901c6f667570db0b8f97cf0fa208e31\ 03c65be6e17f7866f2f84a42c02d98db739989029b6186257a1369ec23d6905deb2789\ 6de27aad15a7d20cef6d6d3342da565585bb118fb7af72e5e09b1ac07f66f8ff51b68d\ bf3b262a2429ee2bbac556f4fcbb7900da01576158e631d0a98efd2f8bd97d305ed827\ 815681256426cb1fd0979a9f4d454c3d8439643a3d97aae652ea0b7a3523df4e70f5ad\ d5dd6078867e6318a7bf651cc515a88f013c5e945d5ee716933a7e880e06a72fc8ffc3\ bd22dff42d2da9e10d08b03d46fd23c1bded235618763bee3a45867bb7d3522321e563\ 76c5ca45b199c9caef99e0544bded258b50f8d8bd567ef116ee6c9251281936b6a7b68\ 913bc0a41c241f5ec6bdab8ed3f8283cde2aa39e90ddbec876353c7c19fdb45540fd91\ 13af342c635df44291678336ee7ee5e83fee265fe5cc14899fb178c802349b324b6e37\ 265672d9ab15fbcb8412074403669272eb18d07284b1247e2fa6a6127f4fc9e42a83a6\ 8b5cd6d9e91f3390ad6bbe60d87ef08640640a9a0c002851452aedc419df5f343b3249\ df069ee6f0d5a80d52c0847946e071054a67fc0b70483e55921ad71c2d6deae7371b08\ 3894ac42a8708eecb7a5ef235a34c29f13bab712beb3887e45df33b2a578a658976b4e\ 4df0cdb5d54421dd5b85659c5da65631b3538456037e56f7695173a396edd194fa867c\ b52560a2b92b26e4fd1d4038cd55433711245f80d0cde16aff128f60010bb17bf6ee96\ f482d293d3a5a1d66b451ffdee5bce219e11c7110380ec1149efd568c727a2f6e394dd\ 437da47f9bcb1ac60f0458eb1f1db3741c01edb7c92ba0c80c6cebfa294ad7de5a8ef0\ ba431a5a8aca3fc3eba8ca4f02c8a6eb1d8b48a63b780b7148ae8cace62e46a7f35dc7\ 6331e86f648a63854f5ed7a94c5c784f3cbd97a4b009eaded663b191d3e0f207903c80\ 2f9659e39cde152e16f08580cf4fdf724692a1cf9c76d146f8ff61ed9bef4437cabc2e\ 28b5015b8447ad671d3cc72134a19747d1f53a2c146096feb4aaa543671b1d6c3f57aa\ 7a38bb7019da9addcbea5d0cd6ed9b9740b50cfb1527cf6ae87c58c00e1d72f14e19d8\ 660fdb2674f4f935c3a45a6e8e26e1de7af9afd5070cfc29a9cf69d44b94e4047607eb\ 14470b7831aff79fe1137324296f3ca5bb14cd42ec8f6c49462d215c5a766958a448e5\ e5e5a9afde67ee7a2efa6ed853adc8af35ead945b259d8823dfbeeaab9723daf0ea843\ 7652dc5652b306de0c792ab71bfff02e72df77fe19cb8dfc4dfb10f855cac6581fca19\ 2ef2a51d4341197eefbef4a5f4211636601b7568f1b78c344160446ecaa0fbb59f69bc\ e38a95c2c2be72c2fda8b49461b49eea93702a88a68cbdf28f92c58a3766ca53e2dee9\ e42fb6251c5ea14367899aef82a3fe;

b = 0x1315422f48009e570d38edcad13b20f9be4c7cb130a584687857c2b2dfaf7a9d\ c49522e3f1b3d03b8518a9eb5596c9361b3a9657b2c32cc14211e5739f745e2f67ecf6\ a08536b97b3e678f408150e57197f4037a8d3795c941cb8de22dbc15a572ed5dd90c30\ 766f50b1258269fb443dac9f225e813801c473a9036e188ad539e8b527cc5edae0b006\ 607dfbc4b0ccf54bc536d40c4e8ab1160a9bcbbd62ffda52dbf7a5a50159258aa2ad42\ ab53447a12fecba69ad0d8df0d06abd06db8d02dcb961161bbe5b5d0a24cacfcfe7dde\ 158e4d8e36b76b9c6c8169e23d36f552c533df9819d168a17f882ef43f41b2ecded92f\ e97bae5066a4825e63cc9de84ba42bff3c445adc83ad63ab2d266f9de2d4ac98f9e07f\ a882a48c05431477660463ec6ab1d054b87130ed8c93065c5901a43eb4e775b931ee3f\ 9515b87ef159b0ad6b7dedde79098d831e60264821949cf82d4a2f315ca6d5964088b6\ 78e24299239c0e6a86a67a6f8bdc0e5ca50fd403b0890fd05137343250425dc9163d0a\ 520f5ab83792f0bae6239b4363b0b5bfb3090b41be5c6edfe9236520a1a31d843ea9a7\ 319aa8234ec3e5279c1b198c6671ade637468873db81f11663b914dfcb60d7ca5c5d5e\ f6c40355cf0185b6b185880c2dcc3aece3e139fb0900bece510abadedf7f229cf02163\ 6386a825b3cead7ff88d5dc0dec926180fb853dffcc93459b848c39f6a677f5d73eb1b\ 586ec28682473bf721226483f23db07c5186b4420a90144ff876d8bac16f1f04e9b77b\ 5dbc22d9813264471687e5b8ccaaa7acc6abf7ee5fcb06212b71aa6a274fb0b9bcfe4c\ 3e24d13f943855c77ef78d5fcdaef846bc24b354773fe154343679c1ed5c698da0b87a\ 23751af01907b8261fb906046fef9bb851cfdb1519fede78179c16bb286804a31cfeae\ 260ca013f7a759ec37333ee77467c20f19e1bdf01ae9382981747391d8bf4dd63b8c55\ 81b4cb34b57ee0561c7170c6ff07cfa83724dfad6a18c6b86c907a75052e9b7d96948c\ 34939310608f08ff237a2fbcb752a82bcf602ce8fdcd2e82dfaed786f3b3108e06c126\ 1b93bd4ca90bc6af5480cede7e8e46a563ec94659e72337e8d51558aaec7fd158ef45b\ 032d899c1001bc5d09f15789a5acd46408a606b3be2170adb8813531c8a3ae391d1f98\ 061dbb40e39d9e6a3f635e8d0c20ff071e264118368f95f9245b03429cd85bda1536b3\ a776c90c58fa4ad9752faa6c5c02be2c1e62c887efdc7cf23fffab3f13f2f049c43d7d\ 99e878ea4ce46f67a8d03ffc5e564a4ad1ab1934d05fb0082a8f2113a8891ade2b7a0c\ 3429a11e2c9c1e9a64cc1ae95f7bff7256f6f85cfca2e925b7736bc68b734dd7e980e8\ ee9f5c7cfa9b718f8c06f8bb0599931c7ef6b5c7f77590516e705874ec9621c492093b\ e7c75608cb855fb0ad1af876cd65c301b160a16a3ee449b37b8840c3a060b0d067fa1d\ e2ec761b39b20b1c3249b81f29b9c7b5d911888b25d6b606c6e8c7c1ffb234a8423eb6\ 2957d6ecc16ba92bbb8e2cad0cfad6b865a5514c9f497889243c10dc64352d472c2b23\ 839d3bad78399a1a8a92c62b6a4cab31d725d70506ede5d4300a446dea3c2c34471a7e\ 92251bd69dad210830477afd5f6c05eace7236b6846ca3cdd9f66c1b2414a2f53c83a5\ e28547a443168a04bbb0bcac328051f987ec179f162bf1c54b5ddcd3af0dec4c697cef\ f4330f729e6fd2ee32453c1a2fa1ff561c14a05b49383fd435626afc38703f55321867\ de05a32f3e25712e30f9d1bc1a735145d385d45ba973f2114ff5f9b1f038f8f468ac67\ 2ddcf409d7c1f8c6b077f708e27999ffad83d91997f8741f99beac45e9d3e0e574df12\ c5247acfa275558ef5ece0b326ae64c36421b698d78946948c72ed0263397dab516708\ 0897438c34478a054994f0a1b825c1cf38170ff415a2480ea7d9cbf5b1207406524df8\ 6b6e30458268467a9589e2e69c678c41100ff22c25a77962fa1d581f9b904d95649704\ db74e7aeaaa38de2c11c8b1a7251fe20fa02c9a76b157367d201f19539b48c0097e6c6\ f1f5fd7acd08c64fad545e933feb02e5e4b97383476f2186c9fee0083f94569be2bb39\ 8b03648f95b67002eb2eb7cc82883c9f1c688db97e86e2397d8c58c35e2cfa46206739\ b1c681dace56c1423087858500f099002027bd44c419a26c27db93fb13bce630850e7e\ da786cac544f6087ca0eccd758295c13194f624dfb1001d00fc6d9ea56e487400d2409\ 533fb5a44e061f062e38cdfcf61c2479231cd377b16914b5f4260fa972e334b3c5817e\ d31820ae7da183a5d115a95beee82fb4ac479bf2753bd9876c686043758991434b88c4\ 67c975b92450d205797b350c790070db8667db42d8b1e86b4c72117862dfde7f57cf54\ 6657a54f4927a650d83a588e025f2b33179181c89202242b72525539f916c8e94e4077\ 12475d3c8ce868cee48b0b5b62b747f9b8fcb7fbd0394594c04650d6dd7eb074914713\ 824d4931d1e416d86f8fae50c83a7eb48ee50ee853ac2bb63718fb50ec056027933aad\ ad64b2ae0d76cba828299b5b27a0828feab028c4605106c23bc75ea6527ae54c4b44d7\ 2f4a65608f391e0d3e69e808f7a0a10cabd26857fe2f9812cbf1f9eff27ac576befd9d\ 451cbb2b1fc0c886a9bd14d9077e4eae78f67c0928e497adab357f8d76b9c668eb7af4\ 2dd284ce61d8fb47f2ded9e61aeb23ca0c17cc343436691f1577dc31ed08c4164724fc\ 551af48960b2bd7e9bc9af293647ba39743d7d13163791fa49a269beacf496dd9bcbe3\ 895825a5823a59fe036f5872e8093388386938e87ca66800499f19ac642d3666705f2c\ e854573a0f36f5079eea639d0d9ba0852fa425d2c22e40af654d;

Consequently, the number of elements in the jacobian of C is

P(1) = 2^32840-a*2^16420+b-a+1

and the number of points on the curve is

2^16420+1-a.