blob: 111f8ab606cb2787117bfb333b8d27567b4672af [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
15 print "\tMessage: %d" % message
16
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020017 encrypted = rsa.core.encrypt_int(message, self.pub.e, self.pub.n)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020018 print "\tEncrypted: %d" % encrypted
19
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020020 decrypted = rsa.core.decrypt_int(encrypted, self.priv.d, self.pub.n)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020021 print "\tDecrypted: %d" % decrypted
22
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)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020030 print "\tSigned: %d" % signed
31
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +020032 verified = rsa.core.decrypt_int(signed, self.pub.e,self.pub.n)
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +020033 print "\tVerified: %d" % verified
34
35 self.assertEqual(message, verified)
36