aboutsummaryrefslogtreecommitdiff
path: root/tests/test_key.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_key.py')
-rw-r--r--tests/test_key.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_key.py b/tests/test_key.py
new file mode 100644
index 0000000..df35335
--- /dev/null
+++ b/tests/test_key.py
@@ -0,0 +1,30 @@
+"""
+Some tests for the rsa/key.py file.
+"""
+
+
+import unittest
+
+import rsa.key
+import rsa.core
+
+
+class BlindingTest(unittest.TestCase):
+
+ def test_blinding(self):
+ """Test blinding and unblinding.
+
+ This is basically the doctest of the PrivateKey.blind method, but then
+ implemented as unittest to allow running on different Python versions.
+ """
+
+ pk = rsa.key.PrivateKey(3727264081, 65537, 3349121513, 65063, 57287)
+
+ message = 12345
+ encrypted = rsa.core.encrypt_int(message, pk.e, pk.n)
+
+ blinded = pk.blind(encrypted, 4134431) # blind before decrypting
+ decrypted = rsa.core.decrypt_int(blinded, pk.d, pk.n)
+ unblinded = pk.unblind(decrypted, 4134431)
+
+ self.assertEqual(unblinded, message)