diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/pqc/math/ntru/euclid')
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 |