blob: f770b72df725f733cf251bb6d9c514902c80bb4e [file] [log] [blame]
Sybren A. Stüvel62abca72011-06-20 01:06:39 +02001'''Tests string operations.'''
2
3import struct
4import unittest
5
6import rsa
7
8class BinaryTest(unittest.TestCase):
9
10 def setUp(self):
11 (self.pub, self.priv) = rsa.newkeys(64)
12
13 def test_enc_dec(self):
14
15 message = struct.pack('>IIII', 0, 0, 0, 1) + 20 * '\x00'
16 print "\tMessage: %r" % message
17
18 encrypted = rsa.encrypt(message, self.pub)
19 print "\tEncrypted: %r" % encrypted
20
21 decrypted = rsa.decrypt(encrypted, self.priv)
22 print "\tDecrypted: %r" % decrypted
23
24 self.assertEqual(message, decrypted)
25
26 def test_sign_verify(self):
27
28 message = struct.pack('>IIII', 0, 0, 0, 1) + 20 * '\x00'
29 print "\tMessage: %r" % message
30
31 signed = rsa.sign(message, self.priv)
32 print "\tSigned: %r" % signed
33
34 verified = rsa.verify(signed, self.pub)
35 print "\tVerified: %r" % verified
36
37 self.assertEqual(message, verified)