X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/ba6e6b64033b1f9de49feccb5c9cd438354481f7..0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a:/math/t/ec diff --git a/math/t/ec b/math/t/ec new file mode 100644 index 0000000..92fb26a --- /dev/null +++ b/math/t/ec @@ -0,0 +1,451 @@ +# Elliptic curve tests + +check { + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 0; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794810" + -1; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee" + 0; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411, + 0xdccf19d3e76abfa05d529c07575f54c94fa5fc9f3decc246" + 0; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 0; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794810" + -1; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee" + 0; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 0; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794810" + -1; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee" + 0; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411, + 0xdccf19d3e76abfa05d529c07575f54c94fa5fc9f3decc246" + 0; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 0; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794810" + -1; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee" + 0; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1" + 0; + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f0" + -1; + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 0; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1" + 0; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f0" + -1; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 0; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0591168d4994637e8343e36, + 0x7fa8423c5ae194b56cdf21998ad8a721ef1201b8c" + 0; +} + +find { + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1011 inf; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411 + "0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411, + 0x2330e62c1895405fa2ad63f8a8a0ab35b05a0360c2133db9"; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1011 inf; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + 0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411 + "0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411, + 0x2330e62c1895405fa2ad63f8a8a0ab35b05a0360c2133db9"; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + 0x3f0eba16286a2d57ea0991168d4994637e8343e36 + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7"; + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + 0x310eba16386a2d57ea0591168d4997637e8745e36 inf; + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + 0x3f0eba16286a2d57ea0591168d4994637e8343e36 + "0x3f0eba16286a2d57ea0591168d4994637e8343e36, + 0x7fa8423c5ae194b56cdf21998ad8a721ef1201b8c"; +} + +neg { + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1"; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1"; +} + +dbl { + "prime: 23 prime: 1, 1" "4, 0" inf; + "prime: 23 primeproj: 1, 1" "4, 0" inf; + + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c"; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c"; + + "binpoly: 0x020000000000000000000000000000200000000000000001 + bin: 0, 0x1ee9" + "0x18, 0xd" + "0x1bd555555555555555555555555554e8000000000000158, + 0x14e999999999999999999999999998d7000000000001fe6"; +} + +add { + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd"; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd"; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c" + "0x634000577f86aa315009d6f9b906691f6edd691fe, + 0x235a3db7a94446301e666cafea5e12cb331f4a140"; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c" + "0x634000577f86aa315009d6f9b906691f6edd691fe, + 0x235a3db7a94446301e666cafea5e12cb331f4a140"; +} + +sub { + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, + 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, + 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x634000577f86aa315009d6f9b906691f6edd691fe, + 0x235a3db7a94446301e666cafea5e12cb331f4a140" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c"; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x634000577f86aa315009d6f9b906691f6edd691fe, + 0x235a3db7a94446301e666cafea5e12cb331f4a140" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + "0x1aeb33fed9c49e0200a0c561ea66d5ab85bd4c2d4, + 0x49ed3be7f510e30e2462c517ad39038e493fc573c"; +} + +mul { + "prime: 23 prime: 1, 1" "0, 1" 28 inf; + "prime: 23 prime: 1, 1" "0, 1" 29 "0, 1"; + "prime: 23 primeproj: 1, 1" "0, 1" 28 inf; + "prime: 23 primeproj: 1, 1" "0, 1" 29 "0, 1"; + + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284080 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284081 + inf; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284080 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "prime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284081 + inf; + + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284080 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + prime: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284081 + inf; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284080 + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; + "niceprime: 6277101735386680763835789423207666416083908700390324961279 + primeproj: -3, 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1" + "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, + 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" + 6277101735386680763835789423176059013767194773182842284081 + inf; + + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 5846006549323611672814742442876390689256843201586 + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0xd51fbc6c71a0094fa2cdd545b11c5c0c797324f1"; + "binpoly: 0x800000000000000000000000000000000000000c9 + bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 5846006549323611672814742442876390689256843201587 + inf; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 5846006549323611672814742442876390689256843201586 + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0xd51fbc6c71a0094fa2cdd545b11c5c0c797324f1"; + "binpoly: 0x800000000000000000000000000000000000000c9 + binproj: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd" + "0x3f0eba16286a2d57ea0991168d4994637e8343e36, + 0x325f41d0ef702dc310254c42d65851a3b91471ac7" + 5846006549323611672814742442876390689256843201587 + inf; + + "binpoly: 0x800000000000000000000000000000000000000c9; bin: 1, 1" + "0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8, + 0x289070fb05d38ff58321f2e800536d538ccdaa3d9" + 5846006549323611672814741753598448348329118574063 + inf; + "binpoly: 0x800000000000000000000000000000000000000c9; binproj: 1, 1" + "0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8, + 0x289070fb05d38ff58321f2e800536d538ccdaa3d9" + 5846006549323611672814741753598448348329118574063 + inf; +}