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"
def Order(self, treenode): if treenode is None: return self.Order(treenode.left) print(treenode.value) self.Order(treenode.right) if __name__ == '__main__': array = [] for i in range(1): en = [] en_time = time.time() x = random.randint(0, N - 1) ctx = tife.encryptL(sk, x) cty = tife.encryptR(sk, x) en_over = time.time() en_diff = en_over - en_time en.append(en_time) en.append(en_over) en.append(en_diff) time_list.append(en) cipher = [ctx, cty] array.append(cipher) bt = BTree() for ctxt in array: de_insert = [] de_insert_time = time.time() bt.insert(Node(ctxt)) # as client