aboutsummaryrefslogtreecommitdiffstats
path: root/src/pubkey/rw
diff options
context:
space:
mode:
Diffstat (limited to 'src/pubkey/rw')
-rw-r--r--src/pubkey/rw/rw.cpp49
-rw-r--r--src/pubkey/rw/rw.h6
2 files changed, 0 insertions, 55 deletions
diff --git a/src/pubkey/rw/rw.cpp b/src/pubkey/rw/rw.cpp
index 85b10a69d..a1df0649b 100644
--- a/src/pubkey/rw/rw.cpp
+++ b/src/pubkey/rw/rw.cpp
@@ -15,34 +15,6 @@
namespace Botan {
/*
-* Rabin-Williams Public Operation
-*/
-BigInt RW_PublicKey::public_op(const BigInt& i) const
- {
- if((i > (n >> 1)) || i.is_negative())
- throw Invalid_Argument(algo_name() + "::public_op: i > n / 2 || i < 0");
-
- BigInt r = core.public_op(i);
- if(r % 16 == 12) return r;
- if(r % 8 == 6) return 2*r;
-
- r = n - r;
- if(r % 16 == 12) return r;
- if(r % 8 == 6) return 2*r;
-
- throw Invalid_Argument(algo_name() + "::public_op: Invalid input");
- }
-
-/*
-* Rabin-Williams Verification Function
-*/
-SecureVector<byte> RW_PublicKey::verify(const byte in[], u32bit len) const
- {
- BigInt i(in, len);
- return BigInt::encode(public_op(i));
- }
-
-/*
* Create a Rabin-Williams private key
*/
RW_PrivateKey::RW_PrivateKey(RandomNumberGenerator& rng,
@@ -74,27 +46,6 @@ RW_PrivateKey::RW_PrivateKey(RandomNumberGenerator& rng,
}
/*
-* Rabin-Williams Signature Operation
-*/
-SecureVector<byte> RW_PrivateKey::sign(const byte in[], u32bit len,
- RandomNumberGenerator&) const
- {
- BigInt i(in, len);
- if(i >= n || i % 16 != 12)
- throw Invalid_Argument(algo_name() + "::sign: Invalid input");
-
- BigInt r;
- if(jacobi(i, n) == 1) r = core.private_op(i);
- else r = core.private_op(i >> 1);
-
- r = std::min(r, n - r);
- if(i != public_op(r))
- throw Self_Test_Failure(algo_name() + " private operation check failed");
-
- return BigInt::encode_1363(r, n.bytes());
- }
-
-/*
* Check Private Rabin-Williams Parameters
*/
bool RW_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong) const
diff --git a/src/pubkey/rw/rw.h b/src/pubkey/rw/rw.h
index 688e1db7f..232051862 100644
--- a/src/pubkey/rw/rw.h
+++ b/src/pubkey/rw/rw.h
@@ -21,8 +21,6 @@ class BOTAN_DLL RW_PublicKey : public PK_Verifying_with_MR_Key,
public:
std::string algo_name() const { return "RW"; }
- SecureVector<byte> verify(const byte[], u32bit) const;
-
RW_PublicKey(const AlgorithmIdentifier& alg_id,
const MemoryRegion<byte>& key_bits) :
IF_Scheme_PublicKey(alg_id, key_bits)
@@ -38,7 +36,6 @@ class BOTAN_DLL RW_PublicKey : public PK_Verifying_with_MR_Key,
protected:
RW_PublicKey() {}
- BigInt public_op(const BigInt&) const;
};
/*
@@ -63,9 +60,6 @@ class BOTAN_DLL RW_PrivateKey : public RW_PublicKey,
RW_PrivateKey(RandomNumberGenerator& rng, u32bit bits, u32bit = 2);
bool check_key(RandomNumberGenerator& rng, bool) const;
-
- SecureVector<byte> sign(const byte[], u32bit,
- RandomNumberGenerator& rng) const;
};
class BOTAN_DLL RW_Signature_Operation : public PK_Ops::Signature