aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/test_rsa.cpp
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2015-12-26 21:54:09 -0500
committerJack Lloyd <[email protected]>2015-12-26 21:54:09 -0500
commit72f0f0ad2a9f869092b889779e2e9baed0fe7a85 (patch)
tree0b3a127a4ceb18df2cd35038eac3eb225f0c095e /src/tests/test_rsa.cpp
parent2e47770cf7ddc6e33bee586211a5ea2cdf2e8659 (diff)
Add generalized KEM interface
Convert McEliece KEM to use it Add RSA-KEM
Diffstat (limited to 'src/tests/test_rsa.cpp')
-rw-r--r--src/tests/test_rsa.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tests/test_rsa.cpp b/src/tests/test_rsa.cpp
index 2720ae49a..6c89a5b29 100644
--- a/src/tests/test_rsa.cpp
+++ b/src/tests/test_rsa.cpp
@@ -38,6 +38,25 @@ class RSA_ES_KAT_Tests : public PK_Encryption_Decryption_Test
}
};
+class RSA_KEM_Tests : public PK_KEM_Test
+ {
+ public:
+ RSA_KEM_Tests() : PK_KEM_Test("RSA", "pubkey/rsa_kem.vec",
+ {"E", "P", "Q", "R", "C0", "KDF", "OutLen", "K"})
+ {}
+
+ std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap& vars) override
+ {
+ const BigInt p = get_req_bn(vars, "P");
+ const BigInt q = get_req_bn(vars, "Q");
+ const BigInt e = get_req_bn(vars, "E");
+
+ std::unique_ptr<Botan::Private_Key> key(new Botan::RSA_PrivateKey(Test::rng(), p, q, e));
+ return key;
+ }
+
+ };
+
class RSA_Signature_KAT_Tests : public PK_Signature_Generation_Test
{
public:
@@ -100,6 +119,7 @@ class RSA_Keygen_Tests : public PK_Key_Generation_Test
BOTAN_REGISTER_TEST("rsa_encrypt", RSA_ES_KAT_Tests);
BOTAN_REGISTER_TEST("rsa_sign", RSA_Signature_KAT_Tests);
BOTAN_REGISTER_TEST("rsa_verify", RSA_Signature_Verify_Tests);
+BOTAN_REGISTER_TEST("rsa_kem", RSA_KEM_Tests);
BOTAN_REGISTER_TEST("rsa_keygen", RSA_Keygen_Tests);
#endif