Date: Mon, 13 Jan 2003 16:00:46 -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, 32770 bits
We are pleased to report that we were able to compute the Zeta
function of a genus 2 hyperelliptic curve defined over GF(2^32770).
The software that we used is the same as the software we used in
December for a computation in GF(2^16420) [LeLu0a] following [Mestre].
Details will be given in [LeLu02b].
The total running time was about 8 days on a 731 MHz Alpha EV6 CPU.
The lifting phase was done in 7 days 22 hours and the norm
computation, in 6 hours.
R. Lercier (lercier@celar.fr)
D. Lubicz (lubicz@celar.fr)
References:
-----------
[LeLu02a] R. Lercier and D. Lubicz, Genus 2 hyperelliptic curve point
counting, 16420 bits. Email to the NMBRTHRY list, december 2002.
[LeLu02b] R. Lercier and D. Lubicz, Mestre's Extension of AGM
Algorithm to Hyperelliptic Curves in Charateristic 2, preprint.
[Mestre] 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.
PS: Computational data
----------------------
Let GF(2^32770) be given as GF(2)[t]/(P(t)) with
P(t) = (t^32771+1)/(t+1),
let
H(x) = x^3 +
0x437278323b*x^2 +
0xd996a1ea823554cd2*x +
0x37ed3a99f22ab977006a0,
and
Q(x) = x^3 +
0x3335313734*x^2 +
0x4272757a*x +
0x4345444558,
(where coefficients given in as hexadecimal numbers are polynomials in
t), 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^32770*X)*(1-X) where
P(X) := X^4-a*X^3+b*X^2-a*2^32770*X+2^65540
and
a = 0x3c8199b9a22477da89524c6f2a12ac36fb916bb1ae87aa519f8c5267ff7e2b7\
9479f1fc3a75e30b0e7a665702fd8bf52c386e680070aba2a9a93ab8d3dd6e7be8b63\
f1148372b021e9732eb72721b97e8b0938c2de35dc800130cd163fd4a6dcada997f22\
6ed1fbf9254d307ec4e4bf7208db040b6e15f8afdf8b631d9429a53e2b246e8717cb4\
176b2aebd44f642ebb4fe2f77ddab5cd2bac6382cb2b20f82702d9cfe08a6328ece90\
6d7e5a33159eb0f92b28c064ac1b0f72604f1b5fe705d4910017db517484b8e2e1f5a\
05920f74f3faff56929390d2bf1f463ed4575054c4a59b8dddcd9a5e614190cd10ecd\
c0f2fb7c595d29d8343d9ba796d6f51e9c7f47f301cb149532558f593a96b33f60ccd\
6f7ee0b9b08126fb8960850bc5cb014d7b5176758e026d136fc15249e2a2201288198\
abe434af235d980dc428c74480c0ccc801c11033bbc32b810a01d7b6d6a884b369976\
f24c6f437ac3d1c907cddc8680662111d02dc2ef5d76379d0f94f72882971715ca21e\
160b3dfe9195b8bf8afc4a7d8cc0eb78ccdb054391b74eb010e679488824e082e12bf\
4ba90dc50fbe7c7f48ed1c2a655582bb65b1a9b8d6d400a54153a054a74d9fb752482\
8ce08570978ea2ffd58afa677ac55a532510b8f042c0dc2f3578a4fb04be2ac311de3\
7ab2d134051de49728a9d1becd78a462c13d23eb3c4481fcbd8d4e39c38ee59c5ce7c\
92d572bacce51d4fd8632de4b15ba2334b955f7fa6f5a7a24dc0c88b392068c0b2352\
85092e0e3aae65c50b7b514215b775f956854715e5c33586d206500ce364993c43c26\
d152cc322f973d26c424bead42c0207f5867b019007a4e5f6dec9d58fae7766b8bea0\
7aaf6515eb00767a75838fdccecdde242b18e677567b2c64e8b09341e6f46f141bd2e\
a81e2fa4ec622b9b1024229aa28a4602011a269c2f7f21798c2c3542f7f37497ccf50\
f138769c34f38872ebd4265b0465e714d59f902a9a55b74ec1c8ad2d81720355edc0b\
30a9d83eeb7f6ef82020a409bffed312b742efe6a6346ab0fb578a8e09a075b3914ce\
0a75febcd52d73ffc0f13c96d43a4fe7ffda47759ac6c240037e1ea0da5eac8d63df6\
5eb81ed740528c373854f7dd4bd4127d58a01f95a4b8a309ef097b603a208d6b5bca4\
0399b678bdd2fbe5fd0d546f406ae7f1dcfc604ddd5b6b7ad868152d8bf885286e280\
f872f29256d9a6bb3ff98a5ce9c87491fcca80b03f0ed380f9a6c6a58656526bb2d2a\
07510ba843869e041b3fee497140bf6a2f451b5f83f4204eb85b373c64e42e1dc0ccd\
1bc9e7ecb24da24fdbe0ae5618b74e705325070936189986afb54990a626fa8a6f93e\
88e1f186974b37fc0c9da718b21b888b8a6ac8fe657bbf893b55969a507baa089280f\
88175dc25535ea2e6841137555a7ea37cd4a79e97178e2dad55f73fc416608898f96f\
13581d09b30d0d2838b443a7a840ab9a5b8602890ef7ca7eb156414ce6e8d76e11353\
935c991b3ee417b0f0662e42e1a061e5e9eb04f4d9fd166b915198bcee332b5dec343\
8f3c25f99e5331a9c8ae3639ed050de59c3a14f0a31a469504571c0c06afa7cfbd923\
6267f0c01b028fe08e83a34543268ae5b2b8e9c145876a74c5180babfd65621bfa1de\
8acc2e3c19a3b7a674c33d2576df8437e4e90ddbcb06a427e8210396df7583914ad5b\
f617cdd3a00d670153a192c58bed51660b74e112534dab3b2aef6e6bd68e84b143c9e\
10acafa17131800452a70924dd009964db28db2fdce61cab1614bd08a6ee1de2747bf\
fe03edc917de92e2414a519170173dcaf07cfb3642b77eb0235fe9c29debafd5010a2\
e0347c24a79c60fa6833e3a690083da7a1274b294778970d48d772a348ddf69cac806\
f8496471e573d01eafc4737d179f25267a915220d4c7da444ba1038abed85ee7d55d0\
341c4c5d95620d6241c9cc86a9bbe1401b14d107b69bb91983a421ffd8a1595733e52\
86ea9ffcdeffae0e7b36b79fe87eebc50276e12aea83837fc03a056bf1ad5acdae6b2\
4cd61d57fb53e59022aa6c8fd484fec28d36d913fe0c2fb262f899089f787ce1248f4\
24b8938bc113438826d43c1e032bed960a5ca8273a9df8ff1bb3b6a831d53e43b457b\
3dec791db75c7bc891727279ca4b26d12a0fe04d073b319d910142335059e83757056\
300cbfa26db341b446d03539e249ac89747ef5c1e014d1cd514d1e4af98663058ffd2\
b3f66563144c23b69e66563a11e329b41e0820b23ac8aa198f621fbdcd138ea4be127\
0abd524e3c1cf0f152a5d722690c7cd4557d46b5c4b87328634e7a2eee1c8b7a91f37\
b590baa7365544527045890e1048a56e430c1d4f1d7f695d69e108e9137001120aac0\
0099e3b4f55ff8022d0e55dbb42c4a65d9aa2a99be63f168de23acd5c2c1095696d1b\
b1a93e1a036996544e7014e6e7e184da286ecdb32962ee5f54689e6bb1cb9af5367e6\
310c148882c4102c4b28d4b5359a71bdd22e5086579bf5df9f2c2391d9ce39f438c82\
374cc137243935294d8341e1d2b5ea05ef0d66a6a051e0760bf42b4d14f8d9be4d103\
822e5ab06c86d884fffc32c7dd066b01b36a63f1eb28e265c026542150670598b2088\
baf969f8d679b365a897b8d2e151e13f5052dfc8ce19883c64dec43667e7d89ab005a\
52c5a85c28b94682784671d6cdf1697cc93b36a106870bbbd0b8862629128c39d4a59\
6f88c3974f148b74f854a55a8f9f5ff5a12871bd8df4c90cf50b11eb20e05d74bd79b\
df18c9f7ee82f4b7083de40385641d1e7b76d9a999d7b0db77af37532a6ce50a3bd2b\
2d70d18348203d53370e711ec7390f9b08c08c1a70c6cc7a1a3ff01bab008c196036d\
a68de7205f1f3f29168bd11e276d8e0a,
b = 0x8b08cfa791ead84f519006083dbaff771df2543d7db6b0f1f7c8a16ce0e9d21\
f95602e8897e71cda08317299f730c64e3d695004a0c37e1f94b17bb6e80b9c40f665\
468ada6f28709b2d4702bddd6293dbda5ce8d58df3b751c59941757deee0ec843c533\
2a0b4a19cf957144377f668cf211f8d20f70edcf235226c4a99e0d4a2df8b15e798c9\
49576d5f485161dd6078bdea6ed745074b314954508eef7c29cb89b267c8b220ccaf0\
39f6fa766de944d1ff96411a31a65a27ae8c770356c3b1b449fd3d49c6c79a85a0021\
2858899fd4ee581c4089a190105df4cdac30eaffe1624a3771a153b86a3a8d0049f75\
18f11c3892dc9db6fc52d23f06a5c57999a8b37d4e4890f7c4c7156e02e36ed924d00\
cd022a691ecdb2a22eda92a9105b55e18662602c033b4f18328569e7c383c0e8e65d0\
4d4690de52a050eaf0f2c57df8cfd32eef3e52afd1aafa2fd7ec0cf5c03df673f763d\
45ec00f84c5d4552cfd89846699379461c356ee00076558b9dc03c0f2d9b8a5d2dc8d\
94a82f6aa62d769f096bf8b709a7bda99e7a3cb3950a6e7219f86ccf281c30bff4e84\
fd680eddadd63f1f86d09c8da0c5f622e810f6d308aeaf42355a2754e6779bb2550d9\
bdbedec7e64e51fcd671266bf745bcae7c81c1ae85a281434966d3145481fdee0dc97\
531b14259b46a0124328cf2b3d11cfd7c6a38891cbfdc38dadad51a06fa5663340188\
8cbbc1d6025ba131851d78a733a491e360e8dad9466327830beb83a98c6fc5f8c9a77\
21364cffcaf94b530fd5e26f70ee73d7be0329c60746dac2331e920dc27cec2fc33ed\
33fef131f14900ad2ffb231845fb255becc5e10e5f0fdc6b4c0a584dc4db000bb5431\
ecc26c1c8ff018b3720a5e9006c8e82a31d75753415dc5b9dd07a2419396bb8ffe9bd\
9d4470662503c3ed97c935179c71c8abdea2d2596007840c2a0f0ae9bdb34c8262619\
b5c6a10dcb5c0e102992258a35f516862eb63b7a5fd6ee17ed9d24e939763269eccfa\
ce54afb0d383a22361c9e3f351d8c76664be1a2ed511da5932c2434ba5e392788f94c\
6b6c875795d041f47740fa4da6b7aea60b77d09af59e9728000529db9d13b237e9c91\
5a32c6d70cdaf0cee19013479c3af1b00b0f2725f7742aecc4efb40c52e1a5e928296\
5ff9a92a426d81dfaa8414b0b574be8e0a961e976d92124fa424dd947a87a2f2a1bc1\
f6147fed28d00519ec7c6884725a2a60549dc59e0ce86af22955336b78521e2144398\
39eccc457754db6fa6926c6fb6b77e8abe848feeaf1796de620938cff558f0607accf\
7d34201bfb55b7f20b606b9dfd5e3a7e52cc93559ba19dc7289271817920b17fa7961\
c5395ad1d526c46dfe234a37de5f6dfa088d3875a83217adc2d97caa9772d94eb6b00\
5a26b74208fd87d2d421d52ea7d7c82dc143e7ef2359cc01ae30dc2f247424afd0f9c\
cd2daf5ae68aeb560757cb25eb63a4d63cd59c2958c87d8bbd92ad87446d8e01a8dc1\
c0cd7c7980a2b4364df63563208ac9afa2270b09f47bb19472b2d4460f371ff2c65b1\
cc020201fa0f50f6cc6b720267dd7b9d1e9a3dcb23139f3faedfbfa103d520368091a\
c522988972e88cd6b08680e33e03f76cd76ca6ad9955a917b0aa3c7c86d8391bf4bd6\
b2f3630af5bad3dbea47e3daa1cc696295d323e7202f15edd46699593537826676d38\
891bb2db3ac79568d7784cee37d84af0e2f33cbe15acd6edc63a5db71782de031d6ce\
591f6cfb89d25e081e86f73a2df02cc1c8763804d9864f21179d14027bf147dc3764c\
891dacccbf5db217032b0f3f269d393363898a6b76307fee7d91089fad0e5cb6ae8af\
ca3d61d978b3c5f1c5454fca2ff34c4d63e2e3e25b8f50f7711a64e31eddeb31f63c1\
0ad8d4e94556011cf2882609f2f44b5bb59af433cbbc60eec3a9e9a67838b2c27c08e\
b5b5dd3c3d630c386d5712eda317ac49bd7336c3c151ad9072f60668ac6ce0b2574ae\
dd75d3d1489c14b907b9cc56be0e303e83787083a3a73f4ac82420f0a33750743b143\
098a1e0e7cd2f0ac0b96c14a30e7b3ce1218f211308e77bcf623346bae4e1c8e058c0\
49369b46710acbb43e3b2472cad8f65462e92cf235bfc3cac9723e2bf02da25179668\
07bd0f0b8d3b0b7361b0f3b6462436f6350ca8a14fc365d542e8667500a1e37303420\
f79c380ea21c0fb087a016430f5577bda553afd37d410d0117e8c84b35d9d26c04748\
b70ce982d210183c844755fdc36b217ad32c28daefd1beac0a3c4c4b4ebb5a4ef07ce\
795edd02b8fa338a545e91bc5f79864e7052895317f0e4e02dd29f07021db43702fb6\
8131a9d5e9eefd294ceae5d4f48d5ad12a3065a79c0d2b943d78f520107669b1c07d3\
49581b61e6f297bb93aeec477761f302338eb887463992ef227d327605ad4e55c80fc\
f45dea0c93a6ff8f1caf5054ab18b5f83cab8deb6f42a5300c51828cd17805000febb\
22492ab0a8820367fe3dcf0b93d44d10703a13e64c524982d789f6c1b2cd5cd0b8a18\
a477770ca29a9f4a3a874b7c0490a057e41e9b36de380fdb7e2639f8f12755ec802c3\
66e7396e2084536b9d3bafac815600383b9c8e8314c75d3a9bf3959988b5452263e9f\
d40a9b0ac0893f83a8931b149fa873c5035a9e04f38d46b1699ec6f403a3e616ed12f\
38c72aa8933a47d2a50c59d56e3c6010833db2278d978facb348cf39ac68b5b403f5d\
5fef4f56699dbbbf744ce0dcac42b3263a580524994d3d15df7d7e3140db0dac36f67\
5b04f12056b6aaffa7c764ea5c6fb8a9e435bc295e751c779feb1b5809077daf2a624\
f5c10c6444e70b2b32a5a5555649af5cb35d7f4b35aef04fb6a1456e8e4c57b997fe8\
a11f294b42ad66a5e962cd2106504905886978324653e370795ab8fe072f74c82be80\
e382ea950bb592b3964c9ee2ba1aa850a27e03253f9898f157e7e4e517acdc116bb9a\
c5239727aced834dacfbae70d66ef58f57ea3607548013d6f3e82647a072d741985e5\
06c0d50254f6e4b6fcd7f4601007b3f3f0445c0693c1f568ed588ddbcee1bcd835cba\
b4ae6445cc0714af8c0756d1f35ab1f1e27e726766dbafa8319e82ac710b3f1a4af76\
be54a5f54c49bb29aa3a2271d37f29346025ea9a9c57d9438fd835b15640242aaa260\
afb9e9ff796a1b177ed98dd1f4db97bb0dc9c35f05f479f35d2bcf1e6f47bbef08637\
2712d2945e37b289d5e38667db612e17900df5bd7f55e379631d743ad43dbf9bcb86d\
95938facd0efcdf2bf2a81a4ea6d40689e5c9dd382d9f776b378c73d1024876794a5f\
fa3ed650b72de9b5d6fa8d3625767541278d5e05686b8c7555644f425cd51f3149d83\
0607ffe28033ecf9a65ecd49079c7f632f173b76f66534ed32354fbbc2040f95b6625\
abbe36e24156fe3207f00fec7cb2cbb226f4ee2bbdfcb2fca94edf80aa316bcf53648\
639ff6fde97cb25e48f31d696541acb43746d654b4e831a584c905b5810a97b07ff89\
280235d0ac3fe91831c1bd921c24d2d6627c59093fc9408838844e3042af50fed6d84\
12d479bd820b406854bb5c8c15fe54263089214fe2e41346900d27bef0186cfab8fd5\
4658e3ca133f03fb10724d35c1f809e882e9728b226f1a5f98d20febf277526bd6e40\
d1cf749a207304251bd8c02da0122e1a8947bb8bb49db54869c9f30ed314ab0e62f11\
31352b587b00d34b3af4154b6692a6871aa934c9393aedec42e2329bed6e64d0cda8d\
c0c5afcf32d95c40676f544b524668b41e94c13fa500e86120486ba2fceca86c6f7e1\
7e98899793988d1a98ba151faaadc65bb6822d376abeb4d19a05959a4b3daa85b9be1\
1055d314a78a956ec72ba0ed5c66948fda38bb14faacbbcdd871fe69cf36e4cc03d23\
32812bb6ceae3d354e0fa8627cf6e687cca77fd64d3ad5b8f24a5b03fc0eaa2f59bf7\
1a51e2568ce1fc6594fbb2b8d50558566b2072de593e289127c60bdc3f64ff892d1a6\
2303079c1f083ba2b6c8666c3dd3209f26725e1a8a7b47246b14ebed95859e63a675d\
1f42f9da76ade740a55392943bb7d4d3819b2b23ea0c2c3fb1949d5317eb4e29c4b83\
9024fe11ebaff431d223e361c5ce0bac4a368f96da57b4cf728087826e17e2b3ee046\
e13df8fc2a7c2ceab4c3090729b28fb33dcb841a035b3b53daf20b22ff672ee5bf8c2\
3521925a93ccf3e48f44b7c2fa7d8cb5e1ce59938ca08f71999c770edefa89e826328\
8c84ea6f20be9d72f0a6d2b17f1e26ea853690e7bfb645ce743299b532a56ec7fee01\
5cf44c92a292bb44d44e0987b673f855c7fb26f6ac8b2a585066829bae4e411624a74\
280893347e38fea8fb13cbed27d750af2ba3dcfbc0c447feb0aea56d637b1e92241aa\
8488a67ab13d22d6f4f25fd911d792bb4e4ccf14766a46eb9851e09edc126e65aaef5\
4345ec67a1ff2fbc690c5bf04effabd2fbd6a0fc3f3e588625c10c4c9d999aa428721\
eedaa56c6598673cf8b34e693bf60dd5727fe7f739e90144dec7f3505f3575f88e094\
6486a25205052138e6f51a5ba57260b34ba4f5efaac62d8e92767be292921513a2e3d\
0ffff4fc5a2cb1547c74774ffe644c2d9468ca512e43173bb59c17da0cdb80bfebbca\
a8a0010d1bc9a7559046a6966d4825a2305e43b39d53ffca38708954bcb16d13adabd\
a42ac998c537df11815afaf2755c4e7fc693fbe6d2a66fc4d472c1add0bd55e42482f\
d734a186d259efe330e9ddbefd83e51e29443b345d1eda515a93195ac251ed163f953\
bb652c2df51b9714bbcd1d4be9d5328666406f613956b0bb78eace5877cb43dd7a346\
77becf29fefa779e2e828605fa2f535958b4fafbebc82f807e36d7adcd9413f54d509\
772f9ee0caa3e86b3cccf3af4fc908ca35f9ed3ebaba7825f1c2b4071a75817b6f124\
5380299b2c94c4a73b4a1806e6f46afe9e23e8e8e8ee20aaa5d70ba7e0e9ad0a42540\
8c0012048b698c316c8fc4c7e396531bba6c7144a39ec1efbb0b58b300e58d2b32780\
ae8f7ef4c630ebb736c9cfb4e3aa72924cbb373ec40f5eed2067e39ebb06988bbdf0e\
3424ec0cd45830c68a5430232bfa06824ceba8b11ad614e74028b27554943a1422b72\
c2e6e543fa2e06f1eeb959b6dc0cc047d7ba3e396edd196255f65d6017f87e378dcd8\
63667594761ea48d2706fc2a77609a8c9c96537b6d3996e469031ba3d012aee2ac963\
0b86cfc15e859c93efccf089840a6b4bbe84f6a86d5f8c39f80759d6b177d57526f77\
88d44f211f70adac5582a20be41e9b519889779027f97804eb11550cd9e18e0fda506\
18746d9d00304c622ab14c6cfb81e1741cdd1ead8b765f2cbbe57d9ca14940da26ef1\
a010e0cb641e41e6b700bbc34a2fb30f013b67d0b81398258f49c24002eb35d5d088b\
4976ef81e2fc660e8176f889021c1fabdd1306c7b2dbecf3ca97964ce33f21acf6b89\
1e936759093fcdd7ec5e5952e2d66779fd3c6e2bcc234df66fda6aeb659f38bb9629a\
0c45ac3582cf72823324a26af6a6cccb4500142f03571a884f31b2e6095192e2639e5\
b8e501f9565339d78b8d8d18160269641a831f812d15a36a76d7097fa4411a12aa00a\
79680ae996ceea5fb4d4c1d88b125fda310d1ce0ffc0bbeba393c824e7299fd25e91e\
f5fe4f943a4120e6bf26be5c2c04552f5a5c12cf1facbabc452a7020dc88438829719\
fd77a48040f03a61237c430b9e3affb669835b2ae5363984bcc82c48142c7ace3e7de\
ed908ef20767f902d3b5b67a652e7160f87a460e46b06dfc19a7fb54d.
Consequently, the number of elements in the jacobian of C is
P(1) = 2^65540-a*2^32770+b-a+1
and the number of points on the curve is
2^32770+1-a.