Date:         Fri, 15 Nov 2002 12:53:48 -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:      Elliptic Curve Point Counting, 65538 bits

Dear Number Theorists,

In [Harley02b], Robert Harley explains how he adapted SST's algorithm to count points on elliptic curves defined over GF(2^d) in nearly quadratic time when Gaussian Normal Basis as described in [KPC+02] are available in GF(2^d).

In our side, we would like to report that in this case we achieved the same complexity with a completely different method. Furthermore, it seems thanks to a recent remark due to F. Vercauteren [Vercauteren02] that these ideas yield in full generality, i.e for finite fields without Gaussian Normal Basis, an algorithm with a time complexity close to O(n^2.5) which do not need a cumbersome O(n^3) time complexity precomputation step (more exactly, O(n^(2.688+eps)) time complexity at the expense of a O(n^2.5) space). In practice, this method is probably easier to implement.

In fact, we developped it at first for jacobians of hyperelliptic curves of higher genus while looking for an efficient way to implement Mestre's ideas [Mestre02, LeLu02a]. But, since the genus one case is slightly easier, we have done some further experiments for elliptic curves (higher genus implementations are underway [LeLu02b]). As a consequence, we are pleased to announce a successful computation for an arbitrary elliptic curve defined over the finite field GF(2^65538). The total run time was about 29 hours on a 731 MHz Alpha EV6 CPU. The lifting phase was done in 16 hours and the norm computation, in 13 hours. Long but accurate details are given below.

Even if we improved in this way the AGM method [Mestre01], it can be adapted in a straightforward way to Satoh's algorithm for elliptic curves over finite fields with small odd characteristics.

Details are available in a preprint which is submitted for publication and which is available on request.

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

[Harley02a] R. Harley. Elliptic Curve Point Counting: 32003 bits, email to the NMBRTHRY list

[Harley02b] R. Harley. Re: Elliptic Curve Point Counting: 32003 bits, email to the NMBRTHRY list

[KPC+02] Hae Young Kim, Jung Youl Park, Jung Hee Cheon, Je Hong Park, Jae Heon Kim, and Sang Geun Hahn. Fast elliptic curve point counting using gaussian normal basis. In Claus Fieker and David R. Kohel, editors, Algorithmic Number Theory, 5th International Symposium, ANTS-V, pages 292-307, Berlin, July 2002. Springer Verlag.

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

[LeLu02b] 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. http://www.math.jussieu/~mestre, 2001.

[Mestre02] Jean-Francois Mestre. Notes of a talk given at the seminar of cryptography of Rennes. http://www.maths.univ-rennes1.fr/crypto/ 2001-02/mestre.ps, 2002.

[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.

[Vercauteren02] Frederik Vercauteren. On AGM, personnal communication.

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

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

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

let E be the elliptic curve given by

y^2 + xy = x^3 + a6,

with

a6 = t^65536 + t^65535 + ... + t^5 + t^4 + 1,

given in a compressed hexadecimal form as

0x1d4de00a329e82fa8bb1aab3844015034531f9ae7bbadef858e6e2635458a7a5ab7\ d8e5a631e3dc3147e533f337e554ec53b2982ae62b543a8d7f128a56887f8db358968\ cf149e7615d4eb1047ac690644fcd375f5cd1bc4b6d7f8bdbbd2f57790b16500bf13a\ f4b724a1bb47b9b60e05e403af1d9d08d5f6645ae175b111a0b274d5b1ea3c7ec38a8\ 16826b3159e7d9f41e6290900b4461a89e63a93d90070f7ae512e5a9c0ea36848a6fd\ 4324d1b2c49c6b5cd6e891d4972d3a561fd646dae0abdac674f376ec68f36e24cddff\ ed63a028927853817d768662d209d90113caae3da9d73c54c0c643ad3f71e18bf147f\ d3bdb724d9234e24f2ec41cf31227fef6ad6664a500920ed6a8431b99d53a28a379ab\ 8d2b232dd9d7d82b837572d195c0ccabae934f0fbd4615a0d2de9cf125c0db90ca8c2\ 82ff794a03c9dc6a1dbb05ed83bf7a84862a2ffa76a1563d74823c2f7ef2375c78f64\ cfef89fe848a65cdffe1a8bcfa44c3b1ccc22448d3062acc64cba7b6a05ed54b0e017\ 7f9afc6f31b52e44c8557d0cf8e05eb2e65093356ef9596b8d632cae8a28c61d6caea\ 3e31462ead96e7a34c18d1ecb8f44a8f164c293b518cd767fd92338e1db8d41992ab1\ 4ae5891783b9417cd9c4b012cb2dfa5a9e6dc0dc026cffc021d7cb6a4fc1b1f01ddb7\ 881ea6b6318e75882227222cf0382c4f58d9b6ff7d6bc65cdaa2bef7d1e547d44dd9c\ 65ea7f7a56b1b1701de70ecdc0da7982626a65cb68b6672af0f3d2688bc71ff04be14\ afb70ed329c25d670e21b0b3050e0363ca4bebe09a75e02428eeb674e00caf27ce9be\ 51c3899f71fe17c8765b3b6992ff874b6859deb700752c04f9190c0df3a2186113b82\ 767645ae18348c6f735c0c66f26d7168c5d9b6fa30a3b94da2302a983dd48ef2b9883\ ad9efcb939ac48b22824842604d0db6277708c8ff5cdf3922761378210407301c28a4\ c2cb2baa39c33b0460eb5f75662dfb02deaa69196ed77f580bd76bec7d853ee5ade13\ 60e79e673970e8411c252df3ff715be7e3a66ce6ab31c7679d637b5c442c5efa7ce56\ 80d3c81090875ad12f16d8f3e9636fe37ac710d1b16ff9d88a2d581fa20974779cc84\ 39b667307981c63a3b0560b613d30260ab6ea4f8a8a885211dd51270b9f2316954b6b\ 0d0d4a8e6d38bd57b9a3a07fdc68f09951f92a8a3fd1277f8838ffdb82483e538c877\ b8d5b9fe5963d6070882de6101532e1ab9f2c7c1bba398b6d8c5b8b55e3541dc9abab\ f00d1adccc62492b6e4cb18f9e612eebc9ff0731cd30ce1aa3f8a158979128eb8c053\ 879f5cf0593f68a4aa8d640e45592085fcad2c4275744e7f8ca2ff6e92390b77a5cd2\ 5a821a32eb55deff7a4cb9e3d63d8f248a39fcde1bf3ff1c7f80d830efc6b9247e0db\ a85853fd9ecf59d4af36fa5e52a52f950e18fb002efa9912614d77d22b5ac73143b68\ 40d9a91ae1ff5d7d17e245042e7e6f47fe650408462678b7d2a6924302601f05fb184\ 1d06d8a364a588994483ff7448224920a6658f506c2fac73d03b2f9c6cd696afd3f33\ 0ec917b8827e08aec79cd1d475401d1876813153be956cbdae02c6cc85c1ff95075bd\ f26cad0d9b3be7991816f1bc5dcd8bf3716e9e2243f23bcbff435f70ece1e54f84e97\ 0e91eca52a6d4720097f54a64e250d087b3ca5179ff79fc70df95e6426c7a6bd38a3c\ 73482cbb07d767e75da3d0859b652b481089845b431ebb0485fb7016a15279f3d32fa\ 265828630b51a02411f23861995b28e53f9a89b7f587d6d74c6cace3f185cd668119c\ 8904f1cbcddaf54aa670396bd4fa8174dc5e58656fc11db27acc295a40d24d205a104\ fa6c356a4f672faafd69edd86e02998a8c1de5799b170973dc27c492ea327f4b0209d\ 0d17ed9d75a87c98c885ca1bf3d74f253098d81190b239957221ca9a21e74ccfa43a5\ 0962aacb5a9c83f8fd127d67893d574789d4a5fd70224362d3b4412fce98afd4ec417\ 1924186641ebb753f0e6701c3dd20347c9fc22e491a20d833d31b88530bbc1e518c32\ b213b037c868259184a199b84f31782e1fe877662d7e9e6eb0399ac4e8d4e99a2b7b1\ 24cd912b51f756dced9a5214a12b8095e53ef36106b834c9217783bc1f292d9ec0cbb\ 0bd9dcbdf8b9c3bfc868e03f2ae3d43cecde3af9d88c9b2f53baeafe71af297679ec8\ ba9a9c821520904671c60cd5079f7bcaebbebee12fd63fa361dac65d2d0bdfa6b2fcf\ aa5eb8b70a7ababb44e45a5afcecb47ea24152e0fcce6f8522cba4d0a78ccaf557f60\ 3d1d32d78678f6d7295fd1176391b9f5f409ae9fe0073a2d01c2d6690099ad4752f63\ d27dfdb3cbdb3d3c4350b0a048bea1ea979e3e2cb742481cc74fed0249f351e4b672f\ 65cf039eeae4c5389e596dcb2a7191c72bd76104056c025ab5b5ed8f1a4e8d623e69d\ ad8eb94f3971a03534866060fbc5e264056d545b511dfd1c23fe269290b29585adcc1\ a0680e441d58be26c92419cd87aec4517e2c0e7f350e704d0de49049ca34553ea525c\ a346bc3288475675c6e9c7b912a39e6f6bfd77608cea726eddae50b5e55b5d1f6bb16\ 40f40df5e3f6f452ea96dd964f16d87ecb082dc15e93f6819056852557e96e589d450\ 4f160806ce1d7358f1a60afd1173a08a041924100ac6f0d35b9a36f2b931d2086dc3d\ 3c1bf0c789240e9a2a9a6cc14394bba161b44c1274b362eadec8e69cff2f7d79579b9\ e21049591666dfdc9dc96bbc211082330e402212a044778762ef4ed8f3230f6c06aff\ 136404e8310f871006edb79e9076b858723fc0e617788019e8430581db51aa1cd91ed\ 214bd8da3dc29d9a579fcaf5db305d63d8d45cc7eeb567e2701d0d3710733da264fb8\ 75ca055e1a698beb0e10f734cfd7b6a7f9b41111e3d5e4f0642a2ff9dcc8c9ceb4550\ 4204df2ccfd5a26e1aeffa1d945a0ce6460d35ecffb5d5fbff8a9b8bfaa1abcb1e444\ cbae3ff39149bf2cf964fba54d91163a886e08f4339628f072daf881f7676e3768830\ f67f241b4b679f205d683819608b842c98d1c47e5cb73339f1aabb33104e3097ad83a\ 2fc90a5e73af28d1ca2c337f195bb237db8aa7aafc3fd5ca2070291fad24f2d398279\ f1c463cfa710b767605d7d6645d843b5bb7ca3bcdb2c992c6b7ba4299f3870182bc09\ 90e721f37e4df16bff93302055cfec6097b42729d0c835de93819b6af43c728773166\ 436dae976c785fb938517c8a0694ed0e5eb8232a58fa08dd50ab2ce188846128afa4d\ d7a4ec15eecf038c93e051e51ae62a274703e3770e87922c6b87f898461cdc0afbf69\ cedf1257ad915091c98ec0ff1682ad1754ada9f55bc7797212d85bea755a9aa9de0af\ fba4c6297e6d3233a54e139d2e7479acb5400d840c73f8cc20b0cdbf793a1d112ef36\ 478ae42445ab839fc9c1abaaeddcb05c8d978674412399aff2e2a317790b3d5652905\ 82f03295bbf0f6d798c13596c587bcc346e3b5b0af07eb6bd03e7672e19adcce776d7\ b6aa65941f83a8d6ddc4e1024ee946290d86de8b19ac17139d0ef1221dbf4ed1338e5\ 844cb5a9f45eb2a2853d556f6baac8afab6efce702887a1ae5a6e02f4703ab9c6f6c5\ e38f8d1805f762f5fa9bfc176d126fbf03ccde3557d1e411b1ecbd0e9d1881ab68635\ e6b333b1b5504644120b1371a48f2bc1cc166ac938fb71ce59b9793129a387bdc06e3\ 4492ef4349b72c1cf6f9f455c6150e3ec081792fda9668cc537a0d8f3cfa93f026175\ 86d0d050c8a7d2477cb2941773eccf418d0435de39021a5b4a59aa6d61a1b45d550af\ 42604734be1ea2a5f9f3b0bcbee5428eeabf8d1be18f22bdefb4cfd435546ccec8c7f\ baf5da6da3bd7e461bb95d7710f248429d462fa9e4709fed5a041e5a51d2dc3f9b03b\ 36b43822d841bc4c052c2a4febafead7647914e0975ae4e3d948ebde4416643f0425a\ 5e49b0091d0060f85054fc213a77fd68bcb605886e2c2068acd1ff9d330618f7683e2\ 720e36c35413d727636b5a07884c82873938e903a64c81b470d64608eef06716d1a0b\ 90d365ec6b74927f866f94f35f651fa2d870c485e4501cf0e53a9987df12e33575cca\ 8b2c42d4c0ba9c6f7704bc04e406e7df18a96850150216bf70a54ea754ff92f0544ee\ cb16b86454dada99bc3dc31600baa72e20e6037fa738ad3ba2e50b30f976480352528\ 7b9cbd91c751d9da2c185354deddd4ef66e6b53cff302f0c4d51a62fbf9d4fb5f9555\ f0bfa94a31e833df700aae9bfd8b021cc0beb0bf7a2d26effd6f6b1829fdfaf3860a0\ 1119b534f2ed3c3eb0ee161e6a54ad23d776de3cebb0eb451ece9f62e119b2d47aff2\ 41d25c8dc755b0fce286774bd8c25874f732a5ecffb5a1e81d4afbf905bdd9a532a89\ 8e2c2fcc384b91f27f95308f0be55fbf09061eda462f3e9818b09ad1788d97722023e\ 641ec580363887607cafe0c5f5dc85874890c740f1f9bea992716925eacd13b3ed5d6\ 4b049c5e558b5a9dc0beb1dd8ee28c75471e76491b93bc98b6e4421960b2aababad5f\ 2ee81229d8ed1ef8359f086e2b060d8e33c7153462ba401e773638dd779ed666bec37\ 1373a366f23162dd1595bf44734b58c8e9c831358490e617787cc2349c94947b591f4\ aa7b790f425b48d1a06f3fe553493771e065fe1e735c63dbdf0839b4db2761e80de10\ a0e99c7d07f5ce66f97331a718d0e1d18c12435d30c32cf5b4b9724179add03b63cf3\ 32e2e741c96107a6dc750d4ff29e119c70e1bdee92b24fe4b78f14fd1558c274af8fe\ b71e69284a840fb37ab4a74be1263a9a60a7bd743950ec74baa9d734d0d0e670a12e4\ 35dee2444ab76709612a5153b6e349e67fb7872b0ed5d4984bae998709aca008a7d21\ 9f62fd430c4857f64674f9b36a9a4525af89948965f4339fc942d7456f8a5f0f48420\ 4bf8610b98bc1b14a9d13693788d48880261e65160c3ea01a55433dafce198094696b\ 20aaae097014aa520ae1dc97bc01b5e08a26853cb96014ad75708b51844a883f7b9b2\ a332daeb350563292c0316a10afcaf633091ea3d6796cd0cc0390e0aeb39cf9e4fe15\ 1ad383f13b72f778a96e1d330c316aaff6ac304ec051a0e2a01418abe57751b57da35\ f451c1eef6b366f66b562f404ea9627845140e3519de2bd202a39beb690ef20cf5c5b\ b6d9d399a22c6d551205e4dfd67e3ab3b98d1c9bdfa64c3fad88b1ea00bbf67f66306\ b690005abb1603afd78290339af3d5ac758c06e72a6eb120785d97187a1e16969b71d\ e4f54d4fde6e10358bc60c5a365ec82bbfdf365d5f8d9a6b92f031fc5fb8036b3f370\ de8ab5abb1c88871d5a535de6033b4e2f951a691a2ad3b3a4ea84e4c0dc619f8ff7fc\ 79808b6c1b0e7bb145baa60250d255034a0d137597dd6b44c66dd9f27554fe00b4cd3\ 5875c9c89a0e81f8a5d350dc603d4097075ada74316db413ff29a023d4a5d0ac3e99c\ ec705c126ddf4d6073c19cb0f42ca7f02aaa78f151e360ae7624f6903ec32e5b709bd\ f8c00b1c071f8c78ac8365b4efc6f9893cc8adaa4caa1c248fcc7de9164714bd5bf96\ 6a125a0d73d059936d831c71e2ee7b51c835b7d3f3a2ae4d859959d7db409ccd32a79\ 72238de3c0bd213e01efcf2350153e7305847e2950cc8ebf29b3453e895c236c18342\ 837d721eb57d200ff01a79b6166b27b3a428550b2930d3a8342884130b5f28df5bc42\ 60906ec2b3c3aefd82ed1f637e1bb2dd5c27e466950e14c330f767b02a1d26bdb53be\ 1a14cd6c649fb9c95eb9376ee203f47fcd69ec1816a7dd03950c684268db8365e88b1\ fe40ca51151d914dd0019f5568ecadf0635647982a8dd85f5866822ae7be31b268838\ 32a492fcd1f7b95b2950ad41b3927fb3760378e1c71e0f6c65c730fe79561b779bd0a\ 10c17f106d87aa673075673d78e9abc05a6785fdb853473f249a302af8d1560262993\ 81ff18532ec7d28f08688719b74007a5dc0d02cdf97574cd66765da702fdecca6f2b6\ 6288b6e021f78fcfadf68e47e1a4083ecc744308227d1b335c8315aa88ff2f304bbf8\ 743a8af86849339cb78803d4fad17be7b07bf003e7c52d8080eeba25e5e77145394c9\ ed9df8a7ebe796d7eb3ba5afb3458fa96271d9769b15b3f7e62452bd355276ab18255\ 9f4f94b458ac52c66a6ee7d3ee70b4ea50acb8e7f671a9be9c624f5708d3f0d3562e4\ 37199c2afad4df037f9db88fc640a852cf3d49a5bd5c2dbca90e470d60c444122c91d\ 09be6de12436789fead3f51a25de79ba3459fbfd9b120f56ea87d866f513882937a3a\ bfe25a07f63e5ef3257cb44a50fbce6e4b82404e5aa77cadd101ae0d85945c5c4f925\ afe9b85ba456b4c597e2d16dc3680cb241d10cfbba789aa84090dc5936f91e7ddf673\ 337abf7d282d88343225ca3974293feb8ae13e5de1d9c1d78d59bde65adc68e27e1e4\ 5391204a74e2dc615ba9c4f43b1a6f72a3ac770ce24415101a8ca529caaee252d9efe\ 3fcf85873e5b6b61c8035fccb00c91195c517ed7ddb028f7e13cb224de6cc6ba43dc5\ 827eafb85a40fd9a7a11a5b8d8c158eca2e6c47b27865f37b351a5ff0cbadc9fa3c07\ 3d124f3cd773649c514cff6ee3883ad70f1fadcc92abbc13988d4ceffd0c46d3680ae\ 9268608d537c27078a9384130c4c47d6a0684184c25bac66602f9a138efe0f832567d\ 48d25b30c71f92ebacd2f1aaa92e536d27f7d255555210adb5220fa378ef824e1b59b\ 54f4efe4221933d686c40f772ace201d960c1dd1f5c7e0cb167bebd2507f27b9f5c6b\ 2789fd636c5c67d47ea83f8ded09e14da662fcf3337d8ec749fa9cdc49438144b785a\ 2baa5c120ad34f85e397e40a27071057300ccbf67be5c3b2a36342585b95dc6c3481f\ dd56880ab06e1d0347857522b169f2481af190a728956fc2b8ef5ec7bce95266d1008\ 8667ffd222eedea9d379c6c3c9c62689bfdf9cd0229dc6f3f40e664b3e61382ecf1e9\ 1caaf89c14c7ba90c1ec88694a9fc00f3be5b54f2f5309efd0f8016042c28324e75a3\ 97b7e4a2ff63a954442c6927d290b004c1b03a824590cff2f15a6d615c6c3b54064ea\ 050d900402fb2b1137b64a581a6fbd9cbad069f45ef7321ba97ec90e1668e1026ed2f\ cca250687c36ea91fed35e74947ef1fa0e377fea757d9a74cd0c97709b33d545e5474\ e18bcf8267e2f0fc5dcffe38ab2d574e9ef843f2bae79aba5e353b2233602c683e117\ 148b2771b8356ee097fd7ad95df059b51eb3d34f6d501a07315f0d59ba2d1b8807d46\ 3d825fdf3400790c7eae66753f90f87d52b990be4dbcade03307603296c0c43335a31\ 75e9cbc6ec862b2a08d2374aab0ff08b405d67c270594878cdd42e04b80076fcb3118\ 310d959c3abc5722ae92a9f954a6694ee75689ae14f0cce58e8838e983266b1a8053c\ ece771a3981b57ba546e41f61ed9cd3e98bb6bef4d0c14d6a0d1eed7742fc9d07f84b\ dca91cdcc368023f6e25d35b95324bac50a0a612916fb19323bdecca32e270a8f6931\ dcee9fbcccc5966da8fd1d4243ab13a124f7c318fbe077a26f51b28584c499515ccd6\ 8120b6532bc5e7d89ca4a23d796cadcd1c634d1363d8d47ebff06520d51cc813454eb\ 474422451a03e6c4eb2f6bfbd09fc36fd38bdb2e3ffabd6d0f0bcc41e3062b4220452\ 0f4d783293b54f58cd9cc7bf4b7015b231989c6dfb1000b61c795f2e7721651cdd0b9\ a761b522bc868b0517e756b609a6ddf6b980d67272e614f5e5bf1bc9b816dfd2edf6a\ 8472b34a6774960023ac999642b3eadfd72a34efd117c55c7344010eafa67a40b59d7\ 1aaa6a6883c27e90f26e69dd81d3f4a1d55df4b199ba4281c0627faead1c1229d98aa\ 9c51fdcde2c30b3f95dafe3d4bc4b6c1edb7d5e7c3e4901a0055a614dbbbbedb64aad\ b0f67762b59c4685c820c3c4946324f1c55627a6db0a24d772bc8acd8878d2f65cd87\ 4e4bc7979dec271cf1c626aec012f04556271a38767540cb0f7b2fc2ca6430e43c82b\ c6dc83c8a57da12b45efcd3301c8a71ba3004c4aa0e2ef442cb617ae45e8c6afdc3b2\ 0f502629feb0d7e8fd6f242caa98b64116272e07af2b86e6246695d5cd3b835d87255\ 4da620844a42d6d75b6b703df446a166f1ffeb728f56a46ca65faff3f468fca3efe93\ a4aa745e2897c426a7cbf373ca6e6edce2265daaac9773b38d1d75e3cf5de4b5b222d\ 89de350e0344986899719141a0b0e59ad20533c1da3f144ca41cfd83ddc7281765fad\ 38f91347a804f397801ee098b6231e64465e2cc20452cc97e8cb3f220ba9c69094e24\ 781997738b1c2e9d00bd17419929ba86f78175711616da7ddabd6b9473605387487b7\ 6aa04015f7fc337ba2377413270077ad21b45f23e587a0df38f32fd3caa8e28798a38\ 9f76ee11683704e04663716b117e3d9cd8a0b82b1e664776c97c1291f8c17baa6e877\ 25a0f08e4f669416f45f8cce134bb4aa0dba3859042b372e00ca060a7f51138387ba1\ 9727f0e40bffb73bbb4f444ad295bba63bb8a2a37ce39628fafe0537791acdb9df09b\ 803abdb1b0b6acf9a20db5f510327945c34531cddb34310999be5516c56ed2d0de15c\ 58cd0e04aac7e11e2795a5e734b211eba0378f5a83d1116beb30837a831561423d702\ c3a9cd02d0a4df9fa9ed19f051d43b7f46e1a3b4576e646fda8d014bef808774b007c\ f4e5bffda2ebd874188673ccbaded01f4761462e2edde81414846fdaca361933ba11e\ 1a2c3a7d06472b81441d637d9645fc56a81d19412e005e5fc2a771a39e04c873f632a\ c289f91f5c0b1fed7cfc6fb0962f17f4990e12961816b10b1a5be124c1d4ca5feb8fb\ ee71ef17e24dd5bba6f31e7b9bb25609ecf1158fcf045cc522466cd0ecb0e15fff050\ 1e4a756ea68b70937957378ac4ed9651c103a875cac09f7c39ae93667dbfff2f16167\ f3200a85a03d955b218db85cf2e4d54d47f9b3b4f5cdf039f1b6c46e545ae40b7264a\ 8a684a4f4b963138585037e6cdf9982a6a3d3379b381675771f77b63347aa239a333b\ 5c1bcc839109b0792571f46b2f831249ce107f2924c770a3b3502673d34371d1f980e\ a6165e5f2f2b0cff2bd93e53fa9bf1009991530352efcbd0314899512ca67f07801a7\ e3846a055fd28f4f84effbbdc37e934ae58fd205a37e0fdb3b050f0cc6b534687c991\ 58a7d309249bb3a882120abf6b77612ba56a016e8451397f6353632011f1258d54abc\ 6728795e3cc7b08760d20b44566ea116e55fe95d15819ca6824e77714dff9b6497240\ 8553822f7232630c577084b0e2eee3102bd681897fa357918ce256bfdff7ed7f10175\ ecdf91c68617947591004bb0d48eed50357c0ec1d47654cd4f2bfe46beb702c070b61\ eb6475887b43304a1fc229cca9e98b55dcc47afb416c749c9759470afe119300dab77\ 6d0a64adc7dd36224fc0b938088b7968ab485ac497e358b631f540b5c21174acdf0c0\ fa553e55f19b9889c5676ea13fddfadc2a5757c91b9e87d4efbcd1338aeb47fef35bd\ 9883515e6b44e3b0077895d70ed735d3a6562b1d8a382cbbf515918bfc412829bebaa\ f66704ce74474a1eb85a92ca705d9d368da840add1e5500d59895860ed457e35ad13f\ a7c2cb452b276c8c50d4403eb538b8177e9942184fc0744c75e72335c49fb410e0730\ 797c5a0c3edfebb7a2c22659add398eff4fdc9016b7fab6ebcd6c4597301975e62c0c\ 06d68104f4d39e1877a2f811853fceb33840ef3b78114174c84486399f5157ba46948\ ffcbb56413d707f5f70b0aae90a93f917c1a43d426db24f98c15360d999376b3e92e1\ 1aaf0cdd2b35189d04e82caccf2c02a22ac686aac4e0e9cc8f7e7c9658682f361fb77\ a60455fe273e2d2f6a6e71435f975e7ebe0abf4cdb3756d99c91d76cd68e4b9c15a53\ d45de1b641f9e2b88bba35387ef9a2594484c85fb09befa8f9a9134af687b8f7c8be7\ eec426dd3f776bc25b4776558b93f44ef39dad3766ceade7f00485192bb555349bb9b\ aa183462e457e962801455054304b66bbce2e82a7d5d508ac3d298a97bd9c502ac99b\ 07236de11ad541723bcaabc3436f5301c6ca565d7900a1d32bad50fd67095804d3ae9\ 3c3397c4464e2a1a12c2498d9f32272e2f87a7cb7214a6c16b6eaa7d3ad46fbcb6ae1\ 114736395bd45695cc8678b3b94a68ffbaa85cce2db86e2aa9f216d795f9da70b3f29\ 72b79db28c1f45bbd9bb3697ad33fbb4941d64c14f1fb484570698adfa97f9974e589\ 7034974ae9e8b2c1b612e4cc4534e6181c4ddcc2474a5984971eee822af5a353748db\ d4c32ed0148afc464682f699fc974140eb1f580cb0cf7cb8d66a653bd97f4706b1cca\ a3bd3c85e492f48f379d5263f72a51d93fceef135b5a3d9a722f4f9c4b3661a46a901\ 2ae2a77a2f3759e4ce43330ccd0e38ae97b8d445f3fd7f5f9a4ddb93d48bbc0e41e7f\ 1f2e5c31bb430c9ee9b80be2acf9766f3cc6f1d82f9f84168e65d3cff88cefcb09422\ 54ec9ec3248678e71acd4ab69974e7cab027b42c239c725e024e8c86a65a58251432f\ c9c1f0a0d0daa05fbaf15fb4dfc7818c3980df32a59b5c991864617c728623a31783d\ e8ee1d98fa30557d946f365b34bf91740617d5225542159a2560a0c6abaf1ad195f8c\ 0f68d9df953583c13e7ce9586aee437a9fd7170fd7829454554ab3b98868cae23d9a3\ ea7b7439d5a331207e2fc11d4313235c196580f6acaa27ecb830ab71f0a73d9b735d7\ 4489f7a99e0c9ce2c6e5b1ce5f7a420ed9addaaf4013a29bfd7e9349ec341cdff9fe9\ 3c9b90c325b68fd838b803697f9e86eb9573b7dfc39d159bd1edd3ba8a1757326e5fb\ 19f31b636c834804f6467831d309ca058875f8e10d214102ae494ad61228feb67bffd\ ee7914853a82443c5db758eaf646ca9f969f580e1df3ea096a92ee76dbdd9f0eb1a1b\ 03be11caeb6a67e41cd77d28d8f9f634f0ffb08dbce3524fad29cadade5bec090acb0\ 09b037c7731869fd6ce247e6c86a8a8d936e1f2a0fca4402c5a2f4084340d50260ce4\ 8c80445cdd549bead1b1b02eadc1422efaf5593d7058b74ab3398199fffe6023b7f4a\ 54533ae1c9b8a669a02d98bd8d0a469418c82baa1e2b89de9baf2ea4d19f33dcaefc3\ 60c8d6bff7db9fe14d04255054716a0ebd7b3a7613480ba548d6477a7257de2b9fca2\ aea36672fa6d9f67879a8cd2d6290ac1ee298ebe488e6359d2c7a957470256ddbec67\ f82625366b6f9d5f5ee1c8d83fb4a63340284a022bbdada306cc478e6571330991789\ d56bda33293008282ab67896a3dbfd6bd2b2c9b0577ece3266b1bfccf50617ee23246\ 3f9944cb9fca269dd3565f7d23ce06ace9facfff509ef1ab08bef3fdb19b1545a7e61\ ec9f1118fcb68ffcad477bcbbe10dfe4b58404f9931341dc634c467bee2447ce30a12\ f1044408578fb5716eb97ba8b43a7ae6a0f96a73b67db92c395b9e85c3be352fb36a4\ 8bd8b309eed5937972a29494f81e386d9e17a682425b36cf14773abe072e993768d7b\ 084b93c664a879e3c12586968231c19693786c2c6431f7415645c3d1affc832829d5a\ d070611929eaa2f49f1786ce44ecd7c771,

then the number of points of E is equal to

2^65538+1-c

with c = 0x2648d05a48f636041688386855273d33f6a8c594ed02093e6e6438eee2\ 410b32ab7e595b52dee2b100aa046fcc96bbb006a0860bf87b89bf8f79b331ea5a433\ 659c20721e12e21f9e12b396da16b7c32b775e6cc50513968bd65e4ae451b828aa5d4\ c02f8221dbcdfc54bc106e2e283b1d286c29bb2e6adf9792459941d96bc14abb2037b\ cbee4889a46a9256fa1caaefa39be9a692b4f758c95b594d29f09a48ed4e0665e030c\ 48faaa207e7506903b59073b4cbab42c9b1d93ed216f79df5f0427bafebe84f686d8d\ 28068357dd4b02db730e49984617a28ae523867a596d9ba99c6d9b2ea6c58230bed65\ 954b049d726fa6cbb05851c3b36c39f8958f8683b8a7c14673d7f813baf55581654e9\ ee0d7278597a66861ae247b8562bafb34196633325dc111f2d58668ca172c82bf3f6c\ f8d3b357409d343a422717325e4941e5ada93e9ffeab559b682d6dad0dd549d7c6d7d\ 274cfcd1d2709a4ee64df21c00557538ec76d0408b8246b8a6112b85b5098a32e30de\ d2f8b9c2311293c7e1ba2a4110300b422da53c2964e6085ac0ea3d9559808901d2283\ dea6992a8e6eb9b3828711bc06b39d94759ed64e56094fd6d9ce84d41e97c48e4ba48\ 1b8665269fd8e468adba960d0cfb13e843610b12f239ce58d805f778fd9ac1d9a92f6\ e5965970dda9e24a41fc2a765bbe672bba04b36c82f378c7bae4aac36b0abd24a96f3\ 01224c0912eec4791aacced70742c4852eafb78f827258bc63acb134cbfbdb8cff69d\ 6d87495a80933c9e93afccb38e3d557e1c15ef9b51e8247ef513979e7f396d73d602b\ c1ebf05a99f987351f94351518eec0beff143804b0e6035f0c59a8eb80444b37c821b\ 425423d4e80749e73469acf849370765e5144b63ef8f77c85f4951298b4b1ca022255\ dc39b0b0569965a6430f31722ccd35f232ef9b2647b795a02018c5a30b9aa04e0a28e\ 9e458f1955a0a301493d182ac7ef15d6d4cd8427d2c187078821f1927bfad0e4f07ef\ db2dc8d06f0743c791fc83054ea302ce9b7857560f36869164f4b8dc2c178eceb0c55\ ac79d8d58633939e4bd69042b7ca88aec66b0c949a0d062402804fc340a3347b9f873\ 9a110f796e8e05348b489afaa7b8f650f9cce03482c5d45c4d24609971d5015befc9a\ 9c6e0b8ed03cb7fd87aad07ccbb7e11b1f4a005c99adb5484239e30809e4941cc931c\ 7d960a55320694d65c0c68d79e28b7f80112e729ce332588b50d3fad3590661a7d096\ e8d35301d549eb8c4ee698bc5dca50f80772b4c8627d803ce1f714b2affd822e2b272\ 68c9c31e873ce9ceb8af31da292c98d01ef90b0fb97e2add989236f8418b1a64a30b0\ f713f73d53df5bc2666a5540dc61309598c0b978437b5c0502238fef6dc1391be120f\ dd3b77a933e4de1a11c422ab8976d61ccf8697f34d31119a6822ab039d02af5f757f9\ 2540c78fa07fa112ced169812c516738e1c4275654b6f7bf1d6efdb10d9274114c314\ c877c04ec1994706d7ecd335da588c34a0c1c434680eb0ee82aa2bc3d657018cb37fd\ 9bc43f545d7cbddbac5c98f858965f25fb921800cc04f7bf5a0c3efcae96ba34f7f78\ e1ee66c2a7d8f715210070597691ae063a58091cadcd068a4c6e58e8d81a1602d4696\ 485640346ebe9480214efdde46642addbb59bcb85f1dbe6dabf28dbb479eb454cec8c\ 7306faa4d43f48d111c5f19731fc8d62f44339bbc3862be1267e4e65340a10b25b074\ b070045633683090607856969aebd21eae5ca5a2c8eb9444cab756cfadf3f15a65992\ 57c2938f0f270cab72ce740d1ef040dc023505a72a5df7449b650235ae5dfc2ee46a6\ ee117c8b93fbe0023649d23e1167390271b5225abbe71abbcfe760b137c20c556e9a1\ c1b5bfb76be46694abc2c7563b4cef9a86be5fae1fb797f473acfb72be4618d64d75c\ 5eae12424703cd0734e7d627aa875f3c39969611ba06c72965745e0ac155142e7296f\ c4576a021a78d9cd7c1d5432b51d6a08e9f8a47523c5dd05191a4537d031da0e64b60\ 01caf3e29ebdb43a7f7b45c7cb2cacb6cf9f5296eeb820bfab078fa5122da607bd47a\ 44d8672cec71fb0ca84cbc8482a080620ebe4a9f3310f4f61b0b9624ed0139a143705\ 2b3e7c0213e7a4207384f9c47d71b344b8a67a7f17d88692012860762aada8c33593e\ 4df6c42f76242c567127d7ca12422bc9c51c78e8dd9e829c35f027a7aafbf09bf8a39\ 27fb592b2c80bf72b443b0c084ad684f824d58a85b1facae80350ef9c4a3eeccf4ad8\ 30aa6d15e94e07744b47f57443c3bda05f92d1b5fa58b402ab49d2607e7d7b99b6461\ 42f548f9da6d52ae85a0cdb28f4201d6ca20e6d6f960848ccb5277f9e2ca46656778a\ bd1817844b6b264ac5ec76549c720e61862a49f4b97ec3494e6b197956ac582800b6e\ 6bda28088bca3662ef3b2342ac6ffd627163b485107de5abfe0b2941a32c06cb0c462\ c3e0b0a8661a79b958f3b5b9d3503effd3986b005007d617718bdcbf1ff10185322c7\ af9be2e7edeccc3ce1122c993cc31f2a04aae3900989a25143d0b6ac58fa97da0da7f\ f84df4f6e68fa6657dcdfecf30970ea3b493883b534da384599d1d251498bc33eafd8\ 18a6570ee72fb8286a8dacb4de1db5c2e8b1db2519c1e4c5ef561e204a5fefcc2df52\ a189296a1666d1ed7b74b5c20de5caff56ae9d9682ce903b8c0f97fa21b1a56a39288\ 45fd3604705c44791a4942bf60b09d97f2c2365e6f42ead2fbf315e61a51c7e28a6cb\ ee3f9d122445c003a636a6cce7eee998045445358059cfa3168960cde6271c45d4032\ 20c68192a69a57d03eafe1fdd88a3ca1ea63a6de284aea22a9a7c0a4cf7db6193ec86\ f041d8c37ad5260c8715cc4d413f60ec0a2c1bdca0bad86d11e3d10583d8fa2de8567\ 3343c3e6ea667a6094f0c2ff6f67e01e72924b8e43c0cebca18de98fe5d0c784fc02f\ adba3b38e817da2584094981ee009b8056a79d5b1c2d716e15d77787f9558ae462661\ 34d5204fe6b1a949e1d2f138463c906840fb1a1dea8b76ba4f48ffa41459767c57562\ 5ba02b26b7871274fe7352210afd32d0a5236f88d283c81f665b7f2e09815e0cc60c0\ f397a1303802da47fb49f0032d4788f2d87513d3a1cf91637a6fa28b90e8278ab7df8\ 1fa24af74f925026f93aa152c06b62d0d833dc600fabc71669f0995b2e407a3463a27\ df7eaaddc40b31a46319c2466c725ae634d3f7dd1127185f467b1c81fd64f4ba3ecd9\ 7c606cb776ad513f999e40ca41676eaecab749ec1f804d17336471713b17afec031a7\ 8f011ee99735d036ac1f9b5ca076faaa660333db6dcf9475b4df1366a2eb043ab09db\ 2cadf46550c3d4e13b4d7a06e97bd7c92274923e5246f879be5e6c1fe869afba7b251\ 2c27e44ec4f12cb2ab7c430ccefcf334af863f174a2f8c89c7aaf5de7cef1260b1bc1\ f0bdd10e33d70bc0afa0c116865d37664df9b2f0a05737a1e8a9186cdbc4f90d21300\ 3f77da5e496887395eedc590877d41b6d67723d467ee0c510c37579734a01673d5b61\ cdab992dc503d11447da49be90fc5c674158c92cca5a83d2ed02728f68df5f8b0ced0\ ca2190faa11897174f4de6a9f12c7b1f3dcaa70384f8328337d5bb61467486434648e\ 0094ab12b1a03126008a0514c3cc78fba6b82d75d5be4fc09fc9b3ba0dde3dbbe41ae\ dff46c8f426cd96016725d5f8ac69bd3313fb1dffd9240a8c036945cd35af5fd5b01f\ 2f01b972710a9e379166104179a46e972ce6329edf1bd70b601e5c0653b70cbee94e0\ dc7b7ce648a4ec95ea587f9b48e9ef9c35293b7e77e95de92132d8b6d60974610cdf1\ 7bb0e524e50d362f5932bb63ec8a2abb0bbb5a4b52e3c918fc6f7fd804efd5747b213\ ed0df8c055d25104434e37d245d530bc1707dfa92c237bbc89e0f55f35571bbdf18b3\ 5553fccd558df28f86ebcef39ae71b1adfd8c96792443c7de9ab50e4487b81792997e\ 4975d1e215bffea6351b1824ae9f4ff1a7d37b826714a5069af612d69b83f7ecb08c0\ c01fb7d3a2e19c9546f8c50108e1e82f7c87cd31c0c23fa8fb370a03ec0214cb9f27b\ cb054d3ece12cdc3b9f16ab5ba8a7cf98d0c0af283d08f707f832869ecb01e27d365b\ 822164424005885cdf02fcc89374b7d2c899085a621097cc0b0144fb359ff6e768fe6\ 5fd657859b36dbdf452adee9643a15d53b87b8b86131c000e6e98e9242c30891de81a\ 8544e59c153723195afd0cc04b3a0bb43deabda276d33b6e8c9041e089954edf2ff11\ 4e11f338e2c5aeae36d07e3b2b27d78b34b404cbd27c03899df3fe683782b5afcae2f\ c6c3dd80d37146617d58477b9856cf613a7dd2dbd7076643f18e3027624ad6ba318d6\ b3bcaaca1f2c9216f7d91105806083b5d822bdcf763923e6ff9714b3ca4ab868244b0\ ad0f552fbaccdac7c1ffa3e16070fe7e5177afe5573eefd9d26a1d17c1823f07e7e01\ 1cefae1368d49d0dc6f85e7c9d4c2bfd64c39fd90533aecb4147e8007eb639cc42058\ 44c35eb15bfa5f703ec4cf216226424d9e4fb555f6f1d174e692d9b4c69df88040780\ 1a80b931955f7461a0a9baad795e5d0961394937b768ad88a5fcf59892de1d3af8e54\ 3f4760a8251adb942bf32579d0e25057b7a04d53f1b91b98eff767dfe734ca8d5769b\ 1a54fbdeaa7732c845efef369df5038cb49242a8b9171d872d92f5d5a9550b0fd6838\ 22551fe3ef32a574c79ea3c177088f33463c87f29183996a8b411c69180e3797d04ee\ f5505288bc861dd2b679d3bb1816b872485e0b129d7a9ccd01bec013ba3f14ee18b3f\ 12812175e1d69d4161444892367df2ad299cb6079248494bcfb8c05cfe72670826994\ e1811a7221d26463a23c1fb28b0cac910e1ae950ed7c7fdadb1482df5672557725a74\ cbf192b8ed3fce335a786df24324a4bb7f79f1f2e355f26d4bf8877553367df796267\ d4328d57efba5fca17f31a9b25e1eaa29efa4c178265bd51de290007004b4ce264c57\ 7cfdbcb6fa2014e97c856dd855898ad9eaca4f1b2679d273df7fa940b6dbf26ccd8fb\ 0d68a23d0792ca1be266c6d6a1e2d67aaaf62b95455e4cda9e055585e00184f20d5c8\ 5e1ad45ae59814e8cfb6ca4f21511449cef817f96e3484e9664ad0958cf4ebfefba24\ 8633495197d4ee20d663041660fadd5b10e2411d468fb605f50d4e3135e447763c41a\ b6a2c8fcf5156a9d21225b198fb677014d349970080fe6abb32a572f707566e975c93\ 7efac192df1e5448b4420d7e283a2d97c8e0341449750e01f794c1e30f74e633c49cb\ 30869d7f2e6699dcb033dec718a52d889b19a615a306e38599ef9f0fa539a43a461d4\ d67682b882e75f3caf12010c9626ee01eb906ad7140a22ad894089bae1e11e33e52f9\ 58e7378a5a94bfbfdca1fcb9dc5f5b1ae47897456d1b9afe1daa533ca712b0d49ee9f\ 6098aa66a5e4f2687a45e78ec348b220cf2e9cd7c5ee16067b3d5ec1bdb42f19b1361\ d49c88c391380e48b9c68657ff356ca5137ebebfda9baab4a96b648c4f220d03b031f\ db034bcad2e2ed11f92da6734083187163ea00cc782d36f64221c024a88df6bdda5d9\ cb4b37e3e567e46ffac8a14cce600c71fcc9e9c7f947258870d4489ef3ee9963ffb27\ 56ea6f3fc88894bb4d6a9e182fd21fc57cd880d5970015537f3e35c352bf4a08eb2d5\ d6c396c08b909dd3866ee56ff97dd4dd53ff38257a7ff11fe88626c326b75dcba9c7c\ a7b737d01d3548bae6a0cfd6572b31414c85c882c4c72f2ab82d2a0d76929.