Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2014-03-12 15:11:46 +0400
committerPeter Dettman <peter.dettman@bouncycastle.org>2014-03-12 15:11:46 +0400
commit67de29f9e593a52552f838bf3542a85ae7d8278f (patch)
treeb928371abaad623aa31c8a06f95aeed06b4e89ed /core/src/main/java/org/bouncycastle/crypto/signers
parent0294f98205215e542647c2be0a4701e46aba1c3b (diff)
Allow subclasses to override the ECMultiplier used for base-point
multiplication
Diffstat (limited to 'core/src/main/java/org/bouncycastle/crypto/signers')
-rw-r--r--core/src/main/java/org/bouncycastle/crypto/signers/DSTU4145Signer.java7
-rw-r--r--core/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java9
-rw-r--r--core/src/main/java/org/bouncycastle/crypto/signers/ECGOST3410Signer.java7
3 files changed, 19 insertions, 4 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/signers/DSTU4145Signer.java b/core/src/main/java/org/bouncycastle/crypto/signers/DSTU4145Signer.java
index 0a3ef37f..d0b893a6 100644
--- a/core/src/main/java/org/bouncycastle/crypto/signers/DSTU4145Signer.java
+++ b/core/src/main/java/org/bouncycastle/crypto/signers/DSTU4145Signer.java
@@ -75,7 +75,7 @@ public class DSTU4145Signer
BigInteger d = ((ECPrivateKeyParameters)key).getD();
- ECMultiplier basePointMultiplier = new FixedPointCombMultiplier();
+ ECMultiplier basePointMultiplier = createBasePointMultiplier();
do
{
@@ -135,6 +135,11 @@ public class DSTU4145Signer
return fieldElement2Integer(n, y).compareTo(r) == 0;
}
+ protected ECMultiplier createBasePointMultiplier()
+ {
+ return new FixedPointCombMultiplier();
+ }
+
/**
* Generates random integer such, than its bit length is less than that of n
*/
diff --git a/core/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java b/core/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
index 26fd588e..8ea2a5b9 100644
--- a/core/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
+++ b/core/src/main/java/org/bouncycastle/crypto/signers/ECDSASigner.java
@@ -97,7 +97,7 @@ public class ECDSASigner
BigInteger r, s;
- ECMultiplier basePointMultiplier = new FixedPointCombMultiplier();
+ ECMultiplier basePointMultiplier = createBasePointMultiplier();
// 5.3.2
do // generate s
@@ -169,7 +169,7 @@ public class ECDSASigner
return v.equals(r);
}
- private BigInteger calculateE(BigInteger n, byte[] message)
+ protected BigInteger calculateE(BigInteger n, byte[] message)
{
int log2n = n.bitLength();
int messageBitLength = message.length * 8;
@@ -181,4 +181,9 @@ public class ECDSASigner
}
return e;
}
+
+ protected ECMultiplier createBasePointMultiplier()
+ {
+ return new FixedPointCombMultiplier();
+ }
}
diff --git a/core/src/main/java/org/bouncycastle/crypto/signers/ECGOST3410Signer.java b/core/src/main/java/org/bouncycastle/crypto/signers/ECGOST3410Signer.java
index ed256fe8..0ef88762 100644
--- a/core/src/main/java/org/bouncycastle/crypto/signers/ECGOST3410Signer.java
+++ b/core/src/main/java/org/bouncycastle/crypto/signers/ECGOST3410Signer.java
@@ -75,7 +75,7 @@ public class ECGOST3410Signer
BigInteger r, s;
- ECMultiplier basePointMultiplier = new FixedPointCombMultiplier();
+ ECMultiplier basePointMultiplier = createBasePointMultiplier();
do // generate s
{
@@ -152,4 +152,9 @@ public class ECGOST3410Signer
return R.equals(r);
}
+
+ protected ECMultiplier createBasePointMultiplier()
+ {
+ return new FixedPointCombMultiplier();
+ }
}