aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/data
diff options
context:
space:
mode:
authorJ08nY2023-11-08 14:34:11 +0100
committerJ08nY2023-11-10 12:21:27 +0100
commit90b8ad4626392a9b5d42955372ac38ed72dc0cba (patch)
tree3279a5d2997df099259a109499cb698999dbdf57 /test/data
parenta523a8874c8d13c0e6f64dbe4b3cea1bf0771688 (diff)
downloadpyecsca-90b8ad4626392a9b5d42955372ac38ed72dc0cba.tar.gz
pyecsca-90b8ad4626392a9b5d42955372ac38ed72dc0cba.tar.zst
pyecsca-90b8ad4626392a9b5d42955372ac38ed72dc0cba.zip
Add more formulas from BouncyCastle.
Diffstat (limited to 'test/data')
-rw-r--r--test/data/formulas/add-bc-r1rv76-jac (renamed from test/data/formulas/add-bc-r1rv76)1
-rw-r--r--test/data/formulas/add-bc-r1rv76-jac.op3 (renamed from test/data/formulas/add-bc-r1rv76.op3)0
-rw-r--r--test/data/formulas/add-bc-r1rv76-mod2
-rw-r--r--test/data/formulas/add-bc-r1rv76-mod.op326
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-jac2
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-jac.op319
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-mod2
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-mod.op318
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-x255194
-rw-r--r--test/data/formulas/dbl-bc-r1rv76-x25519.op39
-rw-r--r--test/data/formulas/ladd-bc-r1rv76-x255195
-rw-r--r--test/data/formulas/ladd-bc-r1rv76-x25519.op318
12 files changed, 106 insertions, 0 deletions
diff --git a/test/data/formulas/add-bc-r1rv76 b/test/data/formulas/add-bc-r1rv76-jac
index c33b915..ad7844b 100644
--- a/test/data/formulas/add-bc-r1rv76
+++ b/test/data/formulas/add-bc-r1rv76-jac
@@ -1 +1,2 @@
source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java#L749
+coords jacobian
diff --git a/test/data/formulas/add-bc-r1rv76.op3 b/test/data/formulas/add-bc-r1rv76-jac.op3
index 5e7f521..5e7f521 100644
--- a/test/data/formulas/add-bc-r1rv76.op3
+++ b/test/data/formulas/add-bc-r1rv76-jac.op3
diff --git a/test/data/formulas/add-bc-r1rv76-mod b/test/data/formulas/add-bc-r1rv76-mod
new file mode 100644
index 0000000..87158b5
--- /dev/null
+++ b/test/data/formulas/add-bc-r1rv76-mod
@@ -0,0 +1,2 @@
+source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java#L749
+coords modified
diff --git a/test/data/formulas/add-bc-r1rv76-mod.op3 b/test/data/formulas/add-bc-r1rv76-mod.op3
new file mode 100644
index 0000000..7adff36
--- /dev/null
+++ b/test/data/formulas/add-bc-r1rv76-mod.op3
@@ -0,0 +1,26 @@
+Z1Squared = Z1^2
+U2 = Z1Squared * X2
+Z1Cubed = Z1Squared * Z1
+S2 = Z1Cubed * Y2
+Z2Squared = Z2^2
+U1 = Z2Squared * X1
+Z2Cubed = Z2Squared * Z2
+S1 = Z2Cubed * Y1
+H = U1 - U2
+R = S1 - S2
+HSquared = H^2
+G = HSquared * H
+V = HSquared * U1
+t0 = 2 * V
+t1 = R^2
+t2 = t1 + G
+X3 = t2 - t0
+t3 = V - X3
+t4 = G * S1
+t5 = t3 * R
+Y3 = t5 - t4
+Z3 = H * Z1
+Z3 = Z3 * Z2
+Z3Squared = Z3^2
+W = Z3Squared^2
+T3 = W * a
diff --git a/test/data/formulas/dbl-bc-r1rv76-jac b/test/data/formulas/dbl-bc-r1rv76-jac
new file mode 100644
index 0000000..8fca349
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-jac
@@ -0,0 +1,2 @@
+source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java#L877
+coords jacobian
diff --git a/test/data/formulas/dbl-bc-r1rv76-jac.op3 b/test/data/formulas/dbl-bc-r1rv76-jac.op3
new file mode 100644
index 0000000..c4ebef2
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-jac.op3
@@ -0,0 +1,19 @@
+Y1Squared = Y1^2
+T = Y1Squared^2
+X1Squared = X1^2
+M = 3 * X1Squared
+Z1Squared = Z1^2
+Z1Pow4 = Z1Squared^2
+t0 = Z1Pow4 * a
+M = M + t0
+t1 = X1 * Y1Squared
+S = 4 * t1
+t2 = 2 * S
+t3 = M^2
+X3 = t3 - t2
+t4 = 8 * T
+t5 = S - X3
+t6 = t5 * M
+Y3 = t6 - t4
+Z3 = 2 * Y1
+Z3 = Z3 * Z1
diff --git a/test/data/formulas/dbl-bc-r1rv76-mod b/test/data/formulas/dbl-bc-r1rv76-mod
new file mode 100644
index 0000000..f9b9843
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-mod
@@ -0,0 +1,2 @@
+source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/ECPoint.java#L1321
+coords modified
diff --git a/test/data/formulas/dbl-bc-r1rv76-mod.op3 b/test/data/formulas/dbl-bc-r1rv76-mod.op3
new file mode 100644
index 0000000..201408e
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-mod.op3
@@ -0,0 +1,18 @@
+X1Squared = X1^2
+t0 = 3 * X1Squared
+M = t0 + T1
+_2Y1 = 2 * Y1
+_2Y1Squared = _2Y1 * Y1
+t1 = X1 * _2Y1Squared
+S = 2 * t1
+t2 = M^2
+t3 = 2 * S
+X3 = t2 - t3
+_4T = _2Y1Squared^2
+_8T = 2 * _4T
+t4 = S - X3
+t5 = M * t4
+Y3 = t5 - _8T
+t6 = _8T * T1
+T3 = 2 * t6
+Z3 = _2Y1 * Z1
diff --git a/test/data/formulas/dbl-bc-r1rv76-x25519 b/test/data/formulas/dbl-bc-r1rv76-x25519
new file mode 100644
index 0000000..d5d73fb
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-x25519
@@ -0,0 +1,4 @@
+source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/rfc7748/X25519.java#L73
+parameter a24
+assume a24 = (a+2)/4
+coords xz
diff --git a/test/data/formulas/dbl-bc-r1rv76-x25519.op3 b/test/data/formulas/dbl-bc-r1rv76-x25519.op3
new file mode 100644
index 0000000..86f2e50
--- /dev/null
+++ b/test/data/formulas/dbl-bc-r1rv76-x25519.op3
@@ -0,0 +1,9 @@
+pa = X1 + Z1
+pb = X1 - Z1
+pa = pa^2
+pb = pb^2
+X3 = pa * pb
+pa = pa - pb
+Z3 = pa * a24
+Z3 = Z3 + pb
+Z3 = Z3 * pa
diff --git a/test/data/formulas/ladd-bc-r1rv76-x25519 b/test/data/formulas/ladd-bc-r1rv76-x25519
new file mode 100644
index 0000000..01cc06d
--- /dev/null
+++ b/test/data/formulas/ladd-bc-r1rv76-x25519
@@ -0,0 +1,5 @@
+source BouncyCastle r1rv76 https://github.com/bcgit/bc-java/blob/r1rv76/core/src/main/java/org/bouncycastle/math/ec/rfc7748/X25519.java#L111
+parameter a24
+assume a24 = (a+2)/4
+assume Z1 = 1
+coords xz
diff --git a/test/data/formulas/ladd-bc-r1rv76-x25519.op3 b/test/data/formulas/ladd-bc-r1rv76-x25519.op3
new file mode 100644
index 0000000..4142bff
--- /dev/null
+++ b/test/data/formulas/ladd-bc-r1rv76-x25519.op3
@@ -0,0 +1,18 @@
+t1 = X3 + Z3
+X3 = X3 - Z3
+Z3 = X2 + Z2
+X2 = X2 - Z2
+t1 = t1 * X2
+X3 = X3 * Z3
+Z3 = Z3^3
+X2 = X2^2
+t2 = Z3 - X2
+Z2 = t2 * a24
+Z2 = Z2 + X2
+Z4 = Z2 * t2
+X4 = X2 * Z3
+_X3 = t1 + X3
+Z3 = t1 - X3
+X5 = _X3^2
+Z3 = Z3^2
+Z5 = X1 * Z3