Commit Graph

115 Commits (v0.1.2-alpha.1)

Author SHA1 Message Date
David Núñez 78904b8fff prove_correctness now is a method of CFrag, like verify_correctness 2018-11-19 16:10:40 +01:00
David Núñez a4977252a1 Addressing RFCs 2018-11-19 16:09:36 +01:00
David Núñez bce37b790a Protected scope for pre._prove_cfrag_correctness() 2018-11-16 11:16:12 +01:00
David Núñez 9cfbf1b50c CorrectnessProofs use ExtendedKeccak for compatibility with Solidity 2018-11-16 11:16:12 +01:00
David Núñez a6cb2a0450 Removes protected attribute scope in some umbral classes 2018-11-16 11:16:12 +01:00
David Núñez 716428a8f9 Dismember umbral._pre and put the pieces where they belong 2018-11-16 11:16:12 +01:00
David Núñez 977bee01a0 Divide umbral.fragments into umbral.kfrags and umbral.cfrags 2018-11-16 11:16:12 +01:00
David Núñez 5b169d27b1 Simplifying combination of Cfrags when threshold=1 2018-11-16 11:16:12 +01:00
David Núñez 62a0392b58 New umbral.random_oracles module to gather all hash and KDF functions 2018-11-16 11:07:01 +01:00
David Núñez 87b24a0083 Some type annotation improvements and other minor change requests 2018-10-11 21:01:21 +02:00
David Núñez 4b662f91a8 Handling other internal umbral.pre constants with constant_sorrow 2018-10-06 21:31:46 +02:00
David Núñez ea442fe702 Janitorial stuff 2018-10-06 21:31:39 +02:00
David Núñez 236ff239fe Use constant_sorrow to handle signing mode constants in KFrag 2018-10-06 19:00:34 +02:00
David Núñez 0eb7e22dc4 New signing mode in KFrag for stating what correctness keys are signed 2018-10-06 19:00:34 +02:00
David Núñez 4e331f3010 Rename pre.split_rekey to pre.generate_kfrags. Introduce changes in args 2018-10-06 19:00:34 +02:00
David Núñez d6ee0cc4e5 Capsule._reconstruct_shamirs is absorbed into pre._decapsulate_reencrypted 2018-10-06 19:00:34 +02:00
David Núñez ecc166f23c Activated capsules don't exist anymore as objects of the Capsule class 2018-10-06 19:00:34 +02:00
David Núñez 7f50bf48b8 More type checking on re-encrypt and decrypt APIs 2018-10-06 19:00:34 +02:00
David Núñez 054777eb53 KFrags now has 2 signatures (Bob and proxy) and a new point
* point_precursor removes need for point_xcoord and point_noninteractive
* Fixes access to protected attributes in some places
2018-10-06 19:00:34 +02:00
David Núñez 21c50eb575 Allows to set a single correctness key. Tests for correctness keys. 2018-09-21 12:51:57 +02:00
David Núñez 795325b5ad Rename variables shadowing `id` function 2018-09-19 13:06:06 +02:00
David Núñez 5fc94b4070 Delegating and receiving pubkeys are now optional for kfrag validation 2018-09-19 13:06:06 +02:00
David Núñez 9f358ccff9 Check ciphertext min length in pre.decrypt. Some reflow too 2018-08-31 17:12:32 +02:00
David Núñez 51357f24ce Adds __repr__ to Capsule, KFrag and CFrag, and changes it in UmbralPublicKey 2018-08-31 17:12:32 +02:00
David Núñez 08d6b9d44f Fix incorrect type annotations in pre.Capsule and Curve 2018-08-15 22:33:54 -05:00
David Núñez cd18086b1b pre.reencrypt raises KFrag.NotValid when necessary 2018-08-03 22:24:21 -05:00
tuxxy d9caff48f8 Add license headers 2018-07-25 11:55:12 -06:00
Kieran Prasch 19b1991de6 Hand-picked type data to follow-up monkeytype 2018-07-09 12:26:32 -06:00
Kieran Prasch 2fe18c7144 Initial bulk application of type hints to pyUmbral 2018-07-09 12:11:43 -06:00
David Núñez 0d206cb279 Add check for 0<M<=N in pre.split_rekey. Tests for that. 2018-06-25 13:55:55 -07:00
David Núñez 38eff317c4 Fixes deserialization problems for non-default curves
* Passes the curve to BystringSplitter
2018-06-06 11:31:33 +02:00
David Núñez d70d21dfe0 Fix some functions definition according to PEP8 2018-06-05 03:49:22 +02:00
David Núñez 9e126bde29 Fixes bug in Capsule.attach_cfrag that allowed to attach incorrect CFrag 2018-06-05 02:52:23 +02:00
David Núñez 5618b25292 Simplified public API for umbral.pre
* Functions in `pre` now only take Umbral keys as arguments, rather than primitive types (Point, CurveBN)
* Remove unnecessary arguments from public facing and internal methods when they can be extracted from a Capsule, UmbralPublicKey or UmbralPrivateKey
* Adds a getter in Capsule for correctness keys
* Adapts the test suite to new simplified API
2018-06-05 02:52:16 +02:00
David Núñez c736370bcc Remove params as an argument when possible
* Instead, takes params from Capsules or UmbralPublicKeys
* Makes params required in some places (Capsule.init, Capsule.from_bytes, etc)
* Removes pre.CHACHA20_KEY_SIZE constant and use dem.DEM_KEYSIZE instead
2018-06-05 02:11:32 +02:00
David Núñez c98f723eec Check that params match when setting correctness keys 2018-06-05 02:11:32 +02:00
David Núñez 03b4138229 Add params when deserializing Capsule 2018-06-05 02:11:32 +02:00
jMyles e04a44c239 Capsule length now reflects number of attached CFrags. 2018-06-01 23:50:20 -07:00
David Núñez e14636a2a9 Checks that _set_cfrag_correctness_key is only used in allowed keypairs 2018-05-31 12:47:48 +02:00
David Núñez 6a4c1237e5 Renaming keypairs (encrypting --> receiving)
* Fixes some weird test patterns, where split_rekey is used from Alice to Alice
2018-05-31 12:46:43 +02:00
jMyles a9e431a152 params now injected into Capsule one - in __init__ 2018-05-30 18:28:54 -07:00
jMyles e6dafb956e Modifications in responses to various discussions and comments throughout the day. 2018-05-30 15:51:33 -07:00
jMyles 9e05cf436c set_keys instead of set_three_keys; using it in test_simple_api. 2018-05-30 13:12:48 -07:00
jMyles d8f5d53884 Remoing get-or-create flow in favor of simple setting. 2018-05-30 12:44:07 -07:00
jMyles 71db482fc5 More complete tests for cfrag attachment. 2018-05-29 23:33:14 -07:00
jMyles cb7bbcdbed We need the verifying key also. 2018-05-29 22:03:09 -07:00
jMyles bf6a375d57 Functions for getting or setting keys on Capsule, and taking them in __init__. 2018-05-29 18:51:49 -07:00
jMyles 3177696f30 Some more code and naming touchups. 2018-05-28 10:54:50 -07:00
jMyles 6038dff98d Using expected_bytes_length for various crypto entities. 2018-05-26 12:12:33 -07:00
jMyles a7d203aa44 Tests that were using old fixture now work with new one. 2018-05-25 15:43:19 -07:00