diff options
| author | J08nY | 2020-02-13 16:48:34 +0100 |
|---|---|---|
| committer | J08nY | 2020-02-13 18:10:09 +0100 |
| commit | ddbc1b6d5cc5d5275b623b7f7315828ddf340c85 (patch) | |
| tree | 5728efda237b781a14d46440036f0daad3f9b998 | |
| parent | 7118e5c28ba9ac5375bb0043684fae786d9c56e9 (diff) | |
| download | pyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.tar.gz pyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.tar.zst pyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.zip | |
Add configuration space exploration notebook.
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | .travis.yml | 41 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | configuration_space.ipynb | 411 | ||||
| -rw-r--r-- | dpa.ipynb | 21 | ||||
| -rw-r--r-- | leakage_testing.ipynb | 28 | ||||
| -rw-r--r-- | pytest.ini | 6 | ||||
| -rw-r--r-- | requirements.txt | 3 |
8 files changed, 494 insertions, 19 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..152e020 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.pytest_cache/
\ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7739238 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,41 @@ +os: linux +dist: xenial +language: python +python: "3.8" + +addons: + apt: + sources: + - sourceline: "deb https://labs.picotech.com/debian/ picoscope main" + key_url: "https://labs.picotech.com/debian/dists/picoscope/Release.gpg.key" + packages: + - libps4000 + - libps6000 + - swig + - gcc + - libpcsclite-dev + +before_install: + - git clone https://github.com/colinoflynn/pico-python + - cd pico-python + - python setup.py install + - cd .. + - rm -rf pico-python + - git clone https://github.com/picotech/picosdk-python-wrappers + - cd picosdk-python-wrappers + - python setup.py install + - cd .. + - rm -rf picosdk-python-wrappers + - git clone https://github.com/J08nY/pyecsca + - cd pyecsca + - pip install -e . + - cd .. + - pip install pytest-notebook + +install: + - pip install -r requirements.txt + +script: + - "pytest -v --ignore=pyecsca --color=yes --disable-warnings --nb-test-files --nb-force-regen || echo" + - "pytest -v --ignore=pyecsca --color=yes --disable-warnings --nb-test-files" + @@ -1,6 +1,6 @@ # pyecsca-notebook -[](https://travis-ci.com/J08nY/pyecsca-notebook)  [](https://codecov.io/gh/J08nY/pyecsca-notebookn) +[](https://travis-ci.com/J08nY/pyecsca-notebook)  **Py**thon **E**lliptic **C**urve cryptography **S**ide-**C**hannel **A**nalysis toolkit. diff --git a/configuration_space.ipynb b/configuration_space.ipynb new file mode 100644 index 0000000..19b3c27 --- /dev/null +++ b/configuration_space.ipynb @@ -0,0 +1,411 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true, + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Configuration space\n", + "This notebook explores the configuration space of Elliptic Curve crypto\n", + "implementations.\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "An ECC implementation configuration in `pyecsca` has the following attributes: " + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [ + { + "name": "stdout", + "text": [ + "model <class 'pyecsca.ec.model.CurveModel'>\n", + " A model(form) of an elliptic curve.\n", + "\n", + "coords <class 'pyecsca.ec.coordinates.CoordinateModel'>\n", + " A coordinate system for a particular model(form) of an elliptic curve.\n", + "\n", + "formulas typing.Set[pyecsca.ec.formula.Formula]\n", + " A formula operating on points.\n", + "\n", + "scalarmult <class 'pyecsca.ec.mult.ScalarMultiplier'>\n", + " \n", + " A scalar multiplication algorithm.\n", + "\n", + " :param short_circuit: Whether the use of formulas will be guarded by short-circuit on inputs\n", + " of the point at infinity.\n", + " :param formulas: Formulas this instance will use.\n", + " \n", + "\n", + "hash_type <enum 'HashType'>\n", + " Hash algorithm used in ECDH and ECDSA.\n", + " NONE\n", + " SHA1\n", + " SHA224\n", + " SHA256\n", + " SHA384\n", + " SHA512\n", + "\n", + "mod_rand <enum 'RandomMod'>\n", + " Method of sampling a uniform integer modulo order.\n", + " SAMPLE\n", + " REDUCE\n", + "\n", + "mult <enum 'Multiplication'>\n", + " Base multiplication algorithm to use.\n", + " TOOM_COOK\n", + " KARATSUBA\n", + " COMBA\n", + " BASE\n", + "\n", + "sqr <enum 'Squaring'>\n", + " Base squaring algorithm to use.\n", + " TOOM_COOK\n", + " KARATSUBA\n", + " COMBA\n", + " BASE\n", + "\n", + "red <enum 'Reduction'>\n", + " Modular reduction method used.\n", + " BARRETT\n", + " MONTGOMERY\n", + " BASE\n", + "\n" + ], + "output_type": "stream" + } + ], + "source": [ + "from typing import get_args\n", + "from pyecsca.ec.configuration import Configuration, EnumDefine\n", + "from dataclasses import fields\n", + "\n", + "for field in fields(Configuration):\n", + "\tname = field.name\n", + "\ttp = field.type\n", + "\tdoc = tp.__doc__\n", + "\tif get_args(field.type):\n", + "\t\tdoc = get_args(field.type)[0].__doc__\n", + "\tprint(name, tp)\n", + "\tprint(\" \", doc)\n", + "\tif hasattr(tp, \"names\"):\n", + "\t\tfor enum_name in tp.names():\n", + "\t\t\tprint(\" \", enum_name)\n", + "\tprint()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + }, + { + "cell_type": "markdown", + "source": [ + "It is represented by the `Configuration` class." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## Enumerating configurations\n", + "\n", + "The possible configurations can be generated using the `all_configurations()` function.\n", + "The whole space of configurations is quite huge:" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 7, + "outputs": [ + { + "name": "stdout", + "text": [ + "16056576\n" + ], + "output_type": "stream" + } + ], + "source": [ + "from pyecsca.ec.configuration import all_configurations\n", + "\n", + "print(sum(1 for _ in all_configurations()))" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + }, + { + "cell_type": "markdown", + "source": [ + "A large part of the configuration space is due to the independent options which consist of:\n", + " \n", + " - `hash_type` of type `HashType` $*6$\n", + " - `mod_rand` of type `RandomMod` $*2$\n", + " - `mult` of type `Multiplication` $*4$\n", + " - `sqr` of type `Squaring` $*4$\n", + " - `red` of type `Reduction` $*3$\n", + "\n", + "To restrict the generated configurations, pass keyword arguments to the\n", + "`all_configurations` matching the names of the attributes of the `Configuration` object." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 14, + "outputs": [ + { + "name": "stdout", + "text": [ + "[Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615042b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615adc40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615ad9a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615adeb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615adcd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157bb50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157b160>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157bd60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6024cb20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6024c490>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6024cee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60255c70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60255df0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60255a30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60255340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615d7af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602554c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602497f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60249760>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60247550>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602472b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60247af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60245d60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60245ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7130>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f71f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7910>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7d30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7b50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f75b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7640>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7190>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614f7040>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60242070>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60242940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60242b50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61557af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61557c40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61557340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61557ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe619a6fa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60252520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60252670>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60252130>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602520d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60252880>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b310>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b220>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b550>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b130>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b3a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b0d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b400>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bc40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60242a30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602429a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60245640>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60245a30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602479a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b0a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b610>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(madd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b9a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bd90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bc10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b5e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bd60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bf70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156bdc0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b8b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b760>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61651850>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156b280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61575550>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61575be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6158d160>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615e8eb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6158df70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61676d60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61676f10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61676cd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61631580>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe616aaf10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe617f2640>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe617f2910>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d04f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d08b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d01f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d06d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d06a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0970>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d09a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0370>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0040>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0850>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d0730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615699a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569bb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569400>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569f40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569ee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569fa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569190>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61569610>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6162eee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6162e850>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6162ee50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6162eac0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9a60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9c70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f96a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f90a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9e50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9b80>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9c10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe601f9f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe617079a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61632af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6153c610>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6153c100>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6153c7f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61a2d700>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d4880>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d4940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d4d60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d4af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d4fa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d41c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe604d40a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156e3d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156e6d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6156e730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe617cf280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa8e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa8b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614faa90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa580>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa910>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa2e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa2b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa1c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa0d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa190>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614faa00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fad30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fab50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa3a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa400>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa250>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa220>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fa460>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fafa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fae50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614faeb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fad90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fae80>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614faca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614fabe0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe614faf70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503910>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503c10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615030d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503cd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615030a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503f10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503580>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503490>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503460>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503130>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503220>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503370>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615034f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503820>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503700>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503e50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503b20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503d90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503d60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503bb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-2002-bj for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61503ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615038b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615036d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509760>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509e50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509b20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509250>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509610>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615090a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615092e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509400>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615098e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615092b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615097f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509a00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509c40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615099d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509a30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509c10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509b80>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509cd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509df0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509ee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615099a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61509be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fa00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150feb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fac0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61597df0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61583fa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615af250>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fd90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150ffa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150ff40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fa30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fb20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fd60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fdf0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150fc40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f460>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f820>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f8b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f6a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f310>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f0d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f4f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f580>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f370>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f160>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f1c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6150f070>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541910>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541d90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541c40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541070>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541160>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61541880>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501af0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(mmadd-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501d90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501310>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615011f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501370>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501ee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615017f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501dc0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501760>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615019d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501640>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501f10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615015e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501670>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61501d00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505a00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505b50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505a90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505040>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505be0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615055e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505460>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505d00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505610>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505df0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505880>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61505d30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518fa0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518790>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615186d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518df0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518d60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615189d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615183d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518400>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518670>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe615185b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518580>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518eb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61518880>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61577100>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe61577f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157a9a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157a970>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6157a2e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b4f0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b130>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b040>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b3d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b2b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b520>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b5b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b640>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b3a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b7c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b850>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b8e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025b940>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025ba00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bac0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bb50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bbe0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bc70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bd00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bd60>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025be20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025beb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bf40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bfd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6025bc40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209100>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209190>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209220>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209280>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209310>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602093a0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209430>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602094c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209550>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602095e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209670>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209730>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602097c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209850>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe602098e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209970>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209a00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209a90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209b20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209b80>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209c10>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209ca0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209d30>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209dc0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209e50>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209ee0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209f70>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe60209e20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f100>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f190>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f220>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f2b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f340>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(mdbl-2007-bl for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f3d0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f460>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f4c0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f550>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f5e0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f670>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f700>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f790>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), ScalingEFDFormula(z for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f820>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f8b0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020f970>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fa00>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fa90>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fb20>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fbb0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fc40>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY), Configuration(model=ShortWeierstrassModel(), coords=EFDCoordinateModel(\"projective\" on short Weierstrass curves), formulas=frozenset({AdditionEFDFormula(add-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves)), DoublingEFDFormula(dbl-1998-cmo-2 for EFDCoordinateModel(\"projective\" on short Weierstrass curves))}), scalarmult=<pyecsca.ec.mult.LTRMultiplier object at 0x7efe6020fcd0>, hash_type=HASH_SHA256, mod_rand=MOD_RAND_SAMPLE, mult=MUL_KARATSUBA, sqr=SQR_KARATSUBA, red=RED_MONTGOMERY)]\n", + "384\n" + ], + "output_type": "stream" + } + ], + "source": [ + "from pyecsca.ec.configuration import HashType, RandomMod, Multiplication, Squaring, Reduction\n", + "from pyecsca.ec.model import ShortWeierstrassModel\n", + "from pyecsca.ec.mult import LTRMultiplier\n", + "\n", + "model = ShortWeierstrassModel()\n", + "coords = model.coordinates[\"projective\"]\n", + "scalarmult = LTRMultiplier\n", + "independent_opts = {\n", + "\t\"hash_type\": HashType.SHA256,\n", + "\t\"mod_rand\": RandomMod.SAMPLE,\n", + "\t\"mult\": Multiplication.KARATSUBA,\n", + "\t\"sqr\": Squaring.KARATSUBA,\n", + "\t\"red\": Reduction.MONTGOMERY\n", + "}\n", + "\n", + "configs = list(all_configurations(model=model, coords=coords, scalarmult=scalarmult,\n", + "\t\t\t\t\t\t\t \t **independent_opts))\n", + "print(configs)\n", + "print(len(configs))" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + }, + { + "cell_type": "markdown", + "source": [ + "We see that when we fixed all parameters except for the scalar multiplier arguments \n", + "(see the `LTRMultiplier` constructor) we obtained 384 configurations." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "### Models" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 26, + "outputs": [ + { + "data": { + "text/plain": "<IPython.core.display.HTML object>", + "text/html": "<table>\n<thead>\n<tr><th>Model </th><th style=\"text-align: right;\"> All</th><th style=\"text-align: right;\"> Without independent options</th><th style=\"text-align: right;\"> Without independent options and scaling</th><th style=\"text-align: right;\"> Without independent options and scalarmult options</th></tr>\n</thead>\n<tbody>\n<tr><td>ShortWeierstrassModel</td><td style=\"text-align: right;\">13008384</td><td style=\"text-align: right;\"> 22584</td><td style=\"text-align: right;\"> 11720</td><td style=\"text-align: right;\"> 2924</td></tr>\n<tr><td>MontgomeryModel </td><td style=\"text-align: right;\"> 156672</td><td style=\"text-align: right;\"> 272</td><td style=\"text-align: right;\"> 136</td><td style=\"text-align: right;\"> 32</td></tr>\n<tr><td>EdwardsModel </td><td style=\"text-align: right;\"> 2117376</td><td style=\"text-align: right;\"> 3676</td><td style=\"text-align: right;\"> 1838</td><td style=\"text-align: right;\"> 456</td></tr>\n<tr><td>TwistedEdwardsModel </td><td style=\"text-align: right;\"> 774144</td><td style=\"text-align: right;\"> 1344</td><td style=\"text-align: right;\"> 1344</td><td style=\"text-align: right;\"> 336</td></tr>\n<tr><td>Total </td><td style=\"text-align: right;\">16056576</td><td style=\"text-align: right;\"> 27876</td><td style=\"text-align: right;\"> 15038</td><td style=\"text-align: right;\"> 3748</td></tr>\n</tbody>\n</table>" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "import tabulate\n", + "from pyecsca.ec.model import *\n", + "\n", + "model_counts = [[\"Model\", \"All\", \"Without independent options\", \"Without independent options and scaling\", \"Without independent options and scalarmult options\"]]\n", + "totals = [\"Total\", 0, 0, 0, 0]\n", + "for model in (ShortWeierstrassModel(), MontgomeryModel(), EdwardsModel(), TwistedEdwardsModel()):\n", + "\tname = model.__class__.__name__\n", + "\tcount = sum(1 for _ in all_configurations(model=model, **independent_opts))\n", + "\tcount_no_scl = sum(1 for _ in all_configurations(model=model, **independent_opts, scalarmult={\"scl\": None}))\n", + "\tcount_no_opts = sum(1 for _ in all_configurations(model=model, **independent_opts, scalarmult={\"scl\": None, \"always\": True, \"short_circuit\": True, \"complete\": False, \"precompute_negation\": True}))\n", + "\tmodel_counts.append([name, count * (6*2*4*4*3), count, count_no_scl, count_no_opts])\n", + "\ttotals[1] += count * (6*2*4*4*3)\n", + "\ttotals[2] += count\n", + "\ttotals[3] += count_no_scl\n", + "\ttotals[4] += count_no_opts\n", + "model_counts.append(totals)\n", + "display(HTML(tabulate.tabulate(model_counts, tablefmt=\"html\", headers=\"firstrow\")))" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### Coordinate systems" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 27, + "outputs": [ + { + "data": { + "text/plain": "<IPython.core.display.HTML object>", + "text/html": "<table>\n<thead>\n<tr><th>Model </th><th>Coords </th><th>All </th><th>Without independent options </th><th>Without independent options and scaling </th><th>Without independent options and scalarmult options </th></tr>\n</thead>\n<tbody>\n<tr><td>ShortWeierstrassModel</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td> </td><td>jacobian </td><td>2322432</td><td>4032 </td><td>2016 </td><td>504 </td></tr>\n<tr><td> </td><td>jacobian-0 </td><td>3096576</td><td>5376 </td><td>2688 </td><td>672 </td></tr>\n<tr><td> </td><td>jacobian-3 </td><td>3870720</td><td>6720 </td><td>3360 </td><td>840 </td></tr>\n<tr><td> </td><td>modified </td><td>193536 </td><td>336 </td><td>336 </td><td>84 </td></tr>\n<tr><td> </td><td>projective </td><td>774144 </td><td>1344 </td><td>672 </td><td>168 </td></tr>\n<tr><td> </td><td>projective-1</td><td>903168 </td><td>1568 </td><td>784 </td><td>196 </td></tr>\n<tr><td> </td><td>projective-3</td><td>967680 </td><td>1680 </td><td>840 </td><td>210 </td></tr>\n<tr><td> </td><td>w12-0 </td><td>32256 </td><td>56 </td><td>56 </td><td>14 </td></tr>\n<tr><td> </td><td>xyzz </td><td>193536 </td><td>336 </td><td>168 </td><td>42 </td></tr>\n<tr><td> </td><td>xyzz-3 </td><td>387072 </td><td>672 </td><td>336 </td><td>84 </td></tr>\n<tr><td> </td><td>xz </td><td>267264 </td><td>464 </td><td>464 </td><td>110 </td></tr>\n<tr><td>MontgomeryModel </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td> </td><td>xz </td><td>156672 </td><td>272 </td><td>136 </td><td>32 </td></tr>\n<tr><td>EdwardsModel </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td> </td><td>inverted </td><td>387072 </td><td>672 </td><td>336 </td><td>84 </td></tr>\n<tr><td> </td><td>projective </td><td>1548288</td><td>2688 </td><td>1344 </td><td>336 </td></tr>\n<tr><td> </td><td>yz </td><td>117504 </td><td>204 </td><td>102 </td><td>24 </td></tr>\n<tr><td> </td><td>yzsquared </td><td>64512 </td><td>112 </td><td>56 </td><td>12 </td></tr>\n<tr><td>TwistedEdwardsModel </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td> </td><td>extended </td><td>193536 </td><td>336 </td><td>336 </td><td>84 </td></tr>\n<tr><td> </td><td>extended-1 </td><td>387072 </td><td>672 </td><td>672 </td><td>168 </td></tr>\n<tr><td> </td><td>inverted </td><td>96768 </td><td>168 </td><td>168 </td><td>42 </td></tr>\n<tr><td> </td><td>projective </td><td>96768 </td><td>168 </td><td>168 </td><td>42 </td></tr>\n</tbody>\n</table>" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coords_counts = [[\"Model\", \"Coords\", \"All\", \"Without independent options\", \"Without independent options and scaling\", \"Without independent options and scalarmult options\"]]\n", + "for model in (ShortWeierstrassModel(), MontgomeryModel(), EdwardsModel(), TwistedEdwardsModel()):\n", + "\tmodel_name = model.__class__.__name__\n", + "\tcoords_counts.append([model_name, \"\", \"\", \"\", \"\", \"\"])\n", + "\tfor coords in sorted(model.coordinates.values(), key=lambda c: c.name):\n", + "\t\tcoords_name = coords.name\n", + "\t\tcount = sum(1 for _ in all_configurations(model=model, coords=coords, **independent_opts))\n", + "\t\tcount_no_scl = sum(1 for _ in all_configurations(model=model, coords=coords, **independent_opts, scalarmult={\"scl\": None}))\n", + "\t\tcount_no_opts = sum(1 for _ in all_configurations(model=model, coords=coords, **independent_opts, scalarmult={\"scl\": None, \"always\": True, \"short_circuit\": True, \"complete\": False, \"precompute_negation\": True}))\n", + "\t\tcoords_counts.append([\"\", coords_name, count * (6*2*4*4*3), count, count_no_scl, count_no_opts])\n", + "display(HTML(tabulate.tabulate(coords_counts, tablefmt=\"html\", headers=\"firstrow\")))" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### Scalar multipliers" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 30, + "outputs": [ + { + "data": { + "text/plain": "<IPython.core.display.HTML object>", + "text/html": "<table>\n<thead>\n<tr><th>ScalarMultiplier </th><th style=\"text-align: right;\"> All</th><th style=\"text-align: right;\"> Without independent options</th><th style=\"text-align: right;\"> Without independent options and scaling</th><th style=\"text-align: right;\"> Without independent options and scalarmult options</th></tr>\n</thead>\n<tbody>\n<tr><td>LTRMultiplier </td><td style=\"text-align: right;\">4414464</td><td style=\"text-align: right;\"> 7664</td><td style=\"text-align: right;\"> 4080</td><td style=\"text-align: right;\"> 510</td></tr>\n<tr><td>RTLMultiplier </td><td style=\"text-align: right;\">2207232</td><td style=\"text-align: right;\"> 3832</td><td style=\"text-align: right;\"> 2040</td><td style=\"text-align: right;\"> 510</td></tr>\n<tr><td>CoronMultiplier </td><td style=\"text-align: right;\">1103616</td><td style=\"text-align: right;\"> 1916</td><td style=\"text-align: right;\"> 1020</td><td style=\"text-align: right;\"> 510</td></tr>\n<tr><td>LadderMultiplier </td><td style=\"text-align: right;\"> 343296</td><td style=\"text-align: right;\"> 596</td><td style=\"text-align: right;\"> 430</td><td style=\"text-align: right;\"> 96</td></tr>\n<tr><td>SimpleLadderMultiplier </td><td style=\"text-align: right;\">2207232</td><td style=\"text-align: right;\"> 3832</td><td style=\"text-align: right;\"> 2040</td><td style=\"text-align: right;\"> 510</td></tr>\n<tr><td>DifferentialLadderMultiplier</td><td style=\"text-align: right;\"> 262656</td><td style=\"text-align: right;\"> 456</td><td style=\"text-align: right;\"> 328</td><td style=\"text-align: right;\"> 82</td></tr>\n<tr><td>BinaryNAFMultiplier </td><td style=\"text-align: right;\">1103616</td><td style=\"text-align: right;\"> 1916</td><td style=\"text-align: right;\"> 1020</td><td style=\"text-align: right;\"> 510</td></tr>\n<tr><td>WindowNAFMultiplier </td><td style=\"text-align: right;\">4414464</td><td style=\"text-align: right;\"> 7664</td><td style=\"text-align: right;\"> 4080</td><td style=\"text-align: right;\"> 1020</td></tr>\n</tbody>\n</table>" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from pyecsca.ec.mult import ScalarMultiplier\n", + "\n", + "mult_counts = [[\"ScalarMultiplier\", \"All\", \"Without independent options\", \"Without independent options and scaling\", \"Without independent options and scalarmult options\"]]\n", + "for mult_cls in ScalarMultiplier.__subclasses__():\n", + "\tcount = sum(1 for _ in all_configurations(**independent_opts, scalarmult=mult_cls))\n", + "\tcount_no_scl = sum(1 for _ in all_configurations(**independent_opts, scalarmult={\"cls\": mult_cls, \"scl\": None}))\n", + "\tcount_no_opts = sum(1 for _ in all_configurations(**independent_opts, scalarmult={\"cls\": mult_cls, \"scl\": None, \"always\": True, \"short_circuit\": True, \"complete\": False, \"precompute_negation\": True}))\n", + "\tmult_counts.append([mult_cls.__name__, count * (6*2*4*4*3), count, count_no_scl, count_no_opts])\n", + "display(HTML(tabulate.tabulate(mult_counts, tablefmt=\"html\", headers=\"firstrow\")))\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n", + "is_executing": false + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "source": [], + "metadata": { + "collapsed": false + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}
\ No newline at end of file @@ -9,9 +9,20 @@ } }, "source": [ - "# DPA\n", - "\n" + "# DPA\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } } ], "metadata": { @@ -23,14 +34,14 @@ "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.8.1" }, "pycharm": { "stem_cell": { diff --git a/leakage_testing.ipynb b/leakage_testing.ipynb index 7261fe2..7831f2a 100644 --- a/leakage_testing.ipynb +++ b/leakage_testing.ipynb @@ -16,21 +16,23 @@ }, { "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [ - "from pyecsca.sca.scope import PicoScope\n", - "from pyecsca.sca.target import SimpleSerialTarget\n", - "\n", - "scope = PicoScope()\n", - "target = SimpleSerialTarget()" - ], + "execution_count": 1, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } - } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sthing\n" + ] + } + ], + "source": [] } ], "metadata": { @@ -42,14 +44,14 @@ "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.8.1" }, "pycharm": { "stem_cell": { diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..3782f1e --- /dev/null +++ b/pytest.ini @@ -0,0 +1,6 @@ +[pytest] +nb_diff_ignore = + /* + /*/* + /*/*/* + /*/*/*/*
\ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d45f40e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +pyecsca +jupyter +tabulate
\ No newline at end of file |
