aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2020-02-13 16:48:34 +0100
committerJ08nY2020-02-13 18:10:09 +0100
commitddbc1b6d5cc5d5275b623b7f7315828ddf340c85 (patch)
tree5728efda237b781a14d46440036f0daad3f9b998
parent7118e5c28ba9ac5375bb0043684fae786d9c56e9 (diff)
downloadpyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.tar.gz
pyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.tar.zst
pyecsca-notebook-ddbc1b6d5cc5d5275b623b7f7315828ddf340c85.zip
Add configuration space exploration notebook.
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml41
-rw-r--r--README.md2
-rw-r--r--configuration_space.ipynb411
-rw-r--r--dpa.ipynb21
-rw-r--r--leakage_testing.ipynb28
-rw-r--r--pytest.ini6
-rw-r--r--requirements.txt3
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"
+
diff --git a/README.md b/README.md
index 8397fe9..1d39b8a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# pyecsca-notebook
-[![Build Status](https://travis-ci.com/J08nY/pyecsca-notebook.svg?branch=master)](https://travis-ci.com/J08nY/pyecsca-notebook) ![License: MIT](https://img.shields.io/github/license/J08nY/pyecsca-notebook.svg) [![codecov](https://codecov.io/gh/J08nY/pyecsca-notebook/branch/master/graph/badge.svg)](https://codecov.io/gh/J08nY/pyecsca-notebookn)
+[![Build Status](https://travis-ci.com/J08nY/pyecsca-notebook.svg?branch=master)](https://travis-ci.com/J08nY/pyecsca-notebook) ![License: MIT](https://img.shields.io/github/license/J08nY/pyecsca-notebook.svg)
**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
diff --git a/dpa.ipynb b/dpa.ipynb
index a28d28f..c1ddaa0 100644
--- a/dpa.ipynb
+++ b/dpa.ipynb
@@ -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