blob: 0a712aa0fc1598207da60e5debd1962c7a49b0c1 [file] [log] [blame]
Yesudeep Mangalapillyb5bab222011-08-24 16:53:39 +05301'''Tests integer operations.'''
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02002
Yesudeep Mangalapillyaed6e862011-08-11 01:59:50 +05303import unittest2
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02004
Sybren A. Stüvel8c857f42011-07-30 20:39:02 +02005import rsa.core
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02006
Yesudeep Mangalapillyaed6e862011-08-11 01:59:50 +05307class IntegerTest(unittest2.TestCase):
Sybren A. Stüvelff3a1d02011-06-20 00:13:53 +02008
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