Skip to content

Commit 581c6a9

Browse files
authored
Merge pull request #45 from str4d/43-named-curve-contract
Re-introduce a constant specifying the name of Ed25519
2 parents c7b1d62 + 877ccef commit 581c6a9

File tree

11 files changed

+27
-24
lines changed

11 files changed

+27
-24
lines changed

src/net/i2p/crypto/eddsa/EdDSAPrivateKey.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public EdDSAPrivateKey(EdDSAPrivateKeySpec spec) {
6363

6464
public EdDSAPrivateKey(PKCS8EncodedKeySpec spec) throws InvalidKeySpecException {
6565
this(new EdDSAPrivateKeySpec(decode(spec.getEncoded()),
66-
EdDSANamedCurveTable.getByName("Ed25519")));
66+
EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519)));
6767
}
6868

6969
@Override
@@ -136,7 +136,7 @@ public String getFormat() {
136136
*/
137137
@Override
138138
public byte[] getEncoded() {
139-
if (!edDsaSpec.equals(EdDSANamedCurveTable.getByName("Ed25519")))
139+
if (!edDsaSpec.equals(EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519)))
140140
return null;
141141
if (seed == null)
142142
return null;

src/net/i2p/crypto/eddsa/EdDSAPublicKey.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public EdDSAPublicKey(EdDSAPublicKeySpec spec) {
5959

6060
public EdDSAPublicKey(X509EncodedKeySpec spec) throws InvalidKeySpecException {
6161
this(new EdDSAPublicKeySpec(decode(spec.getEncoded()),
62-
EdDSANamedCurveTable.getByName("Ed25519")));
62+
EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519)));
6363
}
6464

6565
@Override
@@ -113,7 +113,7 @@ public String getFormat() {
113113
*/
114114
@Override
115115
public byte[] getEncoded() {
116-
if (!edDsaSpec.equals(EdDSANamedCurveTable.getByName("Ed25519")))
116+
if (!edDsaSpec.equals(EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519)))
117117
return null;
118118
int totlen = 12 + Abyte.length;
119119
byte[] rv = new byte[totlen];

src/net/i2p/crypto/eddsa/KeyPairGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public final class KeyPairGenerator extends KeyPairGeneratorSpi {
4040
static {
4141
edParameters = new Hashtable<Integer, AlgorithmParameterSpec>();
4242

43-
edParameters.put(Integer.valueOf(256), new EdDSAGenParameterSpec("Ed25519"));
43+
edParameters.put(Integer.valueOf(256), new EdDSAGenParameterSpec(EdDSANamedCurveTable.ED_25519));
4444
}
4545

4646
public void initialize(int keysize, SecureRandom random) {

src/net/i2p/crypto/eddsa/spec/EdDSANamedCurveTable.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
*
2727
*/
2828
public class EdDSANamedCurveTable {
29+
public static final String ED_25519 = "Ed25519";
30+
2931
private static final Field ed25519field = new Field(
3032
256, // b
3133
Utils.hexToBytes("edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f"), // q
@@ -36,7 +38,7 @@ public class EdDSANamedCurveTable {
3638
ed25519field.fromByteArray(Utils.hexToBytes("b0a00e4a271beec478e42fad0618432fa7d7fb3d99004d2b0bdfc14f8024832b"))); // I
3739

3840
private static final EdDSANamedCurveSpec ed25519 = new EdDSANamedCurveSpec(
39-
"Ed25519",
41+
ED_25519,
4042
ed25519curve,
4143
"SHA-512", // H
4244
new Ed25519ScalarOps(), // l

test/net/i2p/crypto/eddsa/EdDSAEngineTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class EdDSAEngineTest {
4949

5050
@Test
5151
public void testSign() throws Exception {
52-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
52+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
5353
//Signature sgr = Signature.getInstance("EdDSA", "I2P");
5454
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
5555

@@ -67,7 +67,7 @@ public void testSign() throws Exception {
6767

6868
@Test
6969
public void testVerify() throws Exception {
70-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
70+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
7171
//Signature sgr = Signature.getInstance("EdDSA", "I2P");
7272
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
7373
for (Ed25519TestVectors.TestTuple testCase : Ed25519TestVectors.testCases) {
@@ -87,7 +87,7 @@ public void testVerify() throws Exception {
8787
*/
8888
@Test
8989
public void testVerifyWrongSigLength() throws Exception {
90-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
90+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
9191
//Signature sgr = Signature.getInstance("EdDSA", "I2P");
9292
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
9393
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK, spec);
@@ -103,7 +103,7 @@ public void testVerifyWrongSigLength() throws Exception {
103103

104104
@Test
105105
public void testSignResetsForReuse() throws Exception {
106-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
106+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
107107
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
108108
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
109109
PrivateKey sKey = new EdDSAPrivateKey(privKey);
@@ -120,7 +120,7 @@ public void testSignResetsForReuse() throws Exception {
120120

121121
@Test
122122
public void testVerifyResetsForReuse() throws Exception {
123-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
123+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
124124
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
125125
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK, spec);
126126
PublicKey vKey = new EdDSAPublicKey(pubKey);
@@ -137,7 +137,7 @@ public void testVerifyResetsForReuse() throws Exception {
137137

138138
@Test
139139
public void testSignOneShotMode() throws Exception {
140-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
140+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
141141
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
142142
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
143143
PrivateKey sKey = new EdDSAPrivateKey(privKey);
@@ -151,7 +151,7 @@ public void testSignOneShotMode() throws Exception {
151151

152152
@Test
153153
public void testVerifyOneShotMode() throws Exception {
154-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
154+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
155155
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
156156
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK, spec);
157157
PublicKey vKey = new EdDSAPublicKey(pubKey);
@@ -165,7 +165,7 @@ public void testVerifyOneShotMode() throws Exception {
165165

166166
@Test
167167
public void testSignOneShotModeMultipleUpdates() throws Exception {
168-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
168+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
169169
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
170170
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
171171
PrivateKey sKey = new EdDSAPrivateKey(privKey);
@@ -181,7 +181,7 @@ public void testSignOneShotModeMultipleUpdates() throws Exception {
181181

182182
@Test
183183
public void testVerifyOneShotModeMultipleUpdates() throws Exception {
184-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
184+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
185185
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK, spec);
186186
Signature sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
187187
PublicKey vKey = new EdDSAPublicKey(pubKey);
@@ -197,7 +197,7 @@ public void testVerifyOneShotModeMultipleUpdates() throws Exception {
197197

198198
@Test
199199
public void testSignOneShot() throws Exception {
200-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
200+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
201201
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
202202
EdDSAEngine sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
203203
PrivateKey sKey = new EdDSAPrivateKey(privKey);
@@ -208,7 +208,7 @@ public void testSignOneShot() throws Exception {
208208

209209
@Test
210210
public void testVerifyOneShot() throws Exception {
211-
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("Ed25519");
211+
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
212212
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK, spec);
213213
EdDSAEngine sgr = new EdDSAEngine(MessageDigest.getInstance(spec.getHashAlgorithm()));
214214
PublicKey vKey = new EdDSAPublicKey(pubKey);

test/net/i2p/crypto/eddsa/math/ConstantsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
*
3232
*/
3333
public class ConstantsTest {
34-
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
34+
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
3535
static final Curve curve = ed25519.getCurve();
3636

3737
static final FieldElement ZERO = curve.getField().ZERO;

test/net/i2p/crypto/eddsa/math/GroupElementTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class GroupElementTest {
3434
static final byte[] BYTES_TENZERO = Utils.hexToBytes("0000000000000000000000000000000000000000000000000000000000000000");
3535
static final byte[] BYTES_ONETEN = Utils.hexToBytes("0a00000000000000000000000000000000000000000000000000000000000080");
3636

37-
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
37+
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
3838
static final Curve curve = ed25519.getCurve();
3939

4040
static final FieldElement ZERO = curve.getField().ZERO;

test/net/i2p/crypto/eddsa/math/MathUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
public class MathUtils {
2727
private static final int[] exponents = {0, 26, 26 + 25, 2*26 + 25, 2*26 + 2*25, 3*26 + 2*25, 3*26 + 3*25, 4*26 + 3*25, 4*26 + 4*25, 5*26 + 4*25};
2828
private static final SecureRandom random = new SecureRandom();
29-
private static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
29+
private static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
3030
private static final Curve curve = ed25519.getCurve();
3131
private static final BigInteger d = new BigInteger("-121665").multiply(new BigInteger("121666").modInverse(getQ()));
3232
private static final BigInteger groupOrder = BigInteger.ONE.shiftLeft(252).add(new BigInteger("27742317777372353535851937790883648493"));

test/net/i2p/crypto/eddsa/math/PrecomputationTestVectors.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class PrecomputationTestVectors {
2727
static GroupElement[] testDblPrecmp = getDoublePrecomputation("baseDblPrecmp");
2828

2929
public static GroupElement[][] getPrecomputation(String fileName) {
30-
EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
30+
EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
3131
Curve curve = ed25519.getCurve();
3232
Field field = curve.getField();
3333
GroupElement[][] precmp = new GroupElement[32][8];
@@ -70,7 +70,7 @@ else if (line.equals("},")) {
7070
}
7171

7272
public static GroupElement[] getDoublePrecomputation(String fileName) {
73-
EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
73+
EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
7474
Curve curve = ed25519.getCurve();
7575
Field field = curve.getField();
7676
GroupElement[] dblPrecmp = new GroupElement[8];

test/net/i2p/crypto/eddsa/math/bigint/BigIntegerScalarOpsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
*/
3131
public class BigIntegerScalarOpsTest {
3232

33-
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName("Ed25519");
33+
static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable.getByName(EdDSANamedCurveTable.ED_25519);
3434
static final Field ed25519Field = ed25519.getCurve().getField();
3535

3636
/**

0 commit comments

Comments
 (0)