Exemplo n.º 1
0
 def test_modified_paillier_can_decrypt_encrypted_min_val(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(554424))
     n = runtime.players[runtime.id].pubkey['n']
     val = -(n - 1) / 2
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 2
0
 def test_modified_paillier_can_decrypt_encrypted_min_val(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(554424))
     n = runtime.players[runtime.id].pubkey['n']
     val = -(n - 1) / 2
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 3
0
 def test_modified_paillier_with_different_randomness_are_not_equal(self, runtime):
     random = Random(3423434)
     n = runtime.players[runtime.id].pubkey['n']
     paillier = ModifiedPaillier(runtime, Random(random.getrandbits(128)))
     val = 47
     random_elm = random.randint(1, long(n))
     encrypted_val_1 = paillier.encrypt(val, random_elm=random_elm)
     encrypted_val_2 = paillier.encrypt(val, random_elm=random_elm)
     self.assertEquals(encrypted_val_1, encrypted_val_2)
Exemplo n.º 4
0
 def test_modified_paillier_with_same_randomness_are_equal(self, runtime):
     random = Random(234333)
     paillier = ModifiedPaillier(runtime, Random(random.getrandbits(128)))
     n = runtime.players[runtime.id].pubkey['n']
     val = 46
     random_elm_1 = random.randint(1, long(n))
     random_elm_2 = (random_elm_1 + 1) % n
     encrypted_val_1 = paillier.encrypt(val, random_elm=random_elm_1)
     encrypted_val_2 = paillier.encrypt(val, random_elm=random_elm_1)
     self.assertEquals(encrypted_val_1, encrypted_val_2)
Exemplo n.º 5
0
 def test_modified_paillier_with_different_randomness_are_not_equal(
         self, runtime):
     random = Random(3423434)
     n = runtime.players[runtime.id].pubkey['n']
     paillier = ModifiedPaillier(runtime, Random(random.getrandbits(128)))
     val = 47
     random_elm = random.randint(1, long(n))
     encrypted_val_1 = paillier.encrypt(val, random_elm=random_elm)
     encrypted_val_2 = paillier.encrypt(val, random_elm=random_elm)
     self.assertEquals(encrypted_val_1, encrypted_val_2)
Exemplo n.º 6
0
 def test_modified_paillier_with_same_randomness_are_equal(self, runtime):
     random = Random(234333)
     paillier = ModifiedPaillier(runtime, Random(random.getrandbits(128)))
     n = runtime.players[runtime.id].pubkey['n']
     val = 46
     random_elm_1 = random.randint(1, long(n))
     random_elm_2 = (random_elm_1 + 1) % n
     encrypted_val_1 = paillier.encrypt(val, random_elm=random_elm_1)
     encrypted_val_2 = paillier.encrypt(val, random_elm=random_elm_1)
     self.assertEquals(encrypted_val_1, encrypted_val_2)
Exemplo n.º 7
0
 def test_modified_paillier_can_encrypt_to_other(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(57503))
     msg = []
     for p in runtime.players:
         msg.append(paillier.encrypt(runtime.id, player_id=p))
     received = _send(runtime, msg)
     def verify(enc):
         plain = [paillier.decrypt(e) for e in enc]
         self.assertEquals(range(1, self.num_players + 1), plain)
     runtime.schedule_callback(received, verify)
     return received
Exemplo n.º 8
0
    def test_modified_paillier_can_encrypt_to_other(self, runtime):
        paillier = ModifiedPaillier(runtime, Random(57503))
        msg = []
        for p in runtime.players:
            msg.append(paillier.encrypt(runtime.id, player_id=p))
        received = _send(runtime, msg)

        def verify(enc):
            plain = [paillier.decrypt(e) for e in enc]
            self.assertEquals(range(1, self.num_players + 1), plain)

        runtime.schedule_callback(received, verify)
        return received
Exemplo n.º 9
0
 def test_modified_paillier_can_decrypt_encrypted_one(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(234838))
     val = 1
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 10
0
 def test_modified_paillier_can_decrypt_encrypted_positive(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(777737))
     val = 73423
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 11
0
 def test_modified_paillier_can_decrypt_encrypted_zero(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(338301))
     val = 0
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 12
0
 def test_modified_paillier_can_decrypt_encrypted_one(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(234838))
     val = 1
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 13
0
 def test_modified_paillier_can_decrypt_encrypted_positive(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(777737))
     val = 73423
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)
Exemplo n.º 14
0
 def test_modified_paillier_can_decrypt_encrypted_zero(self, runtime):
     paillier = ModifiedPaillier(runtime, Random(338301))
     val = 0
     encrypted_val = paillier.encrypt(val)
     decrypted_val = paillier.decrypt(encrypted_val)
     self.assertEquals(val, decrypted_val)