blob: d4fa087ba107ced5158b9d7af2c9f87df8c8cabd [file] [log] [blame]
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02001'''Tests integer operations.'''
2
3import unittest
4
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +02005import rsa.core
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02006
7class IntegerTest(unittest.TestCase):
8
9 def setUp(self):
10 (self.pub, self.priv) = rsa.newkeys(64)
11
12 def test_enc_dec(self):
13
14 message = 42
Yesudeep Mangalapilly58024312011-08-11 01:48:25 +053015 print("\tMessage: %d" % message)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020016
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020017 encrypted = rsa.core.encrypt_int(message, self.pub.e, self.pub.n)
Yesudeep Mangalapilly58024312011-08-11 01:48:25 +053018 print("\tEncrypted: %d" % encrypted)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020019
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020020 decrypted = rsa.core.decrypt_int(encrypted, self.priv.d, self.pub.n)
Yesudeep Mangalapilly58024312011-08-11 01:48:25 +053021 print("\tDecrypted: %d" % decrypted)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020022
23 self.assertEqual(message, decrypted)
24
25 def test_sign_verify(self):
26
27 message = 42
28
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020029 signed = rsa.core.encrypt_int(message,self.priv.d, self.pub.n)
Yesudeep Mangalapilly58024312011-08-11 01:48:25 +053030 print("\tSigned: %d" % signed)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020031
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020032 verified = rsa.core.decrypt_int(signed, self.pub.e,self.pub.n)
Yesudeep Mangalapilly58024312011-08-11 01:48:25 +053033 print("\tVerified: %d" % verified)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020034
35 self.assertEqual(message, verified)
36