diff options
Diffstat (limited to 'src/Specific')
24 files changed, 618 insertions, 0 deletions
diff --git a/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json b/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json new file mode 100644 index 000000000..98561c513 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^254 - 127*2^240 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json b/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json new file mode 100644 index 000000000..e20c5190b --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^256 - 88*2^240 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json b/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json new file mode 100644 index 000000000..7259a5dc7 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^384 - 5*2^368 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "12" +} diff --git a/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json b/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json new file mode 100644 index 000000000..5848cd630 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^384 - 79*2^376 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "12" +} diff --git a/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json b/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json new file mode 100644 index 000000000..8f71120ae --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^510 - 290*2^496 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "16" +} diff --git a/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json b/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json new file mode 100644 index 000000000..37948b090 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json @@ -0,0 +1,14 @@ +{ + "base": "32", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^512 - 491*2^496 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "16" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json b/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json new file mode 100644 index 000000000..0663309ea --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^254 - 127*2^240 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "4" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json b/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json new file mode 100644 index 000000000..7cdde3645 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^256 - 88*2^240 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "4" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json b/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json new file mode 100644 index 000000000..9d8b26351 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^384 - 5*2^368 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "6" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json b/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json new file mode 100644 index 000000000..f21b98382 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^384 - 79*2^376 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "6" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json b/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json new file mode 100644 index 000000000..d983f012e --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^510 - 290*2^496 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json b/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json new file mode 100644 index 000000000..37f6ca8d5 --- /dev/null +++ b/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json @@ -0,0 +1,14 @@ +{ + "base": "64", + "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing", + "modulus": "2^512 - 491*2^496 - 1", + "montgomery": true, + "operations": [ + "fenz", + "feadd", + "femul", + "feopp", + "fesub" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json b/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json new file mode 100644 index 000000000..1037460f3 --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json @@ -0,0 +1,36 @@ +{ + "base": "23 + 1/11", + "bitwidth": 32, + "carry_chains": [ + [ + 9, + 10 + ], + [ + 10, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + [ + 10, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^254 - 127*2^240 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "11" +} diff --git a/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json b/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json new file mode 100644 index 000000000..92e2ed2c8 --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json @@ -0,0 +1,37 @@ +{ + "base": "21 + 1/3", + "bitwidth": 32, + "carry_chains": [ + [ + 10, + 11 + ], + [ + 11, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + [ + 11, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^256 - 88*2^240 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "12" +} diff --git a/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json b/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json new file mode 100644 index 000000000..a77d78d5e --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json @@ -0,0 +1,41 @@ +{ + "base": "24", + "bitwidth": 32, + "carry_chains": [ + [ + 14, + 15 + ], + [ + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + [ + 15, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^384 - 5*2^368 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "16" +} diff --git a/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json b/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json new file mode 100644 index 000000000..96f251eda --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json @@ -0,0 +1,41 @@ +{ + "base": "24", + "bitwidth": 32, + "carry_chains": [ + [ + 14, + 15 + ], + [ + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + [ + 15, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^384 - 79*2^376 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "16" +} diff --git a/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json b/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json new file mode 100644 index 000000000..5c72c69ab --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json @@ -0,0 +1,49 @@ +{ + "base": "21.25", + "bitwidth": 32, + "carry_chains": [ + [ + 22, + 23 + ], + [ + 23, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ], + [ + 23, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^510 - 290*2^496 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "24" +} diff --git a/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json b/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json new file mode 100644 index 000000000..29c1faa56 --- /dev/null +++ b/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json @@ -0,0 +1,49 @@ +{ + "base": "21 + 1/3", + "bitwidth": 32, + "carry_chains": [ + [ + 22, + 23 + ], + [ + 23, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ], + [ + 23, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^512 - 491*2^496 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "24" +} diff --git a/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json b/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json new file mode 100644 index 000000000..fc6744165 --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json @@ -0,0 +1,31 @@ +{ + "base": "42 + 1/3", + "bitwidth": 64, + "carry_chains": [ + [ + 4, + 5 + ], + [ + 5, + 0, + 1, + 2, + 3, + 4 + ], + [ + 5, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^254 - 127*2^240 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "6" +} diff --git a/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json b/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json new file mode 100644 index 000000000..b693a0318 --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json @@ -0,0 +1,30 @@ +{ + "base": "51.2", + "bitwidth": 64, + "carry_chains": [ + [ + 3, + 4 + ], + [ + 4, + 0, + 1, + 2, + 3 + ], + [ + 4, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^256 - 88*2^240 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "5" +} diff --git a/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json b/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json new file mode 100644 index 000000000..1ad9ed763 --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json @@ -0,0 +1,33 @@ +{ + "base": "48", + "bitwidth": 64, + "carry_chains": [ + [ + 6, + 7 + ], + [ + 7, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + [ + 7, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^384 - 5*2^368 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json b/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json new file mode 100644 index 000000000..4891e573b --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json @@ -0,0 +1,33 @@ +{ + "base": "48", + "bitwidth": 64, + "carry_chains": [ + [ + 6, + 7 + ], + [ + 7, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + [ + 7, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^384 - 79*2^376 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "8" +} diff --git a/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json b/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json new file mode 100644 index 000000000..0a1a8411f --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json @@ -0,0 +1,35 @@ +{ + "base": "51", + "bitwidth": 64, + "carry_chains": [ + [ + 8, + 9 + ], + [ + 9, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + [ + 9, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^510 - 290*2^496 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "10" +} diff --git a/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json b/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json new file mode 100644 index 000000000..915a45241 --- /dev/null +++ b/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json @@ -0,0 +1,35 @@ +{ + "base": "51.2", + "bitwidth": 64, + "carry_chains": [ + [ + 8, + 9 + ], + [ + 9, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + [ + 9, + 0 + ] + ], + "coef_div_modulus": "2", + "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes", + "modulus": "2^512 - 491*2^496 - 1", + "operations": [ + "femul", + "fesquare", + "freeze" + ], + "sz": "10" +} |