def bench_tife(N, group_name, iter=10, simulated=False): f = lambda x, y: 1 if x < y else 0 setup_a = time.time() (pp, sk) = tife.setup(N, f, group_name, simulated) setup_b = time.time() L = [] for index in range(iter): x = random.randint(0, N - 1) y = random.randint(0, N - 1) encryptL_a = time.time() ctx = tife.encryptL(sk, x) encryptL_b = time.time() encryptR_a = time.time() cty = tife.encryptR(sk, y) encryptR_b = time.time() decrypt_a = time.time() result = tife.decrypt(pp, ctx, cty) decrypt_b = time.time() ctsize = get_ct_size(cty) L.append((encryptL_b - encryptL_a, encryptR_b - encryptR_a, decrypt_b - decrypt_a, ctsize)) print("raw runtimes for each iteration: ", L) return (setup_b - setup_a, list_tuple_mean(L))
def bench_tife(N, group_name, iter = 10, simulated = False): f = lambda x,y: 1 if x < y else 0 setup_a = time.time() (pp, sk) = tife.setup(N, f, group_name, simulated) setup_b = time.time() L = [] for index in range(iter): x = random.randint(0, N-1) y = random.randint(0, N-1) encryptL_a = time.time() ctx = tife.encryptL(sk, x) encryptL_b = time.time() encryptR_a = time.time() cty = tife.encryptR(sk, y) encryptR_b = time.time() decrypt_a = time.time() result = tife.decrypt(pp, ctx, cty) decrypt_b = time.time() ctsize = get_ct_size(cty) L.append((encryptL_b - encryptL_a, encryptR_b - encryptR_a, decrypt_b - decrypt_a, ctsize)) print("raw runtimes for each iteration: ", L) return (setup_b - setup_a, list_tuple_mean(L))
def test_tife(): """ Runs a test on two-input functional encryption for the comparison function on toy parameters. """ N = 30 f = lambda x, y: 1 if x < y else 0 x = random.randint(0, N - 1) y = random.randint(0, N - 1) (pp, sk) = tife.setup(N, f) ctx = tife.encryptL(sk, x) cty = tife.encryptR(sk, y) result = tife.decrypt(pp, ctx, cty) assert result == f(x, y), "Failed test_tife"
def test_tife(): """ Runs a test on two-input functional encryption for the comparison function on toy parameters. """ N = 30 f = lambda x,y: 1 if x < y else 0 x = random.randint(0, N-1) y = random.randint(0, N-1) (pp, sk) = tife.setup(N, f) ctx = tife.encryptL(sk, x) cty = tife.encryptR(sk, y) result = tife.decrypt(pp, ctx, cty) assert result == f(x,y), "Failed test_tife"
import random from fhipe import tife import time time_list = [] time_start = time.time() #start ----------------------------------------- all_time = [] N = 30 f = lambda x, y: 1 if x < y else 0 set = [] set_time = time.time() (pp, sk) = tife.setup(N, f) set_over = time.time() set_diff = set_over - set_time set.append(set_time) set.append(set_over) set.append(set_diff) time_list.append(set) class Node(object): def __init__(self, v=None, left=None, right=None, parent=None): self.value = v self.left = left self.right = right self.parent = parent