summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/BigIntEuclidean.java54
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/IntEuclidean.java51
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/AllTests.java24
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java23
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java43
5 files changed, 0 insertions, 195 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/BigIntEuclidean.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/BigIntEuclidean.java
deleted file mode 100644
index 5fb3058..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/BigIntEuclidean.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.bouncycastle.pqc.math.ntru.euclid;
-
-import java.math.BigInteger;
-
-/**
- * Extended Euclidean Algorithm in <code>BigInteger</code>s
- */
-public class BigIntEuclidean
-{
- public BigInteger x, y, gcd;
-
- private BigIntEuclidean()
- {
- }
-
- /**
- * Runs the EEA on two <code>BigInteger</code>s<br>
- * Implemented from pseudocode on <a href="http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm">Wikipedia</a>.
- *
- * @param a
- * @param b
- * @return a <code>BigIntEuclidean</code> object that contains the result in the variables <code>x</code>, <code>y</code>, and <code>gcd</code>
- */
- public static BigIntEuclidean calculate(BigInteger a, BigInteger b)
- {
- BigInteger x = BigInteger.ZERO;
- BigInteger lastx = BigInteger.ONE;
- BigInteger y = BigInteger.ONE;
- BigInteger lasty = BigInteger.ZERO;
- while (!b.equals(BigInteger.ZERO))
- {
- BigInteger[] quotientAndRemainder = a.divideAndRemainder(b);
- BigInteger quotient = quotientAndRemainder[0];
-
- BigInteger temp = a;
- a = b;
- b = quotientAndRemainder[1];
-
- temp = x;
- x = lastx.subtract(quotient.multiply(x));
- lastx = temp;
-
- temp = y;
- y = lasty.subtract(quotient.multiply(y));
- lasty = temp;
- }
-
- BigIntEuclidean result = new BigIntEuclidean();
- result.x = lastx;
- result.y = lasty;
- result.gcd = a;
- return result;
- }
-} \ No newline at end of file
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/IntEuclidean.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/IntEuclidean.java
deleted file mode 100644
index c959a26..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/IntEuclidean.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.bouncycastle.pqc.math.ntru.euclid;
-
-/**
- * Extended Euclidean Algorithm in <code>int</code>s
- */
-public class IntEuclidean
-{
- public int x, y, gcd;
-
- private IntEuclidean()
- {
- }
-
- /**
- * Runs the EEA on two <code>int</code>s<br>
- * Implemented from pseudocode on <a href="http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm">Wikipedia</a>.
- *
- * @param a
- * @param b
- * @return a <code>IntEuclidean</code> object that contains the result in the variables <code>x</code>, <code>y</code>, and <code>gcd</code>
- */
- public static IntEuclidean calculate(int a, int b)
- {
- int x = 0;
- int lastx = 1;
- int y = 1;
- int lasty = 0;
- while (b != 0)
- {
- int quotient = a / b;
-
- int temp = a;
- a = b;
- b = temp % b;
-
- temp = x;
- x = lastx - quotient * x;
- lastx = temp;
-
- temp = y;
- y = lasty - quotient * y;
- lasty = temp;
- }
-
- IntEuclidean result = new IntEuclidean();
- result.x = lastx;
- result.y = lasty;
- result.gcd = a;
- return result;
- }
-} \ No newline at end of file
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/AllTests.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/AllTests.java
deleted file mode 100644
index 6302e05..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/AllTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.bouncycastle.pqc.math.ntru.euclid.test;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class AllTests
- extends TestCase
-{
- public static void main (String[] args)
- {
- junit.textui.TestRunner.run(suite());
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite("NTRU Euclid Tests");
-
- suite.addTestSuite(BigIntEuclideanTest.class);
- suite.addTestSuite(IntEuclideanTest.class);
-
- return suite;
- }
-}
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java
deleted file mode 100644
index 2cb9467..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/BigIntEuclideanTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.bouncycastle.pqc.math.ntru.euclid.test;
-
-import java.math.BigInteger;
-
-import junit.framework.TestCase;
-import org.bouncycastle.pqc.math.ntru.euclid.BigIntEuclidean;
-
-public class BigIntEuclideanTest
- extends TestCase
-{
- public void testCalculate()
- {
- BigIntEuclidean r = BigIntEuclidean.calculate(BigInteger.valueOf(120), BigInteger.valueOf(23));
- assertEquals(BigInteger.valueOf(-9), r.x);
- assertEquals(BigInteger.valueOf(47), r.y);
- assertEquals(BigInteger.valueOf(1), r.gcd);
-
- r = BigIntEuclidean.calculate(BigInteger.valueOf(126), BigInteger.valueOf(231));
- assertEquals(BigInteger.valueOf(2), r.x);
- assertEquals(BigInteger.valueOf(-1), r.y);
- assertEquals(BigInteger.valueOf(21), r.gcd);
- }
-} \ No newline at end of file
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java
deleted file mode 100644
index ab2ba25..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid/test/IntEuclideanTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2011 Tim Buktu (tbuktu@hotmail.com)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-package org.bouncycastle.pqc.math.ntru.euclid.test;
-
-import junit.framework.TestCase;
-import org.bouncycastle.pqc.math.ntru.euclid.IntEuclidean;
-
-public class IntEuclideanTest
- extends TestCase
-{
- public void testCalculate()
- {
- IntEuclidean r = IntEuclidean.calculate(120, 23);
- assertEquals(-9, r.x);
- assertEquals(47, r.y);
- assertEquals(1, r.gcd);
-
- r = IntEuclidean.calculate(126, 231);
- assertEquals(2, r.x);
- assertEquals(-1, r.y);
- assertEquals(21, r.gcd);
- }
-} \ No newline at end of file