Commit Graph

129 Commits (b03c83eb938d7a9365414f4f3b9f63cab1d4ff00)

Author SHA1 Message Date
Bogdan Opanchuk fd9e1d44e5 Remove a TODO
rust-umbral#43 is closed
2021-04-12 21:56:22 -07:00
Bogdan Opanchuk 0f82580c7e Add some API docs 2021-03-28 12:51:45 -07:00
Bogdan Opanchuk b96888cafb Add reencryption functionality 2021-03-28 12:51:45 -07:00
Bogdan Opanchuk 2c28ae8bc2 Add Capsule class and encrypt()/decrypt_original() 2021-03-28 12:51:45 -07:00
Bogdan Opanchuk bbf168e08b Clean slate 2021-03-18 11:53:52 -07:00
jMyles b89decb8c1 Facility for clearing CFrags. 2019-08-09 23:17:31 +02:00
jMyles 3193d1541d Provide public way to get first cfrag in order to obtain point_precursor. 2019-08-09 23:17:31 +02:00
jMyles 5bcc5230ac Attached CFrags are really set - we don't ever want repeat CFrags, right? 2019-08-09 23:17:24 +02:00
jMyles f98b9ae5a8 Provide method for checking if a specific cfrag is attached to a Capsule. 2019-08-09 23:11:23 +02:00
David Núñez 7568fff780 Raise UmbralDecryptionError instead of cryptography.exception.InvalidTag 2019-03-27 16:31:39 +01:00
David Núñez af0fb2d028 Remove copyright notice from individual files 2019-02-22 11:07:19 +01:00
David Núñez 368d58c509 Correct syntax for new style classes 2019-02-19 10:12:42 +01:00
David Núñez 8e662707ab Clean up, clean up, everybody clean up. 2019-01-02 22:18:12 +01:00
David Núñez 25774a52f7 KFrag validation is now optional in pre.reencrypt. By default it's on. 2019-01-02 22:18:12 +01:00
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