summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorShengkai Sun <shengkai.sun01@gmail.com>2023-04-18 18:15:11 +0800
committerSybren A. Stüvel <sybren@stuvel.eu>2023-04-23 15:38:33 +0200
commitb94766f775aa3cdc541a66355cb00e439aab3e55 (patch)
tree6c69a9b5f2d94fe1ff177561a383f47d42d27a1f /tests
parent5045b149ba255349730e1c7ad78c61700427c5da (diff)
downloadrsa-git-b94766f775aa3cdc541a66355cb00e439aab3e55.tar.gz
modified: Fixed a bug in rsa/core.py where the message should not be equals to the modulus
modified: Added test cases in tests/test_integers.py
Diffstat (limited to 'tests')
-rw-r--r--tests/test_integers.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/test_integers.py b/tests/test_integers.py
index 659e85a..fa85cdf 100644
--- a/tests/test_integers.py
+++ b/tests/test_integers.py
@@ -46,3 +46,31 @@ class IntegerTest(unittest.TestCase):
print("\tVerified: %d" % verified)
self.assertEqual(message, verified)
+
+ def test_extreme_values(self):
+ # message < 0
+ message = -1
+ print("\n\tMessage: %d" % message)
+
+ with self.assertRaises(ValueError):
+ rsa.core.encrypt_int(message, self.pub.e, self.pub.n)
+
+ # message == 0
+ message = 0
+ print("\n\tMessage: %d" % message)
+
+ encrypted = rsa.core.encrypt_int(message, self.pub.e, self.pub.n)
+ print("\tEncrypted: %d" % encrypted)
+
+ decrypted = rsa.core.decrypt_int(encrypted, self.priv.d, self.pub.n)
+ print("\tDecrypted: %d" % decrypted)
+
+ self.assertEqual(message, decrypted)
+
+ # message >= n
+ message = self.pub.n
+ print("\n\tMessage: %d" % message)
+
+ with self.assertRaises(OverflowError):
+ rsa.core.encrypt_int(message, self.pub.e, self.pub.n)
+