diff --git a/.circleci/config.yml b/.circleci/config.yml index 35cc935..490f93b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,9 +111,7 @@ jobs: path: ./mypy_report doctests-36: - working_directory: ~/pyUmbral-36/ - docker: - - image: circleci/python:3.6 + <<: *python_36_base steps: - checkout - restore_cache: @@ -162,8 +160,8 @@ jobs: - save_cache: paths: - "./.benchmarks" - key: v1-benchmarks-py36 + key: v1-benchmarks-py36-{{ checksum "benchmarks" }} - store_artifacts: - path: ./tests/metrics/histograms + path: ./histograms - store_test_results: - path: /reports/pytest + path: ./reports/pytest diff --git a/tests/metrics/reencryption_benchmark.py b/tests/metrics/reencryption_benchmark.py index 430d673..71822eb 100644 --- a/tests/metrics/reencryption_benchmark.py +++ b/tests/metrics/reencryption_benchmark.py @@ -27,7 +27,7 @@ FRAG_VALUES = ((1, 1), # | (5, 8), # | (6, 10), # | (10, 30), # | - (20, 30), # | + # (20, 30), # | # FIXME: CircleCi build killed # (10, 100) # | # | ) # | diff --git a/tests/metrics/reencryption_firehose.py b/tests/metrics/reencryption_firehose.py index 49e56b1..25790d2 100644 --- a/tests/metrics/reencryption_firehose.py +++ b/tests/metrics/reencryption_firehose.py @@ -1,8 +1,11 @@ import os import sys +from typing import Tuple, List sys.path.append(os.path.abspath(os.getcwd())) +from umbral.fragments import KFrag +from umbral.pre import Capsule from umbral import keys, pre from umbral.config import default_curve from umbral.params import UmbralParameters @@ -13,9 +16,10 @@ PARAMS = UmbralParameters(curve=CURVE) REENCRYPTIONS = 1000 -def __produce_kfrags(M, N) -> list: +def __produce_kfrags_and_capsule(m: int, n: int) -> Tuple[List[KFrag], Capsule]: delegating_privkey = keys.UmbralPrivateKey.gen_key(params=PARAMS) + delegating_pubkey = delegating_privkey.get_pubkey() signing_privkey = keys.UmbralPrivateKey.gen_key(params=PARAMS) signer = Signer(signing_privkey) @@ -23,14 +27,18 @@ def __produce_kfrags(M, N) -> list: receiving_privkey = keys.UmbralPrivateKey.gen_key(params=PARAMS) receiving_pubkey = receiving_privkey.get_pubkey() - kfrags = pre.split_rekey(delegating_privkey, signer, receiving_pubkey, M, N) - return kfrags + plain_data = os.urandom(32) + ciphertext, capsule = pre.encrypt(delegating_pubkey, plain_data) + + kfrags = pre.split_rekey(delegating_privkey, signer, receiving_pubkey, m, n) + + return kfrags, capsule -def firehose() -> None: +def firehose(m: int=6, n: int=10) -> None: print("Making kfrags...") - kfrags, capsule = __produce_kfrags(M=6, N=10) + kfrags, capsule = __produce_kfrags_and_capsule(m=m, n=n) one_kfrag, *remaining_kfrags = kfrags print('Re-encrypting...')